用HTML,CSS和JavaScript创建iPhone/iPad应用程序

摘要:
如果你想更深入的了解这方面的知识,我给你推荐一本书:"BuildingiPhoneApplicationwithHTML,CSSandJavaScript"。˂linkrel="apple-touch-startup-image"href="http://t.zoukankan.com/startup.png"该文件必须绝对320x460,否则iPhone就会忽略它。AddTypetext/cache-manifest.manifest然后使用wget的-S的检查响应头的内容类型是正确的。目前的方向是在window.orientation,和它编码的角度(度)的iPhone旋转-0,-90或90-离垂直直立。

象大多数iPad粉丝和程序员一样,我有一个梦想,那就是如果不需要昂贵的Apple设备,不要繁琐的审批程序,不要为发布应用交钱就能开发iPad 应用程序该多好.现在这个梦想就要实现了,那就是网页应用程序.

那么,怎样才能让网页象看起来象本机程序一样呢?
你需要做这些工作:

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

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

1.全屏幕

添加一个meta标签就可以去掉URL和按钮栏:
<meta name="apple-mobile-web-app-capable" content="yes" />

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

3.防止结垢
如果你捏一个web应用程序,但它仍然可以在浏览器里面放大缩小,这是我们不希望看到的.如果你想防止结垢,使用viewport meta标签
<meta name="viewport" content="user-scalable=no, width=device-width" />
你几乎可以肯定将要设置设备宽度以及视区宽度,使应用程序显示在其自然分辨率。

4.防止弹性滚动
要防止弹性滚动 ,你可以捕捉在JavaScript的touchmove事件,并取消它们。您可以通过添加一个body
标签的处理程序,并调用事件对象的preventDefault方法:

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

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

5.创建主屏幕图标
要添加一个主屏幕图标,需要创建一个114x114的PNG文件,然后做一个<link>加入到<head>里面。

<link rel="apple-touch-icon" href="http://t.zoukankan.com/apple-touch-icon.png" >

6.创建一个起始画面
要在加载过程中显示起始画面,需要创建一个320x460的PNG文件,加入到<head>里。
<link rel="apple-touch-startup-image" href="http://t.zoukankan.com/startup.png"
该文件必须绝对320x460,否则iPhone就会忽略它。 (iPad的需要1004x768)。

7.缓存应用程序文件
如果您希望能够使用您的应用程序没有互联网,或者你想提高其负载时间,创建一个缓存清单文件,
从主文件的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

8.检测触摸和手势的事件

触摸事件:
ontouchstart - 开始触摸。
ontouchmove - 触摸并移动。
ontouchend - 结束触摸。

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

9.检测旋转事件
如果你想检测到旋转手机事件,请监听body标签的on​​orientationchange。目前的方向是在
window.orientation,和它编码的角度(度)的iPhone旋转 - 0,-90或90 - 离垂直直立。

10.模仿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 ;
}

好了,实现了上面的这些项目,你的网页就可以变得象本机应用程序一样了.现在开始试试吧?Good luck.

免责声明:文章转载自《用HTML,CSS和JavaScript创建iPhone/iPad应用程序》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇实验二:ICMP重定向攻击mac下的svn工具——Versions使用详解下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

ADB命令详解及大全( 声明:此文是参考大佬博客所做的笔记!)

   adb是什么?       adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具。adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端...

android drawable 资源文件

做Android有段时间了,但是好多细节还没有深入理解,关于Android中drawable文件夹的使用理解的就不是很深入。 Android为开发者提供了两种解决适配问题的方法,第一种方式是使用dip的单位,另一种方法是使用不同的drawable文件夹,今天就详细说下不同文件夹的区别 Android中提供了三个存放图片的文件夹,分别为hdpi,mdpi,l...

Javascript综合应用小案例

按需求弄了一个 取词 以及 标红 的小应用。 先上demo :http://qianduannotes.sinaapp.com/getKeyword/ 很多平时常用的东西,都用上了,所以拿出来说说。 一、代码 var GetKeywords = { str: "", limit: 11, keywords:[], init : function...

Ubuntu16 编译源码安装MXNet 可变卷积Deformable-ConvNets GPU版

【引言】最近接手了公司的关于虫子识别的项目,使用MXNet框架开发,但是实际用的是Deformable-ConvNets. Deformable-ConvNets为微软研究研究院提出的可变卷积网络,可用于对图像中大小不一的物体识别,不是单单识别图中的猫和狗(它们都一般大小),而识别图像中不同种类的虫子(虫子本身小,而且难以区分),在这样的场景下很适合用可变...

移动端APP测试总结

移动APP测试,除了基础功能测试测试方法外,需要额外关注以下方面: 兼容性测试 流量测试 电量测试 弱网络测试 稳定性测试 安全测试 环境相关测试 apk性能测试 兼容性测试 针对App通常会考虑这些方面: 1、操作系统版本 包括Andoird版本,iOS版本  2、屏幕分辨率 android 800*480, 960*640,1280*720(720...

客户端软件GUI开发技术漫谈:原生与跨平台解决方案分析

原生开发应用开发 Microsoft阵营的 Winform WinForm是·Net开发平台中对Windows Form的一种称谓。 如果你想深入的美化UI,需要耗费很大的力气,对于目前主流的CSS样式表来讲,美化Winform的界面以及自定义控件是需要耗费更多的时间的。 WPF 基于XML+C#+CSS的呈现方式让它在UI上有了更加灵活的设计宽度 WPF...