PageSourceSearch

https://www.acbtlmkk.com/static/landing-v3/scripts/qrcode-frame12.js?v=20260716b

js acbtlmkk.com collected 2026-09-26 05:35:40 UTC 3,433 bytes, 105 lines download raw bytes

1(function () {
2  var SELECTOR = ".qrcode-fixed";
3  var DOWNLOAD_MAP = {
4    ios: ".iphone",
5    macos: ".mac-download-btn",
6    appstore: ".app-store-btn",
7    android: ".android",
8    windows: ".window-download-btn",
9  };
10
11  function assetUrl(name) {
12    return "/static/landing-v3/assets/" + name;
13  }
14
15  function triggerDownload(type) {
16    if (typeof window.__triggerLandingDownload === "function") {
17      window.__triggerLandingDownload(type);
18      return;
19    }
20    var selector = DOWNLOAD_MAP[type];
21    if (!selector) return;
22    var footerBtn = document.querySelector("footer " + selector);
23    if (footerBtn) footerBtn.click();
24  }
25
26  function buildFrame12(root, canvas) {
27    root.classList.add("frame12");
28    root.dataset.frame12 = "1";
29    root.innerHTML =
30      '<div class="frame12-stack">' +
31      '  <div class="frame12-inner">' +
32      '    <div class="frame12-qr">' +
33      '      <div class="frame12-qr-box"><div id="code"></div></div>' +
34      '      <img class="frame12-scan-tab" src="' +
35      assetUrl("saomiao.png") +
36      '" alt="扫描二维码下载">' +
37      "    </div>" +
38      '    <div class="frame12-actions">' +
39      buildItem("ios", "icon1.png", "苹果手机下载", "ios", "iOS下载") +
40      buildItem("macos", "icon2.png", "MAC下载", "macos", "Mac下载") +
41      buildItem("appstore", "icon3.png", "APP商店下载", "appstore", "AppStore下载") +
42      buildItem("android", "icon4.png", "安卓手机下载", "android", "Android下载") +
43      buildItem("windows", "icon5.png", "Windows下载", "windows", "Windows下载") +
44      "    </div>" +
45      "  </div>" +
46      '  <div class="frame12-tips">安装提示:由于行业原因,本APP会被某些杀毒软件认定为病毒,请大家放心下载使用本APP有广告和会员收益,安装本APP不会对您的手机造成任何损害。</div>' +
47      "</div>";
48
49    var code = root.querySelector("#code");
50    if (canvas && code) code.appendChild(canvas);
51
52    root.querySelectorAll("[data-download-type]").forEach(function (btn) {
53      btn.addEventListener("click", function () {
54        triggerDownload(btn.getAttribute("data-download-type"));
55      });
56    });
57  }
58
59  function buildItem(type, icon, label, tabKey, tabName) {
60    return (
61      '<button type="button" class="frame12-item tjtagmanager" data-download-type="' +
62      type +
63      '" data-event="landing_page_click" data-landing_page_id="TJ-004" data-tab_key="' +
64      tabKey +
65      '" data-tab_name="' +
66      tabName +
67      '">' +
68      '<img class="frame12-icon-box" src="' +
69      assetUrl(icon) +
70      '" alt="' +
71      label +
72      '">' +
73      "<p>" +
74      label +
75      "</p>" +
76      "</button>"
77    );
78  }
79
80  function upgrade() {
81    var root = document.querySelector(SELECTOR);
82    if (!root || root.dataset.frame12 === "1") return false;
83    var canvas = root.querySelector("canvas");
84    buildFrame12(root, canvas);
85    return true;
86  }
87
88  function waitForQrcodeFixed() {
89    if (upgrade()) return;
90    var observer = new MutationObserver(function () {
91      if (upgrade()) observer.disconnect();
92    });
93    observer.observe(document.body, { childList: true, subtree: true });
94    setTimeout(function () {
95      upgrade();
96      observer.disconnect();
97    }, 5000);
98  }
99
100  if (document.readyState === "loading") {
101    document.addEventListener("DOMContentLoaded", waitForQrcodeFixed);
102  } else {
103    waitForQrcodeFixed();
104  }
105})();

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.