PageSourceSearch

https://www.chien-yen.com.tw/index.php?route=checkout/cart

html chien-yen.com.tw collected 2026-10-05 05:47:08 UTC 93,609 bytes, 2,317 lines download raw bytes

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>&#9776;</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>&nbsp;<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>&nbsp;我的訂單</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>&nbsp;會員中心&nbsp;(登入)</a></li> <li class="pushy-link header-none-logged-menu hidden"><a href="/guestorder"><i class="fa fa-search-plus" aria-hidden="true"></i>&nbsp;我要查訂單</a></li> <li class="pushy-submenu"> <button><i class="fa fa-commenting-o" aria-hidden="true"></i>&nbsp;找店長</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>&nbsp;登出</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>&nbsp;<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">&nbsp;</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																			統一編號&nbsp;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;">&nbsp;</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.