Я ввожу различные скрипты и 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.info("Document Loaded!!");
jQuery("#Table td").click(function() {
var column_num = parseInt( $(this).index() ) + 1;
var row_num = parseInt( $(this).parent().index() )+1;
console.info(column_num, row_num);
});
});
})();
теперь проблема в том, что когда я открываю расширение во второй раз, jQuery перестает работать и выдает ошибку
Uncaught TypeError: jQuery is not a function
или же
Uncaught TypeError: jQuery is undefined
Мне нужно найти, можно ли проверить, что мой inject.js уже был выполнен, тогда при повторном открытии расширения мне просто нужно вызвать другие функции.
Его просто фрагмент кода сильно отличается, и я просто хочу проверить, выполняется ли мой inject.js уже или нет.
Проверьте это сообщение SO stackoverflow.com/q/34528785/1225070
Возможный дубликат Расширение Chrome: проверка, был ли внедрен контентный скрипт
Возможно, у вас здесь опечатка
{ file: 'js/inject/inject.});
Вы забыли добавить одинарную кавычку.