[英]Alert not appearing in popup.html of chrome extension
我對 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 上打開了一個警報,但是它有效。
返回 false 后 function 停止。 將 return false 放在語句的末尾,那么您的警報應該會起作用。 或者你可以把它拿出來。
<button onclick="alert('test')">Login</button>
更新經過一些研究,我發現了以下內容......
inline JavaScript 不會執行
內聯 JavaScript,以及危險的字符串到 JavaScript 方法,如 eval,將不會被執行。 此限制禁止內聯塊和內聯事件處理程序 >(例如 )。
這也可能是您的問題:內聯腳本不適用於“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 插入到您的<head>
標記中,在popup.html中,就在popup.js的上方:
<head>
<title>Test</title>
<script type="text/javascript" src="../js/jquery.js"></script>
<script type="text/javascript" src="../js/popup.js"></script>
</head>
我希望,它很有用。 問候吉姆..
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.