chrome.executeScript有时不会执行作为参数传递的脚本文件

时间:2015-08-24 06:43:25

标签: javascript jquery google-chrome-extension

我有以下代码,我试图执行脚本以响应通过popup.js触发的成功的ajax调用。我在后台脚本控制台,弹出控制台或页面控制台中看不到任何错误。

Popup.js

        GetPageImages = function (tabID, inputVariables) {
                console.log(1);
                chrome.tabs.executeScript(tabID, { file: jqueryFile }
                  , function () {
                    console.log(2); 
                    chrome.tabs.executeScript(tabID, {
                        code: 'var inputVariables = ' + JSON.stringify(inputVariables)
                    }, function () {
                        console.log(3);
                        chrome.tabs.executeScript(tabID, { file: filePath }, function () {

                        });
                    });
                });

        }


        $http.post(baseURL + "api/Update").
                success(function (data, status, headers, config) {
                    GetPageImages();

                })
                .error(function (data, status, headers, config) {
                    console.log("Failed to save the page");
                });
        }
    }]);

我可以看到我想通过函数GetPageImages执行的文件有时被执行,但有时它们不是。我无法弄清楚它背后的原因是什么,可能是调用executeScript的线程正在退出,或者这是executeScript的行为。我该如何调查?

在代码中添加已更新的日志时,我只能看到在控制台中打印1。此外,如果我检查页面上的内容脚本,我的文件(jquery文件),即第一个要执行的文件,在页面上看不到。

0 个答案:

没有答案