此方法可以实现微信内置浏览器跳转到手机其它浏览器,现在网上其它的方法都只是一个页面,让访问者自己手动点右上角浏览器打开,而这个不同,是可以直接自动跳转的。

安卓访问时可以直接自动跳转浏览器;IOS就复杂一点了,需要点一下然后借助手机淘宝才可以跳转。

下面是全部代码,已经做了安卓和IOS的适配。需要替换其中要跳转的网址,然后保存为php文件,在微信内访问即可实现自动跳转:


<?php
error_reporting(0);
if($_GET['open']==1 && strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger')!==false){
header("Content-Disposition: attachment; filename=\"load.doc\"");
header("Content-Type: application/xxxx");
}
?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Welcome</title>
    <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport"/>
    <meta content="yes" name="apple-mobile-web-app-capable"/>
    <meta content="black" name="apple-mobile-web-app-status-bar-style"/>
    <meta name="format-detection" content="telephone=no"/>
    <meta content="false" name="twcClient" id="twcClient"/>
    <style>
body,html{width:100%;height:100%}
*{margin:0;padding:0}
body{background-color:#fff}
.top-bar-guidance{font-size:15px;color:#fff;height:40%;line-height:1.8;padding-left:20px;padding-top:20px;background:url(//gw.alicdn.com/tfs/TB1eSZaNFXXXXb.XXXXXXXXXXXX-750-234.png) center top/contain no-repeat}
.top-bar-guidance .icon-safari{width:25px;height:25px;vertical-align:middle;margin:0 .2em}
.app-download-btn{display:block;width:214px;height:40px;line-height:40px;margin:18px auto 0 auto;text-align:center;font-size:18px;color:#2466f4;border-radius:20px;border:.5px #2466f4 solid;text-decoration:none}
    </style>
</head>
<body>
<div class="top-bar-guidance">
    <p>点击右上角<img src="//gw.alicdn.com/tfs/TB1xwiUNpXXXXaIXXXXXXXXXXXX-55-55.png" class="icon-safari" /> Safari打开</p>
    <p>可以继续访问本站哦~</p>
</div>
<a class="app-download-btn" id="BtnClick" href="javascript:;">
    点此继续访问
</a>
<script>

var url = 'http://blog.cccyun.cn/'; //填写要跳转到的网址

document.querySelector('body').addEventListener('touchmove', function (event) {
	event.preventDefault();
});
window.mobileUtil = (function(win, doc) {
	var UA = navigator.userAgent,
		isAndroid = /android|adr/gi.test(UA),
		isIOS = /iphone|ipod|ipad/gi.test(UA) && !isAndroid,
		isBlackBerry = /BlackBerry/i.test(UA),
		isWindowPhone = /IEMobile/i.test(UA),
		isMobile = isAndroid || isIOS || isBlackBerry || isWindowPhone;
	return {
		isAndroid: isAndroid,
		isIOS: isIOS,
		isMobile: isMobile,
		isWeixin: /MicroMessenger/gi.test(UA),
		isQQ: /QQ/gi.test(UA)
	};
})(window, document);

if(mobileUtil.isWeixin){
	if(mobileUtil.isIOS){
		url = "https://t.asczwa.com/taobao?backurl=" + encodeURIComponent(url);
		document.getElementById('BtnClick').href=url;
	}else if(mobileUtil.isAndroid){
		url = '?open=1';
		document.getElementById('BtnClick').href=url;
		var iframe = document.createElement("iframe");
		iframe.style.display = "none";
		iframe.src = url;
		document.body.appendChild(iframe);
	}
}else{
	document.getElementById('BtnClick').href=url;
	window.location.replace(url);
}
//setTimeout('WeixinJSBridge.invoke("closeWindow", {}, function(e) {})', 2000);
</script>
</body>
</html>


欢迎留言

9 条评论

  1. 请教一下,有些安卓手机可以自动跳转到默认浏览器,有些不行是什么原因导致的

    Windows 10 x64 Google Chrome 79.0.3945.88
    1. @hugo:这个是跳转到QQ浏览器、UC浏览器的

      Windows 10 x64 Google Chrome 69.0.3497.100
  2. 楼主发的这个很实用啊,非常感谢~

    Windows 10 x64 Sogou Explorer
  3. 这个跳转到浏览器后会弹出个下载,怎么删除?

    Windows 7 Google Chrome 55.0.2883.87
    1. @微电影院:在
      header("Content-Type: application/vnd.ms-word;charset=utf-8");
      之后添加
      header("Content-Type: html/text;charset=utf-8");
      即可

      Windows 10 x64 Edge 17.17134
      1. @SuperPx:不行呀,加了就跳转不了了

        Windows 10 x64 Google Chrome 64.0.3282.204