使用 chrome 扩展弹出窗口时 jQuery 出现问题
Problem with jQuery when using chrome extensions popup
有一个网站和一个带有禁用标签的按钮。我正在尝试编写一个弹出式扩展程序,其中有一个按钮,通过单击应删除此标签的按钮。
//manifest.json
{
"name": "Remove",
"version": "1.0",
"manifest_version": 3,
"permissions": ["activeTab", "scripting"],
"action": {
"default_popup": "popup/popup.html",
"default_icon": {
"128": "/images/logo_128.png"
}
},
"icons": {
"128": "/images/logo_128.png"
}
}
当我点击弹出窗口中的按钮时,我得到了这个,但没有更多:
我能做什么?
我尝试将 $
更改为 JQuery
。加载不同的版本。
注入的函数不能引用它之外的任何代码或函数或变量或库。原因是 executeScript
只是将函数的源代码作为文本字符串,并将该字符串作为内容脚本在内部注入到网页中,因此它唯一可以访问的就是内容脚本中的内容上下文。
解决方案:
- 首先使用
files
而不是 function
在另一个 executeScript 中注入 jquery - 仅在注入复杂代码时使用。
- 切换到本机 DOM 方法 - 对于像这样的简单案例来说是首选。
有一个网站和一个带有禁用标签的按钮。我正在尝试编写一个弹出式扩展程序,其中有一个按钮,通过单击应删除此标签的按钮。
//manifest.json
{
"name": "Remove",
"version": "1.0",
"manifest_version": 3,
"permissions": ["activeTab", "scripting"],
"action": {
"default_popup": "popup/popup.html",
"default_icon": {
"128": "/images/logo_128.png"
}
},
"icons": {
"128": "/images/logo_128.png"
}
}
当我点击弹出窗口中的按钮时,我得到了这个,但没有更多:
我能做什么?
我尝试将 $
更改为 JQuery
。加载不同的版本。
注入的函数不能引用它之外的任何代码或函数或变量或库。原因是 executeScript
只是将函数的源代码作为文本字符串,并将该字符串作为内容脚本在内部注入到网页中,因此它唯一可以访问的就是内容脚本中的内容上下文。
解决方案:
- 首先使用
files
而不是function
在另一个 executeScript 中注入 jquery - 仅在注入复杂代码时使用。 - 切换到本机 DOM 方法 - 对于像这样的简单案例来说是首选。