从Chrome扩展程序的文本条目中打开新选项卡

时间:2016-12-08 00:31:28

标签: javascript google-chrome-extension

我正在尝试制作带有输入的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文件中)让我实现我的目标?

1 个答案:

答案 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;