我找了一段时间,似乎找不到答案。
我正在开发一个Chrome扩展程序,在打开特定页面时提醒用户。我使用的是默认的javascript警报,但实际上它并不是最吸引人的UI选项。我也尝试了实验铬的信息。这些功能非常好,但是遗憾的是,您不能用实验性api发布扩展。
然后我找到了jGrowl。真是太棒了。这正是我想要的。我可以设法让jGrowl在网页上工作,而不是一个扩展。我认为这是一个问题,因为jQuery没有加载在后台页面或jGrowl页面上。我不知道,这个铬文件的问题很奇怪。总之,这是我的密码。
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。(第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文件中。还能用。
当我将扩展名文件上传到服务器或在我的计算机上运行它时,jGrowl可以工作。(我运行background.html)
我的问题是:
我做错了什么?当分机调用jGrowl时,我如何让它显示出来呢?在任何一页上?
PS。我是应该将jquery.js包括在content_scripts部分和background.html中,还是过高了呢?
发布于 2013-04-09 12:42:34
清单中有一些语法错误,另外,您似乎没有加载jGrowl或background.js。还需要包括样式表,以便通知是可见的。纠正这些事情将使jGrowl正确工作。
请看一下这个github存储库,它是我用jGrowl作为Chrome扩展的一个工作实例准备的:https://github.com/stanlemon/jgrowl-chrome-ext
您应该能够克隆它,然后使用克隆文件夹上的“加载解压扩展”选项来开始。
如果您有任何问题,请直接给我发电子邮件,您可以在GitHub上找到我的联系方式。
https://stackoverflow.com/questions/15870797
复制相似问题