Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error: Script terminated by timeout in jquery.timeago.js #213

Open
kkotaro0111 opened this issue May 1, 2015 · 3 comments
Open

Error: Script terminated by timeout in jquery.timeago.js #213

kkotaro0111 opened this issue May 1, 2015 · 3 comments

Comments

@kkotaro0111
Copy link
Collaborator

yancha/static/js/main_pc.js

Lines 102 to 104 in 3666143

var timeagoTimer = setInterval(function(){
$('abbr.timeago').timeago();
},60000);

setInterval(function() { self.each(refresh); }, $s.refreshMillis);

たぶん $(...).timeago(); が呼ばれるたびに、
setInterval()が設定されるからなんじゃないかなー。

@uzulla
Copy link
Owner

uzulla commented May 1, 2015

すごい、それっぽい。
一回全部剥がすようにするかー。

@kkotaro0111
Copy link
Collaborator Author

改修案としては、

  • 新しい要素にのみ、timeago()呼び出す
    • 1つのabbrに複数のrefreshが実行されないようになる
    • setIntervalは大量に発生する
  • このjqueryプラグイン拡張して、refresh対象をあとから追加できるようにする
    • setIntervalは1回で済む
    • 逆に、timeago()を何回呼んでも、setInterval()が複数回呼ばれないように調整しなきゃいけない
  • setIntervalを都度クリアして、設定し直す
    • 「一回全部剥がす」案
    • 一番安全で簡単な気がした

@uzulla
Copy link
Owner

uzulla commented May 1, 2015

プラグインを触るのは地獄っぽいので、一度clearIntervalいれてはがすようにしました。
一端本番反映しました。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants