2016-12-08 8 views
0

入力を受け取り、URLに追加して新しいタブでURLを開くクロム拡張を作成しようとしています。これまで私はpopup.htmlを自分で動かすことにしましたが、私は拡張機能を使ってコードを実行するのに苦労しています。ここでクロム拡張子のテキストエントリから新しいタブを開く

{ 
    "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 devの新しいです!

編集:インラインJavaScriptはChromeで実行できません。私は私の目標を達成するためにこれを(別々の.jsファイルに)書く方法がありますか?

+2

が重複する可能性 - コンテンツセキュリティポリシー - インラインコードを実行する](http://stackoverflow.com/questions/25625412/chrome-extension-content-securi ty-policy-executing-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; 
関連する問題