|
@@ -415,27 +415,42 @@
|
|
|
|
|
|
|
|
// claim bonus 超过1秒自动跳转到下载页
|
|
// claim bonus 超过1秒自动跳转到下载页
|
|
|
document.addEventListener('DOMContentLoaded', function () {
|
|
document.addEventListener('DOMContentLoaded', function () {
|
|
|
|
|
+ const urlScheme = `anc://page/<%= id %>`
|
|
|
const userAgent = navigator.userAgent || navigator.vendor || window.opera;
|
|
const userAgent = navigator.userAgent || navigator.vendor || window.opera;
|
|
|
|
|
+ const isFacebookBrowser = navigator.userAgent.match(/FBAN|FBAV/i);
|
|
|
|
|
+ const isWeChatBrowser = /micromessenger/i.test(userAgent);
|
|
|
|
|
+ const isAndroid = /android/i.test(userAgent);
|
|
|
|
|
+ const isIOS = /iPad|iPhone|iPod/.test(userAgent) && !window.MSStream;
|
|
|
|
|
+
|
|
|
// 检查 URL 中是否包含 check=1 参数
|
|
// 检查 URL 中是否包含 check=1 参数
|
|
|
const urlParams = new URLSearchParams(window.location.search);
|
|
const urlParams = new URLSearchParams(window.location.search);
|
|
|
const hasCheckParam = urlParams.has('check');
|
|
const hasCheckParam = urlParams.has('check');
|
|
|
// 定义下载页面 URL(与 Download App 按钮保持一致)
|
|
// 定义下载页面 URL(与 Download App 按钮保持一致)
|
|
|
const downloadUrl = document.querySelector('.btn-secondary').href;
|
|
const downloadUrl = document.querySelector('.btn-secondary').href;
|
|
|
|
|
|
|
|
- // =============== 新增: Facebook 应用内浏览器检测 ===============
|
|
|
|
|
- const isFacebookBrowser = navigator.userAgent.match(/FBAN|FBAV/i);
|
|
|
|
|
- const isAndroid = /android/i.test(userAgent);
|
|
|
|
|
-
|
|
|
|
|
- if (isFacebookBrowser && isAndroid) {
|
|
|
|
|
|
|
+ if (isFacebookBrowser) {
|
|
|
console.log("检测到Facebook应用内浏览器");
|
|
console.log("检测到Facebook应用内浏览器");
|
|
|
- // 添加Facebook特定的处理逻辑
|
|
|
|
|
- window.location.href = "intent://" + "<%= applink %>".replace(/^https?:\/\//, "") + "#Intent;scheme=https;package=com.pcoloring.art.puzzle.color.by.number;end";
|
|
|
|
|
}
|
|
}
|
|
|
- // =============== Facebook 检测结束 ===============
|
|
|
|
|
|
|
|
|
|
|
|
+ // 微信环境相关
|
|
|
|
|
+ function closeOverlay() {
|
|
|
|
|
+ wechatGuideOverlay.classList.remove('active');
|
|
|
|
|
+ }
|
|
|
|
|
+ const wechatGuideOverlay = document.getElementById('wechat-guide-overlay');
|
|
|
|
|
+ if (isWeChatBrowser) {
|
|
|
|
|
+ wechatGuideOverlay.classList.add('active');
|
|
|
|
|
+ return; // 微信浏览器直接返回,不执行后续自动跳转逻辑
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
// 如果是带 check 参数的页面,则执行拉起检测逻辑
|
|
// 如果是带 check 参数的页面,则执行拉起检测逻辑
|
|
|
if (hasCheckParam) {
|
|
if (hasCheckParam) {
|
|
|
|
|
+
|
|
|
|
|
+ // 通用下载页,一般是在pc浏览器而非android/ios环境,直接跳转,不用等待
|
|
|
|
|
+ if (downloadUrl === 'https://art.pcoloring.com/app') {
|
|
|
|
|
+ window.location.href = downloadUrl;
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
let appLaunched = false;
|
|
let appLaunched = false;
|
|
|
|
|
|
|
|
// 监听页面可见性变化(判断 App 是否被拉起)
|
|
// 监听页面可见性变化(判断 App 是否被拉起)
|
|
@@ -451,23 +466,20 @@
|
|
|
appLaunched = true;
|
|
appLaunched = true;
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
- // 通用下载页,一般是在pc浏览器而非android/ios环境,直接跳转,不用等待
|
|
|
|
|
- if (downloadUrl === 'https://art.pcoloring.com/app') {
|
|
|
|
|
- window.location.href = downloadUrl;
|
|
|
|
|
- } else {
|
|
|
|
|
- // 1 秒后检查是否成功拉起 App
|
|
|
|
|
- setTimeout(function () {
|
|
|
|
|
- if (!appLaunched) {
|
|
|
|
|
- // =============== 修改: 针对Facebook浏览器优化跳转逻辑 ===============
|
|
|
|
|
- if (isFacebookBrowser && isAndroid) {
|
|
|
|
|
- // 在Facebook浏览器中,使用更明显的跳转方式
|
|
|
|
|
- window.location.href = "intent://" + "<%= applink %>".replace(/^https?:\/\//, "") + "#Intent;scheme=https;package=com.pcoloring.art.puzzle.color.by.number;end";
|
|
|
|
|
- } else {
|
|
|
|
|
|
|
+
|
|
|
|
|
+ setTimeout(function () {
|
|
|
|
|
+ if (!appLaunched) {
|
|
|
|
|
+ // 尝试 URL Scheme
|
|
|
|
|
+ window.location.href = urlScheme;
|
|
|
|
|
+
|
|
|
|
|
+ // 再次设置一个更短的定时器,如果 URL Scheme 也失败,则跳转下载页
|
|
|
|
|
+ setTimeout(function () {
|
|
|
|
|
+ if (!appLaunched) {
|
|
|
window.location.href = downloadUrl;
|
|
window.location.href = downloadUrl;
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
- }, 500);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ }, 500); // 500ms 足够判断 URL Scheme 是否有效
|
|
|
|
|
+ }
|
|
|
|
|
+ }, 1000); // 1 秒后检查,给 Universal Link / App Link 足够时间响应
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -512,24 +524,6 @@
|
|
|
imagePlaceholder.innerHTML = '<p>图片加载失败</p>'; // 显示错误提示
|
|
imagePlaceholder.innerHTML = '<p>图片加载失败</p>'; // 显示错误提示
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
- const wechatGuideOverlay = document.getElementById('wechat-guide-overlay');
|
|
|
|
|
-
|
|
|
|
|
- // MARK: 微信环境检测
|
|
|
|
|
- function isWeChatBrowser() {
|
|
|
|
|
- const ua = window.navigator.userAgent.toLowerCase();
|
|
|
|
|
- return ua.includes('micromessenger');
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- function closeOverlay() {
|
|
|
|
|
- wechatGuideOverlay.classList.remove('active');
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- if (isWeChatBrowser()) {
|
|
|
|
|
- wechatGuideOverlay.classList.add('active');
|
|
|
|
|
- console.log("检测到微信浏览器,显示引导层。");
|
|
|
|
|
- } else {
|
|
|
|
|
- wechatGuideOverlay.classList.remove('active'); // 确保隐藏
|
|
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
</script>
|
|
</script>
|
|
|
</body>
|
|
</body>
|