Google chrome extension Chrome扩展破坏了Google表单

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

我正在开发一个chrome扩展来记录我使用Google Drive时的分析。我使用了webNavigation.onCompleted.addListener函数向页面视图发送分析信息,除了工作表之外,其他功能都正常工作

我有一个间歇性故障,无法正确加载表单。但是,扩展控制台中没有任何内容记录为错误-它显示所有内容都正常工作。在我试图加载的工作表的控制台中,出现了两个奇怪的错误

第一个(非常光荣)是:

第二个是:

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'}]
});