【问题标题】:Chrome Extension using jQuery not working使用 jQuery 的 Chrome 扩展程序不起作用
【发布时间】:2013-12-28 01:44:54
【问题描述】:

我正在尝试使用 jQuery 菜单构建一个非常简单的 Chrome 扩展程序 - 它基于我在网上收集的一些代码。当我在浏览器中测试 HTML 时它可以工作,问题是当我作为 Chrome 扩展进行测试时。

清单文件中是否缺少任何内容?

谢谢

这里是文件:

manifest.json

{
"name": "name",
"description": "desc",
"version": "1.4",

"manifest_version": 2,

"browser_action": {
    "default_icon": "ari.png",
    "default_popup": "popup.html"
                    },
  "permissions": [
            "tabs",
            "http://*/",
            "https://*/",
            "file:///*/*",
            "https://*.google.com/"
            ]

"content_scripts": [{
    "matches": ["http://*/*"]
    "js": [
           "jquery.js",
           "popup.js"
          ],
}

popup.html

<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>title</title>
<script src="jquery.js"></script>
<script src="popup.js"></script>

<style>
</style>

<!--
  - JavaScript and HTML must be in separate files: see our Content Security
  - Policy documentation[1] for details and explanation.
  -
  - [1]: http://developer.chrome.com/extensions/contentSecurityPolicy.html
-->



</head>

<body>

<div style="float:left" > <!--This is the first division of left-->
<p><strong>Report by region</strong></p>
<div id="firstpane" class="menu_list"> <!--Code for menu starts here-->
    <p class="menu_head">Header-1</p>
    <div class="menu_body">
    <a href="#">Link-1</a>
     <a href="#">Link-2</a>
     <a href="#">Link-3</a> 
    </div>
    <p class="menu_head">Header-2</p>
    <div class="menu_body">
        <a href="#">Link-1</a>
     <a href="#">Link-2</a>
     <a href="#">Link-3</a> 
    </div>
    <p class="menu_head">Header-3</p>
    <div class="menu_body">
      <a href="#">Link-1</a>
     <a href="#">Link-2</a>
     <a href="#">Link-3</a>         
   </div>
</div>  <!--Code for menu ends here-->
</div>

<div style="float:left; margin-left:20px;"> <!--This is the second division of right-->
<p><strong>Works with mouse over</strong></p>
<div class="menu_list" id="secondpane"> <!--Code for menu starts here-->
    <p class="menu_head">Header-1</p>
    <div class="menu_body">
    <a href="#">Link-1</a>
     <a href="#">Link-2</a>
     <a href="#">Link-3</a> 
    </div>
    <p class="menu_head">Header-2</p>
    <div class="menu_body">
        <a href="#">Link-1</a>
     <a href="#">Link-2</a>
     <a href="#">Link-3</a> 
    </div>
    <p class="menu_head">Header-3</p>
    <div class="menu_body">
      <a href="#">Link-1</a>
     <a href="#">Link-2</a>
     <a href="#">Link-3</a>         
   </div>
</div>      <!--Code for menu ends here-->
</div>

</body>
</html>

popup.js

<!--//---------------------------------+
//  Developed by Roshan Bhattarai 
//  Visit http://roshanbh.com.np for this script and more.
//  This notice MUST stay intact for legal use
// --------------------------------->

$(document).ready(function()
{
    //slides the element with class "menu_body" when paragraph with class "menu_head" is clicked 
    $("#firstpane p.menu_head").click(function()
{
    $(this).css({backgroundImage:"url(down.png)"}).next("div.menu_body").slideToggle(300).siblings("div.menu_body").slideUp("slow");
    $(this).siblings().css({backgroundImage:"url(left.png)"});
});
//slides the element with class "menu_body" when mouse is over the paragraph
$("#secondpane p.menu_head").mouseover(function()
{
     $(this).css({backgroundImage:"url(down.png)"}).next("div.menu_body").slideDown(500).siblings("div.menu_body").slideUp("slow");
     $(this).siblings().css({backgroundImage:"url(left.png)"});
});
});

【问题讨论】:

  • 清单的内容脚本部分不应提及弹出窗口的脚本。将它们放在 popup.html 的 &lt;head&gt; 部分就足够了。清单中的 content-scripts 部分仅用于内容脚本。

标签: javascript jquery google-chrome-extension


【解决方案1】:

清单看起来不错,所以我怀疑是目录结构问题。

“不工作”是对您的问题的相当广泛的描述。发布一些控制台并输入您的目录结构。

【讨论】:

    【解决方案2】:

    你缺少一些右括号

    "content_scripts": [{
    "matches": ["http://*/*"],
    "js": [
           "jquery.js",
           "popup.js"
          ]
    }]
    

    【讨论】:

      猜你喜欢
      • 2012-06-03
      • 2014-06-01
      • 2016-03-04
      • 2015-01-16
      • 2020-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多