在chrome扩展的弹出窗口中,警报不起作用
Alert is not working in pop up window in chrome extension
有人能帮我找出我的问题吗。我已将我的网站设置为chrome扩展。当我安装扩展时,它会导航到一个弹出窗口,询问用户名和密码以及登录按钮。但当我试图提醒用户在javascript中输入的用户名时,它不起作用。有人请帮帮我。原因是什么?这是我的宣言.json
{
"name": "Calpine Extension",
"version": "1.0",
"description": "Log on to calpinemate",
"manifest_version": 2,
"browser_action": {
"default_icon": "icon_128.png"
},
"background": {
"persistent": false,
"scripts": ["background.js"]
},
"browser_action": {
"default_title": "Test Extension",
"default_icon": "calpine_not_logged_in.png"
},
"permissions": [
"*://blog.calpinetech.com/test/index.php",
"alarms",
"notifications"
],
"web_accessible_resources": [
"/icon_128.png"]
}
这是我在安装时创建弹出窗口的代码
chrome.windows.create({url : "test.html"});
这是我的测试.html
<html>
<head>
<script type="text/javascript">
function log(){
var uname=document.getElementById('name');
alert(uname);
}
</script>
</head>
<body>
<form name="userinfo" id="userinfo">
username :
<input id="name" type="text" name="username"/><br><br>
password :
<input type="password" name="password"/><br><br>
<input type="button" value="Log In" onclick="log()"/>
<p id="pp"></p>
</form>
</body>
</html>
它不起作用的原因是test.html
是作为扩展的"视图"打开的,并且内容安全策略(CSP)阻止执行内联脚本和内联事件绑定。
您应该将代码和事件绑定移动到外部JS文件中。
在test.html中:
<html>
<head>
<script type="text/javascript" src="test.js"></script>
</head>
<body>
...
<input type="button" id="login" value="Log In" />
...
</body>
</html>
在测试.js中:
window.addEventListener('DOMContentLoaded', function() {
var login = document.querySelector('input#login');
login.addEventListener('click', function() {
// ...do stuff...
});
});
您必须获取输入字段的值:
var uname = document.getElementById('name').value;
相关文章:
- Angular$scope在模式窗口内不起作用
- JS-窗口宽度函数不起作用
- 剑道UI下拉列表在剑道窗口内不起作用
- 执行angularJS窗口警报不起作用
- FB.login有效,但弹出窗口不起作用;t关闭
- jquery 1.3.2中的多选在弹出窗口中不起作用
- JS窗口.位置不起作用
- 具有子窗口的窗口打开器在同一窗口中导航不起作用
- 窗口滚动不起作用
- 模式弹出窗口内的按钮点击不起作用
- 引导程序弹出窗口(bootbox)中的Javascript事件不起作用
- ng在ui gmap窗口内单击不起作用
- 按钮点击事件在弹出窗口中不起作用
- PHP变量作为Javascript弹出窗口不起作用
- 窗体窗口警报,不'不起作用
- 如果在外部单击,则隐藏弹出窗口.为什么我的脚本没有'不起作用
- Javascript按钮单击在Chrome扩展弹出窗口中不起作用
- 获取 HTML 父窗口将不起作用.建议
- 触摸事件在模式弹出窗口上不起作用
- Javascript窗口/图像加载时间 - 这应该不起作用,但它确实有效