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