簡體   English   中英

警報未出現在 chrome 擴展程序的彈出窗口中。html

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM