![](/img/trans.png)
[英]“Cannot call method 'get' of undefined” in Chrome Extension popup.js
[英]'$' is undefined in Chrome extension popup
我正在制作我的第一个 Chrome 扩展程序,但在弹出窗口中使用 jQuery 时遇到了问题。 当我检查弹出窗口时,我收到一个错误消息: Uncaught ReferenceError: $ is not defined
尽管我在manifest.json
包含了我的本地 jQuery 副本。 我可以在 popup.js 中使用 console.log,但 jQuery 库显然没有加载。 我搜索了相关问题,但无法确定问题-请指教
清单文件
{
"manifest_version":2,
"name":"extension",
"version":"0.1",
"content_scripts":[
{
"matches": [
"<all_urls>"
],
"js":["jquery-3.1.1.min.js","content.js","popup.js"]
}],
"browser_action":{
"default_icon":"icon.png",
"default_popup":"popup.html"
}
,
"background":{
"scripts":["background.js"]
}
}
弹出窗口.html
<!DOCTYPE html>
<script src="popup.js"></script>
<div>
Search RT for Movie: <input type="text" value=""><input type="submit" id="bleh">
</div>
弹出窗口.js
$(document).ready(function(){
function d(c){
console.log(c)
}
d('hi')
$('#bleh').click(function(){d('bi')})
})
您的内容脚本与弹出窗口处于不同的上下文中。 您通过manifest.json中的content_scripts
条目加载的内容不会影响弹出窗口的上下文。
您需要将 jQuery 加载到弹出窗口中。 你可以通过为它添加一个<script>
标签来实现:
popup.html :
<!DOCTYPE html>
<script src="jquery-3.1.1.min.js"></script>
<script src="popup.js"></scrip>
<div>
Search RT for Movie: <input type="text" value=""><input type="submit" id="bleh">
</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.