Javascript 如何使用“checkForBadJavascirpts”

Javascript 如何使用“checkForBadJavascirpts”,javascript,greasemonkey,Javascript,Greasemonkey,我想使用Sleep monkey进行客户端javascript调试。我想使用的user.js是“checkForBadJavascript”。请参阅此链接: 例如,我想用另一个名为的js替换下面html页面中的,我应该在fleed monkey的user.js中做什么 <body onload="init()"> <script type="text/javascript" src="http://jsbin.com/evilExternalJS/js"></scr

我想使用Sleep monkey进行客户端javascript调试。我想使用的user.js是“checkForBadJavascript”。请参阅此链接:

例如,我想用另一个名为的js替换下面html页面中的,我应该在fleed monkey的user.js中做什么

<body onload="init()">
<script type="text/javascript" src="http://jsbin.com/evilExternalJS/js"></script>
<script type="text/javascript" language="javascript">
function init () {
    var newParagraph            = document.createElement ('p');
    newParagraph.textContent    = "I was added by the old, evil init() function!";
    document.body.appendChild (newParagraph);
}
</script>
])

但在Firebug中,它有如下内容:

checkForBadJavascripts ( [
[false, /old, evil init()/, function () {addJS_Node (init);} ],
[true, /evilExternalJS/i, function(){addJS_Node(null,"http://code.jquery.com/jquery-1.11.1.min.js",null);} ]
<script src="http://jsbin.com/evilExternalJS/js" type="text/javascript">
Reload the page to get source for: http://jsbin.com/evilExternalJS/js
</script>

有什么评论吗?顺便问一下,为什么正则表达式是“/evilExternalJS/i”?这可以在“checkForBadScripts”的源代码中看到。“i”是什么意思?

你是说它不起作用?如果是这样,请发布您的测试页面。查看您提到的所有标签的顺序很重要。Firebug消息可能只是与一些优化有关,当Firebug没有运行时,这些优化可以防止它窥探脚本加载。我使用的测试页面是。问题太多了。为什么要禁用jquery?替换什么?你知道jquery是什么吗?如果你只是想在页面上屏蔽一个脚本,你可以使用AdBlock加firefox插件。evilExternalJS是src上脚本文件的名称,然后您必须使用正则表达式选择该名称,这是该脚本特有的checkForBadJavascripts[[true,/nameofscript/,…];正则表达式上的i表示忽略区分大小写。我假设您在用户脚本的头部使用了//@require。我建议您复制以下内容:checkForBadJavascripts[greasemonkey]并粘贴到stackoverflow的搜索中,然后阅读所有问题和答案。这真的很有帮助。顺便说一下,jquery只是这个问题的一个例子。这个问题的核心是,我想制作一个客户端调试工具,这意味着每次在压缩的javascript代码中发现错误时,都可以用服务器上的原始代码替换它,并且易于调试。