ios连接WiFi进行portal认证,打开微信时报错,提示:打开页面时出错,热点登录打不开该网页,因为无法重定向到以“weixin:”开头的网址。如图
网上99.99%的解决方案是这个,点击查看
这里吐槽一下,这些人也不知道自己测过没有,就拿来发文章,一个劲的抄抄抄,严重影响阅览质量和心情。
这个解决方案亲测不行,不知道是不是我的环境原因。
解决思路:在safari浏览器中执行 window.location.href = “weixin://” 即可打开微信客户端
那如何从苹果的WiFi连接界面中跳转到safari?
使用html a标签的 target="_blank" 属性,这样会询问是否打开默认的safari浏览器。
示例代码:
<body style="text-align: center;">
<div>
<img src="imgs/auth_index.png" alt="" width="100%">
</div>
<div>
<div class="goToAuth"><a href="javascript:void(0)">点此认证上网</a></div>
</div>
<a id="iphone" href="" target="_blank" style="display:none;"><span id="span">iphone ios</span></a>
<script>
$(document).ready(function(){
function getOS() { // 获取当前操作系统
var os;
if (navigator.userAgent.indexOf('Android') > -1 || navigator.userAgent.indexOf('Linux') > -1) {
os = 'Android';
} else if (navigator.userAgent.indexOf('iPhone') > -1) {
os = 'iOS';
} else if (navigator.userAgent.indexOf('Windows Phone') > -1) {
os = 'WP';
} else {
os = 'Others';
}
return os;
}
var key = window.location.search.substring(1);
$(".goToAuth").on("click",function () {
//ios自动跳转到safari浏览器
if("iOS" === getOS()){
$("#iphone").attr("href", '/sendAuthMsgToMqtt?'+key);
$("#span").trigger("click");
}else{
window.location.href='/sendAuthMsgToMqtt?'+key
}
});
})
</script>
</body>