如何使用AJAX为HTML5和CSS3编程制作一个应用程序

时间:2020-02-23 14:46:02  来源:igfitidea点击:

每个人都想这些天制作移动应用程序。
这是一个很大的秘密。
许多应用程序实际上是用HTML5,CSS和JavaScript编写的。
我们已经知道我们需要在移动设备上工作的应用程序所需的一切。
更好的是,我们不需要学习新的语言或者获取App Store的权限或者购买许可证,根据本机应用程序。

我们可以为iOS用户做一些很棒的技巧。
我们可以设计程序,以便用户可以直接添加图标到桌面。
然后,用户可以像任何其他应用那样启动程序。
我们还可以使浏览器隐藏正常的浏览器装备,以便程序看起来不像浏览器运行!

事实证明,这些效果很容易。

为程序添加图标

现代版本的iOS(iPhone/iPad操作系统)已经有能力在桌面上存储任何网页。
只需在Safari中查看网页,然后单击"共享"按钮。
我们将找到一个选择将网页保存到桌面的选项。
我们可以指导用户执行此操作,他们将能够像普通应用一样启动程序。

但是,已保存应用程序的默认图标非常难看。
如果我们想要一个漂亮的图标,我们可以将小图像保存为.png文件并将其放在与程序相同的目录中。
然后,我们可以将此行添加到页面(在标题中),当用户保存程序时,该图像将显示在桌面上:

<link rel="apple-touch-icon" href="myImage.png" 

作为一个额外的奖金,iPhone或者iPad会自动调整图像看起来像Apple图标,添加适合于IOS安装版本的效果(IOS6中的圆形和玻璃状,在iOS7中。
)

当然,这个象征是一个唯一的苹果机制。
通过大多数版本的Android,可以将我们指定的任何带有主浏览器指定的书签添加到桌面中,但没有自定义图标选项。
如果我们使用的其他操作系统,则将忽略Apple-Touch-icon指令。

删除Safari工具栏

虽然程序从主屏幕看起来很好,但是当用户激活程序时,仍然是显而易见的是该程序是Web浏览器的一部分。
我们可以在标题中轻松隐藏浏览器工具栏中的另一行:

<meta name="apple-mobile-web-app-capable" content="yes" 

除非从桌面调用该程序,否则此代码不会做任何不同。
但是,在这种情况下,它隐藏了工具栏,使程序看起来像是一个完整的应用程序。
作为一个额外的奖金,这在全屏模式下运行程序,为我们提供更多游戏游戏的空间。

同样,这是一个特定于苹果的解决方案。
在Android设备上实现相同的效果并没有简单的方法。

脱机存储程序

现在,程序看起来很像应用程序,除了它只在我们连接到Internet时运行。
HTML5具有一个精彩的函数,允许我们第一次运行时本地存储整个网页。

然后,如果用户尝试访问程序并且系统无法上网,则会运行游戏的本地副本。
实质上,该程序首次被激活并停留在本地设备上。

这是实现的效果相对容易:

  • 使程序稳定:在使用脱机存储机制之前,我们将需要确保程序接近释放就绪。至少,我们需要确保我们了解游戏所需的所有外部文件。

  • 仅使用本地资源:对于这种项目,我们不能依赖外部互联网,因此我们需要拥有所有文件本地文件。这意味着我们无法真正使用PHP或者外部文件。我们需要在服务器上拥有本地副本。

  • 构建cahce.manifest文件:查看包含游戏的目录,并创建一个名为的新文本文件。

  • 写入第一行:Cache.Manifest文件的第一行应该只包含文本缓存列表(全部大写字母)。

  • 在目录中制作每个文件的列表:在目录中写下每个文件的名称,每行一个文件。小心你的资本化和拼写。

  • 添加列表属性:<html>标记有一个名为manifest的新属性。使用此用于描述可以找到缓存列表的服务器:

<html lang = "en"
  manifest = "cache.manifest">
  • 正常加载页面:我们需要以正常方式加载Web页面一次。如果全部设置正确,浏览器将静静地制作文件的副本。

  • 脱机测试:测试离线存储的最佳方法是暂时关闭计算机上的无线接入,然后尝试访问该文件。如果事情已经解决,我们应该能够看到页面,就像我们仍然在线一样。

  • 检查服务器设置:如果脱机存储不起作用,则可能需要检查服务器管理。需要在服务器上配置文本/列表MIME类型。我们可能必须要求服务器管理员在我们帐户的.htaccess文件中设置此选项:

addtype text/cache-manifest .manifest

请注意,它可以使用高速缓存列表机制几个小时才能识别更改,因此当我们对页面进行更改时,这些更改不会自动更新到本地浏览器。
这就是为什么它最好保存在项目开发周期结束时的离线存档。