网页封装iosAPP,超链接跳出浏览器问题



网页封装iosAPP,超链接跳出浏览器问题

将手机网页封装成app也是行业中的一些基本操作,但是对于十分折腾人的ios而言,可能一个简单的app封装都没那么容易搞定,因为如果直接的网页封装,里面的所有超链接,都会在点击之后从app跳出,进入ios的浏览器。这对于用户而言是非常不好的体验。因为都是每个链接都跳到浏览器了,那封装的意义在哪里?所以我也搞不懂ios这种反人类操作是为了什么,反正安卓的封装就可以好端端的搞定。
所以,再次差评,垃圾ios毁我青春。

解决方案如下,在网站的全局js中或者全局头部加如下代码:

<script type="text/javascript">
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>

具体的含义解释就是,监听整个页面的a标签点击事件,拦截默认的跳转,而是读取超链接的href属性,再通过js的形式进行跳转,这样就完全避免了ios封装内跳出的问题。

本站资源均是开源无限制,无需续费无需授权,欢迎来搬砖。
如果您找不到合适的资源,请联系我们,告知您的需求,我们会在24小时内整理发布。
资源全部来自网络收集和整理,仅供学习之用,请于下载后24小时自行删除!
网博士网络 » 网页封装iosAPP,超链接跳出浏览器问题

即日起本站所有资源打包出售,包含本站和发布的所有资源、演示站资源,全部资源开源无限制打包只需1000。

立即抢购