javascript实现阻止iOS APP中的链接打开Safari浏览器


Posted in Javascript onJune 12, 2014

上次根据网上的教程给自己的网站弄了一个Web APP,但是给用户的感觉却十分糟糕。

问题说明:

怎么了?原来是打开WEB APP后在主页上随意打开连接,就会自作主张地打开Safari浏览器。原来好好的伪装和心情就全被破坏掉了。这该如何是好?原来解决方法十分简单。仅仅加入这些代码就好了。实验测试在本人的 iPhone (iOS 7.1)和iPod (iOS 6.1.4)上测试通过,根据原作者的叙述,最新的 iOS 7.0.4(iPhone 与 iPad)测试通过,代码应该兼容性不错,在这里分享:

问题解决:

<script type=“text/javascript”>  
//iOS Web APP中点击链接跳转到Safari 浏览器新标签页的问题  
if ((“standalone” in window.navigator) && window.navigator.standalone) {
    var noddy, remotes = false;
    document.addEventListener(‘click',
    function(event) {
        noddy = event.target;
        while (noddy.nodeName !== “A” && noddy.nodeName !== “HTML”) {
            noddy = noddy.parentNode;
        }
        if (‘href' in noddy && noddy.href.indexOf(‘http') !== -1 && (noddy.href.indexOf(document.location.host) !== -1 || remotes)) {
            event.preventDefault();
            document.location.href = noddy.href;
        }
    },
    false);
}
</script>

建议将代码放到/head标签前,当然,另外存为一个js 文件引用也是可以的。
Javascript 相关文章推荐
jquery实现checkbox 全选/全不选的通用写法
Feb 22 Javascript
在线所见即所得HTML编辑器的实现原理浅析
Apr 25 Javascript
使用BootStrap实现用户登录界面UI
Aug 10 Javascript
jstl中判断list中是否包含某个值的简单方法
Oct 14 Javascript
JavaScript无阻塞加载和defer、async详解
Feb 26 Javascript
解决vue+webpack打包路径的问题
Mar 06 Javascript
微信小程序实现折叠与展开文章功能
Jun 12 Javascript
axios简单实现小程序延时loading指示
Jul 30 Javascript
小程序:授权、登录、session_key、unionId的详解
May 15 Javascript
纯js+css实现在线时钟
Aug 18 Javascript
JS+JQuery实现无缝连接轮播图
Dec 30 jQuery
vue ref如何获取子组件属性值
Mar 31 Vue.js
jQuery实现复选框全选/取消全选/反选及获得选择的值
Jun 12 #Javascript
深入理解javascript中的立即执行函数(function(){…})()
Jun 12 #Javascript
Javascript封装DOMContentLoaded事件实例
Jun 12 #Javascript
自己封装的javascript事件队列函数版
Jun 12 #Javascript
jquery动态添加删除一行数据示例
Jun 12 #Javascript
checkbox勾选判断代码分析
Jun 11 #Javascript
百度判断手机终端并自动跳转js代码及使用实例
Jun 11 #Javascript
You might like
PHP生成和获取XML格式数据的方法
2016/03/04 PHP
PHPMAILER实现PHP发邮件功能
2018/04/18 PHP
PHP生成指定范围内的N个不重复的随机数
2019/03/18 PHP
JS event使用方法详解
2008/04/28 Javascript
ExtJS 简介 让你知道extjs是什么
2008/12/29 Javascript
获取服务器传来的数据 用JS去空格的正则表达式
2012/03/26 Javascript
js 操作select和option常用代码整理
2012/12/13 Javascript
JS截取字符串常用方法详细整理
2013/10/28 Javascript
JS正则表达式验证数字代码
2014/01/28 Javascript
在NodeJS中启用ECMAScript 6小结(windos以及Linux)
2014/07/15 NodeJs
js clearInterval()方法的定义和用法
2015/11/11 Javascript
利用PM2部署node.js项目的方法教程
2017/05/10 Javascript
Node.js pipe实现源码解析
2017/08/12 Javascript
Node.js中DNS模块学习总结
2018/02/28 Javascript
快速搭建vue2.0+boostrap项目的方法
2018/04/09 Javascript
为什么要使用Vuex的介绍
2019/01/19 Javascript
[05:41]2014DOTA2西雅图国际邀请赛 小组赛7月10日TOPPLAY
2014/07/10 DOTA
详解python的数字类型变量与其方法
2016/11/20 Python
Ubuntu 下 vim 搭建python 环境 配置
2017/06/12 Python
Python实现的基数排序算法原理与用法实例分析
2017/11/23 Python
python3读取excel文件只提取某些行某些列的值方法
2018/07/10 Python
python中的turtle库函数简单使用教程
2018/07/23 Python
Python中文编码知识点
2019/02/18 Python
Django Rest framework认证组件详细用法
2019/07/25 Python
Python读取分割压缩TXT文本文件实例
2020/02/14 Python
Python进程间通信multiprocess代码实例
2020/03/18 Python
Python基于字典实现switch case函数调用
2020/07/22 Python
Python timeit模块原理及使用方法
2020/10/10 Python
web字体加载方案优化小结
2019/11/29 HTML / CSS
欧铁通票官方在线销售网站:Eurail.com
2017/10/14 全球购物
Hotter Shoes美国官网:英国最受欢迎的舒适鞋
2018/08/02 全球购物
会计专业自荐信
2013/12/02 职场文书
专业技术人员年度考核评语
2014/12/31 职场文书
贴吧吧主申请感言
2015/08/03 职场文书
解决redis sentinel 频繁主备切换的问题
2021/04/12 Redis
Java如何实现通过键盘输入一个数组
2022/02/15 Java/Android