防止目标=“_top”接管 Mozilla Chromeless 中的 UI
我知道这个问题很快就会得到解决;我只是希望能够抢占先机。
Chromeless 基本上就是没有 UI 的 Firefox。您可以使用 HTML、CSS 和 javascript 构建自己的 UI。选项卡/窗口在 iframe 中加载。主框架(浏览器 UI)具有特殊的权限,允许它控制 iframe。 iframe 认为它们是“顶级”文档 (top === self
)。
他们实现这些沙盒 iframe 的方式存在一些问题。其中之一是带有 target="_top"
的链接会加载到浏览器 UI 中;不在 iframe 中。他们不尊重 iframe 沙箱。
显然,如果有人想在无铬中实现真正的浏览器,这会导致一些问题。
如果您熟悉 Chromeless、Gecko/XulRunner、firefox 和/或构建 firefox 扩展,并且知道我应该修改哪些位置和内容,以通过强制 _top
始终锁定 iframe 沙箱等于 iframe self
请给我一个提示。
I know a fix for this is coming soon; I'm just hoping to get a head start.
Chromeless is basically Firefox without it's UI. You can build your own UI using HTML, CSS, and javascript. Tabs/windows are loaded in iframes. The main frame (the browser UI) has special priviledges that allow it to control the iframes. The iframes think they are the "top" document (top === self
).
There have been a couple issues with the way they have implemented these sandboxed iframes. One of which is that links with target="_top"
are loaded in the browser UI; not in the iframe. They do NOT respect the iframe sandbox.
Obviously this causes some problems if anyone wants to implement a real browser in chromeless.
If you are familiar with Chromeless, Gecko/XulRunner, firefox, and/or building firefox extensions and have an idea as to where and what I should modify to further lock down the iframe sandbox by forcing _top
to always equal the iframe self
please give me a hint.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
抱歉,您无法使用 HTML 框架执行此操作,您必须使用
或同等内容。Sorry, you can't do this with HTML frames, you have to use
<xul:browser type="content-primary"/>
or equivalent.