我的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();
答案 0 :(得分:3)
window.open()
是一个通用的JavaScript函数; Chrome限制它,以便恶意页面不会产生许多窗口。
有一个带有window.open
的“窗口名称”的概念。由于你重复使用同一个,它不会打开一个新窗口。而上述限速仍然适用。
但是,作为扩展程序,您可以访问不受限制的工具。
即,请查看chrome.windows
和chrome.tabs
API。
chrome.windows.create({url: "fullyQualifiedURLHere"});
请注意,create
/ update
方法不需要特殊权限。