jquery - 在 chrome 扩展中使用 jquery

标签 jquery google-chrome google-chrome-extension

当用户单击弹出窗口中的选择按钮时,我正在构建的 Chrome 扩展程序会从打开的选项卡中获取选定的文本。我正在尝试使用 jquery 来实现此目的。

Manifest.json

    {
  "manifest_version": 2,

  "name": "cap",
  "description": "BLAH",
  "version": "1.0",

  "permissions": [ "tabs",
    "https://*/*","http://*/*"
  ],
  "content_scripts": [
  {
    "matches": ["http://*/*","https://*/*"],
    "js": ["selection.js"],
    "run_at": "document_start",
    "all_frames": true
  }
 ],
  "browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup_main.html"
  }
}

我已将 jquery 脚本包含在 popup.html

<html><head>
<meta charset="utf-8">
<title>popup</title>
<link rel="stylesheet" href="/popup.css">
<script type="text/javascript" src="popup.js"></script>
<script type="text/javascript" src="jquery-1.9.1.min.js"></script>
<!-- <script type="text/javascript" src="js/tag-it.js"></script> -->
</head>
<body>

</body></html>

popup.js

$(document).ready(function(){
  $("p").click(function(){
      chrome.tabs.getSelected(null, function(tab) {
    chrome.tabs.sendRequest(tab.id, {method: "getSelection"}, function (response) {
      var text = document.getElementById('text'); 
      text.innerHTML = response.data;
    });
  });
  });
});

执行此脚本时出现错误:

Uncaught ReferenceError :$未定义

请帮忙!

最佳答案

您需要更改脚本标记的顺序以允许首先加载 jQuery:

<script type="text/javascript" src="jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="popup.js"></script>

关于jquery - 在 chrome 扩展中使用 jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15718362/

相关文章:

google-chrome - Chrome 打开 iframe 中的每个网页

javascript - 如何检查内联 JavaScript 是否被禁用(使用 Tampermonkey)

google-chrome-extension - 使 Chrome 扩展弹出窗口透明

javascript - 为什么我不能存储对 $(elem).show 的引用并稍后调用它?

javascript - jQuery $.post 不工作?

jQuery 验证远程 ajax 规则错误与验证

google-chrome - 谷歌浏览器扩展 - 后台脚本

javascript - Firefox 中的 ClientX 和 ClientY 引用错误?

javascript - 打印友好版本不起作用

javascript - Chrome 扩展中的跨源 XMLHttpRequest