Chrome扩展程序未在内部页面上触发

时间:2017-07-15 22:18:09

标签: javascript google-chrome google-chrome-extension content-script basecamp

我正在尝试为我的公司构建Chrome扩展程序,以便与我们使用的项目管理系统一起使用,BaseCamp

在Basecamp的初始加载时,警报显示,但是当我浏览网站时,我不再看到警报。

MANIFEST.JS

{
    "manifest_version": 2,
    "name": "BaseCamp Signature", 
    "description": "This extension adds signature to Basecamp", 
    "version": "1.0",
    "browser_action": {
        "default_icon": "icon.png",
        "default_popup": "popup.html",
        "default_title": "Title!"
    },
    "permissions": [
        "storage", 
        "activeTab",
        "tabs",
        "https://3.basecamp.com/*"    
    ],
    "content_scripts": [
        {
            "matches": ["https://3.basecamp.com/*"], 
            "all_frames": true,
            "js": ["content.js"],
            "run_at": "document_end"
        }
    ]
}

CONTENT JS

alert('bingo');

作为测试,我在清单中使用了matches: ["https://*/*"],虽然这会在所有网站的内部页面上触发,但是包含StackOverflow,即使这种方法在浏览BaseCamp的内部页面时也没有触发

与往常一样,我们将非常感谢任何帮助

1 个答案:

答案 0 :(得分:-1)

通过存储当前URL并检查每半秒是否已更改,我能够在每次更新URL时运行我的扩展程序

var currentPage = window.location.href;

// listen for changes
setInterval(function() {
    if (currentPage != window.location.href) {
        // page has changed, set new page as 'current'
        currentPage = window.location.href;
        alert('double bingo');
    }
}, 500);