我已经搜索了一段时间,我似乎无法找到答案。
我正在开发一个Chrome扩展程序,可在特定页面打开时提醒用户。我正在使用默认的javascript警报,但它只是说,不是最吸引人的UI选项。我也试过了实验性的铬信息棒。那些工作非常好,但是,你不能用实验api发布Extensions。
然后我找到了jGrowl。这真是棒极了。它完全符合我的要求。我可以设法让jGrowl在网页上工作,但不能扩展。我想这是一个问题,jQuery没有被加载到后台页面或jGrowl页面上。我不知道,这个Chromium文件问题很时髦。无论如何,这是我的代码。
的manifest.json
{
"name" : "jGrowl Test",
"version" : "1.0",
"description" : "Makes jGrowl work.",
"background" : {
"page": "background.html"
},
"permissions": [
"tabs",
"http://*/*",
"https://*/*",
"<all_urls>",
],
"content_scripts" : [
{
"matches" : [
"http://*/*",
"https://*/*"
],
"js" : ["jquery.js"],
"run_at" : "document_idle",
"all_frames" : false
}
]
"manifest_version": 2
}
background.html
jGrowl样式是从jGrowl下载中复制的样式。我没有对其进行编辑,只是将其粘贴到<stlye>
代码中,因为Chrome扩展程序无法读取<link...>
代码。
jquery.js
只是本地文件中的jQuery thingy。 (v.1.9.1)
jquery.jgrowl.js
是jGrowl代码。它尚未编辑。
<html>
<head>
<style>
...jGrowl styling...
</style>
<script src='jquery.js'></script>
<script src="jquery.jgrowl.js"></script>
<script src="background.js"></script>
</head>
</html>
background.js
$(document).ready(function()
{
$.jGrowl("Hello world!");
});
我知道jQuery有效。我可以在document.ready
部分使用基本的javascript警报,它可以正常工作。我甚至可以将警报放在jquery.jgrowl.js
文件中。仍然有效。
当我将Extension文件上传到服务器或在我的计算机上运行时,jGrowl可以正常工作。 (我运行background.html
)
我的问题是:
我做错了什么?如何在扩展调用时显示jGrowl?在任何页面?
PS。我应该在jquery.js
部分和content_scripts
中加入background.html
还是过度杀戮?
答案 0 :(得分:1)
您的清单上有一些语法错误,另外您似乎没有加载jGrowl或您的background.js。您还需要包含样式表以使通知可见。纠正这些事情将使jGrowl正常工作。
请查看我使用jGrowl的工作实例准备的这个github存储库作为Chrome扩展: https://github.com/stanlemon/jgrowl-chrome-ext
您应该能够克隆它,然后使用克隆文件夹中的“加载解压缩的扩展名”选项开始。
如果您有任何疑问,请随时给我发电子邮件,您可以在GitHub上找到我的联系信息。