【问题标题】:Chrome Extension : content script on facebookChrome 扩展:facebook 上的内容脚本
【发布时间】:2013-07-21 05:26:15
【问题描述】:

我正在为 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)!

感谢您以后的回答。

【问题讨论】:

标签: facebook google-chrome-extension


【解决方案1】:

我个人通过使用 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/*"]});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-21
    • 2011-09-28
    • 2021-06-15
    • 2013-06-11
    • 1970-01-01
    • 2019-11-05
    • 2011-11-02
    相关资源
    最近更新 更多