AIR笔记 使用HTML
2011年05月17日
air2.5的webkit
c++ singleton实现
flash 2011-02-25 16:25:15 阅读40 评论0 字号:大中小 订阅
来自:http://www.ebibi.com/i/experience/2010/0707/263.html
1. 使用flash.html.HTMLLoader读入HTML内容,
load()读入页面等资源, loadString()读入一个HTML串
2. 如果系统上安装了Acrobat Reader 8.1 以上的插件, 则可以用同样的方法加载和呈现PDF了.
可以用 HTMLLoader.pdfCapability 属性判断PDF特性是否可用, 返回四种值:
STATUS_OK(可用) 三种ERROR(没安装, 安装版本过旧, 优先使用版本过旧)
3. 在Flex工程中, 可以使用 来取代HTMLLoader
指定location属性, 可以使HTML组件自动加载并呈现内容
HTML组件并不直接支持 loadString()
但可以通过其 htmlLoader 属性, 获得其包装的HTMLLoader对象, 间接实现
4. 如果不想缓存内容, 应该在 load() 之前设置 HTMLLoader对象的 cacheResponse = false
如果不想优先读取本地缓存, 在 load() 之前设置 useCache = false
5. 如果碰到需要身份验证的站点, AIR默认会弹出 用户名/密码 对话框
如果想禁止弹出, 设置 authenticate = false, 但这样会导致服务器返回错误
6. 可以设置 userAgent 属性以实现ua欺骗
7. 设置 manageCookies = false 可以禁止在本地存储cookie
8. 如果不想针对每个 HTMLLoader 实例设置上述属性,
可以用 URLRequestDefaults类的静态方法统一设置
9. 内容超出范围的情况下, 在 控件中, 使用flex内置的 …Policy 属性即可调节滚动条
10. 使用as时, 监听HTMLLoader的complete事件, 而后即可获知contentWidth和contentHeight属性
使用scrollH和scrollV属性可以控制内容向右和向下的移动值
11. var hl:HTMLLoader = HTMLLoader.createRootWindow([可选的参数]);
hl.load(…);
这样将把加载的内容放到一个AIR窗口中, 并且该窗口可以自动添加滚动条
12. 使用 HTMLHistoryItem 对象来保存浏览历史, 包括以下属性
url -> 页面的url
originalUrl -> 初始url(可能的跳转之前)
title -> 页面的title
isPost -> 是否包含post数据
HTMLLoader对象的属性 historyLength 指示了历史项目的数量
用 getHistoryAt() 返回对应的 HTMLHistoryItem 对象
也可以使用 HTMLLoader对象的 historyBack(), historyForward(), historyGo() 实现导航
13. AIR并不仅仅能加载和呈现HTML, 因为HTMLLoader暴露了所加载HTML内容的全部DOM,
所以可以与其交互, 但需要等待内容加载完
HTMLLoader对象的window 对应了 HTML内容中js的window对象,
可以直接读取其属性或调用其方法等
如果把一个function赋值到一个js方法上, 会替换该方法的动作
_htmlLoader.window.xxx = function():void { trace(”xxx”); };
可以用和js类似的方法操作DOM
_htmlLoader.window.document.getElementById(”p1″).innerTEXT = “xxx”;
14. 有两种方法可以注册对js方法的监听: 在HTML元素的事件属性上赋值 以及 使用addEventListener()
比如 _htmlLoader.window.document.getElementById(”p1″).onclick = clickHandler;
或 _htmlLoader.window.document.getElementById(”p1″).addEventListener(”click”, clickHandler);
处理函数接受一个类型为 Object 的事件对象, 包含了 target 和 currentTarget属性
private function clickHandler(evt:Object):void { trace(”click”); }
15. 可以通过继承 HTMLHost 类来实现对 Window.status Window.focus() 等属性和方法的定义
并指定到HTMLLoader对象的htmlHost属性上
16. 在所加载HTML的js中, 可以使用 window.runtime 来调用一切 Flash Player APIs
比如 window.runtime.trace()
window.runtime.flash.desktop.NativeApplication.nativeApplication.openedWindows[0]
如果要在js中调用自定义的类型, 需要将HTML内容加载到same ApplicationDomain
_htmlLoader.runtimeApplictionDomain = ApplicationDomain.currentDomain;
17. 所有加载到AIR中的HTML内容都有sandbox限制
从 application目录或子目录加载的, 为 application sandbox
从其他地方加载的, 为 noapplication sandbox
application sandbox 中禁止的操作有:
1). eval()只能用于字面量和常量
2). setTimeout()和setInterval()只能调用字面量的方法, 不能执行字符串
3). innerTEXT和innerHTML中不能包含script
4). 不能使用 ‘javascript’ 关键字作为URI配置
5). 不能载入application domain之外的外部js文件
这些限制尽量屏蔽了恶意的js代码, 保证application domain中的js相对安全的获得包括本地文件操作在内的AIR API
外部载入的js没有以上限制, 但虽然它可以不受控制的执行eval(), 却是没有访问本地文件系统权限的
18. 当绝对需要时, 也可以使用 sandbox bridging 技术
一种跨域脚本访问方法, 在noapplication sandbox中的内容与其在application sandbox中的父文档直接创建沙箱桥接口
发表评论
-
VC++深入详解??chapter17??笔记
2012-01-20 08:36 523VC++深入详解??chapter17?? ... -
GDB调试.pdf
2012-01-20 08:36 1058GDB调试.pdf 2011年05月26日 1.1 Gd ... -
LINUX字符设备驱动程序原理总结
2012-01-20 08:36 915LINUX字符设备驱动程序原理总结 2010年07月08日 ... -
Linux设备驱动程序第三版学习(6)- 高级字符驱动程序操作(续1) - 进程休眠
2012-01-20 08:36 712Linux设备驱动程序第三版学习(6)- 高级字符驱动程序操作 ... -
关于Linux下的视频编程
2012-01-20 08:36 561关于Linux下的视频编程 2011年06月20日 前言 ... -
利用反射调用另一个swf里的代码库
2012-01-19 13:42 553利用反射调用另一个swf里的代码库 2011年02月19日 ... -
As3 使用外部swf文件的元件库中的导出类
2012-01-19 13:42 1002As3 使用外部swf文件的元件库中的导出类 2011年08 ... -
优化Flash平台的性能――优化网络交互外部内容
2012-01-19 13:42 810优化Flash平台的性能――优化网络交互外部内容 2010年 ... -
ApplicationDomain
2012-01-19 13:42 515ApplicationDomain 2011年11月01日 ... -
Android智能手机刷机教程
2012-01-17 03:32 1039Android智能手机刷机教程 2011年03月07日 ... -
Linux 一些常用的基本命令
2012-01-17 03:31 522Linux 一些常用的基本命 ... -
地理与我们的衣食住行之出行
2012-01-16 02:07 818地理与我们的衣食住行 ... -
试谈中国地理环境与中国文化的联系
2012-01-16 02:07 704试谈中国地理环境与中国文化的联系 2011年12月20日 ... -
宋代衣食住行等习俗的变化
2012-01-16 02:07 953宋代衣食住行等习俗的变化 2010年03月24日 宋代对 ... -
上海世博呈科技盛宴 互动体验未来的衣食住行
2012-01-16 02:07 521上海世博呈科技盛宴 互 ... -
高中生辉煌60年作文:衣食住行话巨变
2012-01-16 02:07 555高中生辉煌60年作文:衣 ...
相关推荐
小米笔记本Air 13EFI文件
MacBook air 苹果笔记本 安装 win10 单系统 多分区
小米12.5air 黑苹果efi
小米笔记本电脑AIR12.5 型号7代7Y54CPU,615显卡,256G固态以及4G内存配置相同就可以用必须要下载MAC10.15的系统版本才可以完美使用。
苹果MacBook_Air笔记本安装Windows系统图解
APPLE SSD固态硬盘驱动针对于苹果macbook pro air系列笔记本安装win10无法识别硬盘applessd驱动 通过苹果官方Bootcamp 上面提取 支持Windows 10 64位 MacBook Pro(Retina 显示屏,15 英寸,2015 年中) MacBook Pro...
该参考还包括其他可以通过 window.runtime 对象使用的运行时类,因为它们适用于基于 SWF 的 AIR 应用程序(使用 ActionScript 3.0 显示列表 DOM 而不是 HTML DOM)开发人员。有关其他基于 SEF 的 AIR 应用程序开发的...
附件是最近很畅销的airplay传输器airmusic的使用说明
win mac双系统,加入启动画面,0.66电池状态不显示,其他正常,若要显示电池,请下载0.62版opencore。
详细讲解小米笔记本Air13.3寸安装win10+黑苹果macos双系统,操作流程更细化,更适合小白。
MacBook Air(视网膜显示屏,13 英寸,2020 年)TJ2CH/A 大致配置 MacBook Air CPU:Intel(R) Core(TM) i3-1000NG4 CPU @ 1.10GHz 内存:8.00GB (7.80GB可用) 硬盘:Apple APPLE SSD AP0256 SCSI Disk Device ...
小米Air2s使用说明,网上一直没找到。我扫描一个给大家查阅哈。小米Air2s使用说明,网上一直没找到。我扫描一个给大家查阅哈。
小米air 13.3 i57200u 指纹版可用 EFI,安装教程可参考https://blog.daliansky.net/MacOS-installation-tutorial-XiaoMi-Pro-installation-process-records.html
黑苹果 小米笔记本air 13.3 EFI
非常完美,就是版本有点低,没有启动画面背景。
使用 AIR SDK 创建第一个基于 HTML 的 AIR 应用程序 使用 Flex SDK 创建第一个桌面 AIR 应用程序 使用 Flex SDK 创建您的第一个 AIR for Android 应用程序 第 6 章: 开发针对桌面的 AIR 应用程序 开发桌面 AIR ...
使用HTML和AJAX开发AIR应用程序的中文帮助文档,很不错!
AirPrint无线打印技术当前仅面向Mac开放,并且只能在几款惠普打印机上实现。没有这些AirPrint兼容打印机的可以借助一款名为Printopia的Mac程序激活AirPrint功能,那么Windows用户呢?想在PC上启用AirPrint的Windows...
Mac-air苹果笔记本安装Win10双系统教程.docx
AIR允許利用現有的Web開發技能(包括Flash、Flex、HTML、JavaScript、Ajax)優勢,建立和配置跨平台(或跨作業系統)的桌面RIA(Rich Internet Applications)應用。透過詳細的實例講解,介紹AIR 的特性和開發技巧,讀者會...