如何验证注入的脚本是否已注入chrome扩展中的选项卡?

时间:2018-05-02 07:17:06

标签: javascript google-chrome google-chrome-extension

我从chrome扩展中注入各种脚本和css,下面是我的代码段,

  

Background.js

function start() {
    var tab = JSON.parse(localStorage.getItem('tab'));
    chrome.tabs.insertCSS(tab.id, { file: 'assets/css/style.css' })
    chrome.tabs.executeScript(tab.id, { file: 'assets/lib/jquery-1.8.2.min.js' }, function () {
        chrome.tabs.executeScript(tab.id, { file: 'assets/lib/jquery-ui.min.js' }, function () {
                chrome.tabs.executeScript(tab.id, { file: 'js/inject/inject.js'});
        });
    });
}

chrome.browserAction.onClicked.addListener(function (tab) {
    start();
});
  

Inject.js

(function(){
     jQuery(document).ready(function () {
          console.log("Document Loaded!!");
          jQuery("#Table td").click(function() {     
              var column_num = parseInt( $(this).index() ) + 1;
              var row_num = parseInt( $(this).parent().index() )+1;    
              console.log(column_num, row_num);
          });
     });
})();

现在的问题是,当我第二次打开扩展时,jQuery停止工作并抛出错误

Uncaught TypeError: jQuery is not a function

Uncaught TypeError: jQuery is undefined

我需要查看是否可以检查我的 inject.js 是否已经执行然后重新开启扩展我只需要调用其他功能。

0 个答案:

没有答案