Skip navigation

Adobe AIR 提供了HTMLLoader,用以在AIR应用里嵌入html页面,虽然对标准的支持和性能都不如真正的浏览器强(此处无视本人认为不是浏览器的IE),但还是可以做很多有意思的应用,不过呢这个东东有个好郁闷的问题,它无法处理html里需要打开新窗口的链接(target=’_blank’),如果HTMLLoader的navigateInSystemBrowser属性设置了为false,点击这类链接就会完全没有反应 >____<

咁点算呢,好彩万事都有work around,网上有人说,可以在页面加载完成之后,遍历里面所有target为_blank的a标签,给它们加个onclick函数,来处理它们的点击打开操作,这个方法对简单的页面没有问题,但系对于动态生成的a标签,或者页面里嵌入的iframe里面的a标签,就无能为力了,这个问题在js层面上去解决还是很局限的

Google不负有心人,终于搜出一个比较似样的解决方法,原文见这里,这位仁兄继承了HTMLHost类,修改了其对打开新窗口链接的默认处理,终于使得_blank们重见天日,大概原理如下:

首先我们要写个HTMLHost的子类:

   1:  package com.oscartong
   2:  {
   3:      import flash.html.HTMLHost;
   4:      import flash.html.HTMLWindowCreateOptions;
   5:      import flash.html.HTMLLoader;
   6:   
   7:      public class MyHTMLHost extends HTMLHost{
   8:          public function MyHTMLHost(defaultBehaviors:Boolean = true){
   9:              super(defaultBehaviors);
  10:          }
  11:          override public function createWindow(windowCreateOptions:HTMLWindowCreateOptions):HTMLLoader{
  12:              var ldr:HTMLLoader = super.createWindow(windowCreateOptions);
  13:              ldr.addEventListener(Event.LOCATION_CHANGE, function(e:Event):void{
  14:                  trace('open window, url=' + ldr.location);
  15:              });
  16:              return ldr;
  17:          }
  18:      }
  19:  }

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

But为什么要监听LOCATION_CHANGE事件呢上面的ldr?因为ldr创建出来之后,它的location还只是’about : blank’,还不是a标签上的href,所以要在其location发生变化之后才去读取

然后的做法的很简单啦,设置一下htmlLoader.htmlHost = new MyHTMLHost()就OK了,have fun Smile

This is just a test post from my new HTC Desire HD. Thanks my lovely wife for sending me such a great gift :)

photo

测试是在iPad1 iOS4.3上,分别在Mobile Safari和一个app内嵌浏览器里跑的,照理说大家都是用的同一版本的safari,分数应该差不多吧,Apple说4.3的js引擎速度比4.2的要快2.5杯,听起来很感动,但是看看上面的实际结果…

左边数字比较小的是mobile safari的分数,右边的是app内嵌浏览器的,很明显的两者相差了2.5倍(啊~~悲剧吖!)…也就是说所谓的加速只限于在mobile safari上跑的webapp,若想要把webapp打个包搞成native(比如用phonegap),或者添加到桌面做成全屏webapp,则完全没得到任何性能提升…

乔帮主你有必要这样搞来彰显你native app的性能吗…

chrome提供了两个运行参数来调试GPU加速,分别如下:

–show-composited-layer-borders:将由GPU处理的元素用一个红框标识出来,可以让开发者确认哪些区域有GPU加速

–show-paint-rects:非GPU渲染的区域在重新渲染时会用浅色边框标注,可以让你看看哪些区域频繁的更新,找出性能问题所在

用了一段时间FlashBuilder Burrito,突然有天发现代码提示功能失效了,无论系编辑MXML或是AS,代码提示都不正常,在MXML里输入"<"之后只显示出当前组件的属性,没有了Spark/MX组件的类,甚至写AS时,import语句后面也完全没有提示 >__< ,后来发现貌似系workspace目录下的.metadata目录有点问题,可以换一个干净的目录作为workspace,也可以直接将.metadata删掉,下次打开fb时会自动从新创建一个,不过项目信息会丢失,要重新导入项目到fb

DSC_0488DSC_0486

表姐生的BB女,已经9个月了,很可爱很会哄人开心,哈哈我越来越中意细路仔

上面两张相系用Nikon D5000 + AF Nikkor 50mm f/1.4D影的,镜头光圈好大,影出来既浅景深效果好正,比D5000套机的镜头(最大光圈3.5)效果要好好多,多谢老婆大人送个甘靓既镜头比我 :3

2011-01-29 DarJian Cookies2011-01-29 嘉威什锦饼干

前几天老婆逛超市的时候发现了上图这些山寨饼干…和正牌饼干混在一起卖…这不明显系坑人么,不过不得不说呢D山寨货仿真度真系几高,无论系包装、设计、颜色、字体,都同真品十分相近,有时D公公婆婆出去办年货,仲真系分分钟会以为系坚野买翻屋企 >____< 以前中学读历史,呢D行为系清朝叫做“师夷长技以制夷”,叫得甘好听,事实上一样系自欺欺人,靠厄自己人来赚钱,难道中国人就真的甘没创意,咩都只识得抄?除了造假就没其他致富发财之路?

2011-02-04 山寨Tron Legacy 珠海吉大新华书店2011-02-04 Tron Legacy 正版DVD封面

唔单止系超市,今日同老婆去珠海吉大的新华书店拣碟,居然系“进口电影区”发现一件印有Tron Legacy的热销品(上左图),我仲以为系真的出了DVD,冲动得差D买了,睇真D发现个电影名貌似有D出入,再细睇睇发现个剧情系讲打外星人保卫地球的…不过呢个封面…同真正的Tron Legacy海报(上右图)真系一模一样,甘做同偷厄拐骗有咩分别…

2010-02-19 Kappa

最后上一张上年(2010)农历新年系乡下影到的一对Kappa男…系咯in case你唔知道点解呢篇日志标题叫做“Make In China”,我解释下先,Make In China简称MIC,意为中国制造,亦指山寨货 -____- |||

2010-01-09 省传信号2010-05-08 省传信号

可能系因为长时间没有在乡下,很不习惯电视的吵杂,而且最郁闷的系每次讲到对中国大陆不利的新闻,就被cut掉信号,转去公益广告,这样的社会,叫我如何去热爱~~ 凸 = = 凸

很不习惯没你在身边的生活

DSC_0411

年三十中午,和老婆在吉大味千拉面撑台脚,我很喜欢这个拉面馆,因为基本上每次和老婆出来逛街,无论系珠海深圳广州,多数都系在味千拉面食野(香港除外,香港既味千拉面….今时今日甘既服务态度未够的)。系深圳上班的时候,有时会系超市度买D味千拉面翻屋企自己煮,味道唔错,有老婆在身边的感觉

又有几乎半年没有更新过blog了,因为近几个月工作都很忙,每天都系code code code 加班加班加班 …. 觉得有点对唔住老婆和家人,总是没时间陪在他们身边,尤其是老婆,真是辛苦了,每晚挨夜等我加班回家,新年放假也没带你去什么好玩的地方放松一下,今天除夕本来好好的,又因为我吵了架 :( 今年你给了我很多很多支持,想和你说声谢谢,老婆我爱你!

OK,忙了甘耐,就系为呢件野,去片:

qq for pad

传说中的QQ for Pad,全HTML5技术打造,不含防腐剂或人造色素,哈哈听起来很猛,其实HTML5还是有很多很多很多的问题,Apple鼓吹的那么猛,我始终还是觉得Flash才是皇道,论语言论性能论功能论平台支持我觉得都是Flash更为优胜,HTML5的话,做做普通网页,搞搞阴影圆角离线缓存之类的东东系绰绰有余的,不过同Flash相比,实在系相距甚远。不过今次项目令我都好大收获,如果唔系因为iPad唔支持Flash,我都接触唔到甘多HTML5的东东,对js和css的了解亦唔会深入甘多~~

Anyway,我今年的目标要升职加薪娶老婆!新年新景象,祝大家兔年事事顺意,大家加油!

Follow

Get every new post delivered to your Inbox.