【发布时间】:2013-03-01 20:40:45
【问题描述】:
我正在编写一个 chrome 扩展程序,主要用于学习目的,如果安装了 Google Analytics,它将向我显示 Google Analytics 跟踪 ID (UA-xxxxxx-x)。
我了解我需要使用 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({});
}
});
侦听器正在接收请求,Google Analytics(分析)肯定安装在我正在测试的网页上,window._gaq 和 window._gaq._getAsyncTracker()._getAccount() 都可以通过控制台访问并返回我所期望的。
为什么通过监听器访问时window._gaq未定义?我应该如何从 chrome 扩展程序访问它?
我知道这是出于安全原因,因此也尝试修改清单以包含以下内容,但仍然没有运气
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"
我想第二个问题是:
我正在尝试以我使用的方式实现的目标(我已经设法在页面内容上使用正则表达式匹配获得了类似的结果,但想直接访问对象)
【问题讨论】:
标签: javascript google-chrome google-chrome-extension google-analytics