Chrome扩展程序:ReferenceError:未定义$

杨信J

我真的是chrome扩展开发的新手,尝试在其中使用jquery和bootstrap。我一直有类似的错误

  • ReferenceError:未定义$

  • Bootstrap的JavaScript需要jQuery。在Bootstrap的JavaScript之前必须包含jQuery。

有人可以帮我吗?我将Jquery放在引导程序之前,并且如果在浏览器中运行它也没有看到该问题。.不知道出了什么问题?

清单杰森

{
"name": "Stocking",
"version": "1.0.0",
"description": "Chrome extention to keep tracks of stocks' real time movement",
"manifest_version": 2,
"icons":{"128":"icon/icon128.png"},
"permissions": [
  "tabs",
  "<all_urls>"],
"browser_action":{
  "default_icon":{
    "16":"icon/icon16.png",
    "24":"icon/icon24.png",
    "32": "icon/icon32.png"},
  "default_popup": "popup.html"
},
"content_scripts": [
  {
    "matches": [
      "<all_urls>"
    ],
    "js": [
      "bootstrap-4.4.1-dist/js/jquery-3.3.1.slim.min.js",
      "bootstrap-4.4.1-dist/js/bootstrap.bundle.min.js",
      "content.js"],
    "css":[
      "bootstrap-4.4.1-dist/css/bootstrap.min.css"
    ]
  }
],
"background":{
  "scripts": [ 
    "bootstrap-4.4.1-dist/js/jquery-3.3.1.slim.min.js",
    "bootstrap-4.4.1-dist/js/bootstrap.bundle.min.js",
    "background.js"],
  "persistent": false
}

弹出窗口,html

<body>
<!-- Stocks -->
<div class="btn-group dropleft">
    <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown"
        aria-haspopup="true" aria-expanded="false">
        Dropdown button
    </button>
    <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
        <a class="dropdown-item" href="#">Action</a>
        <a class="dropdown-item" href="#">Another action</a>
        <a class="dropdown-item" href="#">Something else here</a>
    </div>
</div>
<!--Search box-->
<div>
    <input type="text" name="tickerInput" placeholder="Search ticker symbols...">
    <button type="submit" name="add"><i class="fas fa-plus"></i></button>
</div>
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="bootstrap-4.4.1-dist/js/jquery-3.3.1.slim.min.js"></script>
<script src="bootstrap-4.4.1-dist/js/bootstrap.bundle.min.js"></script>
<!-- My JavaScript -->
<script src="js/background.js"></script>
<script src="js/content.js"></script>
wOxxOm

background在manifest.json中声明脚本已经有自己的页面,脚本在其中运行时是隐藏的背景页面,因此您不应该在弹出窗口中加载脚本,因为这没有任何意义:当弹出窗口打开并注册重复事件时,它将第二次运行侦听器或执行与后台页面已完成的工作相同的重复工作。请参阅访问扩展程序background.js的控制台和devtools根据您实际想要执行的操作,您可能根本不需要后台脚本。

content_scriptsmanifest.json中宣布匹配的网页已经在运行。网页在任何方面都与扩展弹出窗口无关,因为它们是完全不同的页面,因此您不应在弹出窗口中加载相同的内容脚本,因为这毫无意义。根据您实际要执行的操作,可能根本不需要content_scripts。

解决方案:不要在弹出窗口中加载background.js和content.js。编写并加载一个单独的popup.js。

重要:弹出窗口是一个单独的窗口,因此它具有自己的devtools。在弹出窗口中右键单击,然后选择“检查”以打开其devtools。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Chrome 扩展:未捕获的 ReferenceError:未定义函数

Chrome扩展程序未定义chrome.windows

Chrome扩展程序未定义chrome对象属性

chrome扩展程序无法读取未定义的属性“ currentScript”

Chrome扩展程序消息未发送响应(未定义)

Chrome扩展程序弹出窗口中未定义“ $”

ReferenceError:react 未定义 chrome

ReferenceError:_未定义

ReferenceError:未定义$

ReferenceError:未定义

ReferenceError:未定义$

ReferenceError:“_”未定义

未定义的ReferenceError未定义

window.MathJax在Firefox中未定义,可在Chrome扩展程序中使用

Chrome扩展程序中的JavaScript返回“无法读取未定义的属性'XXX'

Chrome扩展程序无法读取contextMenus.create中未定义的属性创建

chrome扩展程序:堆栈跟踪:TypeError:无法读取未定义的属性'selectedtext'

InnerText在内容脚本Chrome扩展程序中返回未定义的

Chrome扩展程序窗口创建错误:无法读取未定义的属性“创建”

Chrome扩展程序内容脚本-在Ember网站上未定义应用

未捕获的TypeError:无法读取Chrome扩展程序中未定义的属性“网络”

Google Chrome扩展程序针对任何getElement返回未定义的

流星应用程序:ReferenceError:包未定义

引导程序4:未捕获的ReferenceError:未定义Popper

ReferenceError:应用程序未定义:node.js

Node.js中的“ ReferenceError:处理程序未定义”

Uncaught ReferenceError:应用引导程序模板后未定义$

ReferenceError:未定义$或未捕获ReferenceError:未定义$

ReferenceError:未定义架构