几个问题:您可以将超时阈值与
XMLHttpRequest(aka ajax)一起使用,但是由于存在超时阈值,因此由于Same Origin
Policy限制,
otherserver.com您不能使用
XMLHttpRequest(并支持所有A级浏览器)。
如果脚本引入了任何种类的全局名称(例如,任何变量名称,函数名称等),您都可以尝试对其
setTimeout进行检查:
var TIMELIMIT = 5; // seconds until timeoutvar start = new Date;setTimeout(function() { // check for something introduced by your external script. // A variable, namespace or function name here is adequate: var scriptIncluded = 'otherServerVariable' in window; if(!scriptIncluded) { if ((new Date - start) / 1000 >= TIMELIMIT) { // timed out alert("Please try again") } else { // keep waiting... setTimeout(arguments.callee, 100) } }}, 100)
我所看到的问题是您无法取消对脚本的请求。如果我错了
<script>,请有人纠正我,但是从DOM中删除仍然会使浏览器对资源的请求处于活动状态。因此,尽管您可以
检测 到脚本加载时间超过x秒,但是无法 取消 请求。
我认为您可能不走运。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)