ios端vue项目禁用微信分享跳转项目后返回禁用失效问题解决
问题:首次在微信端打开项目时,禁用微信分享成功,由于业务需要,会跳转到其他项目,从其他项目再跳回项目会禁用微信分享失效,此问题在ios端会出现,在Android设备上没有此问题。解决方案如下所示:
window.onload = function() {
// 判断是否是ios设备
let u = navigator.userAgent;
let isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
// ios端 禁止分享失效解决方法,
if(isiOS && isWeixin()){ //如果是ios和微信设备才重新加载
let isPageHide = false;
window.addEventListener('pageshow', function () {
if (isPageHide) {
window.location.reload();
}
});
window.addEventListener('pagehide', function () {
isPageHide = true;
});
}
};
其他:
window.onload = function() {
(function (i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () {
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date(); a = s.createElement(o),
m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m)
})(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');
ga('create', 'UA-78088308-20', 'auto');
ga('send', 'pageview');
// 阻止IOS双击放大
var lastTouchEnd = 0;
document.addEventListener('touchstart', function(event) {
if (event.touches.length > 1) {
event.preventDefault();
}
});
document.addEventListener('touchend', function(event) {
var now = (new Date()).getTime();
if (now - lastTouchEnd <= 300) {
event.preventDefault();
}
lastTouchEnd = now;
}, false);
// 阻止IOS双指放大
document.addEventListener('gesturestart', function(event) {
event.preventDefault();
});
// 判断是否是ios设备
let u = navigator.userAgent;
let isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
// ios端 禁止分享失效解决方法,
if(isiOS && isWeixin()){ //如果是ios和微信设备才重新加载
let isPageHide = false;
window.addEventListener('pageshow', function () {
if (isPageHide) {
window.location.reload();
}
});
window.addEventListener('pagehide', function () {
isPageHide = true;
});
}
};