如何处理总是不响应的应用程序
How to deal with application that always not responding?
我的应用是使用django框架和jQuery开发的。在运行应用程序一段时间后,它总是没有响应或"啊,Snap!"在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);
});
});
如果我是对的,是否有其他代码做同样的事情,但不会导致不响应这样的事件。或者有什么技巧可以改善这一点?
如果还有其他问题需要考虑,请建议我。谢谢你!
尝试在loadMap函数中设置settimeout…所有的工作都完成之后……并使用$(document)。准备好函数
$(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;
});
您尝试过使用单独的线程吗?
编辑:如果你知道你在找什么:http://www.websiteoptimization.com/speed/10/很好
相关文章:
- 在phonegap应用程序内部重定向不起作用
- MockJax没有在JavaScript应用程序中发送对我AJAX请求的响应
- 我想在AngularJS应用程序中创建一个输入数字框,用户不应该在该框上键入十进制数字.(一个整数输入框)
- 为什么不't Express呈现我的React应用程序
- 如何在类似Om的不可变应用程序状态下对关系数据进行建模
- 英特尔 XDK:播放不在应用程序文件夹中的音频
- 模态对话框加载 jquery 在控制台中执行,但不从应用程序加载.js
- Ajax 不会返回对应用程序中的视图页面的响应
- 如何在不退出应用程序的情况下在iOS上检测4个手指触摸
- NodePromise与nodemysql不让应用程序终止
- 允许手机用户在不使用应用程序的情况下将文件从我的网站保存到他们的手机存储中
- 如何在Safari中打开外部链接而不是应用程序'的UIWebView
- Web应用程序Javascript,用于处理来自iOS设备摄像头的信息流(不是应用程序!)
- Android Webview中OpenFileChooser的结果导致应用程序不响应
- Redux表单不受应用程序管理,有奇怪的错误
- 如何处理总是不响应的应用程序
- Vimeo不响应Javascript在iOS应用程序
- Chrome显示网页的来源,而不是应用程序的布局
- 不扩展应用程序模板 emberjs
- FB.api('/photos')在Facebook应用程序之外工作,但不在应用程序内部