Joh*_*ims 7 jquery memory-leaks refresh
Jquery自动刷新耗尽了很多浏览器内存.有办法阻止这个.我每隔3秒刷一次2 div,但我将其移动到9和15秒,它帮助我的网站上的窗口保持打开的时间越长,浏览器崩溃之前所需的内存就越多.
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" ></script>
<script>
var auto_refresh = setInterval(
function ()
{
$('#details2').load('links2.php').fadeIn("slow");
}, 15000); // refresh every 10000 milliseconds</script>
Run Code Online (Sandbox Code Playgroud)
您可以尝试跳过 load() 并使用 $.ajax 代替。我知道加载();是一个ajax请求,但我似乎记得它获取整个脚本。尝试请求一个脚本,进行数据库计算并将数据作为 json 返回。我假设您正在发送包含数据库请求中的数据的完整 html。请尝试使用 json 代替。
您将获取作为对象的数据,例如这样。
{"variable":"foo"}
Run Code Online (Sandbox Code Playgroud)
然后您可以使用简单的each 语句来获取数据。
$.ajax({
url: "links2.php",
type: "POST",
dataType: "json",
success: function(data){
// data here is returned as objects since it's json
$.each(data, function(key, value) {
$("#details2").empty().append(value.variable);
});
}
});
Run Code Online (Sandbox Code Playgroud)
我认为这不应该泄漏你的内存并最终使你的浏览器崩溃,即使你每隔一秒左右调用它一次。尝试一下,让我知道进展如何。
祝你好运!
| 归档时间: |
|
| 查看次数: |
6186 次 |
| 最近记录: |