私はこれに数日を費やして、私が考えることができるすべての角度からヒットしました。私は簡単なWindows 7ガジェットに取り組んでいます。このスクリプトはJSONデータをリモートWebサーバーから取得してページに配置します。私は$ .getJSONのためにjQuery 1.6.2を使用しています。スクリプトは各ループでより多くのメモリを消費します。WEBからJSONをプルするときにメモリリークが発生する
var count = 1;
$(document).ready(function() {
updateView();
});
function updateView(){
$("#junk").html(count);
count++;
$.getJSON(URL + "&callback=?", populateView);
setTimeout(updateView, 1000);
}
function populateView(status) {
$("#debug").html(status.queue.mbleft + " MB Remaining<br>" + status.queue.mb + " MB Total");
}
ご協力いただきありがとうございました....ありがとうございます!
EDIT:
?({"queue":{"active_lang":"en","paused":true,"session":"39ad74939e89e6408f98998adfbae1e2","restart_req":false,"power_options":true,"slots":[{"status":"Queued","index":0,"eta":"unknown","missing":0,"avg_age":"2d","script":"None","msgid":"","verbosity":"","mb":"8949.88","sizeleft":"976 MB","filename":"TestFile#1","priority":"Normal","cat":"*","mbleft":"975.75","timeleft":"0:00:00","percentage":"89","nzo_id":"-n3c6z","unpackopts":"3","size":"8.7 GB"}],"speed":"0 ","helpuri":"","size":"8.7 GB","uptime":"2d","refresh_rate":"","limit":0,"isverbose":false,"start":0,"version":"0.6.5","new_rel_url":"","diskspacetotal2":"931.51","color_scheme":"gold","diskspacetotal1":"931.51","nt":true,"status":"Paused","last_warning":"","have_warnings":"0","cache_art":"0","sizeleft":"976 MB","finishaction":null,"paused_all":false,"cache_size":"0 B","finish":0,"new_release":"","pause_int":"0","mbleft":"975.75","diskspace1":"668.52","scripts":[],"categories":["*"],"darwin":false,"timeleft":"0:00:00","mb":"8949.88","noofslots":1,"nbDetails":false,"eta":"unknown","quota":"","loadavg":"","cache_max":"0","kbpersec":"0.00","speedlimit":"","webdir":"","queue_details":"0","diskspace2":"668.52"}})
JSONデータサンプルを追加EDIT 2:がダウンして、これにコードを剥奪し、それはまだ漏れました。私はそれが寄稿者としてDOMを横切ることを排除すると思います。
$(document).ready(function() {
setInterval(updateView, 1000);
});
function updateView(){
$.getJSON(URL + "&callback=?", populateView);
}
function populateView(status) {
}
EDIT 3:それはjQueryのではありません。私はjQueryを削除してストレートjsでやりました。まだ漏れている。
function init(){
setInterval(updateView, 1000);
}
function updateView(){
var xhr = new XMLHttpRequest();
xhr.open("GET", URL, false);
xhr.setRequestHeader("If-Modified-Since", "0");
xhr.send('');
}
IEの場合(Chromeでも)ではなく、jQueryであれば。一体何?アイデア?
ありがとうございました!
あなたはjsfiddle.netで一緒にフィドルを置くことができますか?それは私達が見ることができる実証的な例をあなたに与えるでしょう。 –
また、私たちはここでどのくらいの記憶をしていますか? –
このページでは他に何が起こっていますか?その "状態"変数は何ですか? – Pointy