如果有人问起,我很抱歉。我已经找到了几个不起作用的解决方案。不知道我做错了什么。
我不想禁用所有 JavaScript,只想禁用 JavaScript 警告框。那些弹出并强制您单击“确定”或“X”以关闭它们的框。
我发现声称可以做到这一点的用户脚本(例如:http://userscripts.org/scripts/show/58252)。我已将 chrome 放在开发频道上,使用 --enable-user-scripts 开关启动 chrome,脚本显示为已安装。
但我仍然收到警告框。
未被禁用的警告框示例如下:http://wordswithfriends.net/- 将任何垃圾词放入右侧边栏的单词验证器中。您会弹出一个窗口告诉您这不是一个单词。
答案1
禁用警告框的唯一方法是安装扩展或用户脚本。您链接的用户脚本适用于 Firefox Greasemonkey,不适用于 Chrome。
此外,您引用的违规页面很狡猾,在代码中运行“单词验证器”,并在 iframe 重新加载时立即iframe
触发。alert()
但是这里有一个可以打败它的用户脚本:
// ==UserScript==
// @name Wordswithfriends, Block javascript alerts
// @match http://wordswithfriends.net/*
// @run-at document-start
// ==/UserScript==
addJS_Node (null, null, overrideSelectNativeJS_Functions);
function overrideSelectNativeJS_Functions () {
window.alert = function alert (message) {
console.log (message);
}
}
function addJS_Node (text, s_URL, funcToRun) {
var D = document;
var scriptNode = D.createElement ('script');
scriptNode.type = "text/javascript";
if (text) scriptNode.textContent = text;
if (s_URL) scriptNode.src = s_URL;
if (funcToRun) scriptNode.textContent = '(' + funcToRun.toString() + ')()';
var targ = D.getElementsByTagName ('head')[0] || D.body || D.documentElement;
targ.appendChild (scriptNode);
}
如果您确实想禁用alerts()
所有页面上的所有功能(不推荐),那么请删除该// @match
行。
答案2
有至少一个扩展因为在Chrome 网上应用店。对我来说很管用,尽管听起来有点怀疑它有一个可选的广告支持模式,你可以在其设置页面中禁用它。(我没有找到该设置,但认为它不会损害零路由api.s13.us
。)
答案3
如果你正在寻找一个工具,并且不想弄乱用户脚本 - 有一个不错的工具可以处理 Windows 系统上任何烦人的弹出窗口 -点击关闭。您可以从这里。我检查过,它适用于 SharePoint 网站的“您所做的更改可能无法保存”警报。