我从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 是否已经执行然后重新开启扩展我只需要调用其他功能。