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