gpt4 book ai didi

javascript - 如何处理应用程序总是没有响应?

转载 作者:行者123 更新时间:2023-11-28 10:59:46 25 4
gpt4 key购买 nike

我的应用程序是使用 django 框架和 jQuery 开发的。运行应用程序一段时间后,它总是没有响应或“噢,啪!”在意想不到的时间内出现在 Chrome 中。

我首先想到的问题是每 2 秒运行一次 javascript 并加载一些值。我有几个运行此类脚本的页面。脚本如下:

$(document).ready(function(){
$(window).load(function loadMap(){
var mappos = $("#mappos").val();
var pcode = $("#pcode").val();
var width = $("#width").val();
var loss = $("#loss").val();
var lossarr = $("#lossarr").val();
var spcode = $("#spcode").val();
var swidth = $("#swidth").val();
var cpcode = $('#minclamp', top.document).contents().find('#cpcode').val();
var cwidth = $('#minclamp', top.document).contents().find('#cwidth').val();
var lane = $('#minclamp', top.document).contents().find('#lane').val();
var position = $('#minclamp', top.document).contents().find('#position').val();
var atlane = $('#minclamp', top.document).contents().find('#atlane').val();
var atposition = $('#minclamp', top.document).contents().find('#atposition').val();
var clamping = $("#clamping").val();
var changed = $("#changed").val();
var realtag = $('#minclamp', top.document).contents().find('#realtag').val()
$("#inventory").load(inventory_url+"?pcode="+pcode+"&width="+width+"&loss="+loss+"&lossarr="+lossarr+"&spcode="+spcode+"&swidth="+swidth+"&cpcode="+cpcode+"&cwidth="+cwidth+"&lane="+lane+"&position="+position+"&atlane="+atlane+"&atposition="+atposition+"&clamping="+clamping+"&changed="+changed+"&realtag="+realtag+"&mappos="+mappos);
}

setTimeout(loadMap, 2000);
});
});

如果我是对的,是否有任何其他代码可以执行相同的操作但不会导致像这样的不响应事件。或者有什么技术可以改善这个问题吗?

如果还有其他问题需要考虑,请建议我。谢谢。

最佳答案

尝试将settimeout放在loadMap函数中...所有工作完成后...并使用$(document).ready功能

$(document).ready(function ()
{
var loadMap = function()
{
var mappos = $("#mappos").val();
var pcode = $("#pcode").val();
var width = $("#width").val();
var loss = $("#loss").val();
var lossarr = $("#lossarr").val();
var spcode = $("#spcode").val();
var swidth = $("#swidth").val();
var cpcode = $('#minclamp', top.document).contents().find('#cpcode').val();
var cwidth = $('#minclamp', top.document).contents().find('#cwidth').val();
var lane = $('#minclamp', top.document).contents().find('#lane').val();
var position = $('#minclamp', top.document).contents().find('#position').val();
var atlane = $('#minclamp', top.document).contents().find('#atlane').val();
var atposition = $('#minclamp', top.document).contents().find('#atposition').val();
var clamping = $("#clamping").val();
var changed = $("#changed").val();
var realtag = $('#minclamp', top.document).contents().find('#realtag').val()
$("#inventory").load(inventory_url+"?pcode="+pcode+"&width="+width+"&loss="+loss+"&lossarr="+lossarr+"&spcode="+spcode+"&swidth="+swidth+"&cpcode="+cpcode+"&cwidth="+cwidth+"&lane="+lane+"&position="+position+"&atlane="+atlane+"&atposition="+atposition+"&clamping="+clamping+"&changed="+changed+"&realtag="+realtag+"&mappos="+mappos, function()
{
// set the timer here in the completeCallback of your 'load' function.
setTimeout(function()
{
loadMap();
}, 2000);
}));
};
loadMap();// call the first load map;
});

关于javascript - 如何处理应用程序总是没有响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7088646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com