PageSourceSearch

https://spx.com.my/esf-tool

html spx.com.my collected 2026-10-03 21:21:41 UTC 19,309 bytes, 211 lines download raw bytes

1<!doctype html><html lang="en"><head>
1<script>window.__HTML_LOAD__ = Date.now();
2    window.__NSS_REDIRECTING__ = false;</script>
2<meta charset="utf-8"><link rel="icon" type="image/x-icon" href="/favicon.ico"><link rel="apple-touch-icon" type="image/png" href="/favicon.png"><meta name="viewport" content="width=device-width,initial-scale=0.3,shrink-to-fit=no,user-scalable=yes"><meta name="theme-color" content="#000000"><meta http-equiv="X-UA-Compatible" content="IE=Edge"/><meta name="description" content="Experience fast and reliable courier deliveries with SPX Express Malaysia. Get status updates of your parcels easily with a tracking number that tracks shipment to drop off."><title>SPX Express Courier, Delivery and Tracking | SPX Malaysia</title>
2<script async src="https://deo.shopeemobile.com/shopee/test/ssc-fe/vision/runtime/vision-runtime.min.0.2.9.js"/>
2<script>try {
3      if (location.hostname.slice(-2) !== 'tw') {
4        if (!location.pathname.includes('dev-login-redirect')) {
5          const headers = {};
6          if (location.origin.indexOf('citylink') !== -1) {
7            headers['X-source'] = 'ctl';
8          }
9          fetch('/shipment/account/api/base_info/detail', {
10            headers,
11          })
12            .then(res => res.json())
13            .then(data => {
14              window.__preload_user_info = data;
15            })
16            .catch(e => { });
17        }
18      }
19    } catch (e) { }</script>
19<script>try {
20      if (window.__NSS_REGION__ !== 'tw') {
21        fetch('/shipment/account/website/config-center/get', {
22          method: 'POST',
23          headers: {
24            'Content-Type': 'application/json',
25          },
26          body: JSON.stringify([{ group: 'Feature' }]),
27        }).then((res) => res.json()).then((res) => {
28          if (res.retcode === 0) {
29            window.__nss_preload_apollo_config = res.data;
30          }
31        });
32      };
33    } catch (e) {}</script>
33<script>// 历史逻辑,处理shopeexpress->spx的域名跳转
34    const hostname = window.location.hostname;
35    if (hostname.indexOf('shopeexpress') !== -1 || hostname.indexOf('spx') !== -1) {
36      window.region = hostname.substr(-2).toUpperCase();
37    }
38    if (window.region !== 'BR' && window.location.origin.indexOf('shopeexpress') !== -1) {
39      window.__NSS_REDIRECTING__ = true;
40      window.location.replace(window.location.href.replace('shopeexpress', 'spx'));
41    }</script>
41<script>try {
42      var uuid = function () {
43        return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
44          var r = (Math.random() * 16) | 0;
45          var v = c === 'x' ? r : (r & 0x3) | 0x8;
46          return v.toString(16);
47        });
48      }
49      var getSessionId = function() {
50        var sessionId = sessionStorage.getItem('ssc_reporter_sessionId')
51        if (sessionId) {return sessionId;}
52        sessionId = uuid();
53        sessionStorage.setItem('ssc_reporter_sessionId', sessionId);
54        return sessionId;
55      };
56      var getDeviceId = function() {
57        var deviceId = localStorage.getItem('ssc_reporter_deviceId')
58        if (deviceId) {return deviceId;}
59        deviceId = uuid();
60        localStorage.setItem('ssc_reporter_deviceId', deviceId);
61        return deviceId;
62      };
63      var getReferrer = function() {
64        var _referrer = sessionStorage.getItem('ssc_reporter_referrer');
65        if (_referrer !== null) {return _referrer;}
66        _referrer = document.referrer || '';
67        sessionStorage.setItem('ssc_reporter_referrer', _referrer);
68        return _referrer;
69      }
70      const uid = window.__preload_user_info && window.__preload_user_info.data && window.__preload_user_info.data.account_id
71        ? window.__preload_user_info.data.account_id + ''
72        : ''
73      window.__APP_VERSION__ = 'v20260923-1501-MY-LIVE';
74      window.__NSS_REFERRER__ = getReferrer();
75      !function (t, e) { "object" == typeof exports && "undefined" != typeof module ? e(exports) : "function" == typeof define && define.amd ? define(["exports"], e) : e((t = "undefined" != typeof globalThis ? globalThis : t || self)["tracing-entrance-tracker"] = {}) }(this, (function (t) { "use strict"; const e = t => localStorage.getItem(t); const a = "entrance_tracker_invalid_case"; class i { _reporter; _endStage = "js_init_end"; _reported = !1; _logger = !1; _currentStage = "html_init_start"; _maxWaitTimer = null; _xhrOptions = {}; _beforeSend; _maxWait = 13e3; _visiblechangeCount = 0; _startTime = performance.now(); _prevStartedTime = performance.now(); _prevStageTime = performance.now(); _contextData = { data: { invalid_case: 0, visible_tab: 1 } }; constructor(t, e) { this._reporter = t; const a = e || {}; this._logger = !!a.logger, this._xhrOptions = a.xhrOptions || {}, this._beforeSend = a.beforeSend, this._maxWait = a.maxWait && a.maxWait > 0 ? a.maxWait : this._maxWait } _logInfo(...t) { const e = this._logger; if (!e) return; const a = "string" == typeof e && "function" == typeof window.console[e] ? e : "info"; window.console[a](...t) } _getDuration(t) { return +(performance.now() - t).toFixed(2) } entryStageReport(t) { if (this._reported) this._logInfo("[初始化成功率上报] already reported! t: ", performance.now() - this._startTime); else try { const { data: e = {}, ...a } = this._contextData, i = { type: "numeric", key: "app_init_stage", value: this._getDuration(this._startTime), ...a, data: { stage: this._currentStage, visiblechange_count: this._visiblechangeCount, ...e, ...t } }, r = this._beforeSend ? this._beforeSend(i, this.getBaseData()) : i; if (!1 === r) return; this._reporter.sendData(r, this._xhrOptions), this._reported = !0, this._logInfo(`[初始化成功率上报] reported! is_success: "${t.is_success}". t: `, performance.now() - this._startTime), this._logInfo("[初始化成功率上报] reported! data: time: ", performance.now() - this._startTime, r) } catch (t) { console.error("[初始化成功率上报] Error: ", t) } } getNavigationType() { try { const t = window.performance.getEntriesByType("navigation"), e = Array.isArray(t) && t.length ? t[0].type : "unknown"; return this._logInfo("[初始化成功率上报] navigationType: ", e), e } catch (t) { return console.error("[初始化成功率上报] get navigation_type error: ", t), "unknown" } } clearMaxWaitTimer() { null !== this._maxWaitTimer && (clearTimeout(this._maxWaitTimer), this._maxWaitTimer = null) } pauseMaxWaitTimer() { this.clearMaxWaitTimer(), this._maxWait -= +(performance.now() - this._prevStartedTime).toFixed(0) } startMaxWaitTimer() { this.clearMaxWaitTimer(), this._logInfo("[初始化成功率上报] max_wait timer started. t:", performance.now() - this._startTime); const t = () => { this._logInfo("[初始化成功率上报] max_wait reached. t:", performance.now() - this._startTime), this._contextData.data && this._contextData.data.invalid_case || this._reported || this.entryStageReport({ is_success: 0 }) }; this._maxWait > 0 ? (this._prevStartedTime = performance.now(), this._maxWaitTimer = setTimeout(t, this._maxWait)) : t() } maxWaitHandler(t = !1) { if (t && this._visiblechangeCount++, document.hidden) this.addContextData({ data: { visible_tab: 0 } }), this.pauseMaxWaitTimer(); else { if (this._reported) return this._logInfo("[初始化成功率上报] already reported! No need for max wait. t: ", performance.now() - this._startTime), void this.clearVisibilitychange(); this.startMaxWaitTimer() } } clearVisibilitychange() { document.removeEventListener("visibilitychange", this.maxWaitHandler.bind(this, !0)) } checkMaxWait() { document.addEventListener("visibilitychange", this.maxWaitHandler.bind(this, !0)), this.maxWaitHandler() } getContextData() { return this._contextData } addContextData(t) { const e = t || {}, { data: a = {}, ...i } = this._contextData, { data: r = {}, ...n } = e; Object.assign(this._contextData, { ...i, ...n, data: { ...a, ...r } }) } changeInitStage(t, e = {}) { this._currentStage = t, this._logInfo(`[初始化成功率上报] changeInitStage: ${this._currentStage}. t: `, performance.now() - this._startTime), this.addContextData({ data: { ...e, [`to_${this._currentStage}_duration`]: this._getDuration(this._prevStageTime) } }), t !== this._endStage || this._contextData.data.invalid_case || this.entryStageReport({ is_success: 1 }), this._prevStageTime = performance.now() } start(t) { const e = t || {}; this._logger = !!e.logger || this._logger, this._xhrOptions = e.xhrOptions || this._xhrOptions, this._beforeSend = e.beforeSend || this._beforeSend, null !== this._maxWaitTimer && (this._logInfo("[初始化成功率上报] maxWait already started, resetting."), this.clearMaxWaitTimer(), this.clearVisibilitychange()), this._maxWait = e.maxWait && e.maxWait > 0 ? e.maxWait : this._maxWait, this.addContextData({ data: { navigation_type: this.getNavigationType(), referrer: document.referrer || "" } }), this.checkMaxWait() } getReporter() { return this._reporter } getBaseData() { return this._reporter.getBaseData() } setBaseData(t) { return this._reporter.setBaseData(t) } getInvalidCaseState() { return e(a) }
75 setAsInvalidCaseState(t = !1) { !function (t, e) { try { const a = "string" == typeof e ? e : JSON.stringify(e); localStorage.setItem(t, a) } catch (t) { console.error("[初始化成功率] Error when set localStorage: ", t) } }(a, "1"), this.addContextData({ data: { invalid_case: 1 } }), t && window.addEventListener("unload", (() => { this.resetInvalidCaseState() })) } resetInvalidCaseState() { var t; t = a, localStorage.removeItem(t), this.addContextData({ data: { invalid_case: 0 } }) } } class r { _reportContext; _env; constructor(t) { const a = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (t => { const e = 16 * Math.random() | 0; return ("x" === t ? e : 3 & e | 8).toString(16) })), i = (() => { const t = window.location.hostname; return t.includes("systems") ? "XX" : t.substr(-2) })(), r = i.toUpperCase(); this._env = (t => { const e = t.match(/.+\.(dev|stable|test|uat|staging)\..+$/); return e ? e[1] : "live" })(window.location.hostname), this._reportContext = { a: r, ct: Math.floor(Date.now() / 1e3), env: this._env, na: i, pf: "pc", r: 1, s: location.href, sid: a, uid: e("useremail") || e("username") || uid || "-", ut: e("stationName") || "-", nt: navigator?.connection?.effectiveType || "unknown", ...t } } getBaseData() { return this._reportContext } setBaseData(t) { this._reportContext = { ...this._reportContext, ...t } } sendData(t, e) { const { type: a, ...i } = t || {}, r = [{ ...this._reportContext, dt: a || this._reportContext.dt, d: { type: a, ...i } }], n = new XMLHttpRequest, s = JSON.stringify(r), o = "live" === this._env ? "https://autobahn.ssc.shopeemobile.com/data/" : "https://autobahn.ssc.test.shopeemobile.com/data/", { withCredentials: h = !0, timeout: c = 1e5 } = e || {}; n.withCredentials = h, n.timeout = c, n.open("POST", o, !0), n.setRequestHeader("Content-type", "application/json; charset=utf-8"), n.send(s) } } t.AutobahnXhrReporter = r, t.EntranceTracker = i, t.startTracker = (t, e) => { const a = new r(t), n = new i(a, e); return n.start(), n }, Object.defineProperty(t, "__esModule", { value: !0 }) }));
76      var baseData = {
77        bt: 'SLS',
78        sbt: 'NSS',
79        a: location.hostname.slice(-2).toUpperCase(),
80        env: 'live',
81        v: window.__APP_VERSION__,
82        uid,
83        pf: 'pc',
84        sid: getDeviceId(),
85        did: localStorage.getItem('__fingerprint') || '',
86        tag: {
87          _sessionId: getSessionId(),
88          _ua: navigator.userAgent || ''
89        },
90        r: 1,
91        s: location.href
92      };
93      window.__EntryTracker = window['tracing-entrance-tracker'].startTracker(baseData, {
94        beforeSend(reportData, baseData) {
95          const headlessUA = navigator.userAgent.toLowerCase().includes('headless');
96          const validStrValueRule = /^([\w-.]+)+$/;
97          const validUrlRule = /^https?:\/\/([.\w]+)(\/)?([#\w/?=&%-.]+)?/;
98          const { d, v, sid, pf, nt, s } = baseData;
99          const { data, key, type } = reportData;
100          const { navigation_type, stage, referrer } = data;
101          const isValidStr = [v, sid, pf, nt, key, type, navigation_type, stage].every(v => validStrValueRule.test(v));
102          const isValidUrl = [s, referrer].every(v => validUrlRule.test(v) || !v);
103
104          let visit_type = 'valid_visit';
105          if (headlessUA) visit_type = 'crawl_visit';
106          if (!isValidStr || !isValidUrl) visit_type = 'xss_visit';
107          reportData.data.visit_type = visit_type;
108          return reportData;
109        }
110      });
111      var esUrl = ['test'].indexOf('live') !== -1 ? 'https://autobahn.ssc.test.shopeemobile.com/data/' : 'https://autobahn.ssc.shopeemobile.com/data/';
112      var reportToES = (d) => fetch(esUrl, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ ...baseData, ct: Math.floor(Date.now() / 1000), ...d }) });
113      reportToES({ dt: 'count', d: { key: 'entry', data: { pathname: location.pathname, href: location.href, render: 0, prevPath: document.referrer, referrer: window.__NSS_REFERRER__ } } });
114    } catch (e) {
115    }
116    !function () { var _; if (!(null === (_ = window.__MDAP_PREV_RESOURCE__) || void 0 === _ ? void 0 : _.init)) { window.__MDAP_PREV_RESOURCE__ = { data: [], init: !0 }; var n = function (_) { var n; null === (n = window.__MDAP_PREV_RESOURCE__.data) || void 0 === n || n.push(_) }; window.addEventListener("error", n, !0), window.__MDAP_PREV_RESOURCE__.removePrevListener = function () { window.removeEventListener("error", n) } } }();</script>
116<script>const WIDTH = 1400; //设计稿最宽
117    const isCoIdDomain = () => {
118      if (typeof window === 'undefined') {
119        return false; // 服务器端返回默认值
120      }
121      const hostname = window.location.hostname;
122      return hostname.includes('.co.id');
123    };
124    const isIdRegion = isCoIdDomain();
125    const mobileAdapter = () => {
126      const scale = screen.width / WIDTH;
127      const _content = `width=${WIDTH}, initial-scale=${scale}, maximum-scale=${scale}, minimum-scale=${scale}, user-scalable=yes`;
128      // 印尼地区使用更宽松的viewport
129      const idContent = `width=${WIDTH},initial-scale=${scale}, user-scalable=yes`;
130      const content = isIdRegion ? idContent : _content;
131      let meta = document.querySelector('meta[name=viewport]');
132      if (!meta) {
133        meta = document.createElement('meta');
134        meta.setAttribute('name', 'viewport');
135        document.head.appendChild(meta);
136      }
137      meta.setAttribute('content', content);
138    };
139    mobileAdapter(); //执行函数
140    window.onorientationchange = mobileAdapter; //旋转屏幕重新校正</script>
140<meta property="og:type" content="website"/>
140<script>var __initMap__;
141    function mapReady(cb) {
142      __initMap__ = cb;
143    }
144    function initMap() {
145      __initMap__ ? __initMap__() : (window.__mapScriptLoaded__ = true);
146    }</script>
146<script>performance.mark('qms-css:start');</script>
146<link rel="stylesheet" href="/loading.css"/>
146<script>performance.mark('qms-css:end');</script>
146<style>html,
147    body,
148    #root {
149      height: 100%;
150      margin: 0;
151      padding: 0;
152    }</style>
152<script>(function (w, d, s, l, i) {
153      if (window.region !== 'BR') {
154        w[l] = w[l] || []; w[l].push({
155          'gtm.start':
156            new Date().getTime(), event: 'gtm.js'
157        }); var f = d.getElementsByTagName(s)[0],
158          j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src =
159            'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f);
160        var gtagScript = document.createElement('script');
161        gtagScript.async = true;
162        gtagScript.src = 'https://www.googletagmanager.com/gtag/js?id=UA-61914165-14';
163        f.parentNode.insertBefore(gtagScript, f);
164      }
165    })(window, document, 'script', 'dataLayer', 'GTM-WJZQSJF');</script>
165<script>document.addEventListener('DOMContentLoaded', function () {
166      if (window.region !== 'BR') {
167        var noScript = document.createElement('noscript');
168        var iframe = document.createElement('iframe');
169        iframe.src = "https://www.googletagmanager.com/ns.html?id=GTM-WJZQSJF";
170        iframe.height = "0";
171        iframe.width = "0";
172        iframe.style.display = "none";
173        iframe.style.visibility = "hidden";
174        noScript.appendChild(iframe);
175        var body = document.body;
176        body.insertBefore(noScript, body.firstChild);
177      }
178    });</script>
178<script>if (window.region === 'TH') {
179      window.dataLayer = window.dataLayer || [];
180      function gtag() { dataLayer.push(arguments); }
181      gtag('js', new Date());
182      try {
183        if (!JSON.parse(localStorage.getItem('open-spx-cookiesTypeList') || '[]').includes('performance')) {
184          gtag('consent', 'default', {
185            'ad_storage': 'denied',
186            'analytics_storage': 'denied'
187          });
188          dataLayer.push({
189            'event': 'default_consent'
190          });
191        }
192      } catch (error) { console.error(error) }
193    }</script>
193</head><body><div id="root"><div class="pre-loading"><div id="spx-loading-logo" class="spx-loading-logo"></div><div class="loading"><span></span> <span></span> <span></span> <span></span> <span></span> <span></span> <span></span> <span></span> <span></span></div></div></div>
193<script>performance.mark('qms-js:start');</script>
193<script>if (location.search.includes('preview=')) {
194      const scriptTag = document.createElement('script');
195      const version = new URLSearchParams(location.search).get('preview');
196      scriptTag.setAttribute('src', 'https://sls.sp-cdn.shopee.com/api/v4/69067583/pgmgmt/spx-my-pc-conf.js'.replace('.js', `-draft-${version}.js`));
197      document.head.appendChild(scriptTag);
198    }</script>
198<script src="https://sls.sp-cdn.shopee.com/api/v4/69067583/pgmgmt/spx-my-pc-conf.js"></script>
198<script>// google map api
199    const mapKey = ['test', 'uat', 'staging'].indexOf('live') !== -1 ? 'AIzaSyDg98eJ55wAsflSlkBk0iUXcKnKHP8GpSY' : 'AIzaSyB0a3pTo-HIk4bWQp5-ZDRqRXoicpS-oOk';
200    const googleMapApiScript = document.createElement('script');
201    googleMapApiScript.src = 'https://maps.googleapis.com/maps/api/js?libraries=places&callback=initMap&key=' + mapKey;
202    googleMapApiScript.defer = true;
203    document.body.append(googleMapApiScript);</script>
203<script src="https://deo.shopeemobile.com/shopee/spx-fe-lib/react/17.0.2/react.development.js" crossorigin></script>
203<script src="https://deo.shopeemobile.com/shopee/spx-fe-lib/react-dom/17.0.2/react-dom.development.js" crossorigin></script>
203<script src="//deo.shopeemobile.com/shopee/shopee-spx-live-my/static/js/app.2d0fcb2bb.js" crossorigin></script>
203<script>performance.mark('qms-js:end');</script>
203<script>const prefix = 'ssc-numeric';
204        const _separator_ = '-:-';
205        const { pathname } = location;
206        const qmsFcpTIDName = `FCP_${pathname.replace(/\/|-/g, '_')}`;
207        const qmsLcpTIDName = `LCP_${pathname.replace(/\/|-/g, '_')}`;
208        window.qmsFcpTID = `${qmsFcpTIDName}${_separator_}${Date.now()}`;
209        window.qmsLcpTID = `${qmsLcpTIDName}${_separator_}${Date.now()}`;
210        performance.mark(`${prefix}-${qmsFcpTID}:start`);
211        performance.mark(`${prefix}-${qmsLcpTID}:start`);</script>
211</body></html>

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.