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