我对Chrome扩展程序仍然很新,我只是测试一下。 现在我有一个popup.html,它有一个简短的表单,我想在点击提交时创建一个提醒。我不能为我的生活弄清楚为什么它不起作用。
<!doctype html>
<html>
<head>
<title>Test</title>
<script type="text/javascript" src="popup.js">
</script>
</head>
<body onload="alert('open')">
<form>
Username: <input type='text' id="username" name='username'></input>
Password: <input type='password' id='password' />
<button onclick="alert('test');return false;">Login</button>
</form>
</body>
</html>
有什么建议吗?
编辑:我甚至在body标签中进行了一次onload,看看是否会在那里打开一个警报但是没有。在popup.js中,我在window.onload上打开了一个警告,但是它确实有效。
答案 0 :(得分:10)
返回false后,该函数停止。 在语句结束时返回false,然后您的警报应该有效。或者你可以把它拿出来。
<button onclick="alert('test')">Login</button>
更新 经过一番研究后,我发现了以下内容......
不会执行内联JavaScript
内联JavaScript以及危险的字符串到JavaScript方法(如eval)不会>被执行。该限制禁止内联块和内联事件处理程序&gt; (例如)。
答案 1 :(得分:4)
这也可能是您的问题:inline scripts doesnt work with "manifest_version":2
所以,我测试过,使用以下清单,您的代码有效!
{
"name": "test",
"version": "1.0",
"description": "test",
"manifest_version":1,
"browser_action": {
"default_icon": "images/padlock.png",
"default_popup":"html/popup.html"
},
"permissions": [
"tabs",
"http://*/*"
]
}
无论如何..最好在popup.js中处理动作,但首先,将popup.html中的按钮属性更改为以下内容:<button type="button">Login</button>
popup.js:
$(document).ready(function(){
$(":button").click(function(){
alert("test");
//more code here...
});
});
请记住将jquery.js插入{em> popup.js 上方 popup.html 的<head>
标记中:
<head>
<title>Test</title>
<script type="text/javascript" src="../js/jquery.js"></script>
<script type="text/javascript" src="../js/popup.js"></script>
</head>
我希望,这很有用。关心吉姆..