【发布时间】:2009-04-29 19:03:52
【问题描述】:
我正在寻找类似于 VB6 / .Net Winforms“浏览器控件”的东西,它可以让您在应用程序中显示浏览器。 我不想只渲染一个页面,我希望它是一个功能齐全的浏览器,人们可以在其中点击链接、运行 Javascript 等。
本质上,我想要的是一个 IFrame,只是它在 Flash 应用程序或 Silverlight 应用程序中运行。
这样做的最终原因是我想击败 IFrame 破坏者。我正在制作一个网络应用程序,让您可以查看其中的其他网站,并且我遇到了一堆具有此代码的网站:
var t=top.location,w=window.location;if(t!=w) t.replace(w);
(来自 eBay 顺便说一句)
这基本上将用户从我的网站弹出并进入他们的网站。 我希望通过在插件沙箱中使用某种“浏览器控件”,“顶部”将成为该浏览器控件的顶部,而不是我的网站。
当然,如果您有任何其他想法来实现相同的目标,我们将非常欢迎。
编辑:我已经尝试过 Bill 建议的 Component One 控件,但它不适用于这些目的,因为它在 SilverLight 控件外部创建了一个 IFrame,因此它在与托管 Silverlight 的页面相同的上下文,这是我试图避免的。
【问题讨论】:
-
作为最终用户,我认为 iFrame 破坏者是一件好事。一方面,它可以防止人们将不同的网站伪装成他们的一部分。允许您嵌入其内容的网站通常具有 API(REST 或 SOAP)以允许您以编程方式进行操作。
-
我完全理解你的观点,我同意,但我们正在开发一个完整的网站,为用户提供非常有用和非常真实的功能,这意味着让他们与我们的其他网站进行交互地点。我们不会进行伪装、网络钓鱼或类似的事情。
-
你不会碰巧为一个与无花果押韵的网站工作吧? :)
-
哈哈!!不,我没有。至少现在还没有,虽然我猜如果我能找到解决方案,我绝对可以给他们发简历 ;-)
-
我在 2006 年尝试实现相同的功能,但未能从 Flash 或 SilverLight 中找到任何积极的迹象。我试图创建一个搜索/书签网站,它可以作为一种工具,在只有 IE 6 的时候完成当前浏览器所做的大部分事情。虽然我写了一个替代脚本,但对于帧破坏问题[从页面卸载事件调用取消]这可以帮助您阻止浏览器导航到另一个页面,但它不会在框架内加载页面。
标签: silverlight flash browser iframe