无法从chrome扩展加载javascript
我正在尝试构建一个chrome扩展。我的内容脚本是一个带有一组函数的javascript类无法从chrome扩展加载javascript,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我正在尝试构建一个chrome扩展。我的内容脚本是一个带有一组函数的javascript类 myClass = class { constructor() { console.log('Script loaded'); } get one() {} get two() {} get three() {} } obj = new myClass(); 当我点击我的chrome扩展时,我的想法是加载上面的javascript,我应该能够使用obj调用所有方法。当我从控制台中
myClass = class {
constructor() {
console.log('Script loaded');
}
get one() {}
get two() {}
get three() {}
}
obj = new myClass();
当我点击我的chrome扩展时,我的想法是加载上面的javascript,我应该能够使用obj调用所有方法。当我从控制台中的构造函数获取“Script-loaded”消息时,当我尝试使用obj调用方法时,我得到了下面的错误信息
obj is not defined.
如果我在控制台中复制粘贴整个内容脚本,并尝试使用obj调用类方法,它就可以正常工作。我做错了什么
Manifest.json
{
"manifest_version":2,
"name":"ext1",
"description":"some desc",
"version":"1.0.1",
"background": {
"scripts": ["js/background.js"],
"persistent": true
},
"permissions":[
"contextMenus",
"activeTab"
]
}
background.js
var contextMenus = {};
contextMenus.ext1 =
chrome.contextMenus.create(
{ "title": "some title" },
function () {
if (chrome.runtime.lastError) {
console.log(chrome.runtime.lastError.message);
}
}
);
chrome.contextMenus.onClicked.addListener(contextMenuHandler);
function contextMenuHandler(info, tab) {
if (info.menuItemId === contextMenus.ext1) {
chrome.tabs.executeScript({
file: 'js/ext1.js'
});
}
}
也许上下文有问题。您能否尝试将
obj
和myClass
分配给块作用域变量let
或const
。例如:
const myClass = class {
constructor() {
console.log('Script loaded');
}
get one() {}
get two() {}
get three() {}
}
const obj = new myClass();
也许上下文有问题。您能否尝试将
obj
和myClass
分配给块作用域变量let
或const
。例如:
const myClass = class {
constructor() {
console.log('Script loaded');
}
get one() {}
get two() {}
get three() {}
}
const obj = new myClass();
它不工作。它不工作。使用
alert
方法检查脚本是否实际加载或未加载,即当我收到构造函数中提供的console.log消息时。使用alert
方法检查脚本是否实际加载,这就是我得到构造函数中提供的console.log消息的时候。