加载视频页面时 YouTube 触发的事件

Event Fired by YouTube When Video Page is Loaded

我正在构建一个 Firefox 插件,它在 YouTube 加载视频页面时解析 URL(例如 https://www.youtube.com/watch?v=6tOQsswD4Tc). Using Firefox's Add-on api for Tabs,我无法在视频页面加载完成时捕获该事件。这可能是由于YT新的异步加载。因为如果我按F5,我可以捕获事件。我正在使用这个代码:

tabs.on("ready", function(tab) {
  if(tab.url.search(/youtube\.com\/watch\?v=/)!=-1){
    // do stuff
  }
});

我尝试将其更改为 'ready'、'load'、'pageshow',但似乎没有任何效果。如何捕获页面加载事件?

解决方案的链接提到 chrome.webNavigation.onHistoryStateUpdated, the equivalent of that in Firefox isonStateChangeinnsIWebProgressListener`:https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIWebProgressListener

另一种选择是插入内容脚本以收听 YouTube 加载栏上的过渡动画结束,正如该堆栈中所指出的那样 post。

Chrome extension is not loading on browser navigation at YouTube