如何以编程方式更改 Firefox 中的 about:config dom.max_script_run_time 值?
Posted
技术标签:
【中文标题】如何以编程方式更改 Firefox 中的 about:config dom.max_script_run_time 值?【英文标题】:How to programatically change the about:config dom.max_script_run_time value in Firefox? 【发布时间】:2013-01-20 03:32:17 【问题描述】:我只是想知道是否有任何方法可以以编程方式更改 Firefox about:config 窗口中的 dom.max_script_run_time 值。
当我的 Firefox 中的默认值是 10 时,我认为在我的网站上运行更长的脚本运行时间太少了。当值设置为默认值(即 10)时,我的 firefox 变为 Not Responding 并且我收到警告警报消息,例如 Warning: Unresponsive Script 我只需要将值设置为20 或 30 以避免任何此类警报经常弹出并让脚本运行更长时间。
所以我只需要在每次页面加载时更改 dom.max_script_run_time。
我已经在 Firefox、Chrome、Safari、Palemoon 和 Opera 等其他浏览器中对此进行了测试。
我只在 Firefox 中遇到这个问题
或者除了更改设置和加载页面还有其他方法吗?
我们将不胜感激任何解决方案。
【问题讨论】:
访问者不喜欢让他们的浏览器挂起 10 秒,更不用说 30 秒了。你想做什么?通常,此限制的解决方法是使用setTimeout
之类的东西。 (如果您的应用程序允许,您也可以使用 WebWorkers)
没有页面没有挂起或其他东西..它只加载没有错误并且通常按预期..这种设置更改只允许firefox运行脚本以运行更长的时间..性能页面加载不会受到任何影响..
【参考方案1】:
在 about:config dom.max.script_run_time 处将整数设置为 1000 或 0。
我发现这是一个可靠的修复,Firefox 不再有
Warning: Unresponsive Script 错误消息,运行速度更快,是一个
立即修复。
【讨论】:
谢谢。但这并没有回答我的问题。我想以编程方式进行。无需手动访问 about:config 页面。【参考方案2】:无论如何,我找到了另一个解决方案来解决这个问题。这就是页面速度洞察中的 延迟加载 JS 概念。从here..获得帮助。我添加了下面的代码以在页面加载后异步加载 javascript 文件。这将停止在 Firefox 中显示无响应脚本警告。
现在我存储在 someScript.js 中的所有 javascript 函数都会在页面停止加载后立即调用,并且在这之间有一小段时间。但就我没有收到无响应的脚本错误而言,这不是问题。
延迟加载 JS:
<script type="text/javascript">
// Add a script element as a child of the body
function downloadJSAtOnload()
var element = document.createElement("script");
element.src = "/js/someScript.js";
document.body.appendChild(element);
// Check for browser support of event handling capability
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else
window.onload = downloadJSAtOnload;
</script>
【讨论】:
【参考方案3】:当然,您不能通过网络更改该值。我百分百确定
你应该尝试重新设计你的脚本,让你的页面更轻
例如,遗憾的是,您应该尽可能避免使用 Firefox
边界半径 盒子阴影 文本阴影 动态渐变,例如 -moz-linear-gradient -moz-radial-gradient 等 过渡/动画和变换 频繁的文本渲染和重新渲染 巨大的背景,尤其是背景附件:固定 flash 对象、画布、svg【讨论】:
它几乎是一切。以上是关于如何以编程方式更改 Firefox 中的 about:config dom.max_script_run_time 值?的主要内容,如果未能解决你的问题,请参考以下文章
Javascript,以编程方式触发Firefox中的文件下载[关闭]
如何以编程方式更改电子内部 Angular 中的音频输出设备?