Как проверить, что внедренный скрипт уже внедрен во вкладку в расширении chrome? - PullRequest
0 голосов
/ 02 мая 2018

Я вставляю различные скрипты и CSS из расширения Chrome, ниже приведен мой фрагмент кода,

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 уже был выполнен, тогда при повторном открытии расширения мне просто нужно вызвать другие функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...