免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3039 | 回复: 0
打印 上一主题 下一主题

用HTML,CSS和JavaScript创建iPhone/iPad应用程序 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-08-04 13:39 |只看该作者 |倒序浏览
用HTML,CSS和JavaScript创建iPhone/iPad应用程序





用HTML,CSS和JavaScript创建iPhone/iPad应用程序
怎样做才能让网页象看起来象本机程序一样呢?
你需要做如下工作:

全屏幕:去掉浏览器的地址栏和按钮栏;
防止窗口滚动和缩放;
响应多点触摸和手势事件;
使用WebKit的CSS得到的iPhone OS的外观和感觉;
高速缓存的应用程序,因此它不上网运行;
在主屏幕上的一个自定义图标;
加一个启动画面。

如果你想更深入的了解这方面的知识,我给你推荐一本书"Building iPhone Application with HTML,CSS

and JavaScript。


全屏幕

为了摆脱URL和按钮栏,只需添加一个meta标签:
<meta name="apple-mobile-web-app-capable" content="yes" />

  
更改手机的状态栏
您还可以更改手机的状态栏显示一个meta标签。您可以是白色,黑色或半透明:
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
为内容的值是默认情况下,黑色和黑色半透明。

防止结垢
如果你捏一个web应用程序,但它仍然响应喜欢在浏览器和放大。这可以是该应用程序是不是本机的

赠品。如果你想防止结垢,使用视meta标签:

<meta name="viewport" content="user-scalable=no, width=device-width" />
你几乎可以肯定将要设置设备宽度以及视区宽度,使应用程序显示在其自然分辨率。

防止弹性滚动

要防止弹性滚动 ,你可以捕捉在JavaScript的touchmove事件,并取消它们。您可以通过添加一个body

标签的处理程序,并调用事件对象的preventDefault方法:

<script>  function BlockMove(event) {   // Tell Safari not to move the window.   event.preventDefault() ;  } </script>  

<body ontouchmove="BlockMove(event);" >   ... </body>


创建一个主屏幕图标
要添加一个主屏幕图标,创建一个114x114的PNG文件,然后在头连接到它。

<link rel="apple-touch-icon" href="./apple-touch-icon.png"
iPhone的自动适用的光泽。


创建一个起始画面
要在加载过程中显示起始画面,创建一个320x460的PNG文件,然后在头连接到它。

<link rel="apple-touch-startup-image" href="./startup.png"
该文件必须完全320x460,否则iPhone的忽略它。 (iPad的需要1004x768)。

  
缓存的应用程序文件
如果您希望能够使用您的应用程序没有互联网,或者你想提高其负载时间,创建一个缓存清单文件,

从主文件的Web应用程序的链接:

<html manifest="cache.manifest">
确保您的Web服务器服务。manifest文件的MIME类型text /manifest,否则这将无法工作。如果你使用

Apache,在你的htaccess文件以下。

AddType text/cache-manifest.manifest
然后使用wget的- S的检查响应头的内容类型是正确的。

里面的cache.manifest文件,列出哪些文件应该被缓存的,应该从网络检索:

CACHE MANIFEST
local1.file
local2.file

NETWORK:
network1.php
network2.cgi


检测触摸和手势的事件
您可以在JavaScript中捕获的多点触摸和手势事件。此外,还有一个很好的理由这样做:如果你听传统

活动,如点击,你会得到一秒钟的延迟,而iPhone的亮点是元素“点击。”如果你试图模仿一个真正的应

用程序,这种行为开始感到繁琐和缓慢。直接通过捕捉触摸事件,可以立即响应用户输入。


有两种方法来跟踪触摸事件。当你捕捉原始触控事件,你跟踪个人的手指。当你捕捉手势事件,你捕

捉手指运动的诠释,如缩放和旋转。

可以连接到触摸处理程序是:

•ontouchstart - 开始触摸。
•ontouchmove - 触摸并移动。
•ontouchend - 结束触摸。
可以连接到的手势处理程序是:

•ongesturestart - 手势开始-放缩或旋转开始。
•ongesturechange - 手势改变(放缩或旋转)。
•ongestureend - 规模或轮换结束。
如果你只是想使用在触摸的地方,点击,那么该事件对象的目标字段包含被移动的元素。

我创建了一个示例应用程序,使用手势来缩放图形。

检测旋转事件
如果你想采取行动,旋转手机时,听body标签的on​​orientationchange事件。目前的方向是在

window.orientation,和它编码的角度(度)的iPhone旋转 - 0,-90或90 - 离垂直直立。

模仿iPhone OS的组件
WebKit渲染引擎支持大量的CSS扩展,您可以使用这些模拟原生的可可成分,例如,按钮很容易:

.button {
font-family: Helvetica ;
font-weight: bold ;
padding: 15px;
border: 1px solid black ;
-moz-border-radius: 8px ;
-webkit-border-radius: 8px ;
margin-top: 10px ;
margin-bottom: 10px ;
background-color: white ;
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP