PageSourceSearch

https://www.tzfarm.tw/search

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

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.