- 我没有做一大块计算的JS。
一切正常在iPad上的iOS 5 Safari浏览器,直到我说这个代码:JavaScript执行超过超时
var watchID = navigator.geolocation.watchPosition(updatePos,locationError,{maximumAge: 10000, frequency: 60000, enableHighAccuracy: true, timeout: 1000}); function updatePos(position) { if (position.coords.accuracy < accuracyThreshold) { $.post(websiteRoot + '/ReportDeviceLocation?rand=' + (Math.random() * Math.random()) + '&longitude=' + position.coords.longitude + '&latitude=' +position.coords.latitude); } else { console.debug("Location data is not accurate enough. Location not updated."); } }
然后网页工作了大约4分钟,我得到这个错误:
JavaScript执行超标时间到。
然后没有的JavaScript将加载。我插入到my.js文件中的调试消息都不会打印。只有上面的错误。
即使我离开后产生这个错误的页面,并开通了同一域下的其他网页的错误仍然存在。
我用try和catch,我用setTimeout函数,但也给了我错误的来源,也没有解决问题。
我不知道是什么问题。它一直在烧我整个一天,并将在周末燃烧我。
我对不同的网站有同样的问题。杀死所有应用程序并重新启动Safari为我解决了这个问题。所以它看起来像iOS5中的一个错误。 – user123444555621
我发现这个页面以某种方式解释了我的问题,但没有详细说明如何解决它:http://www.sensiblesoftware.com/weblog/2011/07/06/iphone-javascript-execution-exceeded-timeout/ – YoYoMyo
另请参阅http://stackoverflow.com/questions/7787219/javascript-ios5-javascript-execution-exceeded-timeout其中描述了相同的症状(但可能由一个稍微不同的问题引起) – user123444555621