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 (用setTimeout而非setInterval)
Dec 28 Javascript
Jquery插件easyUi表单验证提交(示例代码)
Dec 30 Javascript
javascript 寻找错误方法整理
Jun 15 Javascript
jquery实现简单的自动播放幻灯片效果
Jun 13 Javascript
第四篇Bootstrap网格系统偏移列和嵌套列
Jun 21 Javascript
jQuery简单注册和禁用全局事件的方法
Jul 25 Javascript
AngularJS中$injector、$rootScope和$scope的概念和关联关系深入分析
Jan 19 Javascript
vue-resource 拦截器使用详解
Feb 21 Javascript
JS双向链表实现与使用方法示例(增加一个previous属性实现)
Jan 31 Javascript
Openlayers+EasyUI Tree动态实现图层控制
Sep 28 Javascript
vue通过接口直接下载java生成好的Excel表格案例
Oct 26 Javascript
echarts柱状图背景重叠组合而非并列的实现代码
Dec 10 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
杏林同学录(八)
2006/10/09 PHP
PHP函数学习之PHP函数点评
2012/07/05 PHP
PHP 利用AJAX获取网页并输出的实现代码(Zjmainstay)
2012/08/31 PHP
php禁用函数设置及查看方法详解
2016/07/25 PHP
Use Word to Search for Files
2007/06/15 Javascript
学习ExtJS Column布局
2009/10/08 Javascript
Ext grid 添加右击菜单
2009/11/26 Javascript
基于js disabled=&quot;false&quot;不起作用的解决办法
2013/06/26 Javascript
JS滚轮事件onmousewheel使用介绍
2013/11/01 Javascript
JQuery性能优化的几点建议
2014/05/14 Javascript
JavaScript中的变量定义与储存介绍
2014/12/31 Javascript
Jquery代码实现图片轮播效果(一)
2015/08/12 Javascript
VUE开发一个图片轮播的组件示例代码
2017/03/06 Javascript
Node调用Java的示例代码
2017/09/20 Javascript
35个最好用的Vue开源库(史上最全)
2019/01/03 Javascript
微信小程序自定义toast组件的方法详解【含动画】
2019/05/11 Javascript
JavaScript实现省市联动效果
2019/11/22 Javascript
详解vue 组件
2020/06/11 Javascript
[52:52]完美世界DOTA2联赛PWL S3 LBZS vs access 第一场 12.10
2020/12/13 DOTA
python清除字符串里非数字字符的方法
2015/07/02 Python
python中requests使用代理proxies方法介绍
2017/10/25 Python
用python实现对比两张图片的不同
2018/02/05 Python
python 获取当天凌晨零点的时间戳方法
2018/05/22 Python
python opencv读mp4视频的实例
2018/12/07 Python
python 内置模块详解
2019/01/01 Python
Python小白必备的8个最常用的内置函数(推荐)
2019/04/03 Python
Python 实现向word(docx)中输出
2020/02/13 Python
如何提高SQL Server的安全性
2016/07/25 面试题
幼儿园新学期寄语
2014/01/18 职场文书
视光学毕业生自荐书范文
2014/02/13 职场文书
《北大荒的秋天》教学反思
2014/04/14 职场文书
个人委托书范文
2015/01/28 职场文书
资料员岗位职责
2015/02/10 职场文书
2015小学语文教师个人工作总结
2015/05/20 职场文书
关于教师节的广播稿
2015/08/19 职场文书
MySQL 自动填充 create_time 和 update_time
2022/05/20 MySQL