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 相关文章推荐
js获取某月的最后一天日期的简单实例
Jun 22 Javascript
js自动查找select下拉的菜单并选择(示例代码)
Feb 26 Javascript
javascript:window.open弹出窗口的位置问题
Mar 18 Javascript
离开当前页面前使用js判断条件提示是否要离开页面
May 02 Javascript
javascript实现模拟时钟的方法
May 13 Javascript
require.js的用法详解
Oct 20 Javascript
分享15个大家都熟知的jquery小技巧
Dec 02 Javascript
BootStrap.css 在手机端滑动时右侧出现空白的原因及解决办法
Jun 07 Javascript
点击按钮出现60秒倒计时的简单js代码(推荐)
Jun 07 Javascript
ES6字符串模板,剩余参数,默认参数功能与用法示例
Apr 06 Javascript
JS跳转手机站url的若干注意事项
Oct 18 Javascript
说说Vuex的getters属性的具体用法
Apr 15 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开发需要注意的安全问题
2010/09/01 PHP
解析thinkphp中的导入文件标签
2013/06/20 PHP
Zend Framework教程之模型Model用法简单实例
2016/03/04 PHP
FormValid0.5版本发布,带ajax自定义验证例子
2007/08/17 Javascript
javascript中取前n天日期的两种方法分享
2014/01/26 Javascript
express的中间件basicAuth详解
2014/12/04 Javascript
jquery判断密码强度的验证代码
2020/04/22 Javascript
图解Sublime Text3使用技巧
2015/12/21 Javascript
jQuery Mobile框架中的表单组件基础使用教程
2016/05/17 Javascript
微信小程序 数据绑定详解及实例
2016/10/25 Javascript
JavaScript获取当前时间向前推三个月的方法示例
2017/02/04 Javascript
JavaScript轻松创建级联函数的方法示例
2017/02/10 Javascript
jquery中$.fn和图片滚动效果实现的必备知识总结
2017/04/21 jQuery
原生js的ajax和解决跨域的jsonp(实例讲解)
2017/10/16 Javascript
node前端模板引擎Jade之标签的基本写法
2018/05/11 Javascript
重学JS之显示强制类型转换详解
2019/06/30 Javascript
Vue使用NProgress进度条的方法
2019/09/21 Javascript
vue源码中的检测方法的实现
2019/09/26 Javascript
在vue中使用jsx语法的使用方法
2019/09/30 Javascript
ZK中使用JS读取客户端txt文件内容问题
2019/11/07 Javascript
JS通用方法触发点击事件代码实例
2020/02/17 Javascript
vue 自定义组件的写法与用法详解
2020/03/04 Javascript
urllib2自定义opener详解
2014/02/07 Python
python脚本实现分析dns日志并对受访域名排行
2014/09/18 Python
Python读取mp3中ID3信息的方法
2015/03/05 Python
python实现对excel进行数据剔除操作实例
2017/12/07 Python
深入浅析python 中的匿名函数
2018/05/21 Python
一个可以套路别人的python小程序实例代码
2019/04/09 Python
python 画出使用分类器得到的决策边界
2019/08/21 Python
Pyqt5 关于流式布局和滚动条的综合使用示例代码
2020/03/24 Python
世界领先的艺术图书出版社:TASCHEN
2018/07/23 全球购物
企业公益活动策划方案
2014/08/24 职场文书
骨干教师事迹材料
2014/12/17 职场文书
2016年离婚协议书范文
2016/03/18 职场文书
2016年青少年禁毒宣传教育活动总结(学校)
2016/04/05 职场文书
Spring Data JPA的Audit功能审计数据库的变更
2021/06/26 Java/Android