AS3 从 HTML 页面返回文本

Posted

技术标签:

【中文标题】AS3 从 HTML 页面返回文本【英文标题】:AS3 Return text from HTML page 【发布时间】:2013-11-30 13:26:09 【问题描述】:

我正在尝试从网站(外部域)读取一些文本并将其显示在我的 Flash 电影中,是否有适合初学者的方法?

html 页面上的文本放置在容器中(如果这样更容易,我可以更改它)

<div id="price1">200$</div>
<div id="price2">500$</div>
<div id="price3">600$</div>

我该怎么做?

我一直在阅读 AS3 帮助页面(使用 ExternalInterface 类),但找不到适合我需要的任何内容。

【问题讨论】:

您想将 html 文件加载到 swf 对象中吗?或者你想将变量传递给 swf 对象? 我想在 SWF 中将这 3 个 div 的内容显示为 3 个单独的文本 您的 swf 是否放在同一页面上? 不,包含内容的 html 文件在外部域中。据我了解,使用 URLLoader + AllowScriptAccess = Always 应该可以吗?我只是不知道如何将它编码在一起,还是有更简单的方法? 恕我直言,一种方法可能是使用某些服务器端技术(例如 php)创建类似代理的东西,因此 PHP 可能会解析您需要从中获取数据的页面(例如 DIV),而 Flash 将用 URLRequest 调用这个 PHP 脚本并从中获取格式正确的数据。 PHP 可以在你的服务器上任何软件,你只需要设置 crossdomain.xml 就可以在 Flash 上运行没有问题。 【参考方案1】:

首先,很抱歉没有发表评论 - 但我的声誉太低了。

仅当您要从中加载的域具有使用通配符设置设置的 crossdomain.xml 文件时,才可以使用 URLLoader 加载单独的文档。否则你会得到 SecurityError 试图从那个 url 加载任何东西。

如果可以做到这一点,并且您已将页面加载到 flash,并且这些 div 具有 id,您可以创建一个正则表达式并搜索它们,或者尝试创建 XML 对象传递加载的字符串 - 这不太可能工作,但您可以随时尝试。通过 XML,您可以在 AS3 中使用 E4X 访问节点。

【讨论】:

以上是关于AS3 从 HTML 页面返回文本的主要内容,如果未能解决你的问题,请参考以下文章

AS3加载网页文本时候以HTML代码的形式显示了 我想让他以正常的方式显示,或者怎么解析HTML代码呢

如何从文本文档中预测连续值(时间)? [关闭]

附件页面源代码

多行文本文本输入框 textarea 可点击任意地方编辑

动作脚本 3,注册,数据发送到 php,但 AS3 不会显示数据返回但没有错误

我用换行符替换所有标签`<br>`