Google chrome extension Chrome扩展破坏了Google表单
我正在开发一个chrome扩展来记录我使用Google Drive时的分析。我使用了webNavigation.onCompleted.addListener函数向页面视图发送分析信息,除了工作表之外,其他功能都正常工作 我有一个间歇性故障,无法正确加载表单。但是,扩展控制台中没有任何内容记录为错误-它显示所有内容都正常工作。在我试图加载的工作表的控制台中,出现了两个奇怪的错误 第一个(非常光荣)是: 第二个是:Google chrome extension Chrome扩展破坏了Google表单,google-chrome-extension,google-analytics,Google Chrome Extension,Google Analytics,我正在开发一个chrome扩展来记录我使用Google Drive时的分析。我使用了webNavigation.onCompleted.addListener函数向页面视图发送分析信息,除了工作表之外,其他功能都正常工作 我有一个间歇性故障,无法正确加载表单。但是,扩展控制台中没有任何内容记录为错误-它显示所有内容都正常工作。在我试图加载的工作表的控制台中,出现了两个奇怪的错误 第一个(非常光荣)是: 第二个是: Uncaught TypeError: Cannot read property
Uncaught TypeError: Cannot read property 'Yu' of undefined
r.jLa @ 2046562200-ritz_waffle_i18n_core.js:361
我很难理解是什么造成了这个问题。我的代码没有修改任何标题,只在web导航完成后触发。以下是导致此问题的函数:
chrome.webNavigation.onCompleted.addListener(
// callback
function(info) {
console.log("webNavigation Complete - Docs");
console.log(info.url);
var fields = { hitType:'pageview'};
chrome.pageAction.show(info.tabId);
// check for editor of docs, sheets, slides, etc.
if (info.url.indexOf('docs') > -1 && info.url.indexOf('/d/') > -1) {
var start = info.url.indexOf('.com/')+5;
var end = info.url.indexOf('/',start+1);
var type = info.url.substring(start,end);
start = end+2;
end = info.url.indexOf('/',start+1);
var docId = info.url.substring(start,end);
fields['page'] = docId;
ga('send','event',type,'Load');
}
// check for editor of docs, sheets, slides, etc.
if (info.url.indexOf('macros') > -1 && info.url.indexOf('/d/') > -1) {
console.log('Apps-Script');
ga('send','event',type,'Apps-Script');
}
if (info.url.indexOf('drive') > -1 ){
fields['page'] = '/drive';
}
if (fields.page) {
var tabId = info.tabId;
chrome.pageAction.show(tabId);
chrome.tabs.get(tabId,function(tab) {
fields['title'] = tab.title;
console.log(fields);
//ga('send',fields);
});
}
},
//filters
{url:[{hostContains:'docs.google.com'},
{hostContains:'drive.google.com'}]
});
为什么你甚至认为你的扩展是问题,而不是其他因素,或者只是片断本身的间歇性失效?就像你说的,你的扩展(或者至少是你展示的部分)对标签没有任何影响。你提出了一个很好的观点。当我禁用扩展时,错误消失了。这是非常令人沮丧的,因为它在昨晚使用这个精确的电子表格时工作得很好,使用了相同的代码库和所有东西。我想确保扩展是健壮的,并且不会阻止核心应用的使用,这正是我首先尝试登录分析的地方!啊!也许您的扩展的其他部分会干扰。这一个实际上不能。我把它确定为包含analytics.js作为内容脚本。这就是导致问题的原因,结果证明扩展本身是多余的。不过,我不知道为什么故障是间歇性的。
chrome.webNavigation.onCompleted.addListener(
// callback
function(info) {
console.log("webNavigation Complete - Docs");
console.log(info.url);
var fields = { hitType:'pageview'};
chrome.pageAction.show(info.tabId);
// check for editor of docs, sheets, slides, etc.
if (info.url.indexOf('docs') > -1 && info.url.indexOf('/d/') > -1) {
var start = info.url.indexOf('.com/')+5;
var end = info.url.indexOf('/',start+1);
var type = info.url.substring(start,end);
start = end+2;
end = info.url.indexOf('/',start+1);
var docId = info.url.substring(start,end);
fields['page'] = docId;
ga('send','event',type,'Load');
}
// check for editor of docs, sheets, slides, etc.
if (info.url.indexOf('macros') > -1 && info.url.indexOf('/d/') > -1) {
console.log('Apps-Script');
ga('send','event',type,'Apps-Script');
}
if (info.url.indexOf('drive') > -1 ){
fields['page'] = '/drive';
}
if (fields.page) {
var tabId = info.tabId;
chrome.pageAction.show(tabId);
chrome.tabs.get(tabId,function(tab) {
fields['title'] = tab.title;
console.log(fields);
//ga('send',fields);
});
}
},
//filters
{url:[{hostContains:'docs.google.com'},
{hostContains:'drive.google.com'}]
});