JavaScript为iphone添加到主屏幕

iphone手机有一个书签栏上可以将当前在浏览的网页添加到主屏幕,用户添加该选项之后,就可以从桌面上启动这个web程序,让人看起来有点像web app一样,深受许多人的喜爱。但是很多人却不知道或者懒得去设置,本文将介绍一个JavaScript提示用户添加到主屏幕。

设定主屏幕图标

iOS 的网页图标与传统的网页 favicon 相似, 处理方式也差不多, 下面会为你介绍几种处理方式.

放置在默认位置

创建一个 PNG 图片, 命名为 apple-touch-icon.png 或者 apple-touch-icon-precomposed.png, 放置在网站根目录即可.

指定图标路径

为页面指定一个图标路径, 在网页的 head 部分代码如下:

<link rel="apple-touch-icon" href="/custom_icon.png"/>

为不同设备指定图标

在网页中为不同的设备指定特殊图标, 因为 iPhone 和 iPad 的图标尺寸不一样, 需要 sizes 属性来进行区分, 如果没有定义 sizes 属性, 默认 sizes 是 57 x 57. 代码如下:

<link rel="apple-touch-icon" href="touch-icon-iphone.png" />
<link rel="apple-touch-icon" sizes="72x72" href="touch-icon-ipad.png" />
<link rel="apple-touch-icon" sizes="114x114" href="touch-icon-iphone4.png" />

如果没有图片尺寸可以匹配设备图标的尺寸, 存在比设备图标大的图片, 将使用比设备图标尺寸略大的图片; 如果没有比设备图标大的图片, 则使用最大的图片.

如果没有在网页中指定图标路径, 将会在根目录搜寻以 apple-touch-icon... 和 apple-touch-icon-precomposed... 作为前缀的 PNG 图片. 假设现在有一个设备的图标大小是 57 x 57, 系统将按以下顺序搜寻图标:

  1. apple-touch-icon-57x57-precomposed.png
  2. apple-touch-icon-57x57.png
  3. apple-touch-icon-precomposed.png
  4. apple-touch-icon.png

为用户加上提示

通过添加一个JavaScript代码来邀请用户添加到主屏幕,该库使用了HTML5的本地存储跟踪是否已经显示过了,以避免重复出现。

目前使用比较多和有在更新的一个库来自这里:http://cubiq.org/add-to-home-screen

它可以在Safari或者Chrome移动版中出现如下的提示消息(有不同语言,中文等)

下载 演示

示例代码:

<head>
<title>Add To Home</title>
...
<link rel="stylesheet" type="text/css" href="../../style/addtohomescreen.css">
<script src="../../src/addtohomescreen.js"></script>
<script>
addToHomescreen();
</script>
</head>

选项设置:

addToHomescreen({
   startDelay: 5 //开始的间隔
});
addToHomescreen({
   skipFirstVisit: true, //首次跳过出现
   maxDisplayCount: 1 //最多出现次数
});

最后,如果你使用jqMobile,你还可以看看另外一个版本:https://github.com/okamototk/jqm-mobile-bookmark-bubble

以上两个版本均有这个库的影响:mobile-bookmark-bubble

时间: 2024-10-08 09:41:12

JavaScript为iphone添加到主屏幕的相关文章

iPhone 收藏网址[添加到书签] 和 [添加到主屏幕] 显示自定义图标,而不是网页截图

iPhone 收藏网址[添加到书签] 和 [添加到主屏幕] 显示自定义图标,而不是网页截图: <!-- Safari浏览器[添加到书签] --> <link rel="shortcut icon" href="static/my/img/favicon.ico"> <!-- Safari浏览器[添加到主屏幕] --> <link rel="apple-touch-icon" href="stat

IOS 通过界面图标启动Web应用 + 全屏应用 + 添加到主屏幕

在 iPhone「添加到主屏幕」时显示自定义图标 测试资源下载:https://github.com/dragon8github/mobile-boilerplate/tree/master/img/touch <!doctype html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-

将网站添加到iPhone的主屏幕上

我之前有篇文章介绍过如何将网站固定到Windows的开始菜单,并可以自定义图标.颜色以及Windows推送通知,其实Apple也有类似的功能,通过在网页的head部分添加link标记,在Safari浏览器中我们可以轻易地将网站添加到iPhone的主屏幕,使它看起来就像一个普通的app一样. 要实现该功能很简单,只需要在你网站的根目录下放一张名为"apple-touch-icon.png"的图片即可,像添加favicon一样(将名为"favicon.ico"的图标放在

iOS中为网站添加图标到主屏幕以及增加启动画面

虽然没有能力开发Native App,但还是可以利用iOS中Safari浏览器的特性小小的折腾一下,做一个伪Web App满足下小小的虚荣心的. 既然是在iOS中的Safari折腾的,那么代码中利用到的也基本上都是Safari的私有属性. 添加图标到主屏幕是Web App的第一步: <link rel="apple-touch-icon-precomposed" sizes="57x57" href="icon-57.png"> &l

(转)CocosCreator零基础制作游戏《极限跳跃》四、添加游戏主场景控制脚本

CocosCreator零基础制作游戏<极限跳跃>四.添加游戏主场景控制脚本 前面简单的实现了主界面的UI设置,现在我们开始制作游戏的控制脚本. 在资源管理器的Script文件夹中,点击右键新建javascript文件,命名为GAME. 双击打开GAME脚本,在properties: 中添加属性代码. 01 //GAME.js 02   03 cc.Class({ 04     extends: cc.Component, 05     properties: { 06       07   

Android中源码Launcher主屏幕程序排列详解【安卓Launcher进化一】

最近研究Lancher,从短信Mms的框架中过度到Launcher的bug和需求修改中,下面对launcher最简单的主屏幕程序的程序的布局的详 解,给读者一个入门的感觉,android的主屏幕一共分为5个屏幕,从左到右依次是:0,1,2,3,4.所以想在那个主屏幕放哪些程序或者 widget都可以在布局文件中实现,下面我就说说这个布局文件default_workspace.xml.这是对主屏幕进行排列的布局文件,在这里面 写好,程序运行后就可以实现哪个屏幕放那些特定的程序或widget了.下面

c# 多显示器设置主屏幕(Set primary screen for multiple monitors)

原文:c# 多显示器设置主屏幕(Set primary screen for multiple monitors) 经过google加各种百度,终于找到了一个有效的解决方案,下面是两个主要类,方便后人使用 1. Win32 API, 需要添加其它内容可以到这个网站从查找对应的c#实现 public class WinApi { public const Int32 CCHDEVICENAME = 32; public const Int32 CCHFORMNAME = 32; public en

【JavaScript】浅析JavaScript对象如何添加属性和方法

向JavaScript类中添加属性和方法,最直观的做法就是在类中定义属性和方法.JavaScript是一门弱语言,除了直接定义还可以用prototype来添加. 下面介绍从外部向JavaScript添加属性和方法的四种方法,首先定义一个类 function MyClass(){} 1,使用类名添加属性 MyClass.prototype.myname="吴兴国01"; 2,使用类名添加方法 MyClass.prototype.myfunc=function(){alert("

javascript如何动态添加checkbox复选框

javascript如何动态添加checkbox复选框:在实际应用中可能需要动态的添加复选框,下面就简单介绍一下如何实现此效果.单纯的创建一个复选框是很容易的,代码如下: var oCheckbox=document.createElement("input"); oCheckbox.setAttribute("type","checkbox"); oCheckbox.setAttribute("id","mayi&