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数字和字符串转换示例
Mar 26 Javascript
JavaScript使用focus()设置焦点失败的解决方法
Sep 03 Javascript
js实现的牛顿摆效果
Mar 31 Javascript
Bootstrap表单布局样式代码
May 31 Javascript
Bootstrap模态框水平垂直居中与增加拖拽功能
Nov 09 Javascript
用JS动态设置CSS样式常见方法小结(推荐)
Nov 10 Javascript
jQuery窗口拖动功能的实现代码
Feb 04 Javascript
基于JS实现bookstore静态页面的实例代码
Feb 22 Javascript
angular-cli修改端口号【angular2】
Apr 19 Javascript
vue.js数据绑定操作详解
Apr 23 Javascript
分享vue里swiper的一些坑
Aug 30 Javascript
自己动手封装一个React Native多级联动
Sep 19 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图像处理类代码分享
2012/01/19 PHP
php通过隐藏表单控件获取到前两个页面的url
2014/09/09 PHP
PHP汉字转换拼音的函数代码
2015/12/30 PHP
PHP编程计算日期间隔天数的方法
2017/04/26 PHP
PHP操作路由器实现方法示例
2019/04/27 PHP
php libevent 功能与使用方法详解
2020/03/04 PHP
网页自动刷新,不产生嗒嗒声的一个解决方法
2007/03/27 Javascript
javascript中获取选中对象的类型
2007/04/02 Javascript
jquery.validate使用攻略 第五步 正则验证
2010/07/01 Javascript
利用jquery.qrcode在页面上生成二维码且支持中文
2014/02/12 Javascript
javascript实现全角与半角字符的转换
2015/01/07 Javascript
jquery实现弹出层登录和全屏层注册特效
2015/08/28 Javascript
js原生跨域_用script标签的简单实现
2016/09/24 Javascript
jQuery-mobile事件监听与用法详解
2016/11/23 Javascript
bootstarp modal框居中显示的实现代码
2017/02/18 Javascript
EasyUI创建人员树的实例代码
2017/09/15 Javascript
bootstrap模态框弹出和隐藏,动态改变中间内容的实例
2018/08/10 Javascript
JS与SQL方式随机生成高强度密码示例
2018/12/29 Javascript
用 js 写一个 js 解释器过程详解
2019/08/02 Javascript
vue+layui实现select动态加载后台数据的例子
2019/09/20 Javascript
Node.js中console.log()输出彩色字体的方法示例
2019/12/01 Javascript
jquery实现弹窗(系统提示框)效果
2019/12/10 jQuery
python学习之第三方包安装方法(两种方法)
2015/07/30 Python
简介Python设计模式中的代理模式与模板方法模式编程
2016/02/02 Python
python fabric实现远程部署
2017/01/05 Python
python基础教程项目三之万能的XML
2018/04/02 Python
Python3编码问题 Unicode utf-8 bytes互转方法
2018/10/26 Python
Html5实现iPhone开机界面示例代码
2013/06/30 HTML / CSS
乐天旅游台湾网站:Rakuten Travel TW
2017/06/01 全球购物
党的群众路线教育实践活动宣传方案
2014/02/23 职场文书
社会实践先进工作者事迹材料
2014/05/06 职场文书
年度评优评先方案
2014/06/03 职场文书
三八红旗手事迹材料
2014/12/26 职场文书
毕业班班主任工作总结2015
2015/07/23 职场文书
老人院义工活动感想
2015/08/07 职场文书
Python利器openpyxl之操作excel表格
2021/04/17 Python