【问题标题】:Is there a webbrowser that can run inside Flash player?是否有可以在 Flash 播放器中运行的网络浏览器?
【发布时间】:2011-11-08 21:28:55
【问题描述】:

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

这可能吗?

【问题讨论】:

    标签: flash browser


    【解决方案1】:

    不,这是不可能的¹。 Flash 显示在已在浏览器内部运行的 Flash Player 中。因此,即使有可能,您也需要运行浏览器来运行 Flash Player,然后再运行您的“网络浏览器”。此外,Flash 无法呈现 HTML,因此无法用于直接显示网页内容。

    唯一的选择是使用 Adob​​e AIR,它是 Webkit 浏览器附带的用于 Flash 内容的桌面运行时环境。该浏览器框架也用于 Chrome 和 Safari 等浏览器。但是,如果您的应用程序应该做的只是模仿浏览器,那么这样做不会给您带来任何好处。 AIR 中包含的 Webkit 浏览器只包含最基本的模块,很多人们通常期望从浏览器中得到的东西都无法实现。

    ¹ 正如 cmets 中提到的,在 ActionScript 中实现完整的 HTML 渲染引擎可能是可能的。但是,这需要付出很多努力,尤其是如果您想获得几乎与当前浏览器功能类似的良好覆盖面。鉴于 Flash 在 Flash Player 内部运行,从技术上讲是一个虚拟机,它本身运行嵌入在浏览器中²,但是性能会相当糟糕。因此,除了理论上可行之外,我认为朝这个方向工作不会有任何好处(再次重申:如果您出于与上述相同的原因只想模仿普通浏览器,则尤其如此)。

    ² 在另一个评论出现之前; Flash 可以编译为可执行文件,因此它不需要在浏览器中运行。有多种方法可以做到这一点,但总体而言,情况并没有变得更好。那时你最好使用 AIR(它已经具有 Webkit 进行渲染)。

    【讨论】:

    • Flash 可以独立运行,如果有人可以编写JavaScript that runs Linux,为什么“不可能”在 ActionScript 中使用 Web 浏览器? “未完成”、“不实用”和“不可行”是不同的 :)(我不确定可能需要哪些连接选项/要求/代理)
    • @pst:好的,是的,很公平。但我怀疑是否有人真的想在 Flash 中嵌入完整的 HTML 渲染引擎。
    • 我想要的很简单。当我打开 flash 文件时,它应该表现为 iframe 显示网页。所以你说这是不可能的?
    【解决方案2】:

    我的意思是你可以做到(有点),但它正常工作所花费的时间将是疯狂和不值得的。

    您必须首先介绍这些内容:

    1. 创建一个小型系统,用于加载(通过 PHP)搜索的 Web 文档的内容。 (简单的部分)。
    2. 使用 AS3 开发您自己的渲染引擎,该引擎读取文档(可通过内置 XML 类实现),然后计算出每个节点需要执行的操作。例如,它可以挑选出<img> 标签并将适当的图像加载到适当的位置,然后剥离+渲染任何文本。
    3. (这是不值得的时候)创建一个系统,该系统将加载和读取适当的 CSS 文档并将它们应用于您要渲染的内容 - 我想这需要付出很多努力才能正常工作.

    至于 JavaScript 或类似的 - 除非您要创建一个额外的系统,以某种方式将 HTML 的 JavaScript 操作转换为您的 Flash 对象的 AS3 操作,否则您可能不得不放弃它。

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

    【讨论】:

    • 太糟糕了。如果一个 Flash 文件可以作为一个 iframe 显示网络浏览器,那就太好了:(
    猜你喜欢
    • 2020-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多