私のアプリでは、毎秒ウェブサーバーにメッセージをポーリングし、それらをフロントエンドに表示しています。これを実現するために setInterval を使用します。ただし、ユーザーがそのページにとどまっている限り、データがなくても、クライアントはリクエストでサーバーをポーリングし続けます。サーバーは、変数を設定することにより、メッセージが生成されなくなったときに通知を出します。この変数を使用して clearInterval を使用し、タイマーを停止することを考えましたが、うまくいきませんでした。この状況で他に何が使えますか?私はjqueryとdjangoを使用しています。これが私のコードです:
jquery: var リフレッシュ = setInterval( 関数 () { var toLoad = '/myMonitor'+' #content'; $('#content').load(toLoad).show(); }、1000); // 1000 ミリ秒ごとに更新 }); html: div id=コンテンツはこちら
更新するたびに、html で補完するために django 変数にアクセスできます。どうすれば clearInterval を設定できますか?
注: スタック オーバーフローでは > < を配置できないため、html は不完全です
ありがとう
2010 年 3 月 16 日更新 私は何か間違ったことをしているに違いありません。しかし、それを理解することはできません。ここに clearTimer を使用したスクリプトがありますが、機能しません。
var タイマー = null; $(関数(){ if ("{{status}}" == "False") { clearInterval(タイマー); } そうしないと { タイマー = setInterval( 関数(){ var toLoad = '/myMonitor'+' #content'; $('#content').load(toLoad).show();} ,1000); // 1000 ミリ秒ごとに更新 } });
status は、"views.py" (Django) で設定されたブール値です。本当にありがとう。