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 相关文章推荐
js 获取计算后的样式写法及注意事项
Feb 25 Javascript
js中如何复制一个对象并获取其所有属性和属性对应的值
Oct 24 Javascript
jQuery操作基本控件方法实例分析
Dec 31 Javascript
JavaScript数组去重的几种方法效率测试
Oct 23 Javascript
js中数组插入、删除元素操作的方法
Feb 15 Javascript
基于JS实现翻书效果的页面切换样式
Feb 16 Javascript
JavaScript基础之this详解
Jun 04 Javascript
探究react-native 源码的图片缓存问题
Aug 24 Javascript
基于D3.js实现时钟效果
Jul 17 Javascript
微信公众平台 发送模板消息(Java接口开发)
Apr 17 Javascript
vue cli3.0打包上线静态资源找不到路径的解决操作
Aug 03 Javascript
原生JavaScript实现刮刮乐
Sep 29 Javascript
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
NT IIS下用ODBC连接数据库
2006/10/09 PHP
PHP4实际应用经验篇(3)
2006/10/09 PHP
PHP生成月历代码
2007/06/14 PHP
PHP微框架Dispatch简介
2014/06/12 PHP
PHP错误Allowed memory size of 67108864 bytes exhausted的3种解决办法
2014/07/28 PHP
Laravel给生产环境添加监听事件(SQL日志监听)
2017/06/19 PHP
javascript中的prototype属性实例分析说明
2010/08/09 Javascript
将form表单中的元素转换成对象的方法适用表单提交
2014/05/02 Javascript
JavaScript实现按照指定长度为数字前面补零输出的方法
2015/03/19 Javascript
js下将金额数字每三位一逗号分隔
2016/02/19 Javascript
Javascript数组Array方法解读
2016/03/13 Javascript
JS及PHP代码编写八大排序算法
2016/07/12 Javascript
jQuery实现拖拽可编辑模块功能代码
2017/01/12 Javascript
JavaScript正则替换HTML标签功能示例
2017/03/02 Javascript
正则表达式基本语法及表单验证操作详解【基于JS】
2017/04/07 Javascript
jQuery实现按比例缩放图片的方法
2017/04/29 jQuery
利用js将ajax获取到的后台数据动态加载至网页中的方法
2018/08/08 Javascript
判断iOS、Android以及PC端的示例代码
2018/11/15 Javascript
详细教你微信公众号正文页SVG交互开发技巧
2019/07/25 Javascript
[01:02:34]TFT vs VGJ.T Supermajor 败者组 BO3 第二场 6.5
2018/06/06 DOTA
[01:16:28]DOTA2-DPC中国联赛 正赛 iG vs Magma BO3 第二场 2月23日
2021/03/11 DOTA
详细介绍Python中的偏函数
2015/04/27 Python
python发送HTTP请求的方法小结
2015/07/08 Python
Python判断字符串是否为字母或者数字(浮点数)的多种方法
2018/08/03 Python
HTML5中的nav标签学习笔记
2016/06/24 HTML / CSS
W3C公布最新的HTML5标准草案
2008/10/17 HTML / CSS
欧洲最大的拼图游戏商店:JigsawPuzzle.co.uk
2018/07/04 全球购物
武汉世纪畅想数字传播有限公司 .NET笔试题
2015/06/13 面试题
常用UNIX 命令(Linux的常用命令)
2015/12/26 面试题
2014购房个人委托书范本
2014/10/12 职场文书
加强作风建设工作总结
2014/10/23 职场文书
2015年植树节活动总结
2015/02/06 职场文书
关于倡议书的范文
2015/04/29 职场文书
八年级数学教学反思
2016/02/17 职场文书
Python数据清洗工具之Numpy的基本操作
2021/04/22 Python
Python使用Opencv打开笔记本电脑摄像头报错解问题及解决
2022/06/21 Python