![](/img/trans.png)
[英]How can I validate image sizes (expressed as e.g. “5X4”) using JavaScript?
[英]Can I put impose a time limit on JavaScript (e.g., using an iframe)?
我想运行一个有时间限制的外部JavaScript,这样,如果花费的时间超过N秒,它将被停止。
一些浏览器(例如Firefox)已经通过对话框询问您是否要允许脚本继续运行。 但是,我正在寻找更多:
<iframe>
元素)。 我当时想,如果只有一个我可以附加到<iframe>
的属性,这将非常方便-例如,类似js-time-limit="5000"
(我刚刚做了),但是我一直没有能够找到类似的东西。
这可能吗? 要在浏览器中为JavaScript执行设置可配置的时间限制?
如果iframe正在进行计算工作,并且不需要访问DOM,请使用网络工作者: https : //developer.mozilla.org/en-US/docs/Web/Guide/Performance/Using_web_workers
这也是一个可以为您提取困难部分的库! http://adambom.github.io/parallel.js
重要部分:
专用的Web工作人员为Web内容提供了一种在后台线程中运行脚本的简单方法。
如果您需要立即终止正在运行的工作程序,则可以通过调用工作程序的terminate()方法来实现:
myWorker.terminate();
浏览器兼容性
Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
3 3.5 (1.9.1) 10 10.60 4
为了后代:我的最初目标是允许网站的用户提交JS代码并在有时间限制的情况下在后台运行它,例如,无限循环不会对CPU造成破坏。
我使用Joe建议的方法创建了一个名为Lemming.js的库。 您可以这样使用它:
var lemming = new Lemming('code to eval');
lemming.onTimeout(function() {
alert('Timed out!');
});
lemming.onResult(function(result) {
alert('Result: ' + result);
});
lemming.run({ timeout: 5000 });
您可以查看GitHub存储库以了解更多详细信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.