关于 HTMLLoader 类

Adobe AIR 的 HTMLLoader 类定义可在 AIR 应用程序中显示 HTML 内容的显示对象。基于 SWF 的应用程序可以向现有窗口中添加一个 HTMLLoader 控件,也可以使用HTMLLoader.createRootWindow() 创建 HTML 窗口,该窗口会自动包含 HTMLLoader 对象。可以通过 JavaScript window.htmlLoader 属性从加载的 HTML 页内部访问 HTMLLoader 对象。

从 URL 加载 HTML 内容

以下代码将 URL 加载到 HTMLLoader 对象,并将该对象设置为 Sprite 对象的子对象:

var container:Sprite;
var html:HTMLLoader = new HTMLLoader;
html.width = 400;
html.height = 600;
var urlReq:URLRequest = new URLRequest("http://www.adobe.com/");
html.load(urlReq);
container.addChild(html);

HTMLLoader 对象的 width 和 height 属性默认情况下均设置为 0。向舞台添加 HTMLLoader 对象时需要设置这些尺寸。HTMLLoader 在加载页面时会调度多个事件。可以使用这些事件来确定何时与加载的页面进行交互是安全的。处理与 HTML 相关的事件中对这些事件进行了介绍。

注: 在 Flex 框架中,只有 UIComponent 类的扩展类才可以作为 Flex 容器组件的子组件进行添加。因此,无法将 HTMLLoader 作为 Flex 容器组件的子组件直接进行添加;但是可以通过以下方式添加:使用 Flex mx:HTML 控件;构建一个自定义类对 UIComponent 进行扩展,并将 HTMLLoader 作为 UIComponent 的子组件包含在其中;将 HTMLLoader 作为 UIComponent 的子组件进行添加,然后将 UIComponent 添加到 Flex 容器中。有关详细信息,请参阅使用 Flex AIR 组件。

您也可以使用 TextField 类来呈现 HTML 文本,但该类的功能受到限制。Adobe® Flash® Player 的 TextField 类支持 HTML 标记的子集,但是由于大小限制,该类的功能受到限制。(Flash Player 不支持 Adobe AIR 中包含的 HTMLLoader 类。)

从字符串加载 HTML 内容

HTMLLoader 对象的 loadString() 方法可以将 HTML 内容字符串加载到 HTMLLoader 对象中:

var html:HTMLLoader = new HTMLLoader();
var htmlStr:String = "<html><body>Hello <b>world</b>.</body></html>";
html.loadString(htmlStr);

通过 loadString() 方法加载的内容将会放在应用程序安全沙箱中,能够完全访问 AIR API。

在 AIR 应用程序中使用 HTML 的重要安全规则

随 AIR 应用程序一起安装的文件能够访问 AIR API。出于安全方面的考虑,来自其它源的内容不能访问 AIR API。例如,此限制将阻止远程域(例如 http://example.com)中的内容读取用户桌面目录中的内容(也可能是更严重的情况)。

由于存在可通过调用 eval() 函数(及相关 API)来利用的安全漏洞,因此,默认情况下限制使用这些方法。但是,某些 Ajax 框架会调用 eval() 函数和相关 API。

为确保结构内容在 AIR 应用程序中能够正常工作,必须考虑对来自不同源的内容制订相应的安全限制规则。来自不同源的内容按不同的安全等级放置在沙箱(请参阅沙箱)中。默认情况下,随应用程序一起安装的内容安装在称为应用程序 的沙箱中,这将授予该内容访问 AIR API 的权限。应用程序沙箱通常是最安全的沙箱,设计了一些限制,可阻止不受信任代码的执行。

运行时允许将随应用程序一起安装的内容加载到应用程序沙箱之外的沙箱中。非应用程序沙箱中的内容在类似于典型 Web 浏览器的安全环境中运行。例如,非应用程序沙箱中的代码可以使用eval() 和相关方法(但不允许该代码访问 AIR API)。运行时包含有相关方法,可以让不同沙箱中的内容安全地进行通信(例如,不将 AIR API 公开给非应用程序内容)。有关详细信息,请参阅跨脚本访问不同安全沙箱中的内容。

如果出于安全方面的考虑,限制在沙箱中使用所调用的代码,则运行时将发出 JavaScript 错误:“Adobe AIR runtime security violation for JavaScript code in the application security sandbox”(应用程序安全沙箱中存在针对 JavaScript 代码的 Adobe AIR 运行时安全侵犯)。

为了避免此错误,请按照下一部分避免与安全相关的 JavaScript 错误中介绍的代码编写方法进行操作。

有关详细信息,请参阅 HTML 安全性。

原文地址(http://help.adobe.com/zh_CN/AIR/1.1/devappsflex/WS5b3ccc516d4fbf351e63e3d118666ade46-7ed8.html)

HTML 和 JavaScript 编程相关推荐

  1. 《JavaScript编程实战》

    <JavaScript编程实战> 基本信息 原书名:JavaScript programming: pushing the limits 作者: (美)Jon Raasch 译者: 吴海星 ...

  2. (转)面向对象的 JavaScript 编程:dojo.declare 详解

    >>>>>http://www.ibm.com/developerworks/cn/<<<<< JavaScript 早在发明初期时,仅用来 ...

  3. JavaScript 编程精解 中文第三版 零、前言

    零.前言 原文:Introduction 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 部分参考了<JavaScript 编程精解(第 2 版)> We think ...

  4. 面向对象的 JavaScript 编程及其 Scope 处理

    为什么80%的码农都做不了架构师?>>>    在面向对象的 JavaScript 编程中,我们常常会将一些数据结构和操作封装成对象以达到继承和重用的目的.然而层层封装和继承再加上 ...

  5. 《JavaScript设计与开发新思维》——1.7 JavaScript编程目标

    本节书摘来自异步社区<JavaScript设计与开发新思维>一书中的第1章,第1.7节,作者:[美]Larry Ullman著,更多章节内容可以访问云栖社区"异步社区" ...

  6. JavaScript 编程精解 中文第三版 十一、异步编程

    十一.异步编程 原文:Asynchronous Programming 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 孰能浊以澄?静之徐清: 孰能安以久?动之徐生. 老子,&l ...

  7. [Javascript]编程风格

    作者: 阮一峰 日期: 2012年4月27日 Douglas Crockford是Javascript权威,Json格式就是他的发明. 去年11月他有一个演讲(Youtube),谈到了好的Javasc ...

  8. 面向对象的JavaScript编程

    面向对象的JavaScript编程     Javascript对于做过Web程序的人不应该是陌生,初期是用来做一些简单的FORM验证,基本上是在玩弄一些技巧性的东西.IE 4.0引入了DHTML,同 ...

  9. JavaScript编程知识

    JavaScript编程知识 1.从阵列中删除重复项 数组:这是一些方便的方法,可用于从数组中删除重复项. 1.使用lodash let array = [2, 1, 2, 5, 6, 7, 8, 9 ...

  10. SAP Cloud for Customer里的HTML Mashup的JavaScript编程功能

    SAP Cloud for Customer的HTML Mashup,可以在HTML编辑器里进行简单的JavaScript编程,并在其中使用C4C标准页面里Business object字段的值. 比 ...

最新文章

  1. 2840 页的计算机毕业论文,这位华人小哥的博士论文究竟写了啥?
  2. python 乱序数组,list等有序结构的方法
  3. 网站优化之如何筛选更正确高质量的关键词?
  4. JavaScript 位运算总结拾遗
  5. 一个关于nvarchar字段排序,中英文混合排序的问题
  6. Java笔记-使用RabbitMQ的Java接口生产数据并消费
  7. 学生管理系统c语言代码实验报告,C语言学生信息管理系统实验报告(含源代码).doc...
  8. 国防现代化的数据_Linux容器如何解决国防虚拟化问题
  9. vs code安装使用ESLint,typescript
  10. Linux线程管理必备:互斥量与条件变量
  11. vodplayer.exe
  12. kettle 提交数据量_kettle大数据量读写mysql性能优化
  13. linux 删除回收站文件,浅析linux下的回收站以及U盘中的.Trash文件夹
  14. Pygame详解(七):key 模块
  15. JS - 自由变量与作用域链
  16. OSChina Maven使用说明
  17. 【Linux】文件类型
  18. Reasoning with Sarcasm by Reading In-between(MIARN 2018)论文笔记
  19. Caused by: java.io.EOFException: SSL peer shut down incorrectly
  20. GOF23设计模式总结

热门文章

  1. 近年来NLP在法律领域的相关研究工作
  2. 什么是函数式编程思维?
  3. python数据挖掘学习笔记】十.Pandas、Matplotlib、PCA绘图实用代码补充
  4. snmp协议_SNMP开发和使用
  5. 中国历史上最牛气的十大豪言壮语
  6. 中概股暴跌后的大厂员工:230万缩水至23万、和家人一起“开源节流”
  7. 微信支付推出限量红包封面 两大途径赢取
  8. 吃相难看!它又又又涨价了......
  9. 字节跳动在京斥资50亿购置新大楼:数千名员工已入驻
  10. 《和平精英》崩了 官方回应:受运营商网络波动影响 正在修复