2012-02-06 129 views
0

我正在开发一个适用于Chrome的小扩展。 我在popup.html正是this code, 在manifest.json看起来是这样的:Chrome扩展的Javascript代码

{ 
"name": "xkcd 2", 
"version": "1.0", 
"description": "The first xkcd extension that I made.", 
"browser_action": { 
    "default_icon": "icon.png", 
    "popup": "popup.html" 
}, 
"permissions": [ 
"http://www.xkcd.com/" 
] 
} 

相反对的jsfiddle运行,有没有当我点击我的Chrome扩展程序的图标显示警报。

有没有铬不喜欢的代码?

+0

的权限您是否在控制台中看到任何错误? – 2012-02-06 15:11:47

+0

不,有没有,它只是不能在铬 – bogus 2012-02-06 15:14:30

回答

0

正如我在your other StackOverflow question中所建议的那样,除了在DOM准备好之后运行代码之外,不应该修改DOM,而应在页面的load事件处理程序中运行它。如果您查看JSFiddle页面代码,您将看到您的代码完全在onload处理程序中运行。其他非延迟启动选项(JSFiddle上的左列)将您的脚本移动到<body>元素中。您也可以尝试这样做(而不是将脚本包含在您的<head>中)。

+0

感谢四你的答案,我把整个脚本部分移动到身体。不幸的是,这些警报仍然没有显示 – bogus 2012-02-06 15:28:40

+0

我对脚本编码相当陌生,我如何确保我的DOM完全加载时,我修改它? – bogus 2012-02-06 15:32:05

+0

[Here](http://stackoverflow.com/questions/9150824/parsing-json-and-show-image-in-popop#comment11515268_9150873)我解释了如何。重申一下,你应该把你的'BODY'标签写成'并且把你所有的代码作为'handleOnLoad()'函数的内容: 'function handleOnLoad(){ ... }' – 2012-02-06 15:49:27

0

您的清单要求对http://www.xkcd.com/的许可,但是您向http://dynamic.xkcd.com/发出实际请求。尝试请求http://*.xkcd.com/