是否有“浏览器控件”来托管Flash / Silverlight中的网站?

时间:2009-04-29 19:03:53

标签: silverlight flash browser iframe

我正在寻找类似于VB6 / .Net Winforms“浏览器控件”的东西,让你在应用程序中显示一个浏览器。 我不想只是渲染页面,我希望它是一个功能齐全的浏览器,人们可以点击链接,运行Javascript等等。

从本质上讲,我想要的是一个IFrame,只是它在Flash应用程序或Silverlight应用程序中运行。

这样做的最终原因是我想击败IFrame的破坏者。我正在创建一个Web应用程序,让您可以看到其中的其他网站,并且我遇到了一堆拥有此代码的网站:

var t = top.location,w = window.location; if(t!= w)t.replace(w);

(来自eBay BTW)

基本上将用户从我的网站中弹出并进入他们的网站。 我希望通过使用某种类型的“浏览器控件”,在插件沙箱中,“顶部”,将是该浏览器控件的顶部,而不是我的网站。

当然,如果你有任何其他想法可以实现同样的目标,那么它们将非常受欢迎。


编辑:我已经尝试过Bill建议的Component One控件,但是它不能用于这些目的,因为它在SilverLight控件的之外创建一个IFrame ,所以它在与托管Silverlight的页面相同的上下文,这是我想要避免的。

4 个答案:

答案 0 :(得分:1)

我使用HTML control created by Component One。它有一个限制,即页面中的Silverlight对象应设置为无窗口,否则它可以很好地工作。

答案 1 :(得分:1)

Northcode SWF Studio允许您在Flash中的舞台上添加浏览器窗口。我个人使用SWF Studio作为第三方SWF2EXE工具来扩展Flash投影仪的功能。它非常稳定和强大。就浏览器控制而言here is您可以下载并测试它是否符合您的目的。检查浏览器APT here.

答案 2 :(得分:1)

我们没有构建一个组件来让人​​们这样做,但我们愿意接受这里的建议。话虽如此,最简单的解决方案是iFrame,但请注意,当您将iFrame覆盖在Silverlight顶部时,我们看到客户会遇到性能问题(主要是由于iframe的alpha透明度等)。

这与Silverlight无关,Flash在浏览器和在给定操作系统中呈现时遇到的问题与此相同。

HTH。

Scott Barnes / Rich Platforms产品经理/ Microsoft。

答案 3 :(得分:0)

这是一个老帖子,但我会添加我的tupence答案。我使用DivElements免费控制Silverlight link text,它运行得很好。它只是准确地定位div,使它看起来像在顶部。

对于其他此类控件,您必须将Silverlight容器的windowless属性设置为true。

它对我来说非常好用,我能够无数地使用Google地图和Acrobat插件与我的Silverlight应用程序并排显示。

PS:因为该组件只是在页面中添加<div>,所以您无法像在<header>标记中那样动态加载Javascript文件。

PPS:在“手动”设置HTML代码时,请确保在使用HTML DOM之前连接DocumentReadyLoaded事件。

希望能有所帮助。