2014-04-16 61 views
0

我想在Chrome擴展中複製這個簡單的JavaScript,但沒有任何工作。我知道我不能使用內聯腳本,所以我確切地知道問題出在哪裏,但我已經遍佈這個站點,並且找不到解決方案。OnClick事件在Chrome擴展中不起作用

<HTML> 
<HEAD> 
<TITLE>Test Input</TITLE> 
<script type="text/javascript"> 
function redirect(user) 
    { 
     var location='https://www.stackoverflow.com/'; 

     window.location = location+user; 
    } 

function join_ym() 
{ 
var thing1 = document.getElementById('thing1').value; 
var thing2 = document.getElementById('thing2').value; 
document.getElementById('joint').value = 'this-'+thing1+'-then-this-'+thing2; 
javascript:redirect(document.getElementById('joint').value); 
} 
</script> 
</head> 
<body> 
<p>First Thing:<input type="text" id="thing1" /></p> 
<p>Second Thing:<input type="text" id="thing2" /></p> 
<input type="hidden" id="joint"> 
<input type="button" value="go" onclick="join_ym();"> 
</BODY> 
</HTML> 

在這個例子中有兩個文本框,所以如果你要輸入「東西」到兩個,然後點擊進入,你會被帶到:https://stackoverflow.com/this-thing-then-this-thing。我認爲這個問題是專門針對onclick事件的,除非輸入類型也是一個問題。我已經通過內容安全策略中的示例以及本網站的示例進行了查看,但沒有任何結果。我只需要知道.js文件中的內容以及.html文件中的內容。任何幫助表示讚賞。謝謝。

回答

1

不允許使用內聯腳本。您需要將所有腳本移動到單獨的文件中,例如script.js,然後引用了<script>標籤:

<script src="script.js"></script> 

你可能會需要設置按鈕的onclick在你的腳本爲好,例如

document.querySelector('button[value=go]').onclick = join_ym; 

https://developer.chrome.com/extensions/getstarted

相關問題