gpt4 book ai didi

javascript - Chrome 扩展中的 Chromeless 窗口?

转载 作者:行者123 更新时间:2023-11-29 16:14:52 24 4
gpt4 key购买 nike

最近我在 Chrome 网上应用店上看到了一个名为 Type Fu 的 Webapp。令我惊讶的是,他们实际上创建了一个真正的无镶边窗口。

enter image description here

我在考虑是否可以在 Chrome 扩展程序中执行此操作,因为在大多数情况下它们使用相同的 API。但是,我找不到任何可以让我实现这种效果的东西。

chrome.tabs.create 一点用都没有。

如果我不能在扩展中做到这一点,那就太疯狂了,因为在我看来,扩展应该比 webapp(基本上是网页)具有更多的“力量”。

我无法按 Ctrl + Shift + I,甚至无法右键单击它。它就像我电脑上的一个真正的 native 程序。

一些按钮会打开另一个 float 的无边框窗口。

enter image description here

最佳答案

...in most parts they use the same APIs

Chrome 扩展旨在与浏览器交互。 Chrome 打包的应用程序被设计为独立的并且独立于浏览器运行。他们的 API 有 now widely diverged .看看API listings for appsthe equivalent listing for extensions ,您会发现它们完全不同。

在这种情况下,Type Fu 使用 chrome.app.window API,特别是 create 函数的 frame: 'none' 选项。

正如 app.window 的名称所暗示的那样,它仅适用于包 apps,不适用于扩展。基于扩展的 chrome.windows.create 方法 will eventually support a type: 'panel' option这将提供视觉上相似的功能(在谷歌的 Hangouts extension 中查看它的工作)。 API 中对其进行了说明:

The 'panel' and 'detached_panel' types create a popup unless the '--enable-panels' flag is set.

目前只有 Hangouts 被列入白名单以使用面板,但是 Having panel behavior in chrome extension 的讨论建议您的扩展程序可以通过向您的 list 添加特定的 key 值来伪装成 Hangouts:

"key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDsDApubb73tPfYlNIFxDu3K3/EHgV6/YOJXJkld1OZ20jW/cOht1j0NggnXhQYuu1mXFUufud4I2N7b5ydyg09gcM9Va3Zk17RhNV9smbPHOd4XlzJeXifX/9MgHPu4FzCen3CiSXsOeAELJIXEuT28xICriuUko/rNPwGeIB9VwIDAQAB"

但是,我不会依赖这种未记录的行为;谷歌可能会修复它,或者它可能会在未来破坏其他东西。

在完全支持面板之前,您可以使用 --enable-panel 浏览器标志开始开发您的扩展,并希望在您完成开发后默认启用该功能。

关于javascript - Chrome 扩展中的 Chromeless 窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18256039/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com