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 相关文章推荐
比较全面的event对像在IE与FF中的区别 推荐
Sep 21 Javascript
jQuery插件jQuery-JSONP开发ajax调用使用注意事项
Nov 22 Javascript
浅谈类似于(function(){}).call()的js语句
Mar 30 Javascript
用原生js统计文本行数的简单示例
Aug 19 Javascript
jQuery遍历节点方法汇总(推荐)
May 13 jQuery
javascript深拷贝、浅拷贝和循环引用深入理解
May 27 Javascript
JavaScript函数式编程(Functional Programming)声明式与命令式实例分析
May 21 Javascript
微信小程序下拉加载和上拉刷新两种实现方法详解
Sep 05 Javascript
node.js使用mongoose操作数据库实现购物车的增、删、改、查功能示例
Dec 23 Javascript
Vue 实现v-for循环的时候更改 class的样式名称
Jul 17 Javascript
解决Vue中的生命周期beforeDestory不触发的问题
Jul 21 Javascript
Vue时间轴 vue-light-timeline的用法说明
Oct 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
《PHP编程最快明白》第八讲:php启发和小结
2010/11/01 PHP
php数组去重实例及分析
2013/11/26 PHP
destoon利用Rewrite规则设置网站安全
2014/06/21 PHP
10个值得深思的PHP面试题
2016/11/14 PHP
php面向对象的用户登录身份验证
2017/06/08 PHP
建议大家看下JavaScript重要知识更新
2007/07/08 Javascript
从数组中随机取x条不重复数据的JS代码
2013/12/24 Javascript
JavaScript中用getDate()方法返回指定日期的教程
2015/06/09 Javascript
jquery序列化方法实例分析
2015/06/10 Javascript
js调出上下文菜单的实例
2015/12/17 Javascript
js自调用匿名函数的三种写法(推荐)
2016/08/19 Javascript
AngularJs Forms详解及简单示例
2016/09/01 Javascript
解决前端跨域问题方案汇总
2016/11/20 Javascript
关于Angular2 + node接口调试的解决方案
2017/05/28 Javascript
浅谈 Vue v-model指令的实现原理
2017/06/08 Javascript
Easyui使用Dialog行内按钮布局的实例
2017/07/27 Javascript
深入理解react 组件类型及使用场景
2019/03/07 Javascript
详解element上传组件before-remove钩子问题解决
2020/04/08 Javascript
原生JavaScript实现贪吃蛇游戏
2020/11/04 Javascript
python里对list中的整数求平均并排序
2014/09/12 Python
详解Python实现按任意键继续/退出的功能
2016/08/19 Python
python使用folium库绘制地图点击框
2018/09/21 Python
python中的for循环
2018/09/28 Python
python web框架Flask实现图形验证码及验证码的动态刷新实例
2019/10/14 Python
Flask框架 CSRF 保护实现方法详解
2019/10/30 Python
Python 一行代码能实现丧心病狂的功能
2020/01/18 Python
python基于exchange函数发送邮件过程详解
2020/11/06 Python
韩国休闲女装品牌网站:ANAIS
2016/08/24 全球购物
巴西葡萄酒销售网站:Wine.com.br
2017/11/07 全球购物
eBay澳大利亚站:eBay.com.au
2018/02/02 全球购物
英国最大的海报商店:GB Posters
2018/03/20 全球购物
党员自我批评与反省材料
2014/02/10 职场文书
工作睡觉检讨书
2014/02/25 职场文书
会计核算科岗位职责
2014/03/19 职场文书
竞争上岗演讲稿范文
2014/05/12 职场文书
职工趣味运动会开幕词
2016/03/04 职场文书