0

我試圖建立一個Chrome擴展爲我公司與我們使用的項目管理系統使用,大本營Chrome擴展程序不開火內頁

在大本營的初始加載,警報顯示,但是當我正在瀏覽網站,我不再看到警報。

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" 
     } 
    ] 
} 

內容JS

alert('bingo'); 

正如我在清單中使用matches: ["https://*/*"]測試,雖然這將觸發對所有站點,StackOverflow上的內頁包括在內,甚至這種方法在瀏覽BaseCamp的內部頁面時都不會觸發

與往常一樣,任何幫助將不勝感激

+1

也許BaseCamp只需更新網址並以編程方式更改頁面內容,就像YouTube一樣。 –

+0

有趣,意思就像在後臺運行的React一樣? –

+1

React只是一個框架。我的意思是使用本機api:https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_pushState()_method –

回答

-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);