是否有可以在Flash播放器内运行的Web浏览器?

时间:2011-11-08 21:28:55

标签: flash browser

我可以创建一个将用作网络浏览器的Flash文件。基本上,Flash的行为类似于Internet Explorer或Firefox,可能就像在iframe中加载页面一样。

这可能吗?

2 个答案:

答案 0 :(得分:2)

不,这不可能¹。 Flash在Flash Player中显示,该播放器已在内部浏览器中运行。因此,即使可能,您也需要运行浏览器来运行Flash Player,然后运行“webbrowser”。除此之外,Flash无法呈现HTML,因此无法直接显示Web内容。

唯一的选择是使用Adobe AIR,它是Webkit浏览器附带的Flash内容的桌面运行时环境。该浏览器框架也用于浏览器,如Chrome和Safari。但是,如果您的所有应用程序都应该这样做,那么这样做将无益于浏览器。 AIR中包含的Webkit浏览器仅包含最基本的模块,人们通常期望从浏览器中获得很多东西。

¹如评论中所述,可能有可能在ActionScript中实现完整的HTML呈现引擎。然而,这需要付出很多努力,特别是如果你想获得与当前浏览器能够做的几乎相似的良好覆盖。鉴于Flash是在Flash Player内部运行的,技术上是一个虚拟机,它本身就运行在浏览器中,但性能会相当糟糕。因此,除了它在理论上是可行的这一事实之外,我认为在这个方向上工作不会有任何好处(再次:特别是如果你只是想模仿普通的浏览器,原因与上面相同)。

²之前有另外的评论; Flash可以编译为可执行文件,因此不需要在浏览器中运行。有很多方法可以做到这一点,但总的来说情况并没有那么好。您最好使用AIR(然后已经使用Webkit进行渲染)。

答案 1 :(得分:1)

我的意思是你可以这样做(有点),但是它能够正常工作的时间会是精神错乱而且不值得。

你必须为初学者介绍这些事情:

  1. 创建一个小型系统,用于加载(通过PHP)所搜索的Web文档的内容。 (简单的部分)。
  2. 使用AS3开发自己的渲染引擎,读取文档(可以使用内置的XML类实现),然后计算出每个节点需要发生的事情。例如,它可以选择<img>标签并将适当的图像加载到位并剥离+渲染任何文本。
  3. (这是不值得的时候)创建一个系统,它将加载和读取相应的CSS文档并将它们应用到您要渲染的内容中 - 这需要很多精力才能让我正常工作
  4. 对于JavaScript或类似的东西 - 除非您要创建一个额外的系统,以某种方式将HTML的JavaScript操作转换为对Flash对象的AS3操作,否则您可能不得不废弃它。

    基本上 - 它可以实现(部分)但不可行。您将无法覆盖浏览器本身可以执行的约75%,更重要的是:这就是浏览器的用途