用HTML+Javascript开发AIR桌面程序

日期:2009年11月7日 添加评论

    早就听说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等。。

相关文章:


分类:程序们
标签:, , ,
  1. 2009年11月8日 at 21:26 | #1

    沙发,AIR上次我也是只是粗略的看了一下,整了半天也是XML+AS的,实际上AIR我还是没有弄懂到底是干什么的?开发EXE程序?

  2. 2009年11月8日 at 21:36 | #2

    回复 宇博:
    不是exe。 是需要一个运行环境。

  3. 2009年11月18日 at 11:09 | #3

    貌似需要一个Adobe AIR extension for Dreamweaver,Flex和Flash都能开发AIR,而且好像没有绿色版本。

  4. 2009年11月22日 at 14:32 | #4

    这个技术不了解 来学习一下

  5. 2009年11月30日 at 23:26 | #5

    膜拜楼上的大牛……

    据说这个空间花了不少钱

  6. 2009年11月30日 at 23:36 | #6

    回复 清水湖:
    你怎么知道?

  7. 2009年11月30日 at 23:36 | #7

    回复 清水湖:
    1K多一年。独立IP,想要可以跟你分享。

  8. 2009年11月30日 at 23:38 | #8

    回复 宇博:
    有绿色版本啊。。adobe air sdk。命令行生成.air文件。我的textmate就是用命令行的方式来调试的。

  9. 2009年11月30日 at 23:38 | #9

    回复 宇博:
    那个for dreamweaver的extension也是调用的命令行貌似。。

  10. 2009年12月1日 at 22:27 | #10

    独立IP 这个就更奢侈了……

  11. 2009年12月16日 at 16:30 | #11

    AIR不错,一样,也在学习中

  1. 还没有 trackbacks
订阅评论
视觉系火星播报河蟹娱乐朝花夕拾牛人很牛灰太狼软白沙八月洗澡火影那些事儿热豆腐