Youtube视频网址,Chrome扩展程序 - jquery文档准备好不会解雇

时间:2013-09-24 08:57:42

标签: jquery google-chrome-extension youtube youtube-api

我创建了一个chrome扩展程序,它使用youtube api来浏览评论和抓取链接。然后,我使用chrome扩展内容脚本将结果插入到每个YouTube视频页面,并将链接转换为可点击。

我的问题是,jquery document.ready只有在页面刷新时上一页不是视频页面监视/ v = OR时才会触发。

换句话说,通过youtubes自己的链接从一个观看页面到另一个观看页面点击不会导致document.ready触发。

这似乎与youtube现在加载观看页面的方式有关。只有“?v =”参数正在改变,我猜youtube会动态加载所有内容,而不是重新加载页面。

我可以使用document.ready吗?

$(document).ready(function() {

 app.insertLinksInit();

 });

我在想是否有办法在window.location.href上听取更改但是根据我所读到的内容似乎没有附加事件。我可以听到哪些其他事件知道网址中的参数已更改?我使用的是jquery-2.0.3.min。

1 个答案:

答案 0 :(得分:0)

如果'onready'没有帮助,最简单的方法是轮询页面以找到您需要的代码,然后启动您需要的行为。

内容的script.js

var regex = /\<a\s\w+/; //finds <a tags (for example) 

function polling(){
  if (regex.test(document.querySelector('#closest-id').innerHTML)) {
    // The regular expression produced a match, so notify the background page.
    chrome.extension.sendRequest({}, function(response) {});
  } else {
    //nothing found test again, delay it as long as possible
    setTimeout(polling,1000);
  }
}
polling();

background.js

function onRequest(request, sender, sendResponse) {
   // your actions here
};

// Listen for the content script to send a message to the background page.
chrome.extension.onRequest.addListener(onRequest);