Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Greasemonkey覆盖匿名函数_Javascript_Firefox_Firefox Addon_Anonymous Function_Greasemonkey 4 - Fatal编程技术网

Javascript 使用Greasemonkey覆盖匿名函数

Javascript 使用Greasemonkey覆盖匿名函数,javascript,firefox,firefox-addon,anonymous-function,greasemonkey-4,Javascript,Firefox,Firefox Addon,Anonymous Function,Greasemonkey 4,我试图使用Greasemonkey将此代码更改为不使用“world”,而是使用window.location.href,这样当选择下拉选项时,它将保持在同一页面上,但只更改suid 页面代码: <script type="text/javascript"> $('#charselectdropdown').on('select2:select', function (e) { var data = e.params.data; if(data.id >

我试图使用Greasemonkey将此代码更改为不使用“world”,而是使用window.location.href,这样当选择下拉选项时,它将保持在同一页面上,但只更改suid

页面代码:

<script type="text/javascript">
$('#charselectdropdown').on('select2:select', function (e) {
  var data = e.params.data;
  if(data.id > 0) {
    window.location = '/world?suid=' + data.id + '&serverid=2';
  }
  else {
    window.location = '/myaccount';
  }
});
</script>
我也尝试过使用这个:

作用

replaceTargetJavascript (scriptNode) {
    var scriptSrc   = scriptNode.textContent;
    scriptSrc       = scriptSrc.replace (
        /world?suid=/,
        window.location.href + "?suid="
    );

    addJS_Node (scriptSrc);
}

checkForBadJavascripts ( [
    [false, /world?suid=/, replaceTargetJavascript]
] );
这两个似乎都不适合我。谁能告诉我问题是什么

replaceTargetJavascript (scriptNode) {
    var scriptSrc   = scriptNode.textContent;
    scriptSrc       = scriptSrc.replace (
        /world?suid=/,
        window.location.href + "?suid="
    );

    addJS_Node (scriptSrc);
}

checkForBadJavascripts ( [
    [false, /world?suid=/, replaceTargetJavascript]
] );