假设有是包括HTML脚本代码,像这样一个外部.js文件网站:拦截和更改网站的JavaScript使用的Greasemonkey
<script src="somescript.js">
我想Greasemonkey的拦截每个这样的脚本,并改变他们执行前的一些值。例如,我想将其中所有出现的值“400”更改为“300”,然后继续加载页面,就好像脚本使用这些值而不是原来的那样。目前我在greasemonkey中使用下面的代码:
function replaceTargetJavascript (scriptNode) {
var scriptSrc = scriptNode.textContent;
scriptSrc = scriptSrc.replace (
/'400'/,
"'300'"
);
addJS_Node (scriptSrc);
}
document.addEventListener("beforescriptexecute", function(e) {
checkForBadJavascripts ([
[false, /'400'/, replaceTargetJavascript]
]);
}, true);
根据我的来源是正确的方式来做到这一点,但它不工作。任何人都可以帮我解决这个问题吗?
这不是你如何使用[checkForBadJavascripts](https://gist.github.com/2620135)。 (EG,参见[这个答案](http://stackoverflow.com/a/11201555/331508)。)...你也不能对通过'<脚本加载的脚本的*内容*进行即时编辑src =“...'你必须阻止脚本,然后用'GM_xmlhttpRequest'获取它们,然后编辑它们,然后插入脚本节点。 –
你愿意写出如何去做刚刚描述的内容吗? ? – Joey
酷,其实我解决它......我会后的溶液,作为一个答案即将 – Joey