0

我是构建 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中?如果没有,请告诉我这段代码有什么问题。提前致谢!

顺便说一句,我将 URL 更改为www.stackoverflow.com. 它仍然是一样的---不工作。

4

3 回答 3

3

看起来您在 HTML 中拼写错误。

您的问题可能是 Chrome 不允许您在扩展程序中使用“不安全”代码。请参阅此处的文档。您的 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 何时加载,则脚本标记可能会移动到顶部。

于 2013-11-13T06:26:06.560 回答
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 ";"?
}

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

于 2013-09-08T12:29:57.183 回答
0

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

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


width窗口的宽度

height窗户的高度

location网址可见与否

status状态栏可见与否

menubar菜单栏可见与否

directories我猜这是书签栏

toolbar工具栏(返回、主页等)是否可见

resizable是否可调整大小

scrollbars是否启用滚动条


例如:

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

于 2013-09-08T01:56:24.067 回答