Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/480.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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阻止删除或停止jquery中的匿名函数_Javascript_Jquery_Greasemonkey - Fatal编程技术网

Javascript 如何使用Greasemonkey阻止删除或停止jquery中的匿名函数

Javascript 如何使用Greasemonkey阻止删除或停止jquery中的匿名函数,javascript,jquery,greasemonkey,Javascript,Jquery,Greasemonkey,如何阻止以下jquery函数。 我测试过不同的脚本和自己的脚本,但没有任何效果 $(document).ready(function () { $(window).on('beforeunload', function() { return "\ Are you sure you want to leave this page...."; }); }); # 很抱歉,这两个脚本都不会停止“离开”对话框 // ==UserScript== // @name

如何阻止以下jquery函数。 我测试过不同的脚本和自己的脚本,但没有任何效果

$(document).ready(function () {

  $(window).on('beforeunload', function() {
        return "\
Are you sure you want to leave this page....";
  });
});
# 很抱歉,这两个脚本都不会停止“离开”对话框

// ==UserScript==
// @name           Test
// @namespace      
// @description    Disable - remove the annoying onbeforeunload event
// @include        *
// @author         test
// ==/UserScript==

(function() {
      unsafeWindow.onbeforeunload = null;

      unsafeWindow.onunload = null;

      //unsafeWindow.alert = null;

      //unsafeWindow.confirm = null;

      //unsafeWindow.prompt = null;

      //unsafeWindow.open = null;

      //$(window).off('beforeunload'); //don't work
$(window).on('beforeunload',function() {/* override function that does nothing*/});
})();
我相信这就是你想要的:

$(window).off('beforeunload');
我相信这就是你想要的:

$(window).off('beforeunload');

不是100%确定这会起作用,但您可能可以使用不同的函数来覆盖它,即
$(window).on('beforeunload',function(){/*覆盖不做任何事情的函数*/})
@Bucky24不,jQuery允许您不断附加越来越多的事件处理程序,因此这不会覆盖已有的事件处理程序。您可以使用纯javascript,使用
window.beforeunload=null
或类似的东西,但我不知道这是否适用于所有情况。@JoeEnos很高兴知道,我没有意识到这一点。@Allean是否有可能greasemonkey脚本在分配事件的脚本之前运行?您必须确保在调用
on('beforeunload')
脚本后运行此命令-您可以将其放入
jQuery(document).ready
-如果您的greasemonkey脚本仍然首先运行,可以设置一个超时,如
setTimeout(3000,function(){$(window)(beforeunload');}),以确保它在首次分配事件后很好地激发,但足够早,以便在用户尝试离开页面之前激发。虽然不能100%确定这是否可行,但您可以使用不同的函数来覆盖它,即
$(窗口)。on('beforeunload',function(){/*override function what nothing*/})
@Bucky24不,jQuery允许您不断附加越来越多的事件处理程序,因此这不会覆盖已有的事件处理程序。您可以使用纯javascript,使用
window.beforeunload=null
或类似的东西,但我不知道这是否适用于所有情况。@JoeEnos很高兴知道,我没有意识到这一点。@Allean是否有可能greasemonkey脚本在分配事件的脚本之前运行?您必须确保在调用
on('beforeunload')
脚本后运行此命令-您可以将其放入
jQuery(document).ready
-如果您的greasemonkey脚本仍然首先运行,可以设置一个超时,如
setTimeout(3000,function(){$(window)(beforeunload');}),以确保它在首次分配事件后很好地激发,但足够早,以便在用户尝试离开页面之前激发。