我正在編寫Chrome擴展程序,主要用於學習目的,如果安裝了Google Analytics(分析),則會向我顯示Google分析跟蹤ID(UA-xxxxxx-x)。從Chrome擴展程序訪問Google Analytics window._gaq
我明白,我需要使用sendRequest將到內容的腳本在網頁中檢索信息,並已成功實現該功能
chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
// analytics request check GA and send back
if(request.requestDetail == "analytics") {
console.log(window._gaq);
console.log(window._gaq._getAsyncTracker()._getAccount());
// unknown response, send back nothing!
} else {
sendResponse({});
}
});
偵聽器接收到請求,谷歌分析是肯定的安裝我正在測試的網頁,window._gaq和window._gaq._getAsyncTracker()._ getAccount()都可以通過控制檯訪問,並返回我期望的結果。
爲什麼window._gaq在通過偵聽器訪問時未定義?我應該如何從Chrome擴展中訪問它?
我有一個想法,存在安全原因所以也嘗試修改清單包括以下但仍沒有運氣
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"
我想一個次要的問題是:
是什麼,我想在我使用的方式來實現可能的(我已成功使用頁面的內容,正則表達式匹配得到了類似的結果,而是想直接訪問的對象)