Chrome扩展程序:Facebook上的内容脚本

时间:2012-07-26 15:01:17

标签: facebook google-chrome-extension

我正在为facebook创建Chrome扩展程序。 我需要在每个页面上执行相同的内容脚本。它在第一次加载时效果很好但是当我通过链接(作为配置文件名称)进入Facebook页面时它不起作用。 我读到这是因为除了第一次以外没有加载整个页面。因此脚本不会再次执行。 但是我不知道如何解决这个问题。

这是我的manifest.json:

{
    "name" : "name",
    "version" : "1.0",
    "manifest_version":1,
    "description" : " description ",
    "content_scripts" : [
            {
              "matches" : ["http://www.facebook.com/*"],
              "js" : ["test.js"]
            }   
    ] ,
    "all_frames":"true"  
}

我希望有人会得到答案,因为我真的需要每次都在每个页面上执行的脚本(test.js,它不会改变html或css)!

感谢您将来的答案。

1 个答案:

答案 0 :(得分:3)

我个人通过使用Chrome的webRequest API解决了这个问题。您需要添加一个跟踪AJAX生成的HTTP调用的侦听器。这基本上是我使用的代码:

chrome.webRequest.onCompleted.addListener(function(details) {
    var url = document.createElement('a');
    url.href = details.url;
    if (url.search && url.search.indexOf('ajaxpipe=1') !== -1) {
        console.log('New page via AJAX.');
        chrome.tabs.executeScript({'file' : 'test.js'});
    }
}, {urls : ["*://*.facebook.com/*"]});