我試圖檢測我的Chrome擴展是否使用在我的網站上執行的js安裝。我找到了一些例子,有些我甚至不明白,或者可以使它們工作。我嘗試和有點工作是添加元素到DOM或修改一些CSS屬性。例如:儘快將變量傳遞給Chrome擴展的網頁
在我的擴展背景的網頁我有:
function changeBG(tab){
chrome.tabs.executeScript(tab.id, {
code: ' document.body.bgColor="red" '
});
}
chrome.tabs.onUpdated.addListener(changeBG);
在我的網站我有:
<script>
alert(document.body.bgColor);
</script>
背景也變成紅色,但.bgColor爲null,因爲我嘗試只要頁面開始加載,請在網站代碼頂部閱讀它。加載頁面後,我可以讀取它,並返回「紅色」。 (如果在頁面中注入元素,然後嘗試讀取innerHTML或元素的屬性,也會發生同樣的事情)。
但我不想等待onload或任何東西,因爲我的內容取決於擴展是否安裝。
我也嘗試了從擴展內容加載圖像的方法,但是這又是一個間接的異步?方法。
我不想「交換」內容,我想知道在繼續加載我的網站上的任何其他內容之前是否安裝了擴展程序。
有人知道我該怎麼做嗎?
這是一個很好的解決方案,我會做一些研究,看看我能做到這一點,非常感謝。 – user979390