1

这是一个html页面:

    <html>
<head>
    <script src="http://code.jquery.com/jquery-1.9.0.min.js" type="text/javascript"></script>
</head>
<body>
    <script src="background.js" type="text/javascript"></script>
</body>
</html>

这是背景.js:

alert("Alert1!");
var test = jQuery.trim(" Words and / { objects & things");
alert("Alert2!");

Alert1 有效,但 alert2 从不播放。如果我删除 jQuery,那么它可以工作。我已经在标题和正文中尝试了 background.js 文件。我究竟做错了什么?

谢谢。

4

2 回答 2

1

jquery.jshttp://code.jquery.com/jquery-1.9.0.min.js下载并将其内联到您的扩展目录并内联引用它,如下所示。

根本原因

Chrome 扩展程序不支持对文件的外部引用。

工作版本

<html>
<head>
    <script src="jquery-1.9.0.min.js" type="text/javascript"></script>
    <script src="background.js" type="text/javascript"></script>
</head>
<body>
</body>
</html>

编辑 1

工作版本

清单.json

将 Jquery 和您的代码都注册到manifest file.

{
    "name": "Jquery In Background",
    "description": "http://stackoverflow.com/questions/14438044/jquery-cant-be-accessed-by-other-js-file",
    "background": {
        "scripts": [
            "jquery.js",
            "background.js"
        ]
    },
    "version": "1",
    "manifest_version": 2
}

背景.js

你的代码和以前一样

alert("Alert1!");
var test = jQuery.trim(" Words and / { objects & things");
alert("Alert2!" + test);
于 2013-01-21T11:56:46.600 回答
1

我可以使用以下清单和代码来提醒修剪后的值。

显现

{
  "name": "Tester",
  "version": "0.1",
  "manifest_version": 2,
  "background":{
    "page":"background.html",
    "persistent": false
  }
}

背景.html

<html>
<head>
</head>
<body>
    <script src="jquery-1.9.0.min.js" type="text/javascript"></script>
    <script src="background.js" type="text/javascript"></script>
</body>
</html>

背景.js

var test = jQuery.trim(" Words and / { objects & things");
alert(test);
于 2013-01-21T13:37:42.980 回答