我正在尝试制作带有输入的chrome扩展程序,将其添加到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文件中)让我实现我的目标?
答案 0 :(得分: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;