我正在开发一个Web应用程序(旨在作为一个富客户端运行,能够负担得起任何(甚至每晚构建)版本的Chromium Firefox。)
应用程序界面背景是透明的(显示底层窗口或桌面)。我怎样才能做到这一点?遵循标准并不重要,但会很好。
主要目标平台是Linux。
更新 解决收到的评论和回答 2010-07-07T01:44Z 。
技术上它与代码交互和破坏“沙盒”无关。这是关于窗户组成。我甚至认为它可以很容易地在一个集成窗口管理器中实现,而不需要浏览器甚至知道这一点 - 只需用底层图层内容替换一些无用的颜色(例如“Windows 9x时代广泛使用的”fuchsia“)。 / p>
政治,这可以而且应该是一个可限制的功能(例如本地文件和网络摄像头访问),可以允许受信任的Intranet应用程序(基于本地Web技术的富客户端应用程序)似乎是一个趋势开始 - Firefox和Chromium实现了越来越多的功能来促进这一点)和禁止未知的第三方网站(但这需要在浏览器和窗口管理器之间进行更复杂的交互)。
原因为什么我喜欢它是因为我想构建一个跨平台(Linux,Windows,Mac),零安装,看上去很花哨的富客户端应用程序(并不意味着使用网络技术(如HTML5,CSS3和JavaScript)作为互联网网站。我甚至可能会尝试使用一些浏览器窗口技术来运行它(我听说过Mozilla Prism和XulRunner,KDE和Windows提供的HTML用于桌面小部件,Chromium旨在提供相似的东西等)
答案 0 :(得分:4)
“目前”这是不可能的,但是没有技术原因导致浏览器无法使用非标准的html / css / js为此提供专有API。
然而,这就是它所需要的,一个实际实现此功能然后将其作为API公开的浏览器,即便如此它也将是浏览器特定的。
我正在为这个问题提供技术背景。当然没有人会实现这一点,但我说这在技术上是可行的。
此外,这样做不会破坏沙盒模型。浏览器本身(忘记API一秒钟)可以以任何方式实现透明度。一旦它可以将它连接到它的Javascript引擎,并创建一个愚蠢的调用:Chrome.Element(“”)。WeirdTransparency()
到你的观点:
我之所以喜欢它是因为 我想建立一个跨平台 (Linux,Windows,Mac),零安装, 看似华丽的富客户端应用程序 (并不打算作为互联网使用 网站)
AIR有点涵盖90%或您的要求。它仍然需要一个小的安装,但除此之外,你正在运行......
答案 1 :(得分:3)
我确信浏览器开发人员需要很多“灵感” - 也就是$$$来做这件事。它目前不是很多人都在寻找的功能。
由于所有浏览器开发人员的优先级列表上的标准合规性非常高,因此开箱即用将是一个问题。即因为没有CSS / HTML支持,标准是具有白色背景。这意味着他们需要在标记的某处自定义“标记”,以告诉它切换关闭白色背景。
这对于实现“功能”的浏览器是独占的,而使用任何其他浏览器的任何人都不会知道它。
答案 2 :(得分:2)
这在Electron中是可行的。通过在身体上设置透明背景。
答案 3 :(得分:0)
根本不可能。浏览器与桌面分离,并且在其中运行的代码不应该与浏览器之外的任何内容进行交互。
答案 4 :(得分:0)
不知何故,您可以获取桌面的背景图像,将其设置为html背景,并对其中的任何应用进行编码。当您在桌面配置中使用活动桌面执行此概念时,我会看到这一点。 (我最大化网页并锁定它 - 让它感觉像我的桌面)
为了获得背景,我现在把它的位置放在我的电脑上。但我认为应该有一些程序化的方法来实现它。
这适用于我们的本地桌面。但是你所说的想法,你肯定需要Prism之类的东西。但Firefox似乎已经停止了所有项目。 (不过我把它放在我的电脑上)。所以,即使你引导他们在PC上安装它,最近的用户也不会有棱镜。
然后,如果图像的大小适合桌面,则此方法有效。否则,我们必须重复它,整个桌面看起来很荒谬。我经常尝试为我的眼睛尝试AIR(适用于桌面的Adobe RIA平台)应用程序。
我认为您应该尝试学习Adobe AIR。事实上,它支持所有开放技术。我不是任何Adobe员工:)如果您认为我正在推广AIR。