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

2024-03-12

我的 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();  

window.open() is a generic JavaScript function; Chrome rate-limits it so that malicious pages can't spawn many windows.

有一个“窗口名称”的概念window.open https://developer.mozilla.org/en-US/docs/Web/API/Window/open。由于您重复使用同一个窗口,因此它不会打开一个新窗口。并且上述速率限制仍然适用。

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

也就是说,看一下chrome.windows https://developer.chrome.com/extensions/windows and chrome.tabs https://developer.chrome.com/extensions/tabs APIs.

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

谷歌浏览器扩展:如何多次打开新的浏览器窗口? 的相关文章

随机推荐