{"product_id":"gl-pas1200","title":"PAS1200 (GL-PAS1200) | High-Performance Private Access Dongle for Teams","description":"\u003cstyle\u003e\n  .pas1200-main-container .top-banner {\n    position: relative;\n    min-height: 80vh;\n    background-size: cover;\n    background-repeat: no-repeat;\n    background-position: center bottom;\n    background-image: url(\"https:\/\/static.gl-inet.com\/www\/images\/products\/gl-pas1200\/pas1200_hero_banner.jpg\");\n  }\n\n  .pas1200-main-container .top-banner .container {\n    position: relative;\n    z-index: 2;\n  }\n\n  .pas1200-main-container .top-banner .row {\n    padding-top: 6vh;\n    padding-bottom: 2rem;\n  }\n\n  @media (max-width: 768px) {\n    .pas1200-main-container .top-banner .row {\n      padding-top: 1.5rem;\n    }\n  }\n\n  @media (max-width: 991px) {\n    .pas1200-main-container .top-banner {\n      background-image: url(\"https:\/\/static.gl-inet.com\/www\/images\/products\/gl-pas1200\/pas1200_hero_banner_mobile.jpg\");\n      min-height: 68vh;\n    }\n  }\n\u003c\/style\u003e\n\n\u003cmain class=\"pas1200-main-container\"\u003e\n  \u003csection class=\"top-banner text-light text-center\" id=\"subscribe\"\u003e\n    \u003cdiv class=\"container\"\u003e\n      \u003cdiv class=\"row justify-content-center align-items-start\"\u003e\n        \u003cdiv class=\"col-12 col-lg-8\"\u003e\n      \u003ch1 class=\"font-weight-bold\"\u003eMeet PAS1200\u003c\/h1\u003e\n      \u003ch3\u003eHigh-Performance Private Access Dongle for Teams\u003c\/h3\u003e\n          \u003cdiv id=\"global-banner-container\" style=\"width: 100%; height: 50px;\"\u003e\u003c\/div\u003e\n          \u003cdiv id=\"zf_div_DNOKDLXCnlDgLIUxY5xTBo_NnovMBqPLxXFzFSnlAhE\" style=\"display: none;\"\u003e\u003c\/div\u003e\n          \u003cscript type=\"text\/javascript\"\u003e\n            (function () {\n              try {\n                var f = document.createElement('iframe');\n                var ifrmSrc = 'https:\/\/forms.zohopublic.com\/glinet\/form\/PAS100ProductNewsletterSignup1\/formperma\/DNOKDLXCnlDgLIUxY5xTBo_NnovMBqPLxXFzFSnlAhE?zf_rszfm=1';\n\n                try {\n                  if (typeof ZFAdvLead != 'undefined' \u0026\u0026 typeof zfutm_zfAdvLead != 'undefined') {\n                    for (var prmIdx = 0; prmIdx \u003c ZFAdvLead.utmPNameArr.length; prmIdx++) {\n                      var utmPm = ZFAdvLead.utmPNameArr[prmIdx];\n                      utmPm = (ZFAdvLead.isSameDomian \u0026\u0026 (ZFAdvLead.utmcustPNameArr.indexOf(utmPm) == -1))\n                        ? 'zf_' + utmPm\n                        : utmPm;\n                      var utmVal = zfutm_zfAdvLead.zfautm_gC_enc(ZFAdvLead.utmPNameArr[prmIdx]);\n\n                      if (typeof utmVal !== 'undefined' \u0026\u0026 utmVal != '') {\n                        ifrmSrc += (ifrmSrc.indexOf('?') \u003e 0 ? '\u0026' : '?') + utmPm + '=' + utmVal;\n                      }\n                    }\n                  }\n\n                  if (typeof ZFLead !== 'undefined' \u0026\u0026 typeof zfutm_zfLead !== 'undefined') {\n                    for (var prmIdx = 0; prmIdx \u003c ZFLead.utmPNameArr.length; prmIdx++) {\n                      var utmPm = ZFLead.utmPNameArr[prmIdx];\n                      var utmVal = zfutm_zfLead.zfutm_gC_enc(ZFLead.utmPNameArr[prmIdx]);\n\n                      if (typeof utmVal !== 'undefined' \u0026\u0026 utmVal != '') {\n                        ifrmSrc += (ifrmSrc.indexOf('?') \u003e 0 ? '\u0026' : '?') + utmPm + '=' + utmVal;\n                      }\n                    }\n                  }\n\n                  if (!new RegExp('[?\u0026]referrername=').test(ifrmSrc)) {\n                    var rfr = window.location.href;\n\n                    try {\n                      rfr = window.self !== window.top\n                        ? window.top.location.href\n                        : (\/^https?:\\\/\\\/[\\w.-]+\\.[a-zA-Z]{2,}\/i.test(rfr) ? rfr : '');\n                    } catch (e) { }\n\n                    if (rfr \u0026\u0026 rfr !== '') {\n                      if (rfr.length \u003e 1800) {\n                        var queryIndex = rfr.indexOf('?');\n\n                        if (queryIndex \u003e -1) {\n                          rfr = rfr.substring(0, queryIndex);\n                        }\n\n                        if (rfr.length \u003e 1800) {\n                          rfr = rfr.substring(0, 1800);\n                        }\n                      }\n\n                      ifrmSrc += (ifrmSrc.indexOf('?') \u003e 0 ? '\u0026' : '?')\n                        + 'referrername=' + encodeURIComponent(rfr);\n                    }\n                  }\n                } catch (e) { }\n\n                f.src = ifrmSrc;\n                f.style.border = 'none';\n                f.style.height = '220px';\n                f.style.width = '99%';\n                f.style.transition = 'all 0.5s ease';\n                f.setAttribute('aria-label', 'PAS1200 Product Newsletter Signup');\n\n                var d = document.getElementById('zf_div_DNOKDLXCnlDgLIUxY5xTBo_NnovMBqPLxXFzFSnlAhE');\n                d.appendChild(f);\n\n                window.addEventListener('message', function (event) {\n                  var evntData = event.data;\n\n                  if (evntData \u0026\u0026 evntData.constructor == String) {\n                    var zf_ifrm_data = evntData.split('|');\n\n                    if (zf_ifrm_data.length == 2 || zf_ifrm_data.length == 3) {\n                      var zf_perma = zf_ifrm_data[0];\n                      var zf_ifrm_ht_nw = (parseInt(zf_ifrm_data[1], 10) + 35) + 'px';\n                      var iframe = document\n                        .getElementById('zf_div_DNOKDLXCnlDgLIUxY5xTBo_NnovMBqPLxXFzFSnlAhE')\n                        .getElementsByTagName('iframe')[0];\n\n                      if (iframe.src.indexOf('formperma') \u003e 0 \u0026\u0026 iframe.src.indexOf(zf_perma) \u003e 0) {\n                        var prevIframeHeight = iframe.style.height;\n                        var zf_tout = false;\n\n                        if (zf_ifrm_data.length == 3) {\n                          iframe.scrollIntoView();\n                          zf_tout = true;\n                        }\n\n                        if (prevIframeHeight != zf_ifrm_ht_nw) {\n                          if (zf_tout) {\n                            setTimeout(function () {\n                              iframe.style.height = zf_ifrm_ht_nw;\n                            }, 500);\n                          } else {\n                            iframe.style.height = zf_ifrm_ht_nw;\n                          }\n                        }\n                      }\n                    }\n                  }\n                }, false);\n              } catch (e) { }\n            })();\n          \u003c\/script\u003e\n    \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n  \u003c\/section\u003e\n\u003c\/main\u003e\n\n\u003cscript src=\"https:\/\/js.appboycdn.com\/web-sdk\/6.1\/braze.min.js\"\u003e\u003c\/script\u003e\n\u003cscript\u003e\n    (function () {\n      \/*\n       * 防止 Shopify 重复执行脚本。\n       *\/\n      if (window.__pas1200BrazeBannerLoaded) {\n        return;\n      }\n\n      window.__pas1200BrazeBannerLoaded = true;\n\n      const placementId = 'pdp_top_banner_pas1200';\n\n      \/*\n       * 防止 iframe 内 changeUser() 触发 Banner 更新后，\n       * 再次清空和插入 Banner，导致正在提交的 iframe 被销毁。\n       *\/\n      let bannerInserted = false;\n\n      function showZohoFallback() {\n        const bannerContainer = document.getElementById('global-banner-container');\n        const zohoFallback = document.getElementById('zf_div_DNOKDLXCnlDgLIUxY5xTBo_NnovMBqPLxXFzFSnlAhE');\n\n        if (bannerContainer) {\n          bannerContainer.style.display = 'none';\n        }\n\n        if (zohoFallback) {\n          zohoFallback.style.display = '';\n        } else {\n          console.warn('[Braze] Zoho fallback container not found');\n        }\n        const p_description = document.querySelector(\"#banner-description\");\n        if(p_description){\n          p_description.style.display = \"none\";\n        }\n      }\n\n      try {\n        if (typeof braze === 'undefined') {\n          throw new Error('Braze SDK is unavailable');\n        }\n\n        \/*\n         * 初始化 Braze Web SDK。\n         *\/\n        const initialized = braze.initialize('a3cb3cae-dc89-461c-9ddf-ca3980efb0c6', {\n          baseUrl: 'sdk.iad-07.braze.com',\n          enableLogging: true,\n          allowUserSuppliedJavascript: true,\n        });\n\n        if (!initialized) {\n          console.error('[Braze] SDK initialization failed');\n          showZohoFallback();\n          return;\n        }\n\n      \/*\n       * 监听 Banner 数据更新。\n       *\/\n        braze.subscribeToBannersUpdates(function (banners) {\n        console.log('[Braze] Banners updated:', banners);\n\n        const container = document.getElementById('global-banner-container');\n\n        if (!container) {\n          console.warn('[Braze] Banner container not found');\n          return;\n        }\n\n        \/*\n         * Banner 已经插入后不再重复插入。\n         *\n         * 可能再次触发 Banners 更新。如果此处重新执行\n         * innerHTML = ''，正在提交的 iframe 会被删除。\n         *\/\n        if (bannerInserted) {\n          console.log('[Braze] Banner already inserted, ' + 'skipping duplicate render');\n          return;\n        }\n\n        const banner = braze.getBanner(placementId);\n\n        console.log('[Braze] Banner:', banner);\n\n        if (!banner) {\n          console.warn('[Braze] No Banner for placement:', placementId);\n          return;\n        }\n\n        \/*\n         * Control Group 不显示 Banner。\n         *\/\n        if (banner.isControl) {\n          console.warn('[Braze] Banner is control');\n\n          container.style.display = 'none';\n          return;\n        }\n\n        container.innerHTML = '';\n        container.style.display = '';\n\n        \/*\n         * 把 Banner 插入 Shopify 容器。\n         *\/\n        braze.insertBanner(banner, container);\n\n        bannerInserted = true;\n\n        console.log('[Braze] Banner inserted:', placementId);\n        });\n\n      \/*\n       * 启动 Braze Session。\n       *\/\n        braze.openSession();\n\n      \/*\n       * 请求指定 Placement 的 Banner。\n       *\/\n        setTimeout(function () {\n          console.log('[Braze] Requesting Banner:', placementId);\n\n          braze.requestBannersRefresh([placementId]);\n        }, 1500);\n      } catch (error) {\n        console.error('[Braze] SDK initialization failed:', error);\n        showZohoFallback();\n      }\n    })();\n\u003c\/script\u003e\n","brand":"GL.iNet","offers":[{"title":"Default Title","offer_id":58097711841463,"sku":null,"price":0.0,"currency_code":"EUR","in_stock":false}],"url":"https:\/\/www.gl-inet.com\/en-eu\/products\/gl-pas1200","provider":"GL.iNet","version":"1.0","type":"link"}