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 相关文章推荐
一个对于Array的简单扩展
Oct 03 Javascript
动态的改变IFrame的高度实现IFrame自动伸展适应高度
Dec 28 Javascript
Bootstrap carousel轮转图的使用实例详解
May 17 Javascript
AngularJs 国际化(I18n/L10n)详解
Sep 01 Javascript
vue实现ajax滚动下拉加载,同时具有loading效果(推荐)
Jan 11 Javascript
Node.js 使用递归实现遍历文件夹中所有文件
Sep 18 Javascript
webpack3之loader全解析
Oct 26 Javascript
React Native中NavigatorIOS组件的简单使用详解
Jan 27 Javascript
JavaScript 中的 this 工作原理
Jun 20 Javascript
JS Ajax请求会话过期处理问题解决方法分析
Nov 16 Javascript
Openlayers实现扩散的动态点(水纹效果)
Aug 17 Javascript
Nuxt 项目性能优化调研分析
Nov 07 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数组交集的优化代码分析
2011/03/06 PHP
解决php的“It is not safe to rely on the system’s timezone settings”问题
2015/10/08 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
2017/11/14 PHP
在Ubuntu 18.04上安装PHP 7.3 7.2和7.0的方法
2019/04/09 PHP
Yii2.0框架模型多表关联查询示例
2019/07/18 PHP
JS去除数组重复值的五种不同方法
2013/09/06 Javascript
Javascript自定义函数判断网站访问类型是PC还是移动终端
2014/01/10 Javascript
jQuery 滑动方法slideDown向下滑动元素
2014/01/16 Javascript
jQuery支持动态参数将函数绑定到事件上的方法
2015/03/17 Javascript
jQuery简单tab切换效果实现方法
2015/04/08 Javascript
JS+CSS实现分类动态选择及移动功能效果代码
2015/10/19 Javascript
使用JQuery FancyBox插件实现图片展示特效
2015/11/16 Javascript
jQuery防止重复绑定事件的解决方法
2016/05/14 Javascript
Angular指令之restict匹配模式的详解
2017/07/27 Javascript
详解Js中的模块化是如何实现的
2017/10/18 Javascript
dropload.js插件下拉刷新和上拉加载使用详解
2017/10/20 Javascript
JavaScript设计模式之职责链模式应用示例
2018/08/07 Javascript
深入理解javascript prototype的相关知识
2019/09/19 Javascript
layui 地区三级联动 form select 渲染的实例
2019/09/27 Javascript
[01:04:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第二场 1月31日
2021/03/11 DOTA
python获取豆瓣电影简介代码分享
2014/01/16 Python
python中PIL安装简单教程
2016/04/21 Python
Python读取图片属性信息的实现方法
2016/09/11 Python
Python迭代器定义与简单用法分析
2018/04/30 Python
解决Django中多条件查询的问题
2019/07/18 Python
python BlockingScheduler定时任务及其他方式的实现
2019/09/19 Python
TensorFlow tf.nn.softmax_cross_entropy_with_logits的用法
2020/04/19 Python
python实现飞船游戏的纵向移动
2020/04/24 Python
Python中socket网络通信是干嘛的
2020/05/27 Python
keras分类模型中的输入数据与标签的维度实例
2020/07/03 Python
运行python提示no module named sklearn的解决方法
2020/11/29 Python
浅谈HTML5 Web Worker的使用
2018/01/05 HTML / CSS
Expedia意大利旅游网站:酒店、机票和租车预订
2017/10/30 全球购物
乌克兰巴士票购买网站:inBus
2021/03/12 全球购物
就业推荐表院系意见
2015/06/05 职场文书
寒假生活随笔
2015/08/15 职场文书