谷歌浏览器扩展:如何多次打开一个新的浏览器窗口?

时间:2015-05-29 23:24:17

标签: javascript google-chrome-extension

我的Chrome扩展程序会使用这个简单的JS打开一个新的浏览器窗口:

chrome.browserAction.onClicked.addListener(function(tab) {
  var room = new Date().getTime();
  win = window.open("http://www.example.com/page.html#"+room,"win","width=485,height=55");
});

这很有效,但只有一次。

第二次点击,它只是将焦点放在窗口上,但URL根本没有变化。

我也试过了(没有成功):

win.location = "http://www.example.com/page.html#"+room;
win.location.reload();  

1 个答案:

答案 0 :(得分:3)

window.open()是一个通用的JavaScript函数; Chrome限制它,以便恶意页面不会产生许多窗口。

有一个带有window.open的“窗口名称”的概念。由于你重复使用同一个,它不会打开一个新窗口。而上述限速仍然适用。

但是,作为扩展程序,您可以访问不受限制的工具。

即,请查看chrome.windowschrome.tabs API。

chrome.windows.create({url: "fullyQualifiedURLHere"});

请注意,create / update方法不需要特殊权限。