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 相关文章推荐
Jvascript学习实践案例(开发常用)
Jun 25 Javascript
jQuery阻止同类型事件小结
Apr 19 Javascript
javascript向后台传送相同属性的参数即数组参数
Feb 17 Javascript
Javascript中引用示例介绍
Feb 21 Javascript
Angularjs中controller的三种写法分享
Sep 21 Javascript
js数字计算 误差问题的快速解决方法
Feb 28 Javascript
基于Vue2.0的分页组件
Mar 16 Javascript
input输入框内容实时监测(附代码)
Aug 15 Javascript
Vue.js表单标签中的单选按钮、复选按钮和下拉列表的取值问题
Nov 22 Javascript
JS实现商品橱窗特效
Jan 09 Javascript
Vue CLI4 Vue.config.js标准配置(最全注释)
Jun 05 Javascript
JS实现鼠标移动拖尾
Dec 27 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/13 PHP
php实现Mongodb自定义方式生成自增ID的方法
2015/03/23 PHP
php编写的一个E-mail验证类
2015/03/25 PHP
PHP连接Nginx服务器并解析Nginx日志的方法
2015/08/16 PHP
php获取数据库中数据的实现方法
2017/06/01 PHP
thinkPHP事务操作简单案例分析
2019/10/17 PHP
js showModalDialog 弹出对话框的简单实例(子窗体)
2014/01/07 Javascript
javascript跨域原因以及解决方案分享
2015/04/08 Javascript
Jquery 效果使用详解
2015/11/23 Javascript
基于jQuery实现二级下拉菜单效果
2016/02/01 Javascript
Hammer.js+轮播原理实现简洁的滑屏功能
2016/02/02 Javascript
JavaScript+canvas实现七色板效果实例
2016/02/18 Javascript
基于JS如何实现类似QQ好友头像hover时显示资料卡的效果(推荐)
2016/06/09 Javascript
基于JavaScript实现本地图片预览
2017/02/08 Javascript
JS利用cookies设置每隔24小时弹出框
2017/04/20 Javascript
Angular4学习教程之HTML属性绑定的方法
2018/01/04 Javascript
解决vue处理axios post请求传参的问题
2018/03/05 Javascript
用JavaScript实现贪吃蛇游戏
2020/10/23 Javascript
[05:02]2014DOTA2 TI中国区预选赛精彩TOPPLAY第三弹
2014/06/25 DOTA
Python中定时任务框架APScheduler的快速入门指南
2017/07/06 Python
如何优雅地处理Django中的favicon.ico图标详解
2018/07/05 Python
python使用response.read()接收json数据的实例
2018/12/19 Python
python基于itchat模块实现微信防撤回
2019/04/29 Python
使用Python轻松完成垃圾分类(基于图像识别)
2019/07/09 Python
python里的单引号和双引号的有什么作用
2020/06/17 Python
ellesse美国官方商店:意大利高级运动服品牌
2019/10/29 全球购物
小学二年级评语
2014/04/21 职场文书
建材投资建议书
2014/05/16 职场文书
学雷锋志愿者活动总结
2014/06/27 职场文书
我们的节日国庆活动方案
2014/08/19 职场文书
2014年新教师工作总结
2014/11/08 职场文书
2015政治思想表现评语
2015/03/25 职场文书
2016同学毕业寄语大全
2015/12/04 职场文书
如何利用map实现Nginx允许多个域名跨域
2021/03/31 Servers
Pytorch GPU内存占用很高,但是利用率很低如何解决
2021/06/01 Python
总结python多进程multiprocessing的相关知识
2021/06/29 Python