0

我正在做一個擴展,並將修改活動標籤的HTML &也將注入一些JS庫,但在此之前,我想檢查某個庫是否已經存在於該選項卡或不,如果已經存在,那麼它可能會導致我的注入JS庫的問題,例如;檢查是否存在使用鉻擴展的JavaScript庫

chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) { 
    chrome.tabs.executeScript(null, {file: '/javascript/angular.min.js'}); 
}); 

注入之前我想知道如果當前網站已經有這個庫或沒有。

+1

擴展運行在不同的領域。你不必擔心它。只要確保你使用擴展名加載庫。這是我用前段時間開發的擴展完成的。如果這是正確的做法?我不知道,但我從來沒有遇到過問題。 –

回答

1

你不需要這樣做,網頁中存在的原始js庫不會影響你的擴展。

看看Execution environment

內容腳本執行在特殊的環境下調用一個孤立的世界。他們可以訪問他們注入的頁面的DOM,,但不能訪問該頁面創建的任何JavaScript變量或函數。它看起來像每個內容腳本一樣,沒有其他JavaScript正在其上運行的頁面上執行。反過來也是如此:頁面上運行的JavaScript不能調用任何函數或訪問由內容腳本定義的任何變量。