如果我打开我的扩展弹出窗口,然后我打开另一个窗口或选项卡,如果我返回它,弹出窗口不会保持打开状态。
有没有办法强制它使弹出窗口保持打开状态?
如果我打开我的扩展弹出窗口,然后我打开另一个窗口或选项卡,如果我返回它,弹出窗口不会保持打开状态。
有没有办法强制它使弹出窗口保持打开状态?
作为用户,您目前无法强制弹出窗口保持打开状态。这是 UI 团队做出的 UI 决定。如果您想强制进行设置,您可以通过更改弹出图标、在请求时打开新选项卡或用于注册的新弹出视图来通过其他方式来显示此设置。
作为开发人员,检查弹出窗口,它将保持打开状态。
你不能关闭停止在Chrome弹出,除非你是在开发模式下。不过,您可以考虑使用这种替代方法:
在您的popup.html
文件中,加载一个运行以下代码的 Javascript 文件:
var popupWindow = window.open(
chrome.extension.getURL("normal_popup.html"),
"exampleName",
"width=400,height=400"
);
window.close(); // close the Chrome extension pop-up
这将normal_popup.html
在普通弹出窗口中打开扩展程序中的文件,该窗口在失去焦点时不会关闭。由于 name 参数相同,如果用户popup.html
再次启动,弹出窗口将被重用。
在此处回答常见问题解答:http : //developer.chrome.com/extensions/faq.html#faq-persist-popups
当用户关注弹出窗口之外的浏览器的某些部分时,弹出窗口会自动关闭。在用户单击离开后,无法保持弹出窗口打开。
正如其他人所说,这是对弹出式 UI 的故意限制。
相反,您可以将一些 HTML 注入页面,该页面将您想要在弹出窗口中的内容加载到悬停在现有页面上的元素中。您必须自己实现关闭功能,但它会持续存在。
看看例如如何keyframes.app
做到的:https : //github.com/mitchas/Keyframes.app/blob/master/Keyframes.app%20(Extension)/src/inject/ui.js
如果您在“chrome://flags/#enable-panels”启用面板,您可以使用以下内容:
chrome.windows.create({
url:"popup.html",
type:"panel",
width:300,
height:200
});
打开一个面板窗口,只要您不从屏幕底部移动它,它就会一直保持在顶部。