Chrome扩展程序:点击按钮创建新标签页

时间:2013-09-08 01:19:11

标签: javascript google-chrome-extension tabs

我是初学者,正在构建Chrome扩展程序。我使用Chrome扩展程序开发人员文档中描述的功能创建了一个按钮,可以在“popup.html”中创建一个新选项卡。无论我从Stack Overflow尝试过哪种方法,它都无法正常工作。 我的代码如下:

<html>
<head>
<title>Facebook Connect For Chrome Extension</title>
<script type="text/javascript" src="background.js"></script>
<script type="text/javascript" src="popup.js"></script>
<script>
function showIndex(){
   var index_url="/index.html",
   chrome.tabs.create({
   url: index_url
   }),
   }
</script>
<body>
<button value="tab" style="width:100px; height:100px;" onclick="showIndex();">Go to  Index</button>
</body>

function createTab() {
    chrome.tabs.create({url: "/index.html"});
}
<a href="#" onclick="creatTab();">Go to Index</a>

这两种选择似乎都不起作用。

所以我想知道这个函数是否应该放在background.js中?如果没有,请告诉我这段代码有什么问题。提前致谢!

BTW我将网址更改为www.stackoverflow.com。它仍然是相同的---不工作。

3 个答案:

答案 0 :(得分:3)

看起来你在HTML中拼写错误了。

您的问题可能是Chrome不允许您在扩展程序中使用“不安全”代码。 See the documentation here。你的html中不能有javascript。您必须订阅DOM元素上的事件处理程序。

<html>
<head>
<title>Facebook Connect For Chrome Extension</title>
<script type="text/javascript" src="background.js"></script>
<script type="text/javascript" src="popup.js"></script>
<body>
<button id="index" value="tab" style="width:100px; height:100px;">Go to  Index</button>
<script type="text/javascript" src="indexStuff.js"></script>
</body>
</html>

然后您需要一个带有此

的新indexStuff.js文件
function showIndex() {
    var index_url = "/index.html";
    chrome.tabs.create({
        url: index_url
    });
}

document.getElementById('index').addEventListener("click", showIndex);

注意,如果添加事件处理程序以检查DOM何时加载,脚本标记可以移动到顶部。

答案 1 :(得分:1)

function showIndex(){

   var index_url="/index.html",//why are you using "," instead of ";"?

   chrome.tabs.create({
       url: index_url
   }), //why are you using "," instead of ";"?
}

为什么你在行尾使用“,”而不是“;”?

答案 2 :(得分:0)

您可以使用window.open(url, title, options)通过JavaScript打开弹出窗口。

options是一个包含一个或多个这些变量(或空)的字符串:


width窗口宽度

height窗口的高度

location网址是否可见

status状态栏是否可见

menubar菜单栏是否可见

directories我猜这是书签栏

toolbar工具栏(背面,家庭等)可见或不可用

resizable是否可重新调整大小

scrollbars是否启用滚动条


e.g:

window.open('http://website.com/popup.html', 'Popup Window', 'width=640,height=480,location=yes,scrollbars=yes');