// ============================================================ // Safari 引导弹窗(真正的点击才触发) // ============================================================ function isIOS() { return /iPhone|iPad|iPod/.test(navigator.userAgent); } function isRealSafari() { var ua = navigator.userAgent; if (!isIOS()) return false; var isSafariCore = /Safari/.test(ua); var isOtherBrowser = /CriOS|FxiOS|EdgiOS|OPiOS|GSA|FBAN|FBAV|Instagram|MicroMessenger|Twitter|Line|LinkedIn|Pinterest|Snapchat/.test(ua); var isStandalone = window.navigator.standalone === true; return isSafariCore && !isOtherBrowser && !isStandalone; } function needsSafariPrompt() { return isIOS() && !isRealSafari(); } window.showSafariGate = function () { var gate = document.getElementById('safari-gate'); if (!gate) return; gate.style.display = 'flex'; document.body.style.overflow = 'hidden'; }; window.closeSafariGate = function () { var gate = document.getElementById('safari-gate'); if (!gate) return; gate.style.display = 'none'; document.body.style.overflow = ''; }; (function () { function isClickable(el) { var cur = el; while (cur && cur !== document.body) { if (cur.tagName === 'A' || cur.tagName === 'BUTTON' || cur.tagName === 'INPUT' || cur.tagName === 'SELECT' || cur.tagName === 'TEXTAREA' || cur.tagName === 'LABEL') return true; if (cur.getAttribute && cur.getAttribute('onclick')) return true; if (cur.classList && ( cur.classList.contains('news-card') || cur.classList.contains('hero-main') || cur.classList.contains('hero-side-item') || cur.classList.contains('quick-item') || cur.classList.contains('ranking-row') || cur.classList.contains('glossary-item') || cur.classList.contains('vote-btn-lg') || cur.classList.contains('lang-option') || cur.classList.contains('article-btn') )) return true; cur = cur.parentElement; } return false; } // 触摸跟踪 var touchStartX = 0, touchStartY = 0, touchStartTime = 0; var touchMoved = false; var touchTarget = null; document.addEventListener('touchstart', function (e) { if (!needsSafariPrompt()) return; if (e.target.closest('#safari-gate')) return; var t = e.touches[0]; touchStartX = t.clientX; touchStartY = t.clientY; touchStartTime = Date.now(); touchMoved = false; touchTarget = e.target; }, { passive: true, capture: true }); document.addEventListener('touchmove', function (e) { var t = e.touches[0]; var dx = Math.abs(t.clientX - touchStartX); var dy = Math.abs(t.clientY - touchStartY); // 位移超过 15px 判定为滑动/滚动 if (dx > 15 || dy > 15) touchMoved = true; }, { passive: true, capture: true }); document.addEventListener('touchend', function (e) { if (!needsSafariPrompt()) return; if (e.target.closest('#safari-gate')) return; // 已经滑动了 → 不算点击 if (touchMoved) { touchMoved = false; touchTarget = null; return; } // 长按超过 300ms → 不算点击 var duration = Date.now() - touchStartTime; if (duration > 300) { touchTarget = null; return; } // 松手时手指移开太远 → 不算点击 var t = e.changedTouches[0]; var dx = Math.abs(t.clientX - touchStartX); var dy = Math.abs(t.clientY - touchStartY); if (dx > 15 || dy > 15) { touchTarget = null; return; } // 只有真正"点击可交互元素"才弹窗 var target = touchTarget || e.target; if (isClickable(target)) { e.preventDefault(); e.stopPropagation(); showSafariGate(); touchTarget = null; return false; } touchTarget = null; }, { passive: false, capture: true }); // 桌面端:鼠标点击 document.addEventListener('click', function (e) { if (!needsSafariPrompt()) return; if (e.target.closest('#safari-gate')) return; if (isClickable(e.target)) { e.preventDefault(); e.stopPropagation(); showSafariGate(); return false; } }, true); })();
BTC ETH SOL BNB XRP ADA DOGE AVAX
LIVE
Loading headline...
Loading...
5-Min Market Movers
LIVE MONITOR
Monitoring market movements...
🎯 Today's BTC Sentiment Vote
Do you think BTC will go up or down today? Community votes counted in real time.
🐂
Bullish
--
🐻
Bearish
--
📈 24h Top Gainers
Loading...
📉 24h Top Losers
Loading...

Latest News

Loading news...

Flash News

Loading flash news...

Live Market

Asset Price 24h Mkt Cap
Loading...

Event Calendar

09-20
Bedrock (BR) unlocks ~40.63M tokens (~$10.4M)
Token Unlock
09-21
Thailand SEC crypto ETF regulatory consultation closes
Regulation
09-22
Lista DAO (LISTA) unlocks ~33.44M tokens (~$2.6M)
Token Unlock
09-23
LayerZero (ZRO) unlocks ~25.72M tokens (~$27.5M)
Token Unlock
← Back to News