我正在编写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'"
我想一个次要的问题是:
是什么,我想在我使用的方式来实现可能的(我已成功使用页面的内容,正则表达式匹配得到了类似的结果,而是想直接访问的对象)