1<!DOCTYPE html><html class="no-js" lang="zh-TW" prefix="og: https://ogp.me/ns# fb: https://ogp.me/ns/fb# website: https://ogp.me/ns/website#"> <head> <base href="https://www.footpure.com.tw/" /> <meta charset="utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1" /> <meta http-equiv='x-dns-prefetch-control' content='on'> <meta name="robots" content="noindex,follow"> <meta name="author" content="FOOTPUREï½éèç²ï½æ²æé¤ä¸äºçè
³è"> <meta name="copyright" content="æå¡ç»å
¥"> <meta name="google" content="notranslate" /> <meta name="mobile-web-app-capable" content="yes"> <meta name="theme-color" content="#f5f5f5"> <link rel="preconnect" href="//cdn.qdm.cloud" /> <link rel="preconnect" href="//image-cdn-flare.qdm.cloud" /> <link rel="preconnect" href="//image-cdn.qdm.cloud" /> <link rel="preconnect" href="//www.facebook.com" /> <link rel="preconnect" href="//connect.facebook.net" /> <link rel="preconnect" href="//ajax.googleapis.com" /> <link rel="dns-prefetch" href="//ajax.googleapis.com" /> <link rel="dns-prefetch" href="//image-cdn-flare.qdm.cloud" /> <link rel="dns-prefetch" href="//image-cdn.qdm.cloud" /> <link rel="dns-prefetch" href="//cdn.qdm.cloud" /> <link rel="dns-prefetch" href="//fonts.googleapis.com" /> <link rel="dns-prefetch" href="//www.google-analytics.com" /> <link rel="dns-prefetch" href="//www.googletagmanager.com" /> <link rel='dns-prefetch' href="//www.google.com" /> <link rel='dns-prefetch' href="//www.google.com.tw" /> <link rel='dns-prefetch' href="//maxcdn.bootstrapcdn.com" /> <link rel='dns-prefetch' href="//cdnjs.cloudflare.com" /> <link rel='dns-prefetch' href="//www.facebook.com" /> <link rel='dns-prefetch' href="//connect.facebook.net" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title itemprop='name'>æå¡ç»å
¥ | FOOTPUREï½éèç²ï½æ²æé¤ä¸äºçè
³è</title> <meta name="description" content="FOOTPURE®ç¨å®¶å¼é²å¾·åé¤è
³èé»ç§æèEcoCertÂ®å¤©ç¶æèçæåï¼éå°å¤è
³æ±è
³èãå°å©è
³èã裸足ä¸ç©¿è¥ªè
³èãéåèçï¼å¾æºé çµçµè
³èï¼è®ä½ è«éèªä¿¡ä¸å°·å°¬ï¼" /> <meta property="og:description" content="FOOTPURE®ç¨å®¶å¼é²å¾·åé¤è
³èé»ç§æèEcoCertÂ®å¤©ç¶æèçæåï¼éå°å¤è
³æ±è
³èãå°å©è
³èã裸足ä¸ç©¿è¥ªè
³èãéåèçï¼å¾æºé çµçµè
³èï¼è®ä½ è«éèªä¿¡ä¸å°·å°¬ï¼" /> <!-- FACESPACE --> <meta property="fb:app_id" content="334667632024491" /> <meta property="og:title" content="æå¡ç»å
¥ | FOOTPUREï½éèç²ï½æ²æé¤ä¸äºçè
³è"/> <meta property="og:type" content="website"/> <meta property="og:url" content="https://www.footpure.com.tw/login"/> <meta property="og:locale" content="zh_TW" /> <meta property="og:image" content="https://image-cdn-flare.qdm.cloud/q68de4048fef2d/image/data/01-Navi/37545cc188ab6e9e6febfee4d5fd21e6.png"/> <meta property="og:image:url" content="https://image-cdn-flare.qdm.cloud/q68de4048fef2d/image/data/01-Navi/37545cc188ab6e9e6febfee4d5fd21e6.png"/> <meta property="og:site_name" content="FOOTPUREï½éèç²ï½æ²æé¤ä¸äºçè
³è"> <meta property="og:updated_time" content="1790572262"> <!-- Twitter Card --> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:title" content="æå¡ç»å
¥ | FOOTPUREï½éèç²ï½æ²æé¤ä¸äºçè
³è"> <meta name="twitter:description" content="FOOTPURE®ç¨å®¶å¼é²å¾·åé¤è
³èé»ç§æèEcoCertÂ®å¤©ç¶æèçæåï¼éå°å¤è
³æ±è
³èãå°å©è
³èã裸足ä¸ç©¿è¥ªè
³èãéåèçï¼å¾æºé çµçµè
³èï¼è®ä½ è«éèªä¿¡ä¸å°·å°¬ï¼"> <meta name="twitter:image" content="https://image-cdn-flare.qdm.cloud/q68de4048fef2d/image/data/01-Navi/37545cc188ab6e9e6febfee4d5fd21e6.png"> <!-- llms.txt --> <link rel="llms-txt" href="/llms.txt" /> <!-- G++ --> <meta itemprop="name" content="æå¡ç»å
¥"> <meta itemprop="description" content="FOOTPURE®ç¨å®¶å¼é²å¾·åé¤è
³èé»ç§æèEcoCertÂ®å¤©ç¶æèçæåï¼éå°å¤è
³æ±è
³èãå°å©è
³èã裸足ä¸ç©¿è¥ªè
³èãéåèçï¼å¾æºé çµçµè
³èï¼è®ä½ è«éèªä¿¡ä¸å°·å°¬ï¼"> <meta itemprop="image" content="//image-cdn-flare.qdm.cloud/q68de4048fef2d/image/data/01-Navi/37545cc188ab6e9e6febfee4d5fd21e6.png"> <link title='æå¡ç»å
¥ - è¨é±ååå¿«è¨RSS' href="https://www.footpure.com.tw/googlebase.xml" type='application/rss+xml' rel='alternate' > <!-- Google's Sitelinks Search -->
1<script type="application/ld+json"> 2 { 3 "@context": "https://schema.org", 4 "@type": "WebSite", 5 "name" : "FOOTPUREï½éèç²ï½æ²æé¤ä¸äºçè ³è", 6 "url": "https://www.footpure.com.tw/", 7 "potentialAction": { 8 "@type": "SearchAction", 9 "target": { 10 "@type": "EntryPoint", 11 "urlTemplate": "https://www.footpure.com.tw/search?q={filter_name}" 12 }, 13 "query-input": "required name=filter_name" 14 } 15 } 16 </script>
16 <!-- Organization / LocalBusiness Schema -->
16<script type="application/ld+json"> 17 { 18 "@context": "https:\/\/schema.org", 19 "@type": "Organization", 20 "name": "FOOTPUREï½éèç²ï½æ²æé¤ä¸äºçè ³è", 21 "url": "https:\/\/www.footpure.com.tw\/", 22 "logo": "https:\/\/image-cdn-flare.qdm.cloud\/q68de4048fef2d\/image\/data\/01-Navi\/37545cc188ab6e9e6febfee4d5fd21e6.png", 23 "sameAs": [ 24 "https:\/\/www.facebook.com\/footpure.tw" 25 ], 26 "image": "https:\/\/image-cdn-flare.qdm.cloud\/q68de4048fef2d\/image\/data\/01-Navi\/37545cc188ab6e9e6febfee4d5fd21e6.png" 27} </script>
27
27<script type="text/javascript"> 28(function(c,l,a,r,i,t,y){ 29c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; 30t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; 31y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); 32})(window, document, "clarity", "script", "99n8zhelys"); 33</script>
33 <!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 117 bytes, lines 33-35
33 <script async 34 onload="callback_gtag_ads_trackConversion()" 35 src="https://www.googletagmanager.com/gtag/js?id=
35G-X99EKY8NRE
vendor: 12 bytes, line 35
35"></script>
35<script> 36
vendor: 145 bytes, lines 36-41
36window.dataLayer = window.dataLayer || []; 37 function gtag(){dataLayer.push(arguments);} 38 gtag('js', new Date()); 39 40 41 gtag('config', "
41G-X99EKY8NRE
vendor: 36 bytes, lines 41-42
41", { send_page_view: false }); 42
42</script>
42
42<script> 43 44 var enhanced_conversion_data = {}; 45 var ga_userId = null; 46 var ga_userId_global = null; 47 var qdm_user_uuid = "q68de4048fef2d-o156chp1g3e2ggbprhqckihc29"; 48 var helperga4 = null; 49 var xmlhttp_uinfo = new XMLHttpRequest(); 50 xmlhttp_uinfo.open('GET', "https://www.footpure.com.tw/index.php?route=common/header/getLoggedInUserInfo&token=" + new Date().getTime() + "1" + (Math.floor(Math.random() * 999) + 100) , true); 51 xmlhttp_uinfo.onreadystatechange = function() { 52 if (xmlhttp_uinfo.readyState == 4) { 53 if(xmlhttp_uinfo.status == 200) { 54 try { 55 var obj = JSON.parse(xmlhttp_uinfo.responseText); 56 ga_userId = obj.user_id; 57 if( obj.email ) { 58 enhanced_conversion_data.email = obj.email; 59 gtag('set', 'user_data', { 60 "email": obj.email 61 }); 62 } 63 } catch (e) { } 64 } 65 } 66 }; 67 xmlhttp_uinfo.send(null); 68 69 try { 70 if ('localStorage' in window && window['localStorage'] !== null){ 71 if( localStorage.getItem('qdm_user_uuid') && qdm_user_uuid == null ) { 72 qdm_user_uuid = localStorage.getItem('qdm_user_uuid'); 73 } 74 } 75 } catch (e) {} 76 window.addEventListener("beforeunload", () => localStorage.removeItem('qdm_user_uuid')); 77 78 function QUUID(){var x=(new Date).getTime(),t="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){const n=(x+16*Math.random())%16|0;return x=Math.floor(x/16),("x"==t?n:3&n|8).toString(16)});return "q68de4048fef2d"+t;} 79 var dateTime = Date.now(); 80 var timestamp = Math.floor(dateTime / 1000); 81 var global_quuid = QUUID(); 82 //var global_quuid = "q68de4048fef2d" + Math.random().toString(13).substr(2, 9) + "" + timestamp + "" + new Date().getTime(); 83 var global_product_id = 0; 84 var ecommCheckoutTotal = 0; 85 var gecommProduct = new Array("0"); 86 var gecommProductName = ''; 87 var gecommProductSKU = ''; 88 var gecommProductDesc = ''; 89 var gecommProductBrand = ''; 90 var gecommProductBrand_cyntelli = ''; 91 var gecommProductCategoryPath = ''; 92 var gecommProductCategoryWithComma = ''; 93 var gecommProductPrice = 0; 94 var gecommCompareAtPrice = 0; 95 var gecommProductImageUrl = ""; 96 var gecommProductUrl = ""; 97 var gecommViewCategoryName = ''; 98 var gecommViewFullCategoryName = ''; 99 var gecommProductToCart = {}; 100 var ecommOrderToCheckout = {}; 101 dataLayer.push({ 102 'pageCategory': 'signup', 103 'visitorType': 'high-value' 104 }); 105 106 var customer_id = '0'; 107 if(customer_id>0){ 108 if( ga_userId !== null ) { 109 ga_userId = customer_id; 110 } 111 } 112 113 var ga_utm_source = null; 114 var toggleVisible = function(id){ 115 var el = document.getElementById(id); 116 if( el !== null ) { el.style.visibility = "visible"; } 117 }; 118 119 </script>
119
119<script id="google-ga-event-track" type="text/javascript"> 120 121 var track_google_ga_trigger = 0; 122 123 setTimeout(function(){ 124 125 if( ga_userId !== null ) { 126 ga_userId_global = "q68de4048fef2d_" + ga_userId; 127 128 dataLayer.push({ 129 'event': 'data', 130 'UID': ga_userId 131 }); 132 window.adGeek_d = { 133 'memberId': ga_userId 134 }; 135 136 gtag('config', 'G-X99EKY8NRE', {'user_id': ga_userId_global}); /*ga4*/ 137 138 139 140 gtag('config', 'AW-654484660', { 141 'user_id': ga_userId_global, 142 'allow_enhanced_conversions': true 143 }); 144 } else { 145 gtag('config', 'AW-654484660', {'allow_enhanced_conversions':true}); 146 } 147 148 if( track_google_ga_trigger == 1 ) { return false; }; 149 150 if ( parseInt(global_product_id) > 0 ) { 151 if (typeof gaTrackProductView == 'function') { 152 gaTrackProductView(); 153 } 154 } 155 156 157 158 159 160 161 try { 162 gtag('event', 'page_view', { 163 page_title: 'æå¡ç»å ¥', 164 page_location: location.href, 165 page_path: location.pathname, 166 }); 167 168 169 } catch (e) { } 170 171 }, 2000); 172 173 </script>
173
173<script> 174 175 var QDMPPID = "316b89e210f38e7a71c046141b93454d"; 176 function setCookie(name, value, days) { 177 var expires = ""; 178 if (days) { 179 // Mutate ONE Date object then format it. The previous one-liner set the 180 // expiry on a throwaway Date and formatted a fresh (now) Date, so every 181 // "persistent" cookie got expires=now and was dropped immediately. 182 var expireDate = new Date(); 183 expireDate.setTime(expireDate.getTime() + (864e5 * days)); 184 expires = "; expires=" + expireDate.toUTCString(); 185 } 186 // SameSite=Lax lets cookies survive redirects back from external services (e.g. ECPay logistics). 187 document.cookie = name + "=" + value + expires + "; path=/; Secure; SameSite=Lax"; 188 } 189 function getCookie(e){var n,i=document.cookie,o=i.indexOf(" "+e+"=");return-1==o&&(o=i.indexOf(e+"=")),i=-1==o?null:(o=i.indexOf("=",o)+1,-1==(n=i.indexOf(";",o))&&(n=i.length),unescape(i.substring(o,n)))} 190 if( !getCookie("QDMPPID") ) { setCookie("QDMPPID","9105d3c02d9328e4069319e5d0877113", 365); } 191 QDMPPID = getCookie("QDMPPID"); 192 <!-- Facebook Pixel Code --> 193 !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod? 194 n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n; 195 n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0; 196 t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, 197 document,'script','https://connect.facebook.net/en_US/fbevents.js'); 198 <!-- End Facebook Pixel Code --> 199 200 function onloadCSS(e,n){function t(){!o&&n&&(o=!0,n.call(e))}var o;e.addEventListener&&e.addEventListener("load",t),e.attachEvent&&e.attachEvent("onload",t),"isApplicationInstalled"in navigator&&"onloadcssdefined"in e&&e.onloadcssdefined(t)}!function(e){"use strict";var n=function(n,t,o){function a(e){return l.body?e():void setTimeout(function(){a(e)})}function d(){r.addEventListener&&r.removeEventListener("load",d),r.media=o||"all"}var i,l=e.document,r=l.createElement("link");if(t)i=t;else{var s=(l.body||l.getElementsByTagName("head")[0]).childNodes;i=s[s.length-1]}var f=l.styleSheets;r.rel="stylesheet",r.href=n,r.media="only x",a(function(){i.parentNode.insertBefore(r,t?i:i.nextSibling)});var c=function(e){for(var n=r.href,t=f.length;t--;)if(f[t].href===n)return e();setTimeout(function(){c(e)})};return r.addEventListener&&r.addEventListener("load",d),r.onloadcssdefined=c,c(d),r};"undefined"!=typeof exports?exports.loadCSS=n:e.loadCSS=n}("undefined"!=typeof global?global:this); 201 202 function removeClass( classname, element ) { 203 var cn = element.className; 204 var rxp = new RegExp( "s?b"+classname+"b", "g" ); 205 cn = cn.replace( rxp, '' ); 206 element.className = cn; 207 } 208 209 var disabledScroll = 1; 210 var doJsAfterLoad = 0; 211 212 213 var stylesheets = [ 214 "https://cdn.qdm.cloud/static/fontawesome/v3.2.1/css/font-awesome.min.css", 215 "https://cdn.qdm.cloud/static/fontawesome/v4.7.0/css/font-awesome.min.css", 216 "https://cdn.qdm.cloud/static/fontawesome/v5.11.2/css/all.min.css", 217 "https://cdn.qdm.cloud/static/fontawesome/v5.11.2/css/v4-shims.min.css", 218 "https://cdn.qdm.cloud/static/fontawesome/v6.5.1/css/all.min.css", 219 "https://fonts.googleapis.com/css?family=Roboto:400,400i,500,700&display=swap", 220 "https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css", 221 "https://cdnjs.cloudflare.com/ajax/libs/izitoast/1.4.0/css/iziToast.min.css" 222 ]; 223 function refreshMiniCartScrollBar(){ 224 var nice = $(".nicescroll-box").niceScroll(".wrap",{emulatetouch:true,bouncescroll:true}); 225 } 226 function initCoreCSS(){ 227 if( doJsAfterLoad ) return; 228 var loading_css_product = loadCSS("https://cdn.qdm.cloud/assets/css/core_product.24022002.css"); 229 onloadCSS(loading_css_product, function(){ initCSS(); }); 230 toggleVisible('header'); 231 toggleVisible('mainnav'); 232 doJsAfterLoad = 1; 233 } 234 function initCSS(){ 235 for (var i=0; i < stylesheets.length; i++) { loadCSS(stylesheets[i]); } 236 loadCSS("https://image-cdn.qdm.cloud/site/q68de4048fef2d/global.css?v=1724744496"); 237 } 238 function loadJS(){ 239 $LAB.script("https://image-cdn.qdm.cloud/site/q68de4048fef2d/global.script.js?v=1656297152"); 240 } 241 242 const ImageErrorHandler = { 243 // é ç½®é¸é 244 config: { 245 maxRetries: 5, 246 baseDelay: 200, 247 maxDelay: 3000, 248 defaultImage: "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7", 249 fallbackImage: "//cdn.qdm.cloud/assets/no_image.jpg" // å¯é¸çæ¿ä»£åç 250 }, 251 252 // æ£å¨èççåç Mapï¼é²æ¢éè¤èçï¼ 253 processingImages: new WeakMap(), //WeakMapæ¸å°è¨æ¶é«çæ´©æ¼ 254 handle(image) { 255 try { 256 if (!image || !image.src || this.processingImages.has(image)) { 257 return; 258 } 259 260 // æ¨è¨çºèçä¸ 261 this.processingImages.set(image, true); 262 263 const retryCount = parseInt(image.getAttribute('data-reload') || '0') + 1; 264 265 if (retryCount > this.config.maxRetries) { 266 this.handleFinalError(image); 267 return; 268 } 269 270 image.setAttribute('data-reload', retryCount); 271 272 // è¨ç®å»¶é²æéï¼ææ¸éé¿ï¼
273 const delay = Math.min( 274 this.config.baseDelay * Math.pow(2, retryCount - 1), 275 this.config.maxDelay 276 ); 277 278 setTimeout(() => { 279 this.retryLoad(image, retryCount); 280 }, delay); 281 282 } catch (err) { 283 console.error('ImageErrorHandler error:', err); 284 this.handleFinalError(image); 285 } 286 }, 287 288 retryLoad(image, retryCount) { 289 const imageSrc = this.updateTimestamp(image.src); 290 // ä½¿ç¨æ°åçç©ä»¶æ¸¬è©¦ 291 const testImage = new Image(); 292 testImage.onload = () => { 293 // æåè¼å ¥ 294 image.src = imageSrc; 295 this.processingImages.delete(image); 296 297 // éæ°ç¶å®é¯èª¤èç 298 image.onerror = () => this.handle(image); 299 }; 300 301 testImage.onerror = () => { 302 // è¼å ¥å¤±æ 303 this.processingImages.delete(image); 304 305 // å¦ææ¯æå¾ä¸æ¬¡é試åï¼å試使ç¨åç¨åç 306 if (retryCount === this.config.maxRetries - 1 && this.config.fallbackImage) { 307 image.src = this.config.fallbackImage; 308 image.onerror = () => this.handle(image); 309 } else { 310 this.handle(image); 311 } 312 }; 313 314 testImage.src = imageSrc; 315 }, 316 317 updateTimestamp(src) { 318 const timestamp = `timestamp=${Date.now()}`; 319 320 if (src.includes('timestamp=')) { 321 return src.replace(/timestamp=\d+/, timestamp); 322 } 323 324 const separator = src.includes('?') ? '&' : '?'; 325 return `${src}${separator}${timestamp}`; 326 }, 327 328 handleFinalError(image) { 329 // æ¸ ç 330 image.onerror = null; 331 image.onload = null; 332 this.processingImages.delete(image); 333 334 // ä¿ååå§ URL 335 if (!image.src.includes("base64") && !image.hasAttribute('data-image-raw')) { 336 image.setAttribute('data-image-raw', image.src); 337 } 338 339 // è¨ç½®é è¨åç 340 image.src = this.config.defaultImage; 341 342 // 觸ç¼äºä»¶ 343 image.dispatchEvent(new CustomEvent('imageFinalError', { 344 detail: { 345 originalSrc: image.getAttribute('data-image-raw'), 346 retries: image.getAttribute('data-reload') 347 } 348 })); 349 } 350 }; 351 352 // åçé¯èª¤ 353 function imgError(image) { 354 ImageErrorHandler.handle(image); 355 } 356 357 358 </script>
358 <!-- Facebook Pixel Code -->
358<script id="facebook-pixcel-reportFbqTrack" type="text/javascript"> 359 function reportFbqTrack() { 360 fbq('dataProcessingOptions', []); 361 var pixel_ids = ['2103771613115609']; 362 var fb_advanced_matching = {}; 363 for (var i = 0; i < pixel_ids.length; i++){ 364 try { 365 var init_params = Object.assign({}, fb_advanced_matching); 366 if( ga_userId !== null ) { 367 ga_userId_global = "q68de4048fef2d_" + ga_userId; 368 init_params.uid = ga_userId_global; 369 } 370 init_params.external_id = QDMPPID; 371 fbq('init', pixel_ids[i], init_params, {'agent':'plQDM'}); 372 } catch (e) { 373 // fallback: è³å°å å« external_id 374 var fallback_params = {external_id: QDMPPID}; 375 fbq('init', pixel_ids[i], fallback_params, {'agent':'plQDM'}); 376 } 377 } 378 setTimeout(function() { fbq('track', "PageView", {}, {eventID: global_quuid + "v"}); }, 30); 379 380 381 382 } 383 </script>
383 <!-- End Facebook Pixel Code -->
383<script> 384 function vbtrax_track(){ 385 } 386 387 function criteo_track(){ 388 } 389 390 391 </script>
391
391<script type="text/javascript"> 392 var google_tag_params = { ecomm_prodid:'', ecomm_pagetype:'other', ecomm_totalvalue: '' }; 393 394 395 google_tag_params.ecomm_prodid = '0'; 396 google_tag_params.ecomm_pagetype = 'view_item'; 397 398 399 400 401 var trackConversion = { 402 google_conversion_id : 0, 403 google_custom_params : google_tag_params, 404 google_conversion_value : 0, 405 google_remarketing_only : false 406 } 407 delete trackConversion.google_custom_params; 408 409 function callback_google_trackConversion(){ 410 if (typeof window.google_trackConversion !== undefined) { 411 if (typeof window.google_trackConversion === "function") { 412 window.google_trackConversion(trackConversion); 413 } 414 } 415 } 416 var gtag_ads_trackConversion_trigger = 0; 417 var callback_gtag_conversion = function (e) { 418 if( gtag_ads_trackConversion_trigger == 0 ) { 419 console.log('-- gtag_event_conversion --'); 420 console.log(e); 421 console.log(trackConversion); 422 console.log(google_tag_params); 423 } 424 }; 425 function callback_gtag_ads_trackConversion(){ 426 427 if( gtag_ads_trackConversion_trigger ) return false; 428 gtag_ads_trackConversion_trigger = 1; 429 430 setTimeout(function(){ 431 432 var gtag_event_conversion_t = 0; 433 434 435 if( gtag_event_conversion_t == 0 ) { 436 gtag('event',google_tag_params.ecomm_pagetype, { 437 'value': google_tag_params.ecomm_totalvalue, 438 'items': [{ 439 'id': google_tag_params.ecomm_prodid, 440 'google_business_vertical':'retail' 441 }], 442 'event_callback': callback_gtag_conversion 443 }); 444 } 445 446 447 }, 1000); 448 } 449 </script>
449
449<script type="application/javascript"> 450 451try { setCookie("qdmfbevent_id", global_quuid + "v", 5); } catch (error) { } 452 453(function() { 454 var url = "https://www.footpure.com.tw/index.php?route=pixcel/facebook/capi_page_view&quuid=" + global_quuid + "v"; 455 456 if (typeof fetch === "function") { 457 try { 458 fetch(url, { method: "GET", keepalive: true, credentials: "include" }).catch(function() {}); 459 } catch (e) {} 460 } else { 461 try { 462 var xhr = new XMLHttpRequest(); 463 xhr.open("GET", url, true); 464 xhr.send(); 465 } catch (e) {} 466 } 467})(); 468 </script>
468 </script>
468
468<script> 469 var N=document.createElement("link"); 470 N.setAttribute("href", "https://image-cdn-flare.qdm.cloud/q68de4048fef2d/image/data/01-Navi/014296c1c8b50fdb2e4fb6e4bd6fa6ee.png"); 471 N.setAttribute("rel", "shortcut icon"); 472 N.setAttribute("type", "image/png"); 473 document.head.appendChild(N); 474 </script>
474
474<script>document.createElement("picture");</script>
474
474<script async src='https://cdnjs.cloudflare.com/ajax/libs/picturefill/3.0.3/picturefill.min.js'></script>
474 <link rel="icon" href="https://image-cdn-flare.qdm.cloud/q68de4048fef2d/image/data/01-Navi/014296c1c8b50fdb2e4fb6e4bd6fa6ee.png" type="image/png" sizes="48x48" > <link rel="shortcut icon" href="https://image-cdn-flare.qdm.cloud/q68de4048fef2d/image/data/01-Navi/014296c1c8b50fdb2e4fb6e4bd6fa6ee.png" type="image/png" sizes="48x48" > <link type="text/css" rel="stylesheet" href="https://cdn.qdm.cloud/min/css/core.260320v01.css"> <style> 475 *, body, p, pre, button, input, optgroup, select, textarea, a, a:visited { font-family: 'SF Pro TC', 'SF Pro Text', 'PingFang TC', 'Segoe UI', SegoeUI, 'Microsoft JhengHei', å¾®è»æ£é»é«, 'Helvetica Neue', Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } 476 @media (min-width: 1200px) { body { padding-top: 40px; } .container, .navbar-static-top .container, .navbar-fixed-top .container, .navbar-fixed-bottom .container { width: 1170px; } } 477 .hidden{display:none;visibility:hidden} 478 .pull-right { float: right !important; } 479 .container > #mainnav.skin4 { max-width:860px;width:100%; } 480 .container > #mainnav.skin4 .nav.menu-nav { display:inherit; } 481 #mainnav ul { list-style: none; display: flex; flex-wrap: wrap; } 482 #mainnav ul li { position: relative; } 483 #mainnav ul li ul.dropdown-menu { position: absolute; display: none; flex-direction: column; } 484 #mainnav ul li ul.dropdown-menu > li.column-menu { display: table-cell; border-right: 1px solid #eee; vertical-align: top; } 485 #mainnav ul li ul.dropdown-menu > li.column-menu > ul { display: block; } 486 #mainnav ul li:hover > ul { display: flex; } 487 #mainnav ul ul ul {top: 0; left: 100%; border-left:solid 1px #fff; width:auto;} 488 #mainnav ul.nav li.dropdown ul.dropdown-menu { webkit-box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); -moz-box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); } 489 #mainnav ul.nav li.dropdown ul.dropdown-menu li a { font-size: 17px; line-height: 26px; } 490 #mainnav ul.nav li.dropdown > ul.dropdown-menu > li[data-has-child] > a:after { content: ''; border: 4px solid transparent; border-left: 4px solid #000; margin-top: 2px; margin-bottom: 3px; display: inline-block; vertical-align: bottom; position: absolute; right: 6px; top: 10px; } 491 .navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0;} 492 .navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px;} 493 #header ul{list-style:none;margin:0;padding:0} #header li{list-style:none} 494 .navbar .nav{position:relative;} 495 .navbar .nav.pull-right{float:right;margin-right:0;} 496 .navbar .nav>li{float:left;} 497 .navbar .nav>li>a{float:none;padding:10px 15px 10px;text-decoration:none;} 498 .navbar .nav .dropdown-toggle .caret{margin-top:8px;} 499 .navbar .button-navbar{display:none;float:right;padding:7px 10px;margin-left:5px;margin-right:5px;} 500 .button-navbar .icon-bar+.icon-bar{margin-top:3px;} 501 .navbar .nav>li>.dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0, 0, 0, 0.2);position:absolute;top:-7px;left:9px;} 502 .navbar .nav>li>.dropdown-menu:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #ffffff;position:absolute;top:-6px;left:10px;} 503 .dropdown-menu { position: absolute; display: none; float: left; } 504 .dropup, .dropdown { position: relative; } 505 .pushy { z-index: 99999999; } 506 .pushy-menu-storename span{ 507 width: 40%; 508 position: absolute; 509 top: 24px; 510 right: 5px; 511 text-align: right; 512 padding-right: 10px; 513 } 514 .pushy-menu-storename a{ 515 width: 90%; 516 } 517 .pushy-menu-storename a:hover, a:visited, a:link, a:active { 518 text-decoration: none; 519 } 520 </style> <link type="text/css" rel="stylesheet" href="https://cdn.qdm.cloud/min/css/theme/skin-2.css?v=231130001"> <link type="text/css" rel="stylesheet" href="https://image-cdn.qdm.cloud/site/q68de4048fef2d/custom_theme.css?v=20260114194815"> <style> 521 html {-webkit-transition: background-color 0s;transition: background-color 0s;} html.loading { position: relative; overflow:hidden; width:100%; height:100%; min-height:768px;
521 background: #fff url('https://cdn.qdm.cloud/min/cache/loading_1107.gif') no-repeat 50% 40%;-webkit-transition: background-color 0; transition: background-color 0; height: 100%; width: 100%;} body {-webkit-transition: opacity 0.3s ease-in;transition: opacity 0.3s ease-in;} html.loading body { opacity: 0; -webkit-transition: opacity 0s; transition: opacity 0s; } html.loading:before { font-size: 15px; content: "ã è«å¿ééè¦çª ãçåäº¤æææ¬ä¸"; color: #000; vertical-align: middle; text-align: center; width: 100%; display: block; position: absolute; top: 30%; } img { opacity: 1; transition: opacity 0s; } img[data-src] { opacity: 1; } .flexslider .flex-direction-nav { display:none; } 522 #myBody.product-product .heading h1, #myBody.product-product .mainborder .rightcol h1 { color: rgb(0, 0, 0); 523 } 524 .already_sold span{color:#e4007f;font-weight:bold;} 525 #myBody .fancybox-buttons { top: 60px; } 526 .ui-autocomplete.ui-front.ui-menu { 527 z-index: 999999999; border: none; border: 1px solid #EEE; box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); 528 } 529 .ui-autocomplete.ui-front.ui-menu > .ui-menu-item { 530 font-size: 17px; line-height: 26px; list-style-image: none; background-color: #FFF; cursor: pointer; border: none; 531 } 532 .ui-autocomplete.ui-front.ui-menu > .ui-menu-item a.ui-state-focus { 533 line-height: 26px; 534 border-color: #616161; 535 background: #616161 !important; 536 font-weight: bold !important; 537 color: #ffffff !important; 538 } 539 @media only screen and (max-width:768px){.fb_dialog_content>iframe:first-child, .fb-customerchat iframe {bottom: 50px !important;}.quickcheckout-checkout .fb_dialog_content>iframe:first-child, .quickcheckout-checkout .fb-customerchat iframe {bottom: 90px !important;}} 540 .onsale{ width:65px; height:24px; min-width:65px; min-height:24px; padding:2px; border-radius:5%; line-height:20px; } 541 #navbar-top-socialbar li.social-icon{ line-height:0px; padding-top:6px; } 542 #navbar-top-socialbar li.social-icon>a>i{ line-height:24px; } 543 .display_price { display:none; } 544 545 #payment-logo-list{ 546 width: 100%; 547 max-width: 1200px; 548 margin: 0 auto; 549 /*padding-bottom: 20px;*/ 550 padding-top: 10px; 551 } 552 553 #payment-logo-list .pl-row { 554 display: flex; 555 flex-wrap: wrap; 556 justify-content: center; 557 gap: 20px; 558 } 559 560 #payment-logo-list .pl-col { 561 flex: 1; 562 max-width: 120px; 563 padding: 2px; 564 text-align: center; 565 } 566 #payment-logo-list .pl-col img { 567 max-height: 40px; 568 line-height: 40px; 569 object-fit: contain 570 } 571 @media only screen and (max-width:768px){ 572 #payment-logo-list .pl-col { 573 min-width: 10%; 574 } 575 } 576 </style> <style> 577 .preload-hidden { opacity: 0; transition: opacity .3s ease; } 578 .awoo-ui { display:block; margin-top:20px; margin-bottom:20px; } 579 </style>
579<script> 580 window.addEventListener('load', function(){ 581 try { 582 setTimeout(function(){ 583 var preloadElements = document.querySelectorAll('.preload-hidden'); 584 preloadElements.forEach(function(element) { 585 element.style.opacity = '1'; 586 }); 587 }, 300); 588 } catch(e) {} 589 }); 590 </script>
590 </head> <body id="myBody" data-customer-group="1" data-instant-allow-query-string itemscope itemtype="https://schema.org/WebSite" class="responsive skin-2 account-login"> <div id="fb-root"></div>
590<script> 591 window.fbAsyncInit = function() { 592 FB.init({ 593 appId : '334667632024491', 594 autoLogAppEvents : true, 595 cookie : true, 596 xfbml : true, 597 status : true, 598 version : 'v19.0' 599 }); 600 }; 601</script>
601 <meta itemprop="url" content="https://www.footpure.com.tw/" /> <!-- Mobile Header --> <!--googleoff: index--> <div id="mobile-navbar" class="navbar navbar-static-top FixedTop visible-xs visible-sm" style="display:none;"> <div class="navbar-inner"> <ul class="nav"> <li id="menu-btn" class="menu-btn"><span>☰</span></li> <li class="site-title"> <a href="https://www.footpure.com.tw/"><img src="//image-cdn-flare.qdm.cloud/q68de4048fef2d/image/data/01-Navi/37545cc188ab6e9e6febfee4d5fd21e6.png" title="FOOTPUREï½éèç²ï½æ²æé¤ä¸äºçè
³è" style="width:auto;max-height:56px;" /></a> </li> <li id="shopping-cart-list" class="shopping-cart" data-direction="left" style="overflow: visible; margin: 0px; padding-right: 10px;"><a href="https://www.footpure.com.tw/cart"><i class="fa fa-shopping-cart" aria-hidden="true"></i><span class="badge hidden">0</span></a></li> </ul> </div> </div> <!--googleon: index--> <!-- Pushy Menu --> <nav id="mobile-menu-pushy" class="pushy pushy-left visible-xs visible-sm" style="display:none;"> <div class="pushy-content"> <ul> <li class="pushy-menu-storename"> <a href="https://www.footpure.com.tw/">FOOTPUREï½éèç²ï½æ²æé¤ä¸äºçè
³è</a> <span><i class="fa fa-times" aria-hidden="true"></i></span> </li> <div class="pushy-menu-main"> <li class="header-logged-menu pushy-submenu hidden"> <button><i class="fa fa-user-circle-o"></i> <span id="header-mobile-user"></span></button> <ul> <li class="pushy-link"><a href="/account">æå¡ä¸å¿</a></li> <li class="pushy-link"><a href="https://www.footpure.com.tw/account/edit">æçè³æ</a></li> <li class="pushy-link"><a href="https://www.footpure.com.tw/account/reward">æçç´
å©</a></li> <div class="pushy-menu-divide"></div> <li class="pushy-link"><a href="https://www.footpure.com.tw/wishlist">顿æ¸
å®</a></li> <li class="pushy-link"><a href="https://www.footpure.com.tw/compare">å忝è¼</a></li> <div class="pushy-menu-divide"></div> <li class="pushy-link"><a href="https://www.footpure.com.tw/newsletter">æçè¨é±</a></li> </ul> </li> <li class="header-logged-menu pushy-submenu hidden"> <button><i class="fa fa-truck" aria-hidden="true"></i> æçè¨å®</button> <ul> <li class="pushy-link"><a href="https://www.footpure.com.tw/order">æçè¨å®</a></li> <li class="pushy-link"><a href="https://www.footpure.com.tw/account/return">é/æè²¨ç´é</a></li> </ul> </li> <li class="pushy-link header-none-logged-menu hidden"><a href="/login"><i class="fa fa-user-circle-o"></i> æå¡ä¸å¿ (ç»å
¥)</a></li> <li class="pushy-link header-none-logged-menu hidden"><a href="/guestorder"><i class="fa fa-search-plus" aria-hidden="true"></i> æè¦æ¥è¨å®</a></li> <li class="pushy-submenu"> <button><i class="fa fa-commenting-o" aria-hidden="true"></i> æ¾åºé·</button> <ul> <li class="pushy-link"><a href="https://www.footpure.com.tw/contact">ç·ä¸çè¨</a></li> <li class="pushy-link"><a href="https://www.messenger.com/t/footpure.tw" target="_blank" rel="noopener noreferrer nofollow">Facebookè¨æ¯</a></li> </ul> </li> <li class="pushy-link header-logged-menu hidden"><a href="https://www.footpure.com.tw/account/logout"><i class="fa fa-sign-out" aria-hidden="true"></i> ç»åº</a></li> </div> <!-- \.pushy-menu-main --> <div class="pushy-menu-divide"></div> <div class="search"> <form method="get" action="/search"> <span class="fa fa-search"></span> <input type="text" name="q" placeholder="ååééµå" autocomplete="off"> </form><br/> </div> <div class="pushy-menu-category"> <li class="pushy-link home-item-link"><a href="https://www.footpure.com.tw/">ååºé¦é </a></li> <li class="pushy-link" > <a href="https://www.footpure.com.tw/é¤è
³èç¥å¨" >åªæ æ´»åï¼åå
§å
éï¼</a> </li> <li class="pushy-submenu" > <button><span class="pushy-submenu-parent" data-url="https://www.footpure.com.tw/ç¢åç³»å" >é¤è
³èç¥å¨</span></button> <ul> <li class="pushy-link"> <a href="https://www.footpure.com.tw/å©ç«¥å°ç¨" >å©ç«¥ãå¸çå°ç¨</a> </li> <li class="pushy-link"> <a href="https://www.footpure.com.tw/è»è¦ç¹æ®å°ç¨" >è»è¦å¼·æãç¹æ®ç¨</a> </li> <li class="pushy-link"> <a href="https://www.footpure.com.tw/OL穿絲襪å°ç¨" >OL穿絲襪å°ç¨</a> </li> <li class="pushy-link"> <a href="https://www.footpure.com.tw/ç©¿éä¸ç©¿è¥ªç¨" >ç©¿éä¸ç©¿è¥ªç¨</a> </li> </ul> </li> <li class="pushy-link" > <a href="https://www.footpure.com.tw/è¶
微米ç»çæè
³ç®ç¥å¨" >å»è
³ç®ç¥å¨</a> </li> <li class="pushy-submenu" > <button><span class="pushy-submenu-parent" data-url="https://www.footpure.com.tw/ç¢åç³»å-2" >ç¢åç³»å</span></button> <ul> <li class="pushy-link"> <a href="https://www.footpure.com.tw/ç¶å
¸éèç²" >ç¶å
¸éèç²</a> </li> <li class="pushy-link"> <a href="https://www.footpure.com.tw/å°å©å°ç¨" >Agéé¢åå´å´éèç²</a> </li> <li class="pushy-link"> <a href="https://www.footpure.com.tw/å°è
³æ±é©ç¨ï½Agéé¢åé襪å´é§" >é馿°´Agéé¢åéã襪æèï¼é¤èå´é§</a> </li> <li class="pushy-link"> <a href="https://www.footpure.com.tw/è¶
微米ç»çæè
³ç®ç¥å¨-2" >è¶
微米ç»çæè
³ç®ç¥å¨</a> </li> </ul> </li> <li class="pushy-link" > <a href="index.php?route=information/information&information_id=9" >è
³èå½¢æåå </a> </li> <li class="pushy-link" > <a href="index.php?route=information/information&information_id=10" >éæ¼FOOTPURE</a> </li> <li class="pushy-submenu" > <button><span class="pushy-submenu-parent" data-url="https://www.footpure.com.tw/è²¼å¿å®¢æ" >è²¼å¿å®¢æ</span></button> <ul> <li class="pushy-link"> <a href="https://www.footpure.com.tw/guestorder" >æ¥è©¢è¨å®çæ
</a> </li> <li class="pushy-link"> <a href="https://page.line.me/yrn6670m" target="_blank" rel="noopener noreferrer nofollow">
601è¯ç¹«LINE客æ</a> </li> <li class="pushy-link"> <a href="index.php?route=information/information&information_id=11" >éæè²¨è鿬¾èªªæ</a> </li> </ul> </li> </div> </ul> </div> </nav> <!-- Site Overlay --> <div class="site-overlay"></div> <header id="header" class="visible-lg visible-md" itemscope itemtype="https://schema.org/Organization"> <div class="container"> <!-- search bar --> <div class="container" id="search" class="search"> <div class="searchbox input-append" itemprop="potentialAction" itemscope itemtype="https://schema.org/SearchAction"> <meta itemprop="target" content="https://www.footpure.com.tw/search?q={filter_name}"/> <input itemprop="query-input" type="search" name="filter_name" value="" placeholder="æå°" class="input-xxlarge" /> <button class="button button-search" type="button"><i class="icon-search"></i></button> </div> </div> <ul class="nav nav-pills pull-right"> <li style="margin-top:-1px; margin-right: 10px;"></li> <li></li> <li><section class="float-mini-cart" id="cart"> <style> 602.mini-cart-info td, .mini-cart-total td { line-height:20px; } 603</style> <div class="heading"> <i class="fa fa-shopping-cart"></i> 604 ( <a href="https://www.footpure.com.tw/cart" id="cart-total"> 605 0 ä»¶åå $0 </a> 606 ) 607 </div> <div class="content"> <div class="empty white">è³¼ç©è»æ²æå å ¥ä»»ä½åå</div> <a id="closecart" class="close" title="Close" onclick="$('#cart').removeClass('active');">Ã</a> </div> </section></li> <li id="header-logged-menu" class="dropdown hidden"> <a href="https://www.footpure.com.tw/account" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-user-o"></i> <span id="header-logged-user"></span> <b class="caret"></b></a> <ul class="dropdown-menu"> <li><a href="https://www.footpure.com.tw/account">æå¡ä¸å¿</a></li> <li><a href="https://www.footpure.com.tw/order">æçè¨å®</a></li> <li><a href="https://www.footpure.com.tw/wishlist">é¡ææ¸ å®</a></li> <li><a href="https://www.footpure.com.tw/compare">å忝è¼</a></li> <li class="divider"></li> <li><a href="https://www.footpure.com.tw/account/logout">ç»åº</a></li> </ul> </li> <li id="header-none-logged-menu"><a href="https://www.footpure.com.tw/login" title="æå¡ç»å ¥" id="bt
607nLogin"><i class="fa fa-user-o"></i> æå¡ç»å ¥</a></li> <li class="dropdown"> <a href="##" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-commenting-o"></i></a> <ul class="dropdown-menu"> <li><a href="https://www.footpure.com.tw/contact"><i class="fa fa-comments-o"> ç·ä¸çè¨</i></a></li> <li><a href="https://www.messenger.com/t/footpure.tw" target="_blank" rel="noopener noreferrer nofollow"><i class="fa fa-facebook-square"> Facebookè¨æ¯</i></a></li> </ul> </li> <li><a href="##" id="switchSearchPanel" class="switchSearchPanel" title="æåå"><i class="fa fa-search"></i></a></li> </ul> <a itemprop="url" class="logo" href="https://www.footpure.com.tw/"><img onerror='imgError(this);' itemprop="logo" src="//image-cdn-flare.qdm.cloud/q68de4048fef2d/image/data/01-Navi/37545cc188ab6e9e6febfee4d5fd21e6.png" title="FOOTPUREï½éèç²ï½æ²æé¤ä¸äºçè ³è" alt="FOOTPUREï½éèç²ï½æ²æé¤ä¸äºçè ³è" /></a> </div> <br/><br/> </header> <div id="content-wrapper"> <div class="container"> <nav id="mainnav" class="navbar visible-lg visible-md" role="navigation" style="visibility:hidden"> <div class="navbar-inner"> <div class="container"> <button type="button" class="button button-navbar" data-toggle="collapse" data-target=".nav-collapse"> <span> 608 609 é¸å®</span> <i class="icon-navbtn"></i> </button> <div class="nav-collapse"> <ul class="nav"> <li data-categoryid="21" href="https://www.footpure.com.tw/é¤è ³èç¥å¨" > <a href="https://www.footpure.com.tw/é¤è ³èç¥å¨" data-hover="">åªæ æ´»åï¼åå §å éï¼</a> </li> <li data-categoryid="11" href="https://www.footpure.com.tw/ç¢åç³»å" class="dropdown"> <a href="https://www.footpure.com.tw/ç¢åç³»å" data-hover="">é¤è ³èç¥å¨ <b class="caret"></b></a> <ul class="dropdown-menu"> <li id="20" ><a href="https://www.footpure.com.tw/å©ç«¥å°ç¨" data-hover="">å©ç«¥ãå¸çå°ç¨</a> </li> <li id="21" ><a href="https://www.footpure.com.tw/è»è¦ç¹æ®å°ç¨" data-hover="">è»è¦å¼·æãç¹æ®ç¨</a> </li> <li id="22" ><a href="https://www.footpure.com.tw/OL穿絲襪å°ç¨" data-hover="">OL穿絲襪å°ç¨</a> </li> <li id="23" ><a href="https://www.footpure.com.tw/ç©¿éä¸ç©¿è¥ªç¨" data-hover="">ç©¿éä¸ç©¿è¥ªç¨</a> </li> </ul> </li> <li data-categoryid="16" href="https://www.footpure.com.tw/è¶ å¾®ç±³ç»çæè ³ç®ç¥å¨" > <a href="https://www.footpure.com.tw/è¶ å¾®ç±³ç»çæè ³ç®ç¥å¨" data-hover="">å»è ³ç®ç¥å¨</a> </li> <li data-categoryid="25" href="https://www.footpure.com.tw/ç¢åç³»å-2" class="dropdown"> <a href="https://www.footpure.com.tw/ç¢åç³»å-2" data-hover="">ç¢åç³»å <b class="caret"></b></a> <ul class="dropdown-menu"> <li id="40" ><a href="https://www.footpure.com.tw/ç¶å ¸éèç²" data-hover="">ç¶å ¸éèç²</a> </li> <li id="41" ><a href="https://www.footpure.com.tw/å°å©å°ç¨" data-hover="">Agéé¢åå´å´éèç²</a> </li> <li id="42" ><a href="https://www.footpure.com.tw/å°è ³æ±é©ç¨ï½Agéé¢åé襪å´é§" data-hover="">é馿°´Agéé¢åéã襪æèï¼é¤èå´é§</a> </li> <li id="43" ><a href="https://www.footpure.com.tw/è¶ å¾®ç±³ç»çæè ³ç®ç¥å¨-2" data-hover="">è¶ å¾®ç±³ç»çæè ³ç®ç¥å¨</a> </li> </ul> </li> <li data-categoryid="10" href="index.php?route=information/information&information_id=9" > <a href="index.php?route=information/information&information_id=9" data-hover="">è ³èå½¢æåå </a> </li> <li data-categoryid="9" href="index.php?route=information/information&information_id=10" > <a href="index.php?route=information/information&information_id=10" data-hover="">éæ¼FOOTPURE</a> </li> <li data-categoryid="14" href="https://www.footpure.com.tw/è²¼å¿å®¢æ" class="dropdown"> <a href="https://www.footpure.com.tw/è²¼å¿å®¢æ" data-hover="">è²¼å¿å®¢æ <b class="caret"></b></a> <ul class="dropdown-menu"> <li id="70" ><a href="https://www.footpure.com.tw/guestorder" data-hover="">æ¥è©¢è¨å®çæ </a> </li> <li id="71" ><a href="https://page.line.me/yrn6670m" target="_blank" rel="noopener noreferrer nofollow" data-hover="">
609è¯ç¹«LINE客æ</a> </li> <li id="72" ><a href="index.php?route=information/information&information_id=11" data-hover="">éæè²¨è鿬¾èªªæ</a> </li> </ul> </li> </ul> </div> </div> </div> </nav><!-- #navbar --> </div><!-- .container --> <div class="fluid-container"> <div id="content-top"></div> </div><!-- .fluid-container --> <div id="body-outer-container" class="fluid-container"> <div class="container-inner"> <style> 610#login .control-group.success { margin: 0px; } 611#login input { min-width: 100%; width: 100%; font-size: 20px; line-height: 46px; height:46px; padding:6px; } 612#login .center-or-bar { margin-bottom: 26px; display: flex; width: 100%; justify-content: center; align-items: center; text-align: center; } 613#login .center-or-bar:before, #login .center-or-bar:after { content: ''; border-top: 1px solid #CFCFCF; margin: 0 20px 0 0; flex: 1 0 20px; } 614#login .center-or-bar:after { margin: 0 0 0 20px; } 615#login .password-forgotten-recovery, .password-forgotten-recovery:visited { color: #777; } 616.contentset span { padding: 0px; } 617.fb_iframe_widget { display: block; } 618#maincontent .button { font-weight: bold; height: 42px; line-height: 42px; padding: 0px; font-size: 15px; } 619#login a.button-facebook, .button-facebook, .button-facebook:hover{border-color:#29447e #29447e #1a356e;color:#fff;background:#4469b0;-webkit-box-shadow:0 1px 0 rgba(0, 0, 0, 0.1), inset 0 1px 0 #8a9cc2;-moz-box-shadow:0 1px 0 rgba(0, 0, 0, 0.1), inset 0 1px 0 #8a9cc2;box-shadow:0 1px 0 rgba(0, 0, 0, 0.1), inset 0 1px 0 #8a9cc2;text-shadow:0 1px 1px rgba(100,100,100,0.75);} 620#maincontent .button.button-line{border-color:#00B300;color:#FFFFFF;background:#00C300;text-decoration:none;text-shadow:0 1px 1px rgba(100,100,100,0.35);} 621#maincontent .button.button-google{border-color:#ccc;color:#fff;background:#1a73e8;text-decoration:none;text-shadow: 0 1px 1px rgba(100,100,100,0.75);} 622#maincontent .button.btn-social.button-line:hover { background: #00E000; } 623#maincontent .button.btn-social.button-line:active { background: #00B300; } 624#maincontent .button.btn-social.button-google:hover { color:#999; background: #fff; text-shadow: none;} 625#maincontent .button.btn-social.button-google:active { background: #fff; } 626#maincontent .button.btn-social { position: relative; overflow: hidden; } 627#maincontent .button.btn-social>:first-child { position: absolute; left: 0; top: 0; bottom: 0; width: 42px; line-height: 42px; font-size: 1.92em; text-align: center; border-right: 1px solid rgba(0,0,0,.2); } 628#maincontent .button.btn-social>:first-child.fa-spin { border-right:none; } 629i.fa.fa-line{ width:42px; display:block; height:42px; color:white; text-decoration:none; padding-left:36px; } 630i.fa.fa-line:before{ content: ''; background:url('https://cdn.qdm.cloud/static/line/line_88.png'); background-size:cover; position:absolute; width:36px; height:36px; margin-left:-36px; top:2px; } 631#login-loading {position: fixed; display: none; width: 100%; height: 100%; top: 0; left: 0; text-align: center; opacity: 0.8; background-color: #000;z-index: 99; } 632#login-loading-spin { position: absolute; left:50%; top: 50%; z-index: 100; color:#fff; opacity: 0.8;} 633@media only screen and (max-width: 768px), only screen and (max-device-width: 667px) and (min-device-width: 375px) and (orientation: portrait), only screen and (max-device-width: 736px) and (min-device-width: 414px) and (orientation: portrait) { 634.button.button-inverse.button-block { line-height: 40px; line-height: 40px; font-size: 17px; font-weight: 300; font-family: Helvetica, Arial, sans-serif; } 635.button-facebook { height: 48px; line-height: 48px; padding: 0px; font-size: 17px; } 636#login .contentset { margin-top: 2px; } 637.success, .warning, .attention, .information { width: 90%; } 638#login-loading-spin { position: absolute; left:45%; top: 45%; z-index: 100; color:#fff; opacity: 0.8;} 639} 640 641</style> <ol class="breadcrumb" itemscope itemtype="http://schema.org/BreadcrumbList"> <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"> <a itemprop="item" href="https://www.footpure.com.tw/"> <span itemprop="name">é¦é </span> <meta itemprop="position" content="1" />
641 </a> <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"> 642 > <a itemprop="item" href="https://www.footpure.com.tw/account"> <span itemprop="name">æå¡</span> <meta itemprop="position" content="2" /> </a> <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"> 643 > <a itemprop="item" href="https://www.footpure.com.tw/login"> <span itemprop="name">ç»å ¥</span> <meta itemprop="position" content="3" /> </a> </li> </ol> <header class="heading"> <h1 class="visible-lg visible-md">æå¡ç»å ¥</h1><p> </p> </header> <section id="maincontent"> <div class="mainborder"> <div class="cart-inner" style="padding: 12px;"> <div class="row-fluid"> <div class="col-xs-12 col-md-6 col-md-offset-3 login"> <form action="https://www.footpure.com.tw/login" method="post" enctype="multipart/form-data" id="login"> <div class="control-group"> <label for="email" class="control-label"><b>ææ©è碼 / æ é»åéµä»¶</b></label> <div class="controls"> <input type="text" name="email" id="email" class="input-xlarge" autocomplete="off" /> </div> </div> <div class="control-group"> <label for="password" class="control-label"><b>å¯ç¢¼</b></label> <div class="controls"> <input type="password" name="password" class="input-xlarge" autocomplete="new-password" 644 autocapitalize="off" 645 spellcheck="false" /> </div> <p><a class="password-forgotten-recovery" href="https://www.footpure.com.tw/account/forgotten">å¿è¨å¯ç¢¼?</a></p> </div> <input type="hidden" name="utm_source" value=""> <input type="hidden" name="utm_medium" value=""> <input type="hidden" name="utm_campaign" value=""> <input type="submit" value="帳å¯ç»å ¥" class="button button-inverse button-block" /> </p> <hr/> <p><a class="button button-inverse button-block" href="https://www.footpure.com.tw/register">æè¦è¨»åæ°æå¡ <i class="fa fa-chevron-right" aria-hidden="true"></i></a></p> </div> <input type="hidden" name="csrf_token" value="686e947a00fa7db7213213460c14968e333fe07a9444180619042e361a8996dc" /> </form> </div> </div> <p> </p> <p> </p> </div> </div> </section><!-- #maincontent -->
645<script> 646 647 var prevent_dbl_click = 0; 648 649 var login_return_url = "/account"; 650 651 function confirmOptIn() { 652 FB.AppEvents.logEvent('MessengerCheckboxUserConfirmation', null, { 653 'app_id' : '162172840650014', 654 'page_id' : "306501696892771", 655 'user_ref' : 'q68de4048fef2d20260928011102152993' 656 }); 657 } 658 659 660 function init_inline(){ 661 662 $('#login input').keydown(function(e) { 663 if (e.keyCode == 13) { 664 $('#login').submit(); 665 } 666 }); 667 668 var u = navigator.userAgent; 669 //Lineå §çè¦½å¨ 670 if( u.indexOf('Line') > -1 ) { 671 $("#fb-login-button").remove(); 672 $("#fb-lineapp-login-button").show(); 673 } else { 674 $("#fb-login-button").show(); 675 $("#fb-lineapp-login-button").remove(); 676 } 677 678 } 679 function facebooLogin(){ 680 $(".fa-facebook-official").removeClass("fa-facebook-official").addClass("fa-circle-o-notch fa-spin fa-fw"); 681 } 682 </script>
682 </div> <!-- .container-inner --> </div> <!-- .container --> </div> <!-- #content_wrapper --> <input type="hidden" id="ga_utm_source" name="ga_utm_source" value=""> <input type="hidden" id="ga_utm_medium" name="ga_utm_medium" value=""> <input type="hidden" id="ga_utm_campaign" name="ga_utm_campaign" value=""> <footer id="footer" class="clearfix "> <div class="footer-inner container"> <div id="footer-inner-row" data-count="286" class="row-fluid clearfix"> <div class="column span2"> <h3 class="header">ååºè¨æ¯</h3> <ul class="content"> <li id="inf1"><a href="https://www.footpure.com.tw/pages/Service">éæè²¨è鿬¾èªªæ</a></li> <li id="inf2"><a href="https://www.footpure.com.tw/pages/5">æåæ¢æ¬¾</a></li> </ul> </div> <div class="column span2"> <h3 class="header">å®¢æ¶æå</h3> <ul class="content"> <li><a href="https://www.footpure.com.tw/contact">ååºçè¨æ¿</a></li> <li><a href="https://www.footpure.com.tw/return">ååé/æè²¨</a></li> <li><a href="https://www.footpure.com.tw/account/order/payment">填坫坿¬¾å®</a></li> <li><a href="/guestorder">å¿«éæ¥è¨å®</a></li> </ul> </div> <div class="column span2"> <h3 class="header">å ¶ä»æå</h3> <ul class="content"> <li><a href="https://www.footpure.com.tw/bestsellers">æ¢é·åå</a></li> <li><a href="https://www.footpure.com.tw/special">ç¹è³£åå</a></li> <li><a href="https://www.footpure.com.tw/latest">å ¨é¨åå</a></li> </ul> </div> <div class="column span2"> <h3 class="header">æå¡ä¸å¿</h3> <ul class="content"> <li><a href="https://www.footpure.com.tw/account">æå¡ä¸å¿</a></li> <li><a href="https://www.footpure.com.tw/order">è¨è³¼ç´é</a></li> <li><a href="https://www.footpure.com.tw/newsletter">è¨é±å®ç¶²éç¥</a></li> </ul> </div> <div class="span4 contact pull-right"> <p>客æå°ç·ï¼06-268-1366<br /> 683客ææéï¼é±ä¸è³é±äº<br /> 68410:00 - 12:00 / 13:30 - 18:00<br /> 685客æä¿¡ç®±ï¼[email protected]<br /> 686åªé³ä½³åéäºæ¥æéå ¬å¸<br /> 687å°åï¼å°åæ±åä»åè·¯139å··1-5è</p> </div> </div> <!-- .row --> </div> <!-- /.footer-inner --> <div class="footer-bottom container "> <div class="row-fluid visible-lg"><div id="facebook-page-container" class="fb-container"></div></div> <div id="footer-copyright" class="row-fluid"> <div id="payment-logo-list" class="pl-container"> <div class="pl-row"> </div> </div> <div id="copy"> <p>Copyright ©2026 FOOTPURE®åªé³ä½³åéäºæ¥æéå ¬å¸</p> <p> 688 åªé³ä½³åéäºæ¥æéå ¬å¸ | 689 çµ±ä¸ç·¨è 80322643 </p> <!--googleoff: index--><span style="display:none;">q68de4048fef2d</span><!--googleon: index--> </div> <div id="qdm-copy"><a href='https://www.footpure.com.tw/googlebase.xml' title="RSS" target='blank'><i class="fa fa-rss"></i></a><a href='https://www.footpure.com.tw/sitemap'>ç¶²ç«å°å</a></div> </div> </div> </footer> <!-- #footer -->
689<script src="https://cdn.qdm.cloud/assets/js/LAB.min.js"></script>
689
689<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
689
689<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-migrate/1.4.1/jquery-migrate.min.js"></script>
689
689<script type="text/javascript"> 690 691 $(document).ready(function() { 692 var j = 0; 693 var delay = 3000; 694 function cycleStickyBarTop(){ 695 var jmax = $(".sticky-bar-top .sticky-bar-content").length -1; 696 if(jmax > 0){ 697 $(".sticky-bar-top .sticky-bar-content:eq(" + j + ")") 698 .animate({"opacity" : "1","z-index":"9998"} ,400) 699 .animate({"opacity" : "1","z-index":"9998"}, delay) 700 .animate({"opacity" : "0","z-index":"9"}, 400, function(){ 701 (j == jmax) ? j=0 : j++; 702 cycleStickyBarTop(); 703 }); 704 }else{ 705 $(".sticky-bar-top .sticky-bar-content:eq(" + j + ")") 706 .animate({"opacity" : "1","z-index":"9998"}, delay) 707 } 708 }; 709 cycleStickyBarTop(); 710 711 var i = 0; 712 function cycleStickyBarBottom(){ 713 var imax = $(".sticky-bar-bottom .sticky-bar-content").length -1; 714 if(imax > 0){ 715 $(".sticky-bar-bottom .sticky-bar-content:eq(" + i + ")") 716 .animate({"opacity" : "1","z-index":"9998"} ,400) 717 .animate({"opacity" : "1","z-index":"9998"}, delay) 718 .animate({"opacity" : "0","z-index":"9"}, 400, function(){ 719 (i == imax) ? i=0 : i++; 720 cycleStickyBarBottom(); 721 }); 722 }else{ 723 $(".sticky-bar-bottom .sticky-bar-content:eq(" + i + ")") 724 .animate({"opacity" : "1","z-index":"9998"}, delay) 725 } 726 727 }; 728 cycleStickyBarBottom(); 729 730 var k = 0; 731 function cycleStickyBarTopMobile(){ 732 var kmax = $(".mobile-sticky-bar-top .sticky-bar-content").length -1; 733 if(kmax > 0){ 734 $(".mobile-sticky-bar-top .sticky-bar-content:eq(" + k + ")") 735 .animate({"opacity" : "1","z-index":"9998"} ,400) 736 .animate({"opacity" : "1","z-index":"9998"}, delay) 737 .animate({"opacity" : "0","z-index":"9"}, 400, function(){ 738 (k == kmax) ? k=0 : k++; 739 cycleStickyBarTopMobile(); 740 }); 741 }else{ 742 $(".mobile-sticky-bar-top .sticky-bar-content:eq(" + k + ")") 743 .animate({"opacity" : "1","z-index":"9998"}, delay) 744 } 745 }; 746 cycleStickyBarTopMobile(); 747 748 //COUNTDOWN TIMER 749 $(".sticky-bar-countdown").each(function(){ 750 751 var sticky_bar_date = $(this).attr("data-countdown-date").replace(/-/g,'/'); 752 var sticky_bar_countdown_id = $(this).attr("id"); 753 var countDownDate = new Date(sticky_bar_date).getTime(); 754 755 var x = setInterval(function() { 756 757 var now = new Date().getTime(); 758 759 var distance = countDownDate - now; 760 761 var days = Math.floor(distance / (1000 * 60 * 60 * 24)); 762 var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); 763 var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); 764 var seconds = Math.floor((distance % (1000 * 60)) / 1000); 765 766 if(hours<10){ 767 var hours1 = "0"+hours; 768 }else{ 769 var hours1 = hours; 770 } 771 if(minutes<10){ 772 var minutes1 = "0"+minutes; 773 }else{ 774 var minutes1 = minutes; 775 } 776 if(seconds<10){ 777 var seconds1 = "0"+seconds; 778 }else{ 779 var seconds1 = seconds; 780 } 781 782 if( $("#" + sticky_bar_countdown_id).length ) { 783 document.getElementById(sticky_bar_countdown_id).innerHTML = " "+days+ " DAY " + hours1 + ": " 784 + minutes1 + ": " + seconds1 + " "; 785 } 786 787 if (distance < 0) { 788 clearInterval(x); 789 //document.getElementById(sticky_bar_countdown_id).innerHTML = "-"; 790 $("#"+sticky_bar_countdown_id).remove(); 791 } 792 }, 1000); 793 794 }); 795 796 }); 797 798 jQuery.ajaxPrefilter( function( s ) { 799 if ( s.crossDomain ) { 800 s.contents.script = false; 801 } 802 }); 803 804 var loc = window.location.href, index = loc.indexOf('#'); 805 if (index > 0) { 806 try { 807 var urlHash = loc.split("#")[1]; 808 if( urlHash ) { 809 if( $('#' + urlHash).length ) { 810 $('html,body').animate({ 811 scrollTop: $('#' + urlHash).offset().top 812 }, 1200); 813 } else { 814 window.location = loc.substring(0, index) + "&" + loc.substring(index+1); 815 } 816 } 817 } catch(err) { } 818 } 819 820 var readyInitPage = 1; 821 var doAdjust = true; 822 var doAdjustCounter = 0; 823 var jsLoadTimeout = null; 824 var previousWidth = 0; 825 var maxHeight = 0; 826 var flipper_random_status = 0; 827 var float_banner_count = 0; 828 var lazy = 1; 829 var transInitial = -280; 830 var mDistance = 0; 831 832 if (window!= top) top.location.href = location.href; 833 834 //20210713 add menu url target 835 $(".pushy-submenu button span").click(function(){ 836 if($(this).attr("target")){ 837 $(this).removeClass("pushy-submenu-parent"); 838 if($(this).parents("li").hasClass("pushy-submenu-open")){ 839 window.open($(this).data("url"),"_blank"); 840 } 841 } 842 }); 843 844 $(".pushy-menu-storename span").click(function(){ 845 $("#myBody").removeClass("pushy-open-left"); 846 }); 847 848 function getScript(url,success){ 849 var script = document.createElement('script'); 850 script.type = 'text/javascript'; 851 script.src = url; 852 var head=document.getElementsByTagName('head')[0], done=false; 853 script.onload=script.onreadystatechange = function(){ 854 if ( !done && (!this.readyState || this.readyState == 'loaded' || this.readyState == 'complete') ) { 855 done=true; 856 success(); 857 script.onload = script.onreadystatechange = null; 858 head.removeChild(script); 859 } 860 }; 861 head.appendChild(script); 862 } 863 864 function getParams(a){var b=document.getElementsByTagName("script");for(var i=0;i<b.length;i++){if(b[i].src.indexOf("/"+a)>-1){var c=b[i].src.split("?").pop().split("&");var p={};for(var j=0;j<c.length;j++){var d=c[j].split("=");p[d[0]]=d[1]}return p}}return{}} 865 866 function adjustBoxHeights() { 867 maxHeight1 = 270; 868 maxHeight2 = 270; 869 maxHeight3 = 270; 870 maxHeight4 = 270; 871 maxHeight5 = 270; 872 873 $('.content-top .product-box > div').each(function(){ 874 $(this).height('auto'); 875 if (maxHeight2 < $(this).height()) { maxHeight2 = $(this).height(); } 876 }); 877 $('.content-top .product-box > div').each(function(){ 878 if( maxHeight2 ) { 879 $(this).height(maxHeight2); 880 } 881 }); 882 883 $('.content-bottom .product-box > div').each(function(){ 884 $(this).height('auto'); 885 if (maxHeight3 < $(this).height()) { maxHeight3 = $(this).height(); } 886 }); 887 $('.content-bottom .product-box > div').each(function(){ 888 if( maxHeight3 ) { 889 $(this).height(maxHeight3); 890 } 891 }); 892 893 $('.product-grid > div').each(function(){ 894 var img_src = $(this).find(".image img[src]").attr("src"); 895 try { 896 var img_src_ext = img_src.split('.').pop().toLowerCase(); 897 } catch(err) { 898 img_src_ext = ""; 899 } 900 $(this).height('auto'); 901 if( $( "#myBody" ).hasClass("product-category") ){ 902 img_src_ext = ""; 903 } 904 if( img_src_ext != "gif" ) { 905 if (maxHeight1 < $(this).height()) { maxHeight1 = $(this).height(); } 906 } else { 907 $(this).addClass("gif-tag"); 908 } 909 }); 910 var img_gif_height = 0; 911 $('.product-grid > div').each(function(){ 912 var img_src = $(this).find(".image img[src]").attr("src"); 913 try { 914 var img_src_ext = img_src.split('.').pop().toLowerCase(); 915 } catch(err) { 916 img_src_ext = ""; 917 } 918 if( maxHeight1 ){ 919 $(this).height(maxHeight1); 920 if( img_src_ext != "gif" ) { 921 img_gif_height = $(this).find(".image img").height(); 922 } 923 } 924 }); 925 $('.product-grid > div.gif-tag').attr("style",""); 926 if( img_gif_height ) { 927 $('.product-grid > div.gif-tag').find(".image img").attr("style","height:" + img_gif_height + "px;width:auto;"); 928 } 929 930 $('.box-content').each(function(index,elmain){ 931 $(elmain).find('.product-box').each(function(index,el){ 932 maxHeight1 = 0; 933 $(el).find('.grid-box').each(function(index,el2){ 934 $(el2).height('auto'); 935 }); 936 $(el).find('.grid-box .inner').each(function(index,el2){ 937 if (maxHeight1 < $(el2).height()) { maxHeight1 = $(el2).height(); } 938 }); 939 maxHeight1 = maxHeight1 + 18; 940 $(el).find('.grid-box').each(function(index,el2){ 941 if( maxHeight1 ) { 942 $(el2).height(maxHeight1); 943 } 944 }); 945 }); 946 }); 947 948 $('#related-products').each(function(index,elmain){ 949 $(elmain).imagesLoaded(function(){ 950 $(this).find('.product-box').each(function(index,el){ 951 maxHeight1 = 0; 952 $(el).find('.grid-box').each(function(index,el2){ 953 $(el2).height('auto'); 954 }); 955 $(el).find('.grid-box .inner').each(function(index,el2){ 956 if (maxHeight1 < $(el2).height()) { maxHeight1 = $(el2).height(); } 957 }); 958 maxHeight1 = maxHeight1 + 36; 959 if( maxHeight1 < 220 ) maxHeight1 = 220; 960 if( !is.mobile() ) { 961 if( maxHeight1 < 340 ) maxHeight1 = 340; 962 } 963 $(el).find('.grid-box').each(function(index,el2){ 964 if( maxHeight1 ) { 965 $(el2).height(maxHeight1); 966 } 967 }); 968 }); 969 }); 970 }); 971 972 $('.content-bottom #related-products').each(function(index,elmain){ 973 var contentset_height = parseInt($('.content-bottom #related-products .contentset').height()); 974 if( contentset_height ) contentset_height = contentset_height + 70; 975 $(elmain).imagesLoaded(function(){ 976 $(this).find('.product-box').each(function(index,el){ 977 maxHeight1 = 0; 978 $(el).find('.grid-box').each(function(index,el2){ 979 $(el2).height('auto'); 980 }); 981 $(el).find('.grid-box .inner').each(function(index,el2){ 982 if (maxHeight1 < $(el2).height()) { maxHeight1 = $(el2).height(); } 983 }); 984 maxHeight1 = maxHeight1 + 36 + contentset_height; 985 if( maxHeight1 < 220 ) maxHeight1 = 220; 986 if( !is.mobile() ) { 987 if( maxHeight1 < 340 ) maxHeight1 = 340; 988 } 989 $(el).find('.grid-box').each(function(index,el2){ 990 if( maxHeight1 ) { 991 $(el2).height(maxHeight1); 992 } 993 }); 994 }); 995 }); 996 }); 997 998 $('.any-products').each(function(index,el){ 999 1000 if(is.mobile()){ 1001 $(el).find(".grid-box").attr("style",""); 1002 } 1003 1004 maxHeight5 = 0; 1005 $(el).find('.any-box > div').each(function(index,el2){ 1006 $(el2).height('auto'); 1007 if (maxHeight5 < $(el2).height()) { maxHeight5 = $(el2).height(); } 1008 }); 1009 $(el).find('.any-box > div').each(function(index,el2){ 1010 if( maxHeight5 ) { 1011 $(el2).height(maxHeight5); 1012 } 1013 }); 1014 $(el).find('.grid-box > .inner').each(function(index,el2){ 1015 $(el2).css("display", "block"); 1016 }); 1017 }); 1018 } 1019
1020 var supportsNatural = ( "naturalWidth" in (new Image()) ); 1021 1022 function initDeferImages() { 1023 [].forEach.call(document.querySelectorAll('img[data-src]'), function(img) { 1024 img.setAttribute('src', img.getAttribute('data-src')); 1025 img.onload = function() { 1026 this.removeAttribute('data-src'); 1027 if (this.style.opacity !== undefined) { 1028 this.style.opacity = 1; 1029 } 1030 var naturalWidth = supportsNatural ? this.naturalWidth : $(this).width(); 1031 if( naturalWidth == 0 ) { 1032 this.src += '?timestamp=' + new Date().getTime(); 1033 } 1034 }; 1035 }); 1036 $(".grid-box img,.product-row img").each(function(){ 1037 var _this = $(this); 1038 _this.imagesLoaded(function(){ 1039 _this.animate({opacity: 1.0}, 100); 1040 _this.closest('.grid-box').find('.onsale').removeClass("hidden"); 1041 _this.closest('.grid-box').find('.name').removeClass("hidden"); 1042 _this.closest('.grid-box').find('.price').removeClass("hidden"); 1043 _this.closest('.grid-box').find('.label-important').removeClass("hidden"); 1044 _this.closest('.grid-box').find('.load-thumb-conver').remove(); 1045 _this.closest('.product-row').find('.load-thumb-conver').remove(); 1046 try { 1047 if (typeof _this.data('flipper') !== 'undefined') { 1048 _this.flipper(); 1049 } 1050 } catch(err) { } 1051 _this.height('auto'); 1052 if( (lazy == $(".grid-box img").length) ) { adjustBoxHeights(); } 1053 lazy++; 1054 }); 1055 }); 1056 } 1057 1058 function updateCartProductCount() { 1059 $.get("index.php?route=module/cart/GetProductTotal", function(data) { 1060 $("#shopping-cart-list .badge").html(data); 1061 if(data>0){ 1062 $("#shopping-cart-list .badge").removeClass("hidden"); 1063 $("#shopping-cart-list .badge").removeClass("animated"); 1064 $("#shopping-cart-list .badge").addClass("animated bounce"); 1065 } else { 1066 $("#shopping-cart-list .badge").addClass("hidden"); 1067 } 1068 }); 1069 } 1070 1071 function updateQuantityByProductKey(key, quantity) { 1072 quantity = typeof(quantity) != 'undefined' ? quantity : 1; 1073 $.ajax({ 1074 url: 'index.php?route=checkout/cart/updateProductQuantity', 1075 type: 'post', 1076 data: { 'quantity':quantity, 'key': key }, 1077 dataType: 'json', 1078 success: function(json) { 1079 $.get( "index.php?route=module/cart/list", function( data ) { 1080 $(".slidePanel .slidePanel-content").html(data); 1081 updateCartProductCount(); 1082 }); 1083 } 1084 }); 1085 } 1086 1087 function removeProductFromSideCart(key, idx) { 1088 //var newkey = encodeURIComponent(key); 1089 var newkey = key; 1090 $.get("index.php?route=module/cart&remove=" + newkey, function(data) { 1091 $.get( "index.php?route=module/cart/list", function( data ) { 1092 $(".slidePanel .slidePanel-content").html(data); 1093 updateCartProductCount(); 1094 }); 1095 }); 1096 $("#producr-list-" + idx).fadeOut(1200, function() { $(this).remove(); }); 1097 return false; 1098 } 1099 1100 function openSideCart(ta_product_id){ 1101 var slidePanelVisible = $(".slidePanel").hasClass("slidePanel-show"); 1102 if( slidePanelVisible ) { 1103 $("#content-wrapper").off("click"); 1104 $.slidePanel.hide(); 1105 } else { 1106 updateCartProductCount(); 1107 $.slidePanel.show({ 1108 url: 'index.php?route=module/cart/list' 1109 }, { 1110 direction: "left", 1111 duration: '500', 1112 mouseDrag: false, 1113 touchDrag: false, 1114 pointerDrag: false, 1115 loading: { 1116 template: function(options) { 1117 return '<div class="' + options.classes.loading + '"><div class="spinner"><i class="fa fa-circle-o-notch fa-spin fa-3x fa-fw"></i><span class="sr-only">Loading...</span></div></div>'; 1118 } 1119 } 1120 }); 1121 $("#content-wrapper").on('click', function(event) { 1122 $("#content-wrapper").off("click"); 1123 $.slidePanel.hide(); 1124 event.preventDefault(); 1125 event.stopPropagation(); 1126 1127 var t_url = location.href; 1128 var c_url = "https://www.footpure.com.tw/cart"; 1129 1130 if(t_url == c_url){ 1131 location.reload(); 1132 } 1133 1134 }); 1135 $(".fancybox-product").on('click', function(event) { 1136 $.slidePanel.hide(); 1137 event.preventDefault(); 1138 event.stopPropagation(); 1139 1140 var t_url = location.href; 1141 var c_url = "https://www.footpure.com.tw/cart"; 1142 1143 if(t_url == c_url){ 1144 location.reload(); 1145 } 1146 1147 }); 1148 } 1149 } 1150 1151 function gaTrackAddToCart(page, product_ids) { 1152 1153 product_ids.forEach(function(item){ 1154 1155 try { 1156 1157 // UA 1158 dataLayer.push({ 1159 'event': 'addToCart', 1160 'ecommerce': { 1161 'currencyCode': '', 1162 'add': { 1163 'products': [{ 1164 'name': item.p_name, 1165 'id': item.p_id, 1166 'price': item.p_prices, 1167 'quantity': item.p_qty 1168 }] 1169 } 1170 } 1171 }); 1172 1173 // GA4 1174 dataLayer.push({ 1175 'event': 'add_to_cart', 1176 'ecommerce': { 1177 'items': [{ 1178 'item_name': item.p_name, 1179 'item_id': item.p_id, 1180 'price': item.p_prices, 1181 'quantity': item.p_qty 1182 }] 1183 } 1184 }); 1185 1186 global_quuid = QUUID(); 1187 var item_p_prices = parseFloat(item.p_prices); 1188 item_p_prices = Number(item_p_prices); 1189 if( isNaN(item_p_prices) ) { 1190 item_p_prices = 0; 1191 } 1192 fbq('track', 'AddToCart', { 1193 content_name: item.p_name, 1194 content_ids: [item.p_id], 1195 content_type: 'product', 1196 value: item_p_prices, 1197 currency: 'TWD' 1198 }, {eventID: global_quuid + "ccc"}); 1199 1200 // fb-capi-coverage Step 2: ç¨ç¶å item è¦å¯« gecommProductToCartï¼ 1201 // ç¢ºä¿ CAPI AddToCart éçæ¯ãæ¬æ¬¡è¿ä»£ååãèéè¿´åçµææ®ççæå¾ä¸åã 1202 gecommProductToCart.product_id = item.p_id; 1203 gecommProductToCart.quantity = item.p_qty; 1204 gecommProductToCart.product_name = item.p_name; 1205 gecommProductToCart.price = item.p_prices; 1206 1207
1208try { setCookie("qdmfbevent_id", global_quuid + "ccc", 5); } catch (error) { } 1209 1210(function() { 1211 // CAPI AJAX must survive navigation (cart/add â instant_checkout redirect 1s window). 1212 // Prefer navigator.sendBeacon (designed for unload-time delivery); fallback to fetch keepalive. 1213 var url = "https://www.footpure.com.tw/index.php?route=pixcel/facebook/capi_add_to_cart&quuid=" + global_quuid + "ccc"; 1214 var payload = JSON.stringify(gecommProductToCart); 1215 var sent = false; 1216 1217 if (typeof navigator !== "undefined" && typeof navigator.sendBeacon === "function") { 1218 try { 1219 var blob = new Blob([payload], { type: "text/plain" }); 1220 sent = navigator.sendBeacon(url, blob); 1221 } catch (e) { sent = false; } 1222 } 1223 1224 if (!sent && typeof fetch === "function") { 1225 try { 1226 fetch(url, { 1227 method: "POST", 1228 headers: { "Content-Type": "text/plain" }, 1229 body: payload, 1230 keepalive: true, 1231 credentials: "include" 1232 }).catch(function() {}); 1233 } catch (e) {} 1234 } 1235})(); 1236 1237 gtag('event', 'conversion', { 1238 'send_to' : 'AW-654484660/qgOkCLahi_YCELTJirgC', 1239 'value' : item.p_prices, 1240 'currency' : 'TWD', 1241 }); 1242 1243 } catch (e) { } 1244 1245 }); 1246 1247 } 1248 1249 // Defers instant-add until the async-loaded $.fancybox exists, so early 1250 // clicks no longer hit an undefined open() and feel dead. One poller at a 1251 // time, latest click wins - repeated clicks don't stack duplicate opens. 1252 // Keep in sync with common/footer_cart.tpl (same guard for '/cart' URLs). 1253 var _fancyboxPendingCb = null; 1254 var _fancyboxPolling = false; 1255 function whenFancyboxReady(callback){ 1256 if (typeof $.fancybox !== 'undefined') { callback(); return; } 1257 _fancyboxPendingCb = callback; // latest click wins if several arrive while waiting 1258 if (_fancyboxPolling) { return; } 1259 _fancyboxPolling = true; 1260 (function poll(attempt){ 1261 if (typeof $.fancybox !== 'undefined') { 1262 _fancyboxPolling = false; 1263 var cb = _fancyboxPendingCb; 1264 _fancyboxPendingCb = null; 1265 if (cb) { cb(); } 1266 return; 1267 } 1268 if (attempt < 50) { setTimeout(function(){ poll(attempt + 1); }, 100); return; } 1269 _fancyboxPolling = false; 1270 _fancyboxPendingCb = null; 1271 if (window.console && console.warn) { console.warn('fancybox not ready after 5s; instant add aborted'); } 1272 })(0); 1273 } 1274 1275 function InstantAddToCart(product_id, quantity, promotion_id, free_present_id){ 1276 1277 if( product_id && quantity ) { 1278 1279 gecommProductToCart.product_id = product_id; 1280 gecommProductToCart.quantity = quantity; 1281 1282 try { 1283 1284 var p_name = $("[data-producttlid='"+product_id+"'] .name [itemprop='name']").html(); 1285 var p_prices = $("[data-producttlid='"+product_id+"'] .price[data-price]").data("price"); 1286 gecommProductToCart.product_name = p_name; 1287 1288 gecommProductToCart.price = p_prices; 1289 1290 // UA 1291 dataLayer.push({ 1292 'event': 'addToCart', 1293 'ecommerce': { 1294 'currencyCode': '', 1295 'add': { 1296 'products': [{ 1297 'name': p_name, 1298 'id': product_id, 1299 'price': p_prices, 1300 'quantity': quantity 1301 }] 1302 } 1303 } 1304 }); 1305 1306 // GA4 1307 dataLayer.push({ 1308 'event': 'add_to_cart', 1309 'ecommerce': { 1310 'items': [{ 1311 'item_name': p_name, 1312 'item_id': product_id, 1313 'price': p_prices, 1314 'quantity': quantity 1315 }] 1316 } 1317 }); 1318 1319 var product_category = ""; 1320 $.getJSON( "index.php?route=common/footer/getProductCategory&product_id=" + product_id, function( data ) { 1321 1322 if(data) product_category = data; 1323 1324 if(product_category != ""){ 1325 gtag('event', 'add_to_cart', { 1326 'value': p_prices, 1327 'items': [{ 1328 'id' : product_id, 1329 'item_id' : product_id, 1330 'item_name' : p_name, 1331 'price' : p_prices, 1332 'quantity' : quantity, 1333 'google_business_vertical': 'retail', 1334 'item_category': product_category 1335 }] 1336 }); 1337 }else{ 1338 gtag('event', 'add_to_cart', { 1339 'value': p_prices, 1340 'items': [{ 1341 'id' : product_id, 1342 'item_id' : product_id, 1343 'item_name' : p_name, 1344 'price' : p_prices, 1345 'quantity' : quantity, 1346 'google_business_vertical': 'retail' 1347 }] 1348 }); 1349 } 1350 1351 }); 1352 1353 1354 global_quuid = QUUID(); 1355 var item_p_prices = parseFloat(p_prices); 1356 item_p_prices = Number(item_p_prices); 1357 if( isNaN(item_p_prices) ) { 1358 item_p_prices = 0; 1359 } 1360 fbq('track', 'AddToCart', { 1361 content_name: p_name, 1362 content_ids: [product_id], 1363 content_type: 'product', 1364 value: item_p_prices, 1365 currency: 'TWD' 1366 }, {eventID: global_quuid + "ccc"}); 1367 1368
1369try { setCookie("qdmfbevent_id", global_quuid + "ccc", 5); } catch (error) { } 1370 1371(function() { 1372 // CAPI AJAX must survive navigation (cart/add â instant_checkout redirect 1s window). 1373 // Prefer navigator.sendBeacon (designed for unload-time delivery); fallback to fetch keepalive. 1374 var url = "https://www.footpure.com.tw/index.php?route=pixcel/facebook/capi_add_to_cart&quuid=" + global_quuid + "ccc"; 1375 var payload = JSON.stringify(gecommProductToCart); 1376 var sent = false; 1377 1378 if (typeof navigator !== "undefined" && typeof navigator.sendBeacon === "function") { 1379 try { 1380 var blob = new Blob([payload], { type: "text/plain" }); 1381 sent = navigator.sendBeacon(url, blob); 1382 } catch (e) { sent = false; } 1383 } 1384 1385 if (!sent && typeof fetch === "function") { 1386 try { 1387 fetch(url, { 1388 method: "POST", 1389 headers: { "Content-Type": "text/plain" }, 1390 body: payload, 1391 keepalive: true, 1392 credentials: "include" 1393 }).catch(function() {}); 1394 } catch (e) {} 1395 } 1396})(); 1397 1398 1399 gtag('event', 'conversion', { 1400 'send_to' : 'AW-654484660/qgOkCLahi_YCELTJirgC', 1401 'value' : p_prices, 1402 'currency' : 'TWD', 1403 }); 1404 1405 1406 1407 1408 1409 1410 1411 } catch (e) { } 1412 1413 } 1414 1415 $('[data-toggle="tooltip"], .tooltip').tooltip("hide"); 1416 1417 promotion_id = typeof(promotion_id) != 'undefined' ? promotion_id : -1; 1418 free_present_id = typeof(free_present_id) != 'undefined' ? free_present_id : -1; 1419 1420 if(free_present_id != "-1"){ 1421 quantity = $('input[name="quantity"]').val(); 1422 quantity = typeof(quantity) != 'undefined' ? quantity : 1; 1423 } 1424 1425 var price = $('#price-price-block .price-normal').attr('data-content'); 1426 1427 if(typeof(price) === 'undefined') price = $('#price-price-block .price-new').attr('data-content'); 1428 1429 price = typeof(price) != 'undefined' ? price : 0; 1430 1431 var instantCartSrc = 'https://www.footpure.com.tw/index.php?route=product/instant_add&product_id=' + product_id + '&promotion_id=' + promotion_id + '&quantity=' + quantity +'&price=' + price + '&free_present_id=' + free_present_id; 1432 1433 whenFancyboxReady(function(){ 1434 try { 1435 $.fancybox.open({ 1436 src : instantCartSrc, 1437 type : 'iframe', 1438 opts : { 1439 openEffect : 'none', 1440 closeEffect : 'none', 1441 closeClickOutside : true, 1442 iframe : { css : { "max-width" : '332px', "width:": '100%' } }, 1443 beforeLoad: function() { 1444 $(".fancybox-container").css("zIndex", 999999993); 1445 } 1446 } 1447 }); 1448 } catch (e) { } 1449 }); 1450 } 1451 1452 function InstantAddToCart1(product_id, quantity, key_id, type, position){ 1453 1454 product_id = (typeof product_id !== 'undefined') ? product_id : 0; 1455 quantity = (typeof quantity !== 'undefined') ? quantity : 1; 1456 key_id = (typeof key_id !== 'undefined') ? key_id : "-1"; 1457 type = (typeof type !== 'undefined') ? type : ""; 1458 position = (typeof position !== 'undefined') ? position : ""; 1459 1460 if( product_id && quantity ) { 1461 1462 gecommProductToCart.product_id = product_id; 1463 gecommProductToCart.quantity = quantity; 1464 1465 try { 1466 1467 var p_name = $("[data-producttlid='"+product_id+"'] .name [itemprop='name']").html(); 1468 var p_prices = $("[data-producttlid='"+product_id+"'] .price[data-price]").data("price"); 1469 gecommProductToCart.product_name = p_name; 1470 1471 gecommProductToCart.price = p_prices; 1472 1473 // UA 1474 dataLayer.push({ 1475 'event': 'addToCart', 1476 'ecommerce': { 1477 'currencyCode': '', 1478 'add': { 1479 'products': [{ 1480 'name': p_name, 1481 'id': product_id, 1482 'price': p_prices, 1483 'quantity': quantity 1484 }] 1485 } 1486 } 1487 }); 1488 1489 // GA4 1490 dataLayer.push({ 1491 'event': 'add_to_cart', 1492 'ecommerce': { 1493 'items': [{ 1494 'item_name': p_name, 1495 'item_id': product_id, 1496 'price': p_prices, 1497 'quantity': quantity 1498 }] 1499 } 1500 }); 1501 1502 global_quuid = QUUID(); 1503 var item_p_prices = parseFloat(p_prices); 1504 item_p_prices = Number(item_p_prices); 1505 if( isNaN(item_p_prices) ) { 1506 item_p_prices = 0; 1507 } 1508 fbq('track', 'AddToCart', { 1509 content_name: p_name, 1510 content_ids: [product_id], 1511 content_type: 'product', 1512 value: item_p_prices, 1513 currency: 'TWD' 1514 }, {eventID: global_quuid + "ccc"}); 1515 1516
1517try { setCookie("qdmfbevent_id", global_quuid + "ccc", 5); } catch (error) { } 1518 1519(function() { 1520 // CAPI AJAX must survive navigation (cart/add â instant_checkout redirect 1s window). 1521 // Prefer navigator.sendBeacon (designed for unload-time delivery); fallback to fetch keepalive. 1522 var url = "https://www.footpure.com.tw/index.php?route=pixcel/facebook/capi_add_to_cart&quuid=" + global_quuid + "ccc"; 1523 var payload = JSON.stringify(gecommProductToCart); 1524 var sent = false; 1525 1526 if (typeof navigator !== "undefined" && typeof navigator.sendBeacon === "function") { 1527 try { 1528 var blob = new Blob([payload], { type: "text/plain" }); 1529 sent = navigator.sendBeacon(url, blob); 1530 } catch (e) { sent = false; } 1531 } 1532 1533 if (!sent && typeof fetch === "function") { 1534 try { 1535 fetch(url, { 1536 method: "POST", 1537 headers: { "Content-Type": "text/plain" }, 1538 body: payload, 1539 keepalive: true, 1540 credentials: "include" 1541 }).catch(function() {}); 1542 } catch (e) {} 1543 } 1544})(); 1545 1546 gtag('event', 'conversion', { 1547 'send_to' : 'AW-654484660/qgOkCLahi_YCELTJirgC', 1548 'value' : p_prices, 1549 'currency' : 'TWD', 1550 }); 1551 1552 1553 1554 1555 1556 } catch (e) { } 1557 1558 } 1559 1560 $('[data-toggle="tooltip"], .tooltip').tooltip("hide"); 1561 1562 if(type == "promotion"){ 1563 var promotion_id = typeof(key_id) != 'undefined' ? key_id : -1; 1564 var send_value = '&promotion_id=' + promotion_id ; 1565 } 1566 1567 if(type == "present"){ 1568 var free_present_id = typeof(key_id) != 'undefined' ? key_id : -1; 1569 1570 //if(free_present_id > 0){ 1571 quantity = $('input[name="quantity"]').val(); 1572 quantity = typeof(quantity) != 'undefined' ? quantity : 1; 1573 //} 1574 1575 var send_value = '&free_present_id=' + free_present_id +'&position=' + position; 1576 } 1577 1578 if(type == "buytogether"){ 1579 var buy_together_id = typeof(key_id) != 'undefined' ? key_id : -1; 1580 1581 quantity = $('input[name="quantity"]').val(); 1582 quantity = typeof(quantity) != 'undefined' ? quantity : 1; 1583 1584 var send_value = '&buy_together_id=' + buy_together_id +'&position=' + position; 1585 } 1586 1587 var price = $('#price-price-block .price-normal').attr('data-content'); 1588 1589 if(typeof(price) === 'undefined') price = $('#price-price-block .price-new').attr('data-content'); 1590 1591 price = typeof(price) != 'undefined' ? price : 0; 1592 1593 1594 var instantCart1Src = 'index.php?route=product/instant_add&product_id=' + product_id + '&quantity=' + quantity +'&price=' + price +send_value ; 1595 1596 whenFancyboxReady(function(){ 1597 try { 1598 $.fancybox.open({ 1599 src : instantCart1Src, 1600 type : 'iframe', 1601 opts : { 1602 closeClickOutside : true, 1603 iframe : { css : { width : '320px' } }, 1604 beforeLoad: function() { 1605 $(".fancybox-container").css("zIndex", 999999993); 1606 } 1607 } 1608 }); 1609 } catch (e) { } 1610 }); 1611 } 1612 1613 // Debounced mini-cart reload: every module/cart hit rewrites server-side 1614 // cart state, so a burst of reloads can undo a just-added product. 1615 // Keep in sync with common/footer_cart.tpl -- only one footer renders per page 1616 // (common/footer.php picks a single template), so the two copies never collide. 1617 var miniCartReloadTimer = null; 1618 function reloadMiniCart(immediate){ 1619 // One shared timer for every caller; immediate only shortens the wait. 1620 // Bypassing it made add-to-cart fire two overlapping module/cart requests 1621 // (closePopFancybox() and TriggerMyCartList() each trigger mouseover). 1622 // Rescheduling is not a lock, so this is "almost always one", not a guarantee. 1623 clearTimeout(miniCartReloadTimer); 1624 miniCartReloadTimer = setTimeout(loadMiniCart, immediate ? 0 : 300); 1625 } 1626 1627 function loadMiniCart(){ 1628 $("#cart").load("index.php?route=module/cart #cart > *", function(){ 1629 try { refreshMiniCartScrollBar(); } catch (e) { } 1630 }); 1631 } 1632 1633 function closePopFancybox(){ 1634 try { 1635 $.fancybox.close(); 1636 $.fancybox.destroy(); 1637 } catch (e) { } 1638 if( is.desktop() ) { 1639 setTimeout(function(){ 1640 $("#cart > .heading a").trigger('mouseover'); 1641 setTimeout(function(){ refreshMiniCartScrollBar(); }, 300); 1642 }, 500); 1643 } 1644 } 1645 1646 function LastPresentsOption(html,key,qty){ 1647 $("#lg_option_"+key).prepend(html); 1648 $('.last_free_presents').trigger('change'); 1649 $('.free_present_qty').trigger('change'); 1650 } 1651 1652 function TriggerMyCartList(){ 1653 if( is.not.desktop() ){ 1654 updateCartProductCount(); 1655 setTimeout(function(){ 1656 $("#shopping-cart-list .badge").removeClass("animated"); 1657 $("#shopping-cart-list .badge").addClass("animated"); 1658 $("#shopping-cart-list .badge").addClass("bounce"); 1659 }, 800); 1660 } else { 1661 setTimeout(function(){ 1662 $("#cart > .heading a").trigger('mouseover'); 1663 setTimeout(function(){ refreshMiniCartScrollBar(); }, 300); 1664 }, 500); 1665 } 1666 } 1667 1668 function removeCartByProductID(product_id) { 1669 if( is.existy(product_id) ) { 1670 $.ajax({ 1671 url: 'index.php?route=module/cart&remove=' + product_id + "%3Anull%3A-1%3A0", 1672 type: 'post', 1673 dataType: 'json', 1674 success: function(json) { 1675 TriggerMyCartList(); 1676 } 1677 }); 1678 } 1679 } 1680 1681 function updateQuantityByProductID(product_id, quantity) { 1682 quantity = typeof(quantity) != 'undefined' ? quantity : 1; 1683 $.ajax({ 1684 url: 'index.php?route=checkout/cart/updateProductQuantity', 1685 type: 'post', 1686 data: { 'quantity':quantity, 'key': product_id+'%3Anull%3A-1%3A0' }, 1687 dataType: 'json', 1688 success: function(json) { 1689 TriggerMyCartList(); 1690 } 1691 }); 1692 } 1693 1694 1695 function bulk_add_to_cart() { 1696 $("select.bulk-add-quantity").change(function() { 1697 var value = $("option:selected", this).val(); 1698 var select_idx = $(this).data("idx"); 1699 var product_id = $(this).data("productid"); 1700 var prevval = $(this).data("prevval"); 1701 1702 if( value == 0 ) { 1703 $(this).next(".bulk-add-quantity").addClass("no-cart"); 1704 if(prevval!=0){ 1705 removeCartByProductID(product_id); 1706 } 1707 } else { 1708 $(this).next(".bulk-add-quantity").removeClass("no-cart"); 1709 1710 if( value == 999 ) { 1711 InstantAddToCart(product_id, 999); 1712 $(this).next(".bulk-add-quantity").find(".current").text("+ 9"); 1713 } else { 1714 if(prevval==0){ 1715 // ç¬¬ä¸æ¬¡å å ¥ 1716 InstantAddToCart(product_id, value); 1717 } else { 1718 // æ´æ°æ¸é 1719 updateQuantityByProductID(product_id, value); 1720 } 1721 } 1722 } 1723 $(this).data("prevval", value); 1724 $(this).attr("data-prevval", value); 1725 }); 1726 } 1727 1728 function downloadJSAtOnload() { 1729 1730 $("#myBody").removeAttr('style'); 1731 1732 if( is.not.desktop() ) { 1733 $('.any-products').each(function(index,el){ 1734 $(el).find('.grid-box').each(function(index,el2){ 1735 $(el2).attr('style',''); 1736 }); 1737 }); 1738 } 1739 1740 try { 1741 getScript("https://cdnjs.cloudflare.com/ajax/libs/izitoast/1.4.0/js/iziToast.min.js",function(){ }); 1742 } catch(e) { } 1743 1744 1745 var queue = $LAB.queueScript("https://cdn.qdm.cloud/assets/js/core.240901.compressed.js"); 1746 queue.queueWait(function(){ 1747 1748 // core.js reloads module/cart on EVERY mini-cart hover, unthrottled (10 1749 // requests in 5s observed). Rebind to the debounced reload, keeping 1750 // hover-to-expand behaviour. The mouseleave rebind is like-for-like: in 1751 // core.240901 (the bundle queued above) its body is only 1752 // removeClass("active"). Re-check if that bundle is rebuilt. 1753 // Keep in sync with common/footer_cart.tpl -- it queues a different 1754 // bundle, so verify that claim against ITS bundle. 1755 // 1756 // The ready() wrapper is load-bearing: core.js binds inside its own 1757 // ready() callback, registered while this queued script runs, and jQuery 1758 // fires ready callbacks in registration order -- so off() is guaranteed to 1759 // run after that bind. Calling off() directly here only works if DOM ready 1760 // happens to have fired already; otherwise it removes nothing and BOTH 1761 // handlers stay attached.
1762 $(document).ready(function(){ 1763 try { 1764 $(document).off("mouseover", "#cart > .heading"); 1765 $(document).on("mouseover", "#cart > .heading", function(e){ 1766 $("#cart").addClass("active"); 1767 // Programmatic refreshes get here via .trigger('mouseover') (add-to-cart / 1768 // fancybox close / login). Debouncing them delayed the reload past each 1769 // call site's paired setTimeout(refreshMiniCartScrollBar, 300). jQuery 1770 // marks synthetic events with isTrigger; losing that just falls back to 1771 // the debounced path. 1772 reloadMiniCart(e && e.isTrigger); 1773 }); 1774 $(document).off("mouseleave", "#cart"); 1775 $(document).on("mouseleave", "#cart", function(){ 1776 $(this).removeClass("active"); 1777 }); 1778 } catch (e) { 1779 // Never break the rest of the queued callback, but do not fail 1780 // silently either -- a swallowed error degrades straight back to 1781 // the unthrottled reload. 1782 if (window.console && console.warn) { console.warn("mini-cart rebind failed", e); } 1783 } 1784 1785 // Self-check. off(type, selector) matches on the selector STRING, so a whitespace 1786 // variant alone breaks it: a rebuilt bundle emitting "#cart>.heading" survives our 1787 // off() and BOTH handlers stay attached. Both spellings hit the same element, so 1788 // compare with whitespace stripped -- that covers drift on either side. 1789 // Known limit: whitespace is the ONLY rewrite covered. "#cart .heading", a trailing 1790 // " a", a comma-separated selector or a direct element bind all stay silent. 1791 // A tripwire for the likely case, not proof that the rebind held. 1792 // _data is a jQuery internal, so it gets its own try/catch: if it ever goes away, 1793 // the rebind above is still correct and must not be reported failed. 1794 try { 1795 var miniCartEvents = $._data(document, "events"); 1796 var miniCartBound = ((miniCartEvents && miniCartEvents.mouseover) || []).filter(function(h){ 1797 return h.selector && h.selector.replace(/\s+/g, "") === "#cart>.heading"; 1798 }).length; 1799 if (miniCartBound !== 1 && window.console && console.warn) { 1800 console.warn("mini-cart rebind: expected 1 mouseover handler, found", miniCartBound); 1801 } 1802 } catch (e2) { 1803 if (window.console && console.warn) { console.warn("mini-cart rebind self-check unavailable", e2); } 1804 } 1805 }); 1806 1807 1808 1809 $(".ajax-popup-link").unbind(); 1810 $(".ajax-popup-link").fancybox({ 1811 closeBtn : true, 1812 closeClick : true, 1813 helpers : { 1814 overlay : {closeClick: true} 1815 }, 1816 buttons : [ 'close' ], 1817 clickOutside : 'close', 1818 closeClick : true, 1819 toolbar : true 1820 }); 1821 1822 1823 var milliseconds = new Date().getTime(); 1824 $.getJSON( "index.php?route=common/header/getLoggedInUserInfo&token=" + milliseconds + "1" + (Math.floor(Math.random() * 999) + 100), function( data ) { 1825 if( is.existy(data) && data.isLogged ) { 1826 $("#header-logged-user").html(data.logged_user_name + data.logged_group_name); 1827 $("#header-mobile-user").html(data.logged_user_name + data.logged_group_name); 1828 $(".header-logged-menu").removeClass("hidden"); 1829 $("#header-logged-menu").removeClass("hidden"); 1830 $("#header-none-logged-menu").remove(); 1831 } else { 1832 $(".header-logged-menu").remove(); 1833 $("#header-logged-menu").remove(); 1834 $(".header-none-logged-menu").removeClass("hidden"); 1835 $("#header-none-logged-menu").removeClass("hidden"); 1836 } 1837 1838 if( is.not.desktop() ){ 1839 updateCartProductCount(); 1840 setTimeout(function(){ 1841 $("#shopping-cart-list .badge").removeClass("animated"); 1842 $("#shopping-cart-list .badge").addClass("animated"); 1843 $("#shopping-cart-list .badge").addClass("bounce"); 1844 }, 800); 1845 } else { 1846 $("#cart > .heading a").trigger('mouseover'); 1847 $("section#cart").removeClass("active"); 1848 setTimeout(function(){ $("section#cart").removeClass("active"); }, 50); 1849 } 1850 1851 }); 1852 1853 setTimeout(function(){ 1854 $('.side_float_banner_wrapper').attr("style",""); 1855 $('.banner').each(function( index ) { 1856 if( $(this).find("a").length == 1 ) { 1857 $(this).attr("style",""); 1858 } 1859 }); 1860 }, 2000); 1861 1862 if (typeof init_inline === 'function') { 1863 if($("#image-additional").length){ 1864 $.fancybox.defaults.hash = false;
1865 } 1866 setTimeout(function(){ init_inline(); }, 300); 1867 } 1868 1869 if (typeof init_fullslideshow === 'function') { init_fullslideshow(); } 1870 1871 $("#contact-block").removeAttr('style'); 1872 1873 if( is.not.desktop() ) { 1874 $('#shopping-cart-list').on('click', function() { 1875 openSideCart(); 1876 return false; 1877 }); 1878 } 1879 1880 if ( $("input[name='quantity']").length > 0 ) { 1881 var qtyMin = $("input[name='quantity']").data("min"); 1882 if(qtyMin=="" || qtyMin==undefined) qtyMin = 1; 1883 $("input[name='quantity']").TouchSpin({ 1884 min: qtyMin, 1885 max: 99999 1886 }); 1887 } 1888 1889 $(window).resize(function() { 1890 if( $(window).width() < 992 ){ 1891 $("#footer-inner-row").removeClass("offset2"); 1892 } else { 1893 var data_count = $("#footer-inner-row").data("count"); 1894 if(data_count < 1) { 1895 $("#footer-inner-row").addClass("offset2"); 1896 } 1897 } 1898 }); 1899 1900 $("#header .flipper").each(function(){ 1901 var imgLoad = $(this).imagesLoaded(function(){ 1902 try { 1903 if (typeof $(this).data('flipper') !== 'undefined') { 1904 $(this).flipper(); 1905 } 1906 } catch(err) { } 1907 }); 1908 }); 1909 1910 $('a[href*="#"]').each(function() { 1911 var hash = $(this).attr('href'); 1912 if(hash=="##") return; 1913 if(hash=="#") return; 1914 if(hash=="#mobile-menu") return; 1915 $(this).click( function(e) { 1916 var url = $(this).attr('href'); 1917 var type = url.split('#'); 1918 var hash = ''; 1919 if(type.length > 1) 1920 hash = type[1]; 1921 if($("[name='"+hash+"']").length){ 1922 if(hash && hash != "undefined" && hash != null && hash != undefined){ 1923 e.preventDefault(); 1924 $('html,body').animate({ scrollTop: $("[name='"+hash+"']").offset().top}, 600); 1925 return false; 1926 } 1927 } 1928 }); 1929 }); 1930 1931 1932 1933 1934 1935 if ( $(".masonry").length > 0 ) { 1936 $(".masonry").each(function(index, value) { 1937 var $grid = $('.masonry').masonry(); 1938 setTimeout(function(){ $grid.masonry('layout'); }, 2000); 1939 }); 1940 } 1941 1942 if ( $(".owl-carousel").length > 0 ) { 1943 $(".owl-carousel").not('[data-exclude]').each(function(index, value) { 1944 1945 var autoplay = is.null( $(this).attr('data-autoPlay') ) ? true : $(this).attr('data-autoPlay'); 1946 var pagination = is.null( $(this).attr('data-pagination') ) ? false : $(this).attr('data-pagination'); 1947 var slideSpeed = is.null( $(this).attr('data-slideSpeed') ) ? 200 : $(this).attr('data-slideSpeed'); 1948 var paginationSpeed = is.null( $(this).attr('data-paginationSpeed') ) ? 800 : $(this).attr('data-paginationSpeed'); 1949 var singleItem = is.null( $(this).attr('data-singleItem') ) ? true : $(this).attr('data-singleItem'); 1950 var transitionStyle = is.null( $(this).attr('data-transitionStyle') ) ? "fade" : $(this).attr('data-transitionStyle'); 1951 1952 $(this).owlCarousel({ 1953 autoPlay : Boolean(autoplay), 1954 navigation : false, 1955 pagination : Boolean(pagination), 1956 slideSpeed : slideSpeed, 1957 paginationSpeed : paginationSpeed, 1958 singleItem: Boolean(singleItem), 1959 transitionStyle : transitionStyle, 1960 stopOnHover: true, 1961 autoHeight: true 1962 }); 1963 1964 }); 1965 } 1966 1967 1968 var vidDefer = document.getElementsByTagName('iframe'); 1969 for (var i=0; i<vidDefer.length; i++) { 1970 if(vidDefer[i].getAttribute('data-src')) { 1971 vidDefer[i].setAttribute('src',vidDefer[i].getAttribute('data-src')); 1972 } 1973 } 1974 1975 $(".fancybox").fancybox({ 1976 closeBtn: false, 1977 padding : 1, 1978 helpers : { 1979 overlay : { 1980 closeClick : true, 1981 speedOut : 200, 1982 showEarly : true, 1983 css : {}, 1984 locked : true 1985 }, 1986 title : { type : 'inside' }, 1987 buttons : {} 1988 } 1989 }); 1990 1991 1992 if( is.not.desktop() ){ 1993 $("#footer-inner-row").removeClass("offset2"); 1994 } 1995 1996 if ( $('#bestseller-products .flexslider').length > 0 ) { 1997 $('#bestseller-products .flexslider').each(function(index, value) { 1998 $(this).flexslider({ 1999 animation: "slide", 2000 animationLoop: true, 2001 itemWidth: 182, 2002 itemMargin: 3, 2003 minItems: 2, 2004 maxItems: 6, 2005 animationSpeed: 700, 2006 touch: true, 2007 slideshow: false, slideshowSpeed: 5000 }); 2008 }); 2009 } 2010 if ( $('#featured-products .flexslider').length > 0 ) { 2011 $('#featured-products .flexslider').each(function(index, value) { 2012 $(this).flexslider({ 2013 animation: "slide", 2014 animationLoop: true, 2015 itemWidth: 182, 2016 itemMargin: 3, 2017 minItems: 2, 2018 maxItems: 6, 2019 animationSpeed: 700, 2020 touch: true, 2021 slideshow: false, slideshowSpeed: 5000 }); 2022 }); 2023 } 2024 if ( $('#latest-products .flexslider').length > 0 ) { 2025 $('#latest-products .flexslider').each(function(index, value) { 2026 $(this).flexslider({ 2027 animation: "slide", 2028 animationLoop: true, 2029 itemWidth: 182, 2030 itemMargin: 3, 2031 minItems: 2, 2032 maxItems: 6, 2033 animationSpeed: 700, 2034 touch: true, 2035 slideshow: false, slideshowSpeed: 5000 }); 2036 }); 2037 } 2038 if ( $('#related-products .flexslider').length > 0 ) { 2039 $('#related-products .flexslider').each(function(index, value) { 2040 $(this).flexslider({ 2041 animation: "slide", 2042 animationLoop: true, 2043 itemWidth: 182, 2044 itemMargin: 3, 2045 minItems: 2, 2046 maxItems: 6, 2047 animationSpeed: 700, 2048 touch: true, 2049 slideshow: false, slideshowSpeed: 5000 }); 2050 }); 2051 } 2052 if ( $('#special-products .flexslider').length > 0 ) { 2053 $('#special-products .flexslider').each(function(index, value) { 2054 $(this).flexslider({ 2055 animation: "slide", 2056 animationLoop: true, 2057 itemWidth: 182, 2058 itemMargin: 3, 2059 minItems: 2, 2060 maxItems: 6, 2061 animationSpeed: 700, 2062 touch: true, 2063 slideshow: false, slideshowSpeed: 5000 }); 2064 }); 2065 } 2066 2067 if ( $('#comingsoon-products .flexslider').length > 0 ) { 2068 $('#comingsoon-products .flexslider').each(function(index, value) { 2069 $(this).flexslider({ 2070 animation: "slide", 2071 animationLoop: true, 2072 itemWidth: 182, 2073 itemMargin: 3, 2074 minItems: 2, 2075 maxItems: 6, 2076 animationSpeed: 700, 2077 touch: true, 2078 slideshow: false, slideshowSpeed: 5000 }); 2079 }); 2080 } 2081 2082 jQuery('.flexslider').each( function() { 2083 var $slider = jQuery(this); 2084 var $slides = jQuery(this).children().children('.slides'); 2085 if ( -1 === jQuery.inArray( $slider.data('flexslider').vars.animation, [ 'slide', 'swing' ] ) ) 2086 return; 2087 $slides.bind( 'mousewheel', function( e ) { 2088 e.preventDefault(); 2089 if ( jQuery(this).hasClass('dragging') ) 2090 return; 2091 if ( e.originalEvent.deltaY > 0 ) { 2092 $slider.flexslider('next'); 2093 } 2094 if ( e.originalEvent.deltaY < 0 ) { 2095 $slider.flexslider('prev'); 2096 } 2097 return false;
2098 } ); 2099 } ); 2100 2101 if ( $('.any-products').length > 0 ) { 2102 $(window).resize(function() { 2103 2104 $('.any-products').each(function(index, value) { 2105 var margin_vertical = $(this).data("marginVertical"); 2106 if( is.mobile() ){ 2107 $(this).find(".products-box").removeClass(".products-box").addClass("product-box"); 2108 } else { 2109 if(margin_vertical){ 2110 $(this).find(".product-box").removeClass(".product-box").addClass("products-box"); 2111 } 2112 } 2113 }); 2114 2115 if(is.mobile()){ 2116 $(".any-products").find(".grid-box").attr("style",""); 2117 adjustBoxHeights(); 2118 } 2119 2120 }); 2121 } 2122 2123 if ( $('.banner-carousel').length > 0 ) { 2124 $('.banner-carousel').each(function(index, value) { 2125 var slideSpeed = is.null( $(this).attr('data-slideSpeed') ) ? 600 : $(this).attr('data-slideSpeed'); 2126 if( slideSpeed == undefined ) { slideSpeed = 600; } 2127 var el = "#" + $(this).attr("id"); 2128 var items = $(this).data("item"); 2129 2130 var lilen = $(el+" li").length; 2131 var sliderLoop = true; 2132 if(lilen==items){sliderLoop = false;} 2133 2134 var autoplay = parseInt($(this).data("autoplay")); 2135 var boolAutoplay = false; 2136 if( autoplay ) boolAutoplay = true; 2137 $(el).removeClass("hidden"); 2138 $(el).show(); 2139 $(el).imagesLoaded( function() { 2140 var el = "#" + $(this).attr("id"); 2141 $(el+" img[data-lazy-src]").each(function(index, value) { 2142 var loadimg = $(this).attr('data-lazy-src'); 2143 $(this).attr('src', loadimg); 2144 }); 2145 var slider = $(el).lightSlider({ 2146 auto: boolAutoplay, 2147 pauseOnHover: true, 2148 pager: false, 2149 item:items, 2150 loop: sliderLoop, 2151 easing: 'cubic-bezier(0.25, 0, 0.25, 1)', 2152 speed: slideSpeed, 2153 onSliderLoad: function() { 2154 $(el).removeClass("hidden"); 2155 $(el).show(); 2156 $(el).css("height", "auto"); 2157 } 2158 }); 2159 slider.refresh(); 2160 }); 2161 }); 2162 } 2163 2164 2165 if ( $('.slideshow-container-appear li').length > 0 ) { 2166 $('.slideshow-container-appear').each(function(index, value) { 2167 var el = "#" + $(this).attr("id"); 2168 var full = $(this).data("full"); 2169 if(full){ 2170 $(this).appendTo('#content-top'); 2171 } 2172 2173 if(is.mobile()){ 2174 $(el).find("li.desktop").remove(); 2175 $(el).find("li.mobile:first").show(); 2176 } else { 2177 $(el).find("li.mobile").remove(); 2178 $(el).find("li.desktop:first").show(); 2179 } 2180 2181 $(el).imagesLoaded( function(e) { 2182 2183 if(is.mobile()){ 2184 $(e).closest("li.mobile").attr("style","width:100%"); 2185 } else { 2186 $(e).closest("li.desktop").attr("style","width:100%"); 2187 } 2188 2189 var controlNav = $(e).closest(".slideshow-container-appear").data("controlnav"); 2190 var directionNav = $(e).closest(".slideshow-container-appear").data("directionnav"); 2191 var el = "#" + $(e).attr("id"); 2192 var delay = $(e).closest(".slideshow-container-appear").data("delay"); 2193 if(delay<300) delay = 300; 2194 2195 adaptiveHeight = true; 2196 if( is.mobile() ){ 2197 //controlNav = false; 2198 //directionNav = false;
2199 adaptiveHeight = false; 2200 } 2201 2202 var slideshow_img_h = 0; 2203 $(e).closest(".slideshow-container-appear li.mobile img").each(function(index, value) { 2204 var img_h = $(this).data("height"); 2205 if( (img_h > 0) && (slideshow_img_h > 0) && (img_h != slideshow_img_h) ) { 2206 slideshow_img_h = 0; 2207 } else { 2208 slideshow_img_h = img_h; 2209 } 2210 }); 2211 2212 if( is.mobile() && slideshow_img_h == 0 ){ 2213 $(e).closest(".slideshow-container-appear").flexslider({ 2214 animation: "fade", 2215 slideDirection: "horizontal", 2216 animationLoop: true, 2217 pauseOnHover: true, 2218 pauseOnAction: false, 2219 smoothHeight: false, 2220 slideshowSpeed: delay, 2221 initDelay: 0, 2222 slideshow: true, 2223 mousewheel: false, 2224 controlNav: controlNav, 2225 directionNav: directionNav, 2226 prevText: "", 2227 nextText: "", 2228 start: function(slider) { 2229 var el = "#" + $(this).attr("id"); 2230 $(el).removeClass('loading'); 2231 } 2232 }); 2233 } else { 2234 var slider = $(e).closest(".slides").lightSlider({ 2235 auto:true, 2236 loop:true, 2237 pauseOnHover:true, 2238 adaptiveHeight:true, 2239 item:1, 2240 slideMargin:0, 2241 easing: 'cubic-bezier(0.25, 0, 0.25, 1)', 2242 speed:600, 2243 pause:delay, 2244 controls:directionNav, 2245 pager:controlNav 2246 }); 2247 slider.refresh(); 2248 setTimeout(function(){ 2249 slider.play(); 2250 slider.goToNextSlide(); 2251 slider.goToPrevSlide(); 2252 slider.goToPrevSlide(); 2253 slider.refresh(); 2254 }, 700); 2255 } 2256 2257 }); 2258 2259 }); 2260 } 2261 2262 if( $('.side_float_banner .flipper').length > 0 ) { 2263 try { 2264 $('.side_float_banner .flipper').flipper(); 2265 } catch(err) { } 2266 } 2267 2268 if( $(".flexslider").find("img").length > 0 ) { 2269 $(".flexslider").find("img").trigger('appear'); 2270 } 2271 2272 2273 2274 $('[data-toggle="tooltip"]').tooltip(); 2275 2276 setTimeout(function(){ 2277 $(window).trigger('resize'); 2278 }, 300); 2279 2280 $(".flex-direction-nav").remove(); 2281 2282 adjustBoxHeights(); 2283 2284 2285 $("#menu-btn").show(); 2286 $("#menu-btn").addClass('animated flash'); 2287 2288 setTimeout(function(){ 2289 $("#mobile-navbar").removeAttr('style'); 2290 }, 1000); 2291 2292 $("#facebook-page-container").html('<iframe src="https://www.facebook.com/plugins/page.php?href=https%3A%2F%2Fwww.facebook.com%2Ffootpure.tw&tabs&width=500&height=214&small_header=false&adapt_container_width=true&hide_cover=false&show_facepile=true&appId=162172840650014" width="500" height="214" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true"></iframe>'); 2293 2294 2295 2296 }); 2297 2298 queue.runQueue(); 2299 2300 (function(d, s, id) { 2301 var js, fjs = d.getElementsByTagName(s)[0]; 2302 if (d.getElementById(id)) return; 2303 js = d.createElement(s); js.id = id; 2304 js.src = "https://connect.facebook.net/zh_TW/sdk.js"; 2305 fjs.parentNode.insertBefore(js, fjs); 2306 }(document, 'script', 'facebook-jssdk')); 2307 2308 if (window.location.hash == '#_=_') { 2309 window.location.hash = ''; // for older browsers, leaves a # behind 2310 history.pushState('', document.title, window.location.pathname + window.location.search); 2311 } 2312 2313 } 2314 // Store subdomains count as same site; separate tenants on the platform domain do not 2315 function qdmIsSameSiteHost(host){ 2316 var site = location.hostname.toLowerCase(); 2317 host = (host || '').toLowerCase(); 2318 if (host === site) { 2319 return true; 2320 } 2321 // Keep in sync with Response::isSameSiteHref() in system/library/response.php 2322 if (/(^|\.)(qdm\.(tw|com\.tw|cloud)|myorganic\.org\.tw)$/.test(site)) { 2323 return false; 2324 } 2325 var apex = site.replace(/^www\./, ''); 2326 return host === apex || host.slice(-(apex.length + 1)) === '.' + apex; 2327 } 2328 function sanitizeTargetBlank(){ 2329 $('a[rel~=external]').prop('target', '_blank'); 2330 $('a[target="_blank"]').each(function(){ 2331 var a = $(this); 2332 if(!qdmIsSameSiteHost(this.hostname)){ 2333 var originalRel = (this.rel === undefined) ? '' : this.rel; 2334 var newRel = originalRel.split(" "); 2335 if (originalRel.toLowerCase().indexOf('noopener') === -1){ 2336 newRel.push('noopener'); 2337 } 2338 if (originalRel.toLowerCase().indexOf('noreferrer') === -1){ 2339 newRel.push('noreferrer'); 2340 } 2341 if (originalRel.toLowerCase().indexOf('nofollow') === -1){ 2342 newRel.push('nofollow'); 2343 } 2344 a.attr('rel', newRel.join(" ").trim() ); 2345 } 2346 }); 2347 } 2348 function create_mark(name) { 2349 if (window.performance.mark === undefined) { 2350 console.log("performance.mark Not supported"); 2351 return; 2352 } 2353 window.performance.mark(name); 2354 } 2355 function initCoreJS() { 2356 $LAB.setGlobalDefaults({AlwaysPreserveOrder:true}); 2357 jQuery.ajaxPrefilter(function(s) { 2358 if ( s.crossDomain ) { 2359 s.contents.script = false;
2360 } 2361 }); 2362 $(function() { $('body').removeClass('fade-out'); }); 2363 sanitizeTargetBlank(); 2364 var def_img_idx = 1; 2365 [].forEach.call(document.querySelectorAll('img[data-src]'), function(img) { 2366 if( def_img_idx <= 12 ) { 2367 if (img.getAttribute('data-src') === null) { } else if (img.getAttribute('data-src') === '') {} else { 2368 img.setAttribute('src', img.getAttribute('data-src')); 2369 img.onload = function() { 2370 img.removeAttribute('data-src'); 2371 if (img.style.opacity !== undefined) { 2372 img.style.opacity = 1; 2373 } 2374 }; 2375 } 2376 } 2377 def_img_idx++; 2378 }); 2379 if ( $('.slideshow .flexslider').length > 0 ) { 2380 $('.slideshow .flexslider').each(function(index, value) { 2381 var el = "#" + $(this).attr("id"); 2382 var full = $(this).data("full"); 2383 if(full){ 2384 $(this).find("img").css({'width' : '100%', 'height' : 'auto' }); 2385 $(this).closest("div.slideshow").appendTo('#content-top'); 2386 } 2387 }); 2388 } 2389 $LAB.script("https://cdnjs.cloudflare.com/ajax/libs/jquery.imagesloaded/5.0.0/imagesloaded.pkgd.min.js") 2390 .script("https://cdnjs.cloudflare.com/ajax/libs/is_js/0.9.0/is.min.js").wait(function(){ 2391 initDeferImages(); 2392 loadJS(); 2393 downloadJSAtOnload(); 2394 create_mark('mark_fully_loaded'); 2395 if( $('.wow').eq(0).length ) { 2396 getScript("https://cdnjs.cloudflare.com/ajax/libs/wow/1.1.2/wow.min.js",function(){ 2397 new WOW().init(); 2398 }); 2399 } 2400 if( $('img[usemap]').eq(0).length ) { 2401 getScript("https://cdnjs.cloudflare.com/ajax/libs/jQuery-rwdImageMaps/1.6/jquery.rwdImageMaps.min.js",function(){ 2402 try { $('img[usemap]').rwdImageMaps(); } catch (e) { } 2403 }); 2404 } 2405 getScript("https://cdnjs.cloudflare.com/ajax/libs/data-layer-helper/0.1.0/data-layer-helper.min.js",function(){ }); 2406 2407 }); 2408 //230117 fix flipper hover 2409 if($(".grid-box, .product-row").find(".flipper").length){ 2410 $(".grid-box, .product-row").find(".flipper").hover(function(){ 2411 oldSrc = $(this).attr("src"); 2412 $(this).attr("src",$(this).attr("data-flipper")); 2413 },function(){ 2414 $(this).attr("src",oldSrc); 2415 }); 2416 } 2417 } 2418 2419 initCoreCSS(); 2420 setTimeout(function(){ 2421 initCoreJS(); 2422 $.getJSON( "index.php?route=account/account/get_user_track&token=" + (Math.floor(Math.random() * 999) + 100), function( data ) { 2423 if( data.user_id ) { ga_userId = data.user_id; } 2424 if( data.uuid ) { 2425 try { 2426 if ('localStorage' in window && window['localStorage'] !== null){ 2427 localStorage.removeItem("qdm_user_uuid"); 2428 localStorage.setItem("qdm_user_uuid", data.uuid); 2429 qdm_user_uuid = data.uuid; 2430 } 2431 } catch (e) {} 2432 } 2433 if( data.utm_source == "affiliates" ) { ga_utm_source = data.utm_source; } 2434 reportFbqTrack(); 2435 2436 }); 2437 var vidDefer = document.getElementsByTagName('iframe'); 2438 for (var i=0; i<vidDefer.length; i++) { 2439 if(vidDefer[i].getAttribute('src')) { 2440 vidDefer[i].setAttribute('data-src',vidDefer[i].getAttribute('src')); 2441 } 2442 } 2443 document.getElementsByTagName("body")[0].style.display = "block"; 2444 }, 60); 2445 2446 </script>
2446 </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.