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中的父文档直接创建沙箱桥接口
发表评论
-
关于动态贴图问题不能动态通过texture改变只能重新new 新material
2012-01-20 01:48 1618关于动态贴图问题不能动态通过texture改变只能重新new ... -
Flex学习收藏资料
2012-01-20 01:48 614Flex学习收藏资料 2010年09月16日 1、《Fl ... -
papervision3d学习笔记:图片墙(1)
2012-01-20 01:48 737papervision3d学习笔记:图片墙(1) 2010年 ... -
[AS3] Alternavta3d7.5教程(一)
2012-01-20 01:48 778[AS3] Alternavta3d7.5教程(一 ... -
广州工作2个月!差人的公司可以call我
2012-01-20 01:48 722广州工作2个月!差人的公司可以call我 2011年06月3 ... -
民国小学生的一篇作文
2012-01-19 09:35 683民国小学生的一篇作文 ... -
小学生作文能力的培养
2012-01-19 09:35 495小学生作文能力的培养 ... -
教小学生写作文1
2012-01-19 09:35 966教小学生写作文1 2011年09月09日 一、小学作文教 ... -
小学生期末评语
2012-01-19 09:35 522小学生期末评语 2010年0 ... -
小学生操行评语
2012-01-19 09:35 650小学生操行评语 2011年0 ... -
神机也有软肋 小米手机
2012-01-17 02:10 669神机也有软肋 小米手机 2011年09月11日 小米手机 ... -
Android中的3D相册
2012-01-17 02:10 1064Android中的3D相册 2011年11月28日 ... -
3D显卡
2012-01-17 02:10 5403D显卡 2011年08月30日 3D 显卡技术术语目前 ... -
揭开Wayland的面纱(一):X Window的前生今世
2012-01-17 02:10 752揭开Wayland的面纱(一):X W ... -
VLC各模块名称及功能介绍
2012-01-17 02:10 886VLC各模块名称及功能介绍 2010年10月28日 [3 ... -
在flex页面中安装AIR程序
2012-01-15 21:42 819在flex页面中安装AIR程序 2010年07月17日 ... -
SWF与SWF交互
2012-01-15 21:42 581SWF与SWF交互 2010年07月23日 在AS2里S ... -
利用反射调用另一个swf里的代码库
2012-01-15 21:42 578利用反射调用另一个swf里的代码库 2011年02月19日 ... -
Flex Module 终极减肥篇之去掉最后哪一点赘肉
2012-01-15 21:42 596Flex Module 终极减肥篇之 ...
相关推荐
小米air 13.3 i57200u 指纹版可用 EFI,安装教程可参考https://blog.daliansky.net/MacOS-installation-tutorial-XiaoMi-Pro-installation-process-records.html
2. **Adobe AIR (Adobe Integrated Runtime)**:AIR是一个跨平台的运行环境,允许开发者使用Web技术(如HTML、JavaScript、Flash/Flex)创建桌面应用程序。它将Web应用程序的灵活性与桌面应用程序的特性相结合,如...
Flex是一种用于构建跨浏览器、跨平台的富互联网应用(RIA)的软件框架,它使用Adobe Flash Player或Adobe AIR来呈现界面,并支持多种编程语言,如ActionScript。 ### Flex基础知识 1. **Flex简介**: - Flex是一...
《FLEX学习笔记》 FLEX,全称为Flex Builder,是由Adobe公司开发的一款基于MXML和ActionScript的开源框架,用于构建富互联网应用程序(RIA)。它允许开发者创建具有交互性、响应性和丰富用户体验的Web应用。FLEX的...
《TryjQuery 学习笔记详解》 jQuery 是一个强大的 JavaScript 库,它简化了 HTML 文档遍历、事件处理、动画以及 Ajax 交互等任务。TryjQuery School 提供的视频教程是学习 jQuery 的优秀资源,以下是对其中重要知识...
Adobe AIR(Adobe Integrated Runtime)是一个跨平台的运行环境,它允许开发者使用HTML、CSS、JavaScript等Web技术或ActionScript语言创建桌面应用程序。AIR为开发者提供了丰富的API和功能,使得Web应用能够拥有更...
这又是一款超酷的CSS3 3D动画效果,它是一款带有3D视觉效果,并且可以360度旋转的macbook air。这款CSS3 3D动画的笔记本底部有一个逼真的投影,可以跟随图片一起转动,从而凸显其3D效果,是一款很不错的CSS3 3D动画...
这个文件名可能是Mark Man应用程序的安装包,通常以 ".air" 扩展名结尾的应用程序是由Adobe AIR技术构建的,这是一种跨平台的运行时环境,允许开发人员创建桌面应用,而这些应用可以使用Web技术(如HTML、CSS和...
1. **Adobe AIR**:Adobe AIR是Adobe公司推出的一种跨平台的运行环境,允许开发者使用HTML、CSS、JavaScript以及Flash/Flex技术来创建桌面应用程序。AIR支持Windows、macOS和Linux操作系统,使得开发者能将Web应用...
客户端利用Flex SDK中的组件(如RemoteObject、HTTPService、Producer、Consumer)与服务端通信,同时,HTML、JavaScript和Ajax客户端库也可用于构建与BlazeDS通信的前端。 #### 二、服务端集成步骤 为了在J2EE ...
#入门###安装从github安装zmq3库(如果尚未安装): go get github.com/pebbe/zmq3 2.下载TAS软件包,运行: go get github.com/chango/tas ###笔记html目录中有一些HTML模板,服务器将在启动服务器的根目录...
伴侣提供了一种“整理”该材料的方法,以使访问更方便,也为认真的学生提供了一种添加自己的笔记的方法。 它在Chrome或Firefox等网络浏览器中本地运行,并以紧凑,可访问的形式显示所选节目集的所有资料。 主要要素...
【描述】:本文主要探讨了一种使用纯Web技术构建桌面应用程序的新开发模式,强调了其运行环境的特点和要求,并通过设计一个论文阅读笔记系统来验证该模式的可行性。文章还讨论了Web技术在桌面应用中的优势,包括简化...
Adobe AIR是一种跨平台的运行环境,允许开发人员使用HTML、CSS、JavaScript以及ActionScript(AS3)等技术创建桌面应用。这意味着这个个人信息管理工具可能具备跨平台的特性,可以在Windows、Mac OS甚至移动设备上...
标题中的“flex学习小记录”表明这是一份关于Adobe Flex技术的学习笔记或教程。Flex是一种开源框架,主要用于构建富互联网应用程序(RIA),特别是在Flash Player和Adobe AIR上运行的应用。它基于ActionScript语言,...
但是,如果像我一样拥有iPhone并使用Windows PC的人,则无法选择AirDrop。 引入QuickExchange,这是一种将文件或URL链接从一台设备传输到另一台设备的快速,可靠和安全的方法。 QuickExchange完全基于Web,无需在...
开发者可能使用了特定的框架或工具,如Adobe AIR或Haxe,来实现不同平台之间的代码共享和编译。 至于"新建文本文档.txt",这可能包含游戏的说明、开发日志、配置信息,或者是开发者留下的调试笔记。尽管这个文件名...
Read Me.html文件可能是提供样机使用说明或版权信息的文档。在开始使用样机素材之前,阅读这个文件是非常重要的,因为它可能包含关于如何正确使用和编辑这些PSD文件的提示,以及对创作者的署名要求等。 总的来说,...