QUESTIONS 问题:
1. iPhone上使用微信扫码进入公众号内页,页面跳转后返回,出现样式错乱(但是刷新后恢复正常,安卓手机一直正常,未出现问题)。
PS: 该问题仍未解决,猜测是返回时css加载问题,暂定在该页面返回时禁用浏览器自带的返回事件,手动定向到之前页面。
1. iPhone上使用微信扫码进入公众号内页,页面跳转后返回,出现样式错乱(但是刷新后恢复正常,安卓手机一直正常,未出现问题)。
PS: 该问题仍未解决,猜测是返回时css加载问题,暂定在该页面返回时禁用浏览器自带的返回事件,手动定向到之前页面。
2. 在特定页面点击返回按钮,关闭当前页面。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
<script>
$(function () {
// 不调用该方法,浏览器执行的仍是自带的默认返回事件
pushHistory();
window.addEventListener("popstate", function(e) {
pushHistory();
// 下面写上自定义的希望浏览器返回的时候执行的事件
// 1. 点击返回时手动跳转相应页面
// location.href = "xxxx";
//
// 2. 由于该项目只有微信和支付宝,因此通过是否存在openid进行判断
if (open_id) {
WeixinJSBridge.call('closeWindow'); // 关闭微信页面窗口
} else {
AlipayJSBridge.call('closeWebview'); // 关闭支付宝页面窗口
}
// PS: BLightApp.closeWindow(); //关闭百度钱包页面窗口
}, false);
function pushHistory() {
var state = {
title: "title",
url: "#"
};
window.history.pushState(state, "title", "#");
}
})
</script>
</body>
</html>