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