2016-12-08 121 views
0

我試圖做一個Chrome擴展程序,需要輸入,將其添加到URL,然後打開一個新的標籤頁的URL。到目前爲止,我已經得到了我的popup.html自己的工作,但我正在努力使代碼與擴展一起工作。打開從文本輸入一個新的標籤,從Chrome擴展

{ 
    "manifest_version": 2, 
    "name": "SubSearch", 
    "description": "A simple way to go to subreddits", 
    "version": "0.1", 

    "browser_action": 
    { 
    "default_popup": "popup.html" 
    }, 

    "permissions": ["tabs"] 
} 

這裏是我的manifest.json

<!DOCTYPE html5> 
<html> 
<body> 
<script> 
function process() 
{ 
var url="http://reddit.com/r/" + document.getElementById("url").value; 
location.href=url; 
return false; 
} 
</script> 
<form onSubmit="return process();"> 
<input type="text" name="url" id="url"> <input type="submit" value="go"> 
</form> 
</body> 
</html> 

,這裏是我的popup.html。我看到this頁面,但我掙扎到chrome.tabs.create方法應用到我當前的代碼。任何幫助表示讚賞,仍然是新的js和chrome開發!

編輯:我看到內嵌JavaScript在Chrome可執行文件。有沒有一種方法可以寫這個(可能在一個單獨的.js文件中)以使我能夠實現我的目標?

+2

[Chrome擴展的可能的複製 - 內容安全策略 - 執行內聯代碼](http://stackoverflow.com/questions/25625412/chrome-extension-content-securi ty-policy-executed-inline-code) –

+0

因此,如果我無法做到這一點,我可以從哪裏開始改變它?這是我經過幾個小時的搜索後得出的答案。 – Guidan

回答

0

由於您無法使用內聯Javascript,因此您需要將Javascript代碼寫入單獨的源文件中。例如:

popup.html

<html> 
<body> 
<input type="text" name="url" id="url"><button id="myButton">go</button> 
<script src="popup.js"></script> 
</body> 
</html> 

並在一個單獨的文件:

popup.js

function process() 
{ 
var url="http://reddit.com/r/" + document.getElementById("url").value; 
chrome.tabs.create({url:url}); //create a new tab 
} 
document.getElementById("myButton").onclick = process; 
相關問題