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 相关文章推荐
javascript延时加载之defer测试
Dec 28 Javascript
javascript实现淘宝幻灯片广告展示效果
Apr 27 Javascript
javascript检查某个元素在数组中的索引值
Mar 30 Javascript
javascript实现起伏的水波背景效果
May 16 Javascript
Ionic默认的Tabs模板使用实例
Aug 29 Javascript
微信小程序 教程之模板
Oct 18 Javascript
关于angularJs清除浏览器缓存的方法
Nov 28 Javascript
vue.js添加一些触摸事件以及安装fastclick的实例
Aug 28 Javascript
JavaScript时间与时间戳的转换操作实例分析
Dec 07 Javascript
JS函数动态传递参数的方法分析【基于arguments对象】
Jun 05 Javascript
微信小程序云开发获取文件夹下所有文件(推荐)
Nov 14 Javascript
es6中new.target的作用和使用场景简单示例分析
Mar 14 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
深入PHP与浏览器缓存的分析
2013/06/03 PHP
一个简单的javascript类定义例子
2009/09/12 Javascript
jQuery 改变CSS样式基础代码
2010/02/11 Javascript
jQuery为iframe的body添加click事件的实现代码
2011/04/07 Javascript
浅谈js中字符和数组一些基本算法题
2016/08/15 Javascript
JS正则表达式之非捕获分组用法实例分析
2016/12/28 Javascript
jQuery仿IOS弹出框插件
2017/02/18 Javascript
js实现按座位号抽奖
2017/04/05 Javascript
JavaScript之json_动力节点Java学院整理
2017/06/29 Javascript
jQuery DOM节点的遍历方法小结
2017/08/15 jQuery
浅谈react受控组件与非受控组件(小结)
2018/02/09 Javascript
JS使用队列对数组排列,基数排序算法示例
2019/03/02 Javascript
JS中的防抖与节流及作用详解
2019/04/01 Javascript
vue3 源码解读之 time slicing的使用方法
2019/10/31 Javascript
Flexible.js可伸缩布局实现方法详解
2020/11/13 Javascript
[00:36]DOTA2上海特级锦标赛 Alliance战队宣传片
2016/03/04 DOTA
Windows和Linux下使用Python访问SqlServer的方法介绍
2015/03/10 Python
python中dir函数用法分析
2015/04/17 Python
简单谈谈python中的多进程
2016/11/06 Python
python处理csv数据动态显示曲线实例代码
2018/01/23 Python
django从请求到响应的过程深入讲解
2018/08/01 Python
python2与python3中关于对NaN类型数据的判断和转换方法
2018/10/30 Python
树莓派3 搭建 django 服务器的实例
2019/08/29 Python
Python3.6+selenium2.53.6自动化测试_读取excel文件的方法
2019/09/06 Python
使用Pandas的Series方法绘制图像教程
2019/12/04 Python
用python爬取历史天气数据的方法示例
2019/12/30 Python
python使用Word2Vec进行情感分析解析
2020/07/31 Python
基于python实现坦克大战游戏
2020/10/27 Python
html5/css3响应式页面开发总结
2018/10/16 HTML / CSS
加拿大约会网站:EliteSingles.ca
2018/01/12 全球购物
eBay比利时购物网站:eBay.be
2019/08/09 全球购物
旅游管理专业生自荐信范文
2014/01/02 职场文书
电焊工工作岗位职责
2014/02/06 职场文书
实习生求职自荐信
2014/02/07 职场文书
房地产财务部员工岗位职责
2014/03/12 职场文书
python识别围棋定位棋盘位置
2021/07/26 Python