PJAX用标准js听pjax:end事件

时间:2014-02-12 06:31:03

标签: javascript jquery firefox-addon pjax

所以github使用“defunkt”的PJAX模块(https://github.com/defunkt/jquery-pjax#events),我正在创建一个需要监听事件的firefox插件pjax:end

到目前为止,我可以使用jquery这样做:

$(document).on('pjax:end', function (t) {
   console.log('pjax:end');
})

但是我如何使用标准的javascript函数呢?

document.addEventListener('pjax:end',function(){
     console.log('ya');
}, true);

不起作用。

对于那些了解firefox-addons的人来说,这段代码不起作用:

gBrowser.contentWindow.wrappedJSObject['$'](gBrowser.contentDocument).on('pjax:end', function (t) {
    Cu.reportError('pjax:end');
})

它会抛出此错误:

/*
Exception: Permission denied to access property 'guid'
te.event.add@https://github.global.ssl.fastly.net/assets/frameworks-752c70f2b89dcf2d1f948637afa35a3285fe6424.js:2
e.event.add@https://github.global.ssl.fastly.net/assets/frameworks-752c70f2b89dcf2d1f948637afa35a3285fe6424.js:3
.on/<@https://github.global.ssl.fastly.net/assets/frameworks-752c70f2b89dcf2d1f948637afa35a3285fe6424.js:2
.each@https://github.global.ssl.fastly.net/assets/frameworks-752c70f2b89dcf2d1f948637afa35a3285fe6424.js:1
te.prototype.each@https://github.global.ssl.fastly.net/assets/frameworks-752c70f2b89dcf2d1f948637afa35a3285fe6424.js:1
.on@https://github.global.ssl.fastly.net/assets/frameworks-752c70f2b89dcf2d1f948637afa35a3285fe6424.js:2
@Scratchpad/2:1
*/

1 个答案:

答案 0 :(得分:1)

据我所知,它目前无法使用本机JavaScript捕获jQuery事件(虽然查看此错误凭证http://bugs.jquery.com/ticket/11047但似乎有一些库可以启用此功能,但并非没有代码更改到PJAX代码)。