2016-11-26 55 views
0

我想Tampermonkey将JavaScript代码注入到网站(一个浏览器插件,它可以注入userscript)如何设置要首先触发的事件?

我要注入:

function temp() {...} 
window.addEventListener("beforeunload", temp); 

的网站可能已经

window.onbeforeunload = function() {...} 
window.addEventListener("beforeunload", otherFunction); 

...等,也就是窗口对象已经有一些事件,我什至不知道他们的函数名是什么,我的“临时”函数将附加在窗口对象上最后

但我希望在窗口关闭后首先触发临时功能

这可能吗?感谢帮助!!

回答

2

添加这个jQuery插件:

(function ($) { 
    $.fn.bindFirst = function(name, fn) { 
     this.on(name, fn); 
     this.each(function() { 
      var handlers = $._data(this, 'events')[name.split('.')[0]]; 
      var handler = handlers.pop(); 
      handlers.splice(0, 0, handler); 
     }); 
    }; 
})(jQuery); 

,并象下面这样使用后:

window.bindFirst("beforeunload", temp); 
+0

感谢...但可以ü提供纯JavaScript版本?我真的很感激 – chenyuxian

+0

抱歉,但我认为这不是答案,因为原来的网站的事件是使用纯JavaScript和jquery无法收集它,甚至改变执行顺序 – chenyuxian

相关问题