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不同页面传值的改进版
Sep 30 Javascript
jQuery 点击图片跳转上一张或下一张功能的实现代码
Mar 12 Javascript
VBS通过WMI监视注册表变动的代码
Oct 27 Javascript
js实现鼠标点击文本框自动选中内容的方法
Aug 20 Javascript
基于jQuery全屏焦点图左右切换插件responsiveslides
Sep 07 Javascript
jquery悬浮提示框完整实例
Jan 13 Javascript
深入理解JavaScript中为什么string可以拥有方法
May 24 Javascript
JS &amp; JQuery 动态添加 select option
Jun 08 Javascript
微信小程序技巧之show内容展示,上传文件编码问题
Jan 23 Javascript
JS+HTML5实现图片在线预览功能
Jul 22 Javascript
JS返回顶部实例代码
Aug 09 Javascript
JavaScript跳出循环的三种方法(break, return, continue)
Jul 30 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图片缩放类)
2014/03/14 PHP
PHP获取远程图片并保存到本地的方法
2015/05/12 PHP
2款PHP无限级分类实例代码
2015/11/11 PHP
详解yii2使用多个数据库的案例
2017/06/16 PHP
PHP实现的redis主从数据库状态检测功能示例
2017/07/20 PHP
PHP实现网站访问量计数器
2017/10/27 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
2017/12/21 PHP
使用jquery给input和textarea设定ie中的focus
2008/05/29 Javascript
js中根据字数截取字符串,不能截断url
2012/01/12 Javascript
javascript继承之为什么要继承
2012/11/10 Javascript
JavaScript中的await/async的作用和用法
2016/10/31 Javascript
浅谈nodejs中的类定义和继承的套路
2017/07/26 NodeJs
vue微信分享出来的链接点开是首页问题的解决方法
2018/11/28 Javascript
小程序的上传文件接口的注意要点解析
2019/09/17 Javascript
[07:03]显微镜下的DOTA2第九期——430圣堂刺客杀戮秀
2014/06/20 DOTA
[01:03:42]VP vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python实现 版本号对比功能的实例代码
2019/04/18 Python
python 模拟银行转账功能过程详解
2019/08/06 Python
python语言线程标准库threading.local解读总结
2019/11/10 Python
Python通过4种方式实现进程数据通信
2020/03/12 Python
Python如何执行精确的浮点数运算
2020/07/31 Python
使用HTML和CSS3绘制基本卡通图案的示例分享
2015/11/06 HTML / CSS
10个最常见的HTML5面试题 附答案
2016/06/06 HTML / CSS
Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型
2013/10/30 面试题
园林设计师自荐信
2013/11/18 职场文书
企业内控岗位的职责
2014/02/07 职场文书
工会主席事迹材料
2014/06/03 职场文书
淘宝客服工作职责
2014/07/11 职场文书
镇创先争优活动总结
2014/08/28 职场文书
2015年预备党员自我评价
2015/03/04 职场文书
2015年销售内勤工作总结
2015/04/27 职场文书
给下属加薪申请报告
2015/05/15 职场文书
现货白银电话营销话术
2015/05/29 职场文书
完美处理python与anaconda环境变量的冲突问题
2021/04/07 Python
Win11 Beta 预览版 22621.575 和 22622.575更新补丁KB5016694发布(附更新内容大全)
2022/08/14 数码科技