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.iporkcut.com.tw/" /> <meta charset="utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1" /> <meta http-equiv='x-dns-prefetch-control' content='on'> <meta name="author" content="æä¸æ¯æâ
æçæ¯èçèä¹¾"> <meta name="copyright" content="æä¸æ¯æâ
æçæ¯èçèä¹¾"> <meta name="google" content="notranslate" /> <meta name="mobile-web-app-capable" content="yes"> <meta name="theme-color" content="#f5f5f5"> <link rel="preconnect" href="//cdn.qdm.cloud" /> <link rel="preconnect" href="//image-cdn-flare.qdm.cloud" /> <link rel="preconnect" href="//image-cdn.qdm.cloud" /> <link rel="preconnect" href="//www.facebook.com" /> <link rel="preconnect" href="//connect.facebook.net" /> <link rel="preconnect" href="//ajax.googleapis.com" /> <link rel="dns-prefetch" href="//ajax.googleapis.com" /> <link rel="dns-prefetch" href="//image-cdn-flare.qdm.cloud" /> <link rel="dns-prefetch" href="//image-cdn.qdm.cloud" /> <link rel="dns-prefetch" href="//cdn.qdm.cloud" /> <link rel="dns-prefetch" href="//fonts.googleapis.com" /> <link rel="dns-prefetch" href="//www.google-analytics.com" /> <link rel="dns-prefetch" href="//www.googletagmanager.com" /> <link rel='dns-prefetch' href="//www.google.com" /> <link rel='dns-prefetch' href="//www.google.com.tw" /> <link rel='dns-prefetch' href="//maxcdn.bootstrapcdn.com" /> <link rel='dns-prefetch' href="//cdnjs.cloudflare.com" /> <link rel='dns-prefetch' href="//www.facebook.com" /> <link rel='dns-prefetch' href="//connect.facebook.net" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title itemprop='name'>æä¸æ¯æâ
æçæ¯èçèä¹¾</title> <meta name="description" content="éä¸åªæ¯èä¹¾çæ
äºï¼æ´æ¯å°ç£å¥³æ§ç¨éæå¨å³çµ±ç¢æ¥æèµ·ä¸ç天çæ
äº!" /> <meta property="og:description" content="éä¸åªæ¯èä¹¾çæ
äºï¼æ´æ¯å°ç£å¥³æ§ç¨éæå¨å³çµ±ç¢æ¥æèµ·ä¸ç天çæ
äº!" /> <link href="https://www.iporkcut.com.tw/" rel="canonical" itemprop="url"> <!-- FACESPACE --> <meta property="fb:app_id" content="162172840650014" /> <meta property="og:title" content="æä¸æ¯æâ
æçæ¯èçèä¹¾"/> <meta property="og:type" content="website"/> <meta property="og:url" content="https://www.iporkcut.com.tw/"/> <meta property="og:locale" content="zh_TW" /> <meta property="og:image" content="https://image-cdn-flare.qdm.cloud/q6a5dd2e0d87d6/image/data/2018/09/26/1e97bc46691f1b39b1763c3dd3aca3c3.jpg"/> <meta property="og:image:url" content="https://image-cdn-flare.qdm.cloud/q6a5dd2e0d87d6/image/data/2018/09/26/1e97bc46691f1b39b1763c3dd3aca3c3.jpg"/> <meta property="og:site_name" content="æä¸æ¯æâ
æçæ¯èçèä¹¾"> <meta property="og:updated_time" content="1791405788"> <!-- Twitter Card --> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:title" content="æä¸æ¯æâ
æçæ¯èçèä¹¾"> <meta name="twitter:description" content="éä¸åªæ¯èä¹¾çæ
äºï¼æ´æ¯å°ç£å¥³æ§ç¨éæå¨å³çµ±ç¢æ¥æèµ·ä¸ç天çæ
äº!"> <meta name="twitter:image" content="https://image-cdn-flare.qdm.cloud/q6a5dd2e0d87d6/image/data/2018/09/26/1e97bc46691f1b39b1763c3dd3aca3c3.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/q6a5dd2e0d87d6/image/data/2018/09/26/1e97bc46691f1b39b1763c3dd3aca3c3.jpg"> <link title='æä¸æ¯æâ
æçæ¯èçèä¹¾ - è¨é±ååå¿«è¨RSS' href="https://www.iporkcut.com.tw/googlebase.xml" type='application/rss+xml' rel='alternate' > <!-- Google's Sitelinks Search -->
1<script type="application/ld+json"> 2 { 3 "@context": "https://schema.org", 4 "@type": "WebSite", 5 "name" : "æä¸æ¯æâ æçæ¯èçèä¹¾", 6 "url": "https://www.iporkcut.com.tw/", 7 "potentialAction": { 8 "@type": "SearchAction", 9 "target": { 10 "@type": "EntryPoint", 11 "urlTemplate": "https://www.iporkcut.com.tw/search?q={filter_name}" 12 }, 13 "query-input": "required name=filter_name" 14 } 15 } 16 </script>
16 <!-- Organization / LocalBusiness Schema -->
16<script type="application/ld+json"> 17 { 18 "@context": "https:\/\/schema.org", 19 "@type": "Organization", 20 "name": "æä¸æ¯æâ æçæ¯èçèä¹¾", 21 "url": "https:\/\/www.iporkcut.com.tw\/", 22 "logo": "https:\/\/image-cdn-flare.qdm.cloud\/q6a5dd2e0d87d6\/image\/data\/2018\/09\/26\/1e97bc46691f1b39b1763c3dd3aca3c3.jpg", 23 "email": "[email protected]", 24 "sameAs": [ 25 "https:\/\/www.facebook.com\/iporkcut" 26 ], 27 "image": "https:\/\/image-cdn-flare.qdm.cloud\/q6a5dd2e0d87d6\/image\/data\/2018\/09\/26\/1e97bc46691f1b39b1763c3dd3aca3c3.jpg" 28} </script>
28
28<script type="text/javascript"> 29(function(c,l,a,r,i,t,y){ 30c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; 31t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; 32y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); 33})(window, document, "clarity", "script", "99n8zhelys"); 34</script>
34 <!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 68 bytes, lines 34-35
34 <script async 35 src="https://www.googletagmanager.com/gtag/js?id=
35G-8CRMWS8GBK
vendor: 12 bytes, line 35
35"></script>
35<script> 36
vendor: 141 bytes, lines 36-40
36window.dataLayer = window.dataLayer || []; 37 function gtag(){dataLayer.push(arguments);} 38 gtag('js', new Date()); 39 40 gtag('config', "
40G-8CRMWS8GBK
vendor: 40 bytes, lines 40-42
40", { send_page_view: false }); 41 42
42</script>
42
42<script> 43 44 var enhanced_conversion_data = {}; 45 var ga_userId = null; 46 var ga_userId_global = null; 47 var qdm_user_uuid = "q6a5dd2e0d87d6-n9r62fhh3kharpsv35qoouuqb5"; 48 var helperga4 = null; 49 var xmlhttp_uinfo = new XMLHttpRequest(); 50 xmlhttp_uinfo.open('GET', "https://www.iporkcut.com.tw/index.php?route=common/header/getLoggedInUserInfo&token=" + new Date().getTime() + "1" + (Math.floor(Math.random() * 999) + 100) , true); 51 xmlhttp_uinfo.onreadystatechange = function() { 52 if (xmlhttp_uinfo.readyState == 4) { 53 if(xmlhttp_uinfo.status == 200) { 54 try { 55 var obj = JSON.parse(xmlhttp_uinfo.responseText); 56 ga_userId = obj.user_id; 57 if( obj.email ) { 58 enhanced_conversion_data.email = obj.email; 59 } 60 } catch (e) { } 61 } 62 } 63 }; 64 xmlhttp_uinfo.send(null); 65 66 try { 67 if ('localStorage' in window && window['localStorage'] !== null){ 68 if( localStorage.getItem('qdm_user_uuid') && qdm_user_uuid == null ) { 69 qdm_user_uuid = localStorage.getItem('qdm_user_uuid'); 70 } 71 } 72 } catch (e) {} 73 window.addEventListener("beforeunload", () => localStorage.removeItem('qdm_user_uuid')); 74 75 function QUUID(){var x=(new Date).getTime(),t="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){const n=(x+16*Math.random())%16|0;return x=Math.floor(x/16),("x"==t?n:3&n|8).toString(16)});return "q6a5dd2e0d87d6"+t;} 76 var dateTime = Date.now(); 77 var timestamp = Math.floor(dateTime / 1000); 78 var global_quuid = QUUID(); 79 //var global_quuid = "q6a5dd2e0d87d6" + Math.random().toString(13).substr(2, 9) + "" + timestamp + "" + new Date().getTime(); 80 var global_product_id = 0; 81 var ecommCheckoutTotal = 0; 82 var gecommProduct = new Array("0"); 83 var gecommProductName = ''; 84 var gecommProductSKU = ''; 85 var gecommProductDesc = ''; 86 var gecommProductBrand = ''; 87 var gecommProductBrand_cyntelli = ''; 88 var gecommProductCategoryPath = ''; 89 var gecommProductCategoryWithComma = ''; 90 var gecommProductPrice = 0; 91 var gecommCompareAtPrice = 0; 92 var gecommProductImageUrl = ""; 93 var gecommProductUrl = ""; 94 var gecommViewCategoryName = ''; 95 var gecommViewFullCategoryName = ''; 96 var gecommProductToCart = {}; 97 var ecommOrderToCheckout = {}; 98 dataLayer.push({ 99 'pageCategory': 'signup', 100 'visitorType': 'high-value' 101 }); 102 103 var customer_id = '0'; 104 if(customer_id>0){ 105 if( ga_userId !== null ) { 106 ga_userId = customer_id; 107 } 108 } 109 110 var ga_utm_source = null; 111 var toggleVisible = function(id){ 112 var el = document.getElementById(id); 113 if( el !== null ) { el.style.visibility = "visible"; } 114 }; 115 116 </script>
116
116<script id="google-ga-event-track" type="text/javascript"> 117 118 var track_google_ga_trigger = 0; 119 120 setTimeout(function(){ 121 122 if( ga_userId !== null ) { 123 ga_userId_global = "q6a5dd2e0d87d6_" + ga_userId; 124 125 dataLayer.push({ 126 'event': 'data', 127 'UID': ga_userId 128 }); 129 window.adGeek_d = { 130 'memberId': ga_userId 131 }; 132 133 134 gtag('config', "G-8CRMWS8GBK", {'user_id': ga_userId_global}); 135 136 137 } else { 138 } 139 140 if( track_google_ga_trigger == 1 ) { return false; }; 141 142 if ( parseInt(global_product_id) > 0 ) { 143 if (typeof gaTrackProductView == 'function') { 144 gaTrackProductView(); 145 } 146 } 147 148 149 150 151 152 153 154 }, 2000); 155 156 </script>
156
156<script> 157 158 var QDMPPID = "6356598b40b2ed3f7325d28c84934546"; 159 function setCookie(name, value, days) { 160 var expires = ""; 161 if (days) { 162 // Mutate ONE Date object then format it. The previous one-liner set the 163 // expiry on a throwaway Date and formatted a fresh (now) Date, so every 164 // "persistent" cookie got expires=now and was dropped immediately. 165 var expireDate = new Date(); 166 expireDate.setTime(expireDate.getTime() + (864e5 * days)); 167 expires = "; expires=" + expireDate.toUTCString(); 168 } 169 // SameSite=Lax lets cookies survive redirects back from external services (e.g. ECPay logistics). 170 document.cookie = name + "=" + value + expires + "; path=/; Secure; SameSite=Lax"; 171 } 172 function getCookie(e){var n,i=document.cookie,o=i.indexOf(" "+e+"=");return-1==o&&(o=i.indexOf(e+"=")),i=-1==o?null:(o=i.indexOf("=",o)+1,-1==(n=i.indexOf(";",o))&&(n=i.length),unescape(i.substring(o,n)))} 173 if( !getCookie("QDMPPID") ) { setCookie("QDMPPID","3d571ef45992ff5181e561565f2ca99d", 365); } 174 QDMPPID = getCookie("QDMPPID"); 175 <!-- Facebook Pixel Code --> 176 !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod? 177 n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n; 178 n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0; 179 t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, 180 document,'script','https://connect.facebook.net/en_US/fbevents.js'); 181 <!-- End Facebook Pixel Code --> 182 183 function onloadCSS(e,n){function t(){!o&&n&&(o=!0,n.call(e))}var o;e.addEventListener&&e.addEventListener("load",t),e.attachEvent&&e.attachEvent("onload",t),"isApplicationInstalled"in navigator&&"onloadcssdefined"in e&&e.onloadcssdefined(t)}!function(e){"use strict";var n=function(n,t,o){function a(e){return l.body?e():void setTimeout(function(){a(e)})}function d(){r.addEventListener&&r.removeEventListener("load",d),r.media=o||"all"}var i,l=e.document,r=l.createElement("link");if(t)i=t;else{var s=(l.body||l.getElementsByTagName("head")[0]).childNodes;i=s[s.length-1]}var f=l.styleSheets;r.rel="stylesheet",r.href=n,r.media="only x",a(function(){i.parentNode.insertBefore(r,t?i:i.nextSibling)});var c=function(e){for(var n=r.href,t=f.length;t--;)if(f[t].href===n)return e();setTimeout(function(){c(e)})};return r.addEventListener&&r.addEventListener("load",d),r.onloadcssdefined=c,c(d),r};"undefined"!=typeof exports?exports.loadCSS=n:e.loadCSS=n}("undefined"!=typeof global?global:this); 184 185 function removeClass( classname, element ) { 186 var cn = element.className; 187 var rxp = new RegExp( "s?b"+classname+"b", "g" ); 188 cn = cn.replace( rxp, '' ); 189 element.className = cn; 190 } 191 192 var disabledScroll = 1; 193 var doJsAfterLoad = 0; 194 195 196 var stylesheets = [ 197 "https://cdn.qdm.cloud/static/fontawesome/v3.2.1/css/font-awesome.min.css", 198 "https://cdn.qdm.cloud/static/fontawesome/v4.7.0/css/font-awesome.min.css", 199 "https://cdn.qdm.cloud/static/fontawesome/v5.11.2/css/all.min.css", 200 "https://cdn.qdm.cloud/static/fontawesome/v5.11.2/css/v4-shims.min.css", 201 "https://cdn.qdm.cloud/static/fontawesome/v6.5.1/css/all.min.css", 202 "https://fonts.googleapis.com/css?family=Roboto:400,400i,500,700&display=swap", 203 "https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css", 204 "https://cdnjs.cloudflare.com/ajax/libs/izitoast/1.4.0/css/iziToast.min.css" 205 ]; 206 function refreshMiniCartScrollBar(){ 207 var nice = $(".nicescroll-box").niceScroll(".wrap",{emulatetouch:true,bouncescroll:true}); 208 } 209 function initCoreCSS(){ 210 if( doJsAfterLoad ) return; 211 var loading_css_product = loadCSS("https://cdn.qdm.cloud/assets/css/core_product.24022002.css"); 212 onloadCSS(loading_css_product, function(){ initCSS(); }); 213 toggleVisible('header'); 214 toggleVisible('mainnav'); 215 doJsAfterLoad = 1; 216 } 217 function initCSS(){ 218 for (var i=0; i < stylesheets.length; i++) { loadCSS(stylesheets[i]); } 219 loadCSS("https://image-cdn.qdm.cloud/site/q6a5dd2e0d87d6/global.css?v=1780624407"); 220 } 221 function loadJS(){ 222 } 223 224 const ImageErrorHandler = { 225 // é ç½®é¸é 226 config: { 227 maxRetries: 5, 228 baseDelay: 200, 229 maxDelay: 3000, 230 defaultImage: "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7", 231 fallbackImage: "//cdn.qdm.cloud/assets/no_image.jpg" // å¯é¸çæ¿ä»£åç 232 }, 233 234 // æ£å¨èççåç Mapï¼é²æ¢éè¤èçï¼ 235 processingImages: new WeakMap(), //WeakMapæ¸å°è¨æ¶é«çæ´©æ¼ 236 handle(image) { 237 try { 238 if (!image || !image.src || this.processingImages.has(image)) { 239 return; 240 } 241 242 // æ¨è¨çºèçä¸ 243 this.processingImages.set(image, true); 244 245 const retryCount = parseInt(image.getAttribute('data-reload') || '0') + 1; 246 247 if (retryCount > this.config.maxRetries) { 248 this.handleFinalError(image); 249 return; 250 } 251 252 image.setAttribute('data-reload', retryCount); 253 254 // è¨ç®å»¶é²æéï¼ææ¸éé¿ï¼
255 const delay = Math.min( 256 this.config.baseDelay * Math.pow(2, retryCount - 1), 257 this.config.maxDelay 258 ); 259 260 setTimeout(() => { 261 this.retryLoad(image, retryCount); 262 }, delay); 263 264 } catch (err) { 265 console.error('ImageErrorHandler error:', err); 266 this.handleFinalError(image); 267 } 268 }, 269 270 retryLoad(image, retryCount) { 271 const imageSrc = this.updateTimestamp(image.src); 272 // ä½¿ç¨æ°åçç©ä»¶æ¸¬è©¦ 273 const testImage = new Image(); 274 testImage.onload = () => { 275 // æåè¼å ¥ 276 image.src = imageSrc; 277 this.processingImages.delete(image); 278 279 // éæ°ç¶å®é¯èª¤èç 280 image.onerror = () => this.handle(image); 281 }; 282 283 testImage.onerror = () => { 284 // è¼å ¥å¤±æ 285 this.processingImages.delete(image); 286 287 // å¦ææ¯æå¾ä¸æ¬¡é試åï¼å試使ç¨åç¨åç 288 if (retryCount === this.config.maxRetries - 1 && this.config.fallbackImage) { 289 image.src = this.config.fallbackImage; 290 image.onerror = () => this.handle(image); 291 } else { 292 this.handle(image); 293 } 294 }; 295 296 testImage.src = imageSrc; 297 }, 298 299 updateTimestamp(src) { 300 const timestamp = `timestamp=${Date.now()}`; 301 302 if (src.includes('timestamp=')) { 303 return src.replace(/timestamp=\d+/, timestamp); 304 } 305 306 const separator = src.includes('?') ? '&' : '?'; 307 return `${src}${separator}${timestamp}`; 308 }, 309 310 handleFinalError(image) { 311 // æ¸ ç 312 image.onerror = null; 313 image.onload = null; 314 this.processingImages.delete(image); 315 316 // ä¿ååå§ URL 317 if (!image.src.includes("base64") && !image.hasAttribute('data-image-raw')) { 318 image.setAttribute('data-image-raw', image.src); 319 } 320 321 // è¨ç½®é è¨åç 322 image.src = this.config.defaultImage; 323 324 // 觸ç¼äºä»¶ 325 image.dispatchEvent(new CustomEvent('imageFinalError', { 326 detail: { 327 originalSrc: image.getAttribute('data-image-raw'), 328 retries: image.getAttribute('data-reload') 329 } 330 })); 331 } 332 }; 333 334 // åçé¯èª¤ 335 function imgError(image) { 336 ImageErrorHandler.handle(image); 337 } 338 339 340 </script>
340
340<script> 341 function vbtrax_track(){ 342 } 343 344 function criteo_track(){ 345 } 346 347 348 </script>
348
348<script type="application/javascript"> </script>
348 </script>
348
348<script> 349 var N=document.createElement("link"); 350 N.setAttribute("href", "https://image-cdn-flare.qdm.cloud/q6a5dd2e0d87d6/image/data/favicon.png"); 351 N.setAttribute("rel", "shortcut icon"); 352 N.setAttribute("type", "image/png"); 353 document.head.appendChild(N); 354 </script>
354
354<script>document.createElement("picture");</script>
354
354<script async src='https://cdnjs.cloudflare.com/ajax/libs/picturefill/3.0.3/picturefill.min.js'></script>
354 <link rel="icon" href="https://image-cdn-flare.qdm.cloud/q6a5dd2e0d87d6/image/data/favicon.png" type="image/x-icon" > <link rel="shortcut icon" href="https://image-cdn-flare.qdm.cloud/q6a5dd2e0d87d6/image/data/favicon.png" type="image/x-icon" > <link type="text/css" rel="stylesheet" href="https://cdn.qdm.cloud/min/css/core.260320v01.css"> <style> 355 *, 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; } 356 @media (min-width: 1200px) { body { padding-top: 40px; } .container, .navbar-static-top .container, .navbar-fixed-top .container, .navbar-fixed-bottom .container { width: 1170px; } } 357 .hidden{display:none;visibility:hidden} 358 .pull-right { float: right !important; } 359 .container > #mainnav.skin4 { max-width:860px;width:100%; } 360 .container > #mainnav.skin4 .nav.menu-nav { display:inherit; } 361 #mainnav ul { list-style: none; display: flex; flex-wrap: wrap; } 362 #mainnav ul li { position: relative; } 363 #mainnav ul li ul.dropdown-menu { position: absolute; display: none; flex-direction: column; } 364 #mainnav ul li ul.dropdown-menu > li.column-menu { display: table-cell; border-right: 1px solid #eee; vertical-align: top; } 365 #mainnav ul li ul.dropdown-menu > li.column-menu > ul { display: block; } 366 #mainnav ul li:hover > ul { display: flex; } 367 #mainnav ul ul ul {top: 0; left: 100%; border-left:solid 1px #fff; width:auto;} 368 #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); } 369 #mainnav ul.nav li.dropdown ul.dropdown-menu li a { font-size: 17px; line-height: 26px; } 370 #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; } 371 .navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0;} 372 .navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px;} 373 #header ul{list-style:none;margin:0;padding:0} #header li{list-style:none} 374 .navbar .nav{position:relative;} 375 .navbar .nav.pull-right{float:right;margin-right:0;} 376 .navbar .nav>li{float:left;} 377 .navbar .nav>li>a{float:none;padding:10px 15px 10px;text-decoration:none;} 378 .navbar .nav .dropdown-toggle .caret{margin-top:8px;} 379 .navbar .button-navbar{display:none;float:right;padding:7px 10px;margin-left:5px;margin-right:5px;} 380 .button-navbar .icon-bar+.icon-bar{margin-top:3px;} 381 .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;} 382 .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;} 383 .dropdown-menu { position: absolute; display: none; float: left; } 384 .dropup, .dropdown { position: relative; } 385 .pushy { z-index: 99999999; } 386 .pushy-menu-storename span{ 387 width: 40%; 388 position: absolute; 389 top: 24px; 390 right: 5px; 391 text-align: right; 392 padding-right: 10px; 393 } 394 .pushy-menu-storename a{ 395 width: 90%; 396 } 397 .pushy-menu-storename a:hover, a:visited, a:link, a:active { 398 text-decoration: none; 399 } 400 </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/q6a5dd2e0d87d6/custom_theme.css?v=20260604160837"> <style> 401 html {-webkit-transition: background-color 0s;transition: background-color 0s;} html.loading { position: relative; overflow:hidden; width:100%; height:100%; min-height:768px;
401 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; } 402 .already_sold span{color:#e4007f;font-weight:bold;} 403 #myBody .fancybox-buttons { top: 60px; } 404 .ui-autocomplete.ui-front.ui-menu { 405 z-index: 999999999; border: none; border: 1px solid #EEE; box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); 406 } 407 .ui-autocomplete.ui-front.ui-menu > .ui-menu-item { 408 font-size: 17px; line-height: 26px; list-style-image: none; background-color: #FFF; cursor: pointer; border: none; 409 } 410 .ui-autocomplete.ui-front.ui-menu > .ui-menu-item a.ui-state-focus { 411 line-height: 26px; 412 border-color: #616161; 413 background: #616161 !important; 414 font-weight: bold !important; 415 color: #ffffff !important; 416 } 417 @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;}} 418 .onsale{ width:65px; height:24px; min-width:65px; min-height:24px; padding:2px; border-radius:5%; line-height:20px; } 419 #navbar-top-socialbar li.social-icon{ line-height:0px; padding-top:6px; } 420 #navbar-top-socialbar li.social-icon>a>i{ line-height:24px; } 421 .display_price { display:none; } 422 423 #payment-logo-list{ 424 width: 100%; 425 max-width: 1200px; 426 margin: 0 auto; 427 /*padding-bottom: 20px;*/ 428 padding-top: 10px; 429 } 430 431 #payment-logo-list .pl-row { 432 display: flex; 433 flex-wrap: wrap; 434 justify-content: center; 435 gap: 20px; 436 } 437 438 #payment-logo-list .pl-col { 439 flex: 1; 440 max-width: 120px; 441 padding: 2px; 442 text-align: center; 443 } 444 #payment-logo-list .pl-col img { 445 max-height: 40px; 446 line-height: 40px; 447 object-fit: contain 448 } 449 @media only screen and (max-width:768px){ 450 #payment-logo-list .pl-col { 451 min-width: 10%; 452 } 453 } 454 </style> <style> 455 .preload-hidden { opacity: 0; transition: opacity .3s ease; } 456 .awoo-ui { display:block; margin-top:20px; margin-bottom:20px; } 457 </style>
457<script> 458 window.addEventListener('load', function(){ 459 try { 460 setTimeout(function(){ 461 var preloadElements = document.querySelectorAll('.preload-hidden'); 462 preloadElements.forEach(function(element) { 463 element.style.opacity = '1'; 464 }); 465 }, 300); 466 } catch(e) {} 467 }); 468 </script>
468 </head> <body id="myBody" data-customer-group="1" data-instant-allow-query-string itemscope itemtype="https://schema.org/WebSite" class="responsive home fullscreen skin-2 "> <div id="fb-root"></div>
468<script> 469 window.fbAsyncInit = function() { 470 FB.init({ 471 appId : '162172840650014', 472 autoLogAppEvents : true, 473 cookie : true, 474 xfbml : true, 475 status : true, 476 version : 'v19.0' 477 }); 478 }; 479</script>
479 <meta itemprop="url" content="https://www.iporkcut.com.tw/" /> <!-- Mobile Header --> <!--googleoff: index--> <div id="mobile-navbar" class="navbar navbar-static-top FixedTop visible-xs visible-sm" style="display:none;"> <div class="navbar-inner"> <ul class="nav"> <li id="menu-btn" class="menu-btn"><span>☰</span></li> <li class="site-title"> <a href="https://www.iporkcut.com.tw/">æä¸æ¯æâ æçæ¯èçèä¹¾</a> </li> <li id="shopping-cart-list" class="shopping-cart" data-direction="left" style="overflow: visible; margin: 0px; padding-right: 10px;"><a href="https://www.iporkcut.com.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.iporkcut.com.tw/">æä¸æ¯æâ æçæ¯èçèä¹¾</a> <span><i class="fa fa-times" aria-hidden="true"></i></span> </li> <div class="pushy-menu-main"> <li class="header-logged-menu pushy-submenu hidden"> <button><i class="fa fa-user-circle-o"></i> <span id="header-mobile-user"></span></button> <ul> <li class="pushy-link"><a href="/account">æå¡ä¸å¿</a></li> <li class="pushy-link"><a href="https://www.iporkcut.com.tw/account/edit">æçè³æ</a></li> <li class="pushy-link"><a href="https://www.iporkcut.com.tw/account/reward">æçç´ å©</a></li> <div class="pushy-menu-divide"></div> <li class="pushy-link"><a href="https://www.iporkcut.com.tw/wishlist">é¡ææ¸ å®</a></li> <li class="pushy-link"><a href="https://www.iporkcut.com.tw/compare">å忝è¼</a></li> <div class="pushy-menu-divide"></div> <li class="pushy-link"><a href="https://www.iporkcut.com.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.iporkcut.com.tw/account/order/payment">填坫坿¬¾å®</a></li> <li class="pushy-link"><a href="https://www.iporkcut.com.tw/order">æçè¨å®</a></li> <li class="pushy-link"><a href="https://www.iporkcut.com.tw/account/return">é/æè²¨ç´é</a></li> </ul> </li> <li class="pushy-link header-none-logged-menu hidden"><a href="/login"><i class="fa fa-user-circle-o"></i> æå¡ä¸å¿ (ç»å ¥)</a></li> <li class="pushy-link header-none-logged-menu hidden"><a href="/guestorder"><i class="fa fa-search-plus" aria-hidden="true"></i> æè¦æ¥è¨å®</a></li> <li class="pushy-submenu"> <button><i class="fa fa-commenting-o" aria-hidden="true"></i> æ¾åºé·</button> <ul> <li class="pushy-link"><a href="https://www.iporkcut.com.tw/contact">ç·ä¸çè¨</a></li> <li class="pushy-link"><a href="mailto:[email protected]" target="_blank" rel="noopener noreferrer nofollow">é»åéµä»¶</a></li> <li class="pushy-link"><a href="https://www.messenger.com/t/iporkcut" target="_blank" rel="noopener noreferrer nofollow">Facebookè¨æ¯</a></li> </ul> </li> <li class="pushy-link header-logged-menu hidden"><a href="https://www.iporkcut.com.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.iporkcut.com.tw/">ååºé¦é </a></li> <li class="pushy-link" > <a href="https://www.iporkcut.com.tw/å¹´ç¯ç¦®ç" >å¹´ç¯ç¦®ç</a> </li> <li class="pushy-link" > <a href="https://www.iporkcut.com.tw/海鮮系å" >海鮮系å</a> </li> <li class="pushy-link" > <a href="https://www.iporkcut.com.tw/è乾系å" >è乾系å</a> </li> <li class="pushy-link" > <a href="https://www.iporkcut.com.tw/èç´ç³»å" >èç´ç³»å</a> </li> <li class="pushy-link" > <a href="https://www.iporkcut.com.tw/èçç³»å" >èçç³»å</a> </li> <li class="pushy-link" > <a href="https://www.iporkcut.com.tw/ç¾å³é¦é¬" >ç¾å³é¦é¬</a> </li> <li class="pushy-link" > <a href="https://www.iporkcut.com.tw/æ¶®å´é¶å´" >æ¶®å´é¶å´</a> </li> </div> </ul> </div> </nav> <!-- Site Overlay --> <div class="site-overlay"></div> <header id="header" class="visible-lg visible-md" itemscope itemtype="https://schema.org/Organization"> <div 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.iporkcut.com.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> 480.mini-cart-info td, .mini-cart-total td { line-height:20px; } 481</style> <div class="heading"> <i class="fa fa-shopping-cart"></i> 482 ( <a href="https://www.iporkcut.com.tw/cart" id="cart-total"> 483 0 ä»¶åå $0 </a> 484 ) 485 </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.iporkcut.com.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.iporkcut.com.tw/account">æå¡ä¸å¿</a></li> <li><a href="https://www.iporkcut.com.tw/order">æçè¨å®</a></li> <li><a href="https://www.iporkcut.com.tw/account/order/payment">填坫坿¬¾å®</a></li> <li><a href="https://www.iporkcut.com.tw/wishlist">é¡ææ¸ å®</a></li> <li><a href="https://www.iporkcut.com.tw/compare">å忝è¼</a></li> <li class="divider"></li> <li><a href="https://www.iporkcut.com.tw/account/logout">ç»åº</a></li> </ul> </li> <li id="header-none-logged-menu"><a href="https://www.iporkcut.com.tw/login" title="æå¡ç»å ¥" id="bt
485nLogin"><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="https://www.iporkcut.com.tw/contact"><i class="fa fa-comments-o"> ç·ä¸çè¨</i></a></li> <li><a href="mailto:[email protected]" target="_blank" rel="noopener noreferrer nofollow"><i class="fa fa-envelope-o"> é»åéµä»¶</i></a></li> <li><a href="https://www.messenger.com/t/iporkcut" 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.iporkcut.com.tw/"><img onerror='imgError(this);' itemprop="logo" src="//image-cdn-flare.qdm.cloud/q6a5dd2e0d87d6/image/data/2018/09/26/1e97bc46691f1b39b1763c3dd3aca3c3.jpg" title="æä¸æ¯æâ æçæ¯èçèä¹¾" alt="æä¸æ¯æâ æçæ¯èçèä¹¾" /></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> 486 487 é¸å®</span> <i class="icon-navbtn"></i> </button> <div class="nav-collapse"> <ul class="nav"> <li data-categoryid="15" href="https://www.iporkcut.com.tw/å¹´ç¯ç¦®ç" > <a href="https://www.iporkcut.com.tw/å¹´ç¯ç¦®ç" data-hover="">å¹´ç¯ç¦®ç</a> </li> <li data-categoryid="22" href="https://www.iporkcut.com.tw/海鮮系å" > <a href="https://www.iporkcut.com.tw/海鮮系å" data-hover="">海鮮系å</a> </li> <li data-categoryid="9" href="https://www.iporkcut.com.tw/è乾系å" > <a href="https://www.iporkcut.com.tw/è乾系å" data-hover="è乾系å">è乾系å</a> </li> <li data-categoryid="10" href="https://www.iporkcut.com.tw/èç´ç³»å" > <a href="https://www.iporkcut.com.tw/èç´ç³»å" data-hover="èç´ç³»å">èç´ç³»å</a> </li> <li data-categoryid="8" href="https://www.iporkcut.com.tw/èçç³»å" > <a href="https://www.iporkcut.com.tw/èçç³»å" data-hover="èçç³»å">èçç³»å</a> </li> <li data-categoryid="11" href="https://www.iporkcut.com.tw/ç¾å³é¦é¬" > <a href="https://www.iporkcut.com.tw/ç¾å³é¦é¬" data-hover="ç¾å³é¦é¬">ç¾å³é¦é¬</a> </li> <li data-categoryid="12" href="https://www.iporkcut.com.tw/æ¶®å´é¶å´" > <a href="https://www.iporkcut.com.tw/æ¶®å´é¶å´" data-hover="æ¶®å´é¶å´">æ¶®å´é¶å´</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"> <div class="row-fluid"> <section id="maincontent" class="span12 home"> <div class="mainborder"> <section class="content-top"> <center> <div id="banner0" class="banner" > <a href="https://www.iporkcut.com.tw/product/product&product_id=66" class=""><img onerror='imgError(this);' src="//image-cdn-flare.qdm.cloud/q6a5dd2e0d87d6/image/data/0825ä¸ç§.jpg" alt="" title="" /></a> </div> </center> <div class="flipper_wrap clearfix"> <!-- æä¸æ¯æ ç¯æ ¶éå®ç²¾é¸ç¦®çåå¡ --> <div class="ipork-four-products-section"> <div class="ipork-four-products-container"><!-- å塿¨é --> <div class="ipork-section-header"> <h2>ç¯æ ¶éå®ã»ç¾å³é¦é¸</h2> <p>æ²æéç¯ãæ¡èç¸ä¼´ï¼æä¸æ¯æçºæ¨å³éæèª æ¯çæ¾æ¹å¿æ</p> </div> <!-- åå並æç¶²æ ¼ --> <div class="ipork-product-grid-four"><!-- ååå¡ç 1ï¼ç®¸ç禮ç --> <div class="ipork-product-card"> <div class="product-badge">人氣ç±é·</div> <div class="product-img-box"><img alt="箸ç禮ç" onerror="imgError(this);" src="https://image-cdn-flare.qdm.cloud/q6a5dd2e0d87d6/image/data/2021/12/07/858569dc84297cb7410d075ef163d60f.jpg" /></div> <div class="product-info"> <h3>ãæä¸æ¯æã箸ç禮ç</h3> <p class="product-desc">å´é¸åªè³ªåæï¼æä½ççä¿çæç´ç²¹çé»éæ¯ä¾ç¾å³ã</p> <div class="product-price-box"><!-- å·²æ¹çºå®ä¸å¹æ ¼é¡¯ç¤º -->
487<span class="sale-price">NT$750</span></div> <a class="btn-buy" href="https://www.iporkcut.com.tw/product/product&product_id=65" target="_blank">ç«å³é¸è³¼</a></div> </div> <!-- ååå¡ç 2ï¼å¹¸ç¦ç¦®ç --> <div class="ipork-product-card"> <div class="product-badge">䏻廿¨è¦</div> <div class="product-img-box"><img alt="幸ç¦ç¦®ç" onerror="imgError(this);" src="https://image-cdn-flare.qdm.cloud/q6a5dd2e0d87d6/image/data/2026/06/10/b31f36f5c8415c0c65122820aeebe4e6.jpg" /></div> <div class="product-info"> <h3>ãæä¸æ¯æã幸ç¦ç¦®ç</h3> <p class="product-desc">ç¨å®¶å·¥èå°å飽滿精è¯ï¼å£æå±¤æ¬¡è±å¯è®äººæä¸éæã</p> <div class="product-price-box"><!-- å·²æ¹çºå®ä¸å¹æ ¼é¡¯ç¤º --><span class="sale-price">NT$750</span></div> <a class="btn-buy" href="https://www.iporkcut.com.tw/product/product&product_id=66" target="_blank">ç«å³é¸è³¼</a></div> </div> <!-- ååå¡ç 3ï¼ç¶å ¸ç¦®ç --> <div class="ipork-product-card"> <div class="product-badge">ç¯æ ¶éå®</div> <div class="product-img-box"><img alt="ç¶å ¸ç¦®ç" onerror="imgError(this);" src="https://image-cdn-flare.qdm.cloud/q6a5dd2e0d87d6/image/data/2021/12/07/3d4a7e5c47eefa293f810961c3b1a1ab.jpg" /></div> <div class="product-info"> <h3>ãæä¸æ¯æãç¶å ¸ç¦®ç</h3> <p class="product-desc">ç¯æ ¶å¥¢è¯å è£ï¼ååèæè¨ªé·è¼©ã客æ¶çé«é¢é¦é¸ã</p> <div class="product-price-box"><!-- å·²æ¹çºå®ä¸å¹æ ¼é¡¯ç¤º --><span class="sale-price">NT$750</span></div> <a class="btn-buy" href="https://www.iporkcut.com.tw/%E4%B8%AD%E7%A7%8B%E7%A6%AE%E7%9B%92" target="_blank">ç«å³é¸è³¼</a></div> </div> </div> </div> </div> <!-- å°å±¬åçåªåæ¨£å¼ (CSS) --> <style type="text/css">/* åºç¤è¨å® */ 488.ipork-four-products-section { 489 background-color: #ffffff; 490 padding: 60px 20px; 491 font-family: "PingFang TC", "Heiti TC", "Microsoft JhengHei", sans-serif; 492} 493.ipork-four-products-container { 494 max-width: 1200px; 495 margin: 0 auto; 496} 497 498/* æ¨é æ¨£å¼ */ 499.ipork-section-header { 500 text-align: center; 501 margin-bottom: 40px; 502} 503.ipork-section-header h2 { 504 color: #333333; 505 font-size: 28px; 506 font-weight: bold; 507 position: relative; 508 display: inline-block; 509 margin-bottom: 12px; 510} 511.ipork-section-header h2::after { 512 content: ''; 513 display: block; 514 width: 50px; 515 height: 3px; 516 background-color: #b51a63; /* åçæ¡ç´ è² */ 517 margin: 8px auto 0 auto; 518 border-radius: 2px; 519} 520.ipork-section-header p { 521 color: #666666; 522 font-size: 15px; 523 margin: 0; 524} 525 526/* æ ¸å¿ï¼3 æ¬æåèªé©æç¶²æ ¼ */ 527.ipork-product-grid-four { 528 display: flex; 529 flex-wrap: wrap; 530 gap: 30px; 531 justify-content: center; 532} 533 534/* ååå¡çæ¬é« */ 535.ipork-product-card { 536 background: #ffffff; 537 border: 1px solid #eeeeee; 538 border-radius: 12px; 539 overflow: hidden; 540 position: relative; 541 transition: all 0.3s ease; 542 display: flex; 543 flex-direction: column; 544 width: calc((100% - 60px) / 3); 545 box-sizing: border-box; 546} 547.ipork-product-card:hover { 548 transform: translateY(-8px); 549 box-shadow: 0 10px 25px rgba(0,0,0,0.08); 550 border-color: #e0b0c5; 551} 552 553/* å°æ¨ç±¤æ¨£å¼ */ 554.product-badge { 555 position: absolute; 556 top: 12px; 557 left: 12px; 558 color: white; 559 padding: 4px 12px; 560 font-size: 12px; 561 font-weight: bold; 562 border-radius: 20px; 563 z-index: 2; 564 background-color: #b51a63; 565} 566.ipork-product-grid-four .ipork-product-card:nth-child(3) .product-badge { 567 background-color: #d49e35; 568} 569 570/* åçæ¡å¤æ¡æ¯ä¾åºå® (1:1æ£æ¹å½¢) */ 571.product-img-box { 572 width: 100%; 573 padding-top: 100%; 574 position: relative; 575 background: #f9f9f9; 576 overflow: hidden; 577} 578.product-img-box img { 579 position: absolute; 580 top: 0; 581 left: 0; 582 width: 100%; 583 height: 100%; 584 object-fit: cover; 585 transition: transform 0.5s ease; 586} 587.ipork-product-card:hover .product-img-box img { 588 transform: scale(1.06); 589} 590 591/* ååè³è¨å - éé flex-grow éæçé«å°é½ */ 592.product-info { 593 padding: 20px; 594 display: flex; 595 flex-direction: column; 596 flex-grow: 1; 597} 598.product-info h3 { 599 font-size: 16px; 600 color: #333333; 601 margin: 0 0 8px 0; 602 font-weight: 600; 603 line-height: 1.4; 604 height: 44px; 605 overflow: hidden; 606} 607.product-desc { 608 font-size: 13px; 609 color: #777777; 610 margin: 0 0 15px 0; 611 line-height: 1.5; 612 flex-grow: 1; 613} 614.product-price-box { 615 margin-bottom: 15px; 616 display: flex; 617 align-items: baseline; 618 gap: 8px; 619} 620.sale-price { 621 color: #b51a63; 622 font-weight: bold; 623 font-size: 19px; /* å®ä¸å¹æ ¼ç¨å¾®æ¾å¤§ï¼è¦è¦ºæ´èç¦ */ 624} 625 626/* ç«å³é¸è³¼æé */ 627.btn-buy { 628 display: block; 629 text-align: center; 630 background-color: #ffffff; 631 color: #b51a63; 632 border: 1px solid #b51a63; 633 padding: 10px; 634 border-radius: 6px; 635 text-decoration: none; 636 font-size: 14px; 637 font-weight: 600; 638 transition: all 0.3s ease; 639}
640.btn-buy:hover { 641 background-color: #b51a63; 642 color: #ffffff; 643} 644 645/* RWD å¹³æ¿ç */ 646@media (max-width: 1024px) { 647 .ipork-product-card { 648 width: calc((100% - 30px) / 2); 649 } 650} 651/* RWD ææ©ç */ 652@media (max-width: 768px) { 653 .ipork-product-grid-four { 654 gap: 15px; 655 } 656 .ipork-product-card { 657 width: calc((100% - 15px) / 2); 658 border-radius: 8px; 659 } 660 .product-info { padding: 12px; } 661 .product-info h3 { font-size: 14px; height: 40px; } 662 .product-desc { display: none; } 663 .sale-price { font-size: 16px; } 664} 665</style></div> <center> <div id="banner1" class="banner" > </div> </center> <div class="flipper_wrap clearfix"> <!-- ========================================================================== 666 ãæä¸æ¯æãé¦é åè³¼æ¿æ¨æ¨é¡ ï¼ å®æ´ååè³æç¶²æ ¼ (å®ç¾å¾©å» image_4e5bfe.jpg 帶åè广 ¼) 667 ========================================================================== --> <div class="ipork-homepage-section"><!-- ä¸åé¨ï¼è³ªæç½®ä¸æ¨é¡çµ --> <div class="ipork-section-header"> <h2>åè³¼æ¿æ¨ã»ç±é·å®æ»¿</h2> <p>è¾¦å ¬å°æ©ãåäºåäº«ï¼æä¸æ¯æçºæ¨æé æçççåè¶é£å </p> </div> <!-- ä¸åé¨ï¼ç²¾ç¾ååè³è¨ç¶²æ ¼ (åçãå稱ã广 ¼å®ç¾ä¸¦æç½®ä¸) --> <div class="ipork-products-grid"><!--ç ç»é·éçµ² --> <div class="ipork-product-item"> <div class="ipork-img-wrapper"><a href="https://www.iporkcut.com.tw/product/product&product_id=62"><img alt="ç ç»é·éçµ²" onerror="imgError(this);" src="https://image-cdn-flare.qdm.cloud/q6a5dd2e0d87d6/image/data/2023/07/31/f19c25380bc96dc522b00f446189982a.jpg" /></a></div> <div class="ipork-product-info"><a class="ipork-title" href="https://www.iporkcut.com.tw/product/product&product_id=5">ç ç»é·éçµ²</a> <div class="ipork-price">$260</div> </div> </div> <!-- èæ±èä¹¾ --> <div class="ipork-product-item"> <div class="ipork-img-wrapper"><a href="https://www.iporkcut.com.tw/product/product&product_id=11"><img alt="èæ±èä¹¾" onerror="imgError(this);" src="https://image-cdn-flare.qdm.cloud/q6a5dd2e0d87d6/image/data/2018/09/25/d88df60dccb9b0f5c5f613cdcfc48366.jpg" /></a></div> <div class="ipork-product-info"><a class="ipork-title" href="https://www.iporkcut.com.tw/product/product&product_id=1">èæ±èä¹¾</a> <div class="ipork-price">$230</div> </div> </div> <!-- å峿¾æ¿åå --> <div class="ipork-product-item"> <div class="ipork-img-wrapper"><a href="https://www.iporkcut.com.tw/product/product&product_id=30"><img alt="å峿¾æ¿åå" onerror="imgError(this);" src="https://image-cdn-flare.qdm.cloud/q6a5dd2e0d87d6/image/data/2021/12/07/570907ff8c2b952728d2d9738f1ca321.jpg" /></a></div> <div class="ipork-product-info"><a class="ipork-title" href="https://www.iporkcut.com.tw/product/product&product_id=11">å峿¾æ¿åå</a> <div class="ipork-price">$230</div> </div> </div> <!-- åå 4ï¼åå³èç´ --> <div class="ipork-product-item"> <div class="ipork-img-wrapper"><a href="https://www.iporkcut.com.tw/product/product&product_id=13"><img alt="åå³èç´" onerror="imgError(this);" src="https://image-cdn-flare.qdm.cloud/q6a5dd2e0d87d6/image/data/2023/07/31/640d8440357133684ed2b744377aa72d.jpg" /></a></div> <div class="ipork-product-info"><a class="ipork-title" href="https://www.iporkcut.com.tw/product/product&product_id=8">åå³èç´</a> <div class="ipork-price">$230</div> </div> </div> </div> </div> <!-- å°å±¬é«è³ªæçµæ§æ¨£å¼è¡¨ (CSS) --> <style type="text/css">.ipork-homepage-section { 668 background-color: #ffffff !important; 669 padding: 40px 20px !important; 670 width: 100% !important; 671 box-sizing: border-box !important; 672 font-family: "PingFang TC", "Heiti TC", "Microsoft JhengHei", sans-serif !important; 673} 674 675/* ä¸åé¨ï¼æ¨é¡çµ CSS */ 676.ipork-section-header { 677 text-align: center !important; 678 margin-bottom: 50px !important; 679} 680 681.ipork-section-header h2 { 682 color: #333333 !important; 683 font-size: 28px !important; 684 font-weight: bold !important; 685 letter-spacing: 2px !important; 686 margin: 0 auto 15px auto !important; 687 display: table !important; 688 position: relative !important; 689} 690 691.ipork-section-header h2::after { 692 content: '' !important; 693 display: block !important; 694 width: 45px !important; 695 height: 3px !important; 696 background-color: #b51a63 !important; 697 margin: 12px auto 0 auto !important; 698 border-radius: 2px !important; 699} 700 701.ipork-section-header p { 702 color: #777777 !important; 703 font-size: 15px !important; 704 font-weight: normal !important; 705 letter-spacing: 1px !important; 706 margin: 15px 0 0 0 !important; 707 line-height: 1.6 !important; 708} 709 710/* ä¸åé¨ï¼ååç¶²æ ¼æç */ 711.ipork-products-grid { 712 max-width: 1200px !important; 713 margin: 0 auto !important; 714 display: flex !important; 715 flex-direction: row !important; 716 flex-wrap: nowrap !important; 717 justify-content: space-between !important; 718} 719 720.ipork-product-item { 721 width: calc((100% - 45px) / 4) !important; 722 box-sizing: border-box !important; 723 display: flex !important; 724 flex-direction: column !important; 725} 726 727/* åçå è£èé²è®å½¢ */ 728.ipork-img-wrapper { 729 width: 100% !important; 730 aspect-ratio: 1 / 1 !important; 731 overflow: hidden !important; 732 border-radius: 4px !important; 733 background-color: #fcfcfc !important;
734 border: 1px solid #f0f0f0 !important; 735} 736 737.ipork-img-wrapper img { 738 width: 100% !important; 739 height: 100% !important; 740 object-fit: cover !important; 741 transition: transform 0.5s ease !important; 742} 743 744.ipork-img-wrapper:hover img { 745 transform: scale(1.05) !important; 746} 747 748/* ========================================================================== 749 å ¨æ°ä¿®å¾©ï¼å®ç¾å¾©å» image_4e5bfe.jpgååå稱è广 ¼çæå樣å¼èç½®ä¸éè· 750 ========================================================================== */ 751.ipork-product-info { 752 text-align: center !important; /* ç¢ºä¿æææåçµå°ç½®ä¸ */ 753 padding-top: 15px !important; /* è䏿¹åçæ¨éé©ç¶ç精緻è·é¢ */ 754} 755 756/* åå主å稱é£çµ */ 757.ipork-title { 758 color: #333333 !important; 759 font-size: 15px !important; 760 font-weight: 500 !important; 761 text-decoration: none !important; 762 display: inline-block !important; 763 margin-bottom: 6px !important; 764 transition: color 0.3s ease !important; 765} 766 767.ipork-title:hover { 768 color: #b51a63 !important; /* æ¸åæè®çºæä¸æ¯æåçè² */ 769} 770 771/* åå广 ¼éé¡ */ 772.ipork-price { 773 color: #555555 !important; 774 font-size: 14px !important; 775 font-weight: bold !important; 776} 777 778/* ========================================================================== 779 RWD é¿æå¼ææ©/å¹³æ¿é²çæ§å¶ 780 ========================================================================== */ 781@media (max-width: 992px) { 782 .ipork-products-grid { 783 flex-wrap: wrap !important; 784 } 785 .ipork-product-item { 786 width: calc((100% - 15px) / 2) !important; 787 margin-bottom: 25px !important; 788 } 789} 790 791@media (max-width: 768px) { 792 .ipork-section-header h2 { 793 font-size: 22px !important; 794 } 795 .ipork-section-header p { 796 font-size: 13px !important; 797 padding: 0 10px !important; 798 } 799} 800</style></div> <div class="flipper_wrap clearfix"> <!-- ========================================================================== 801 ãæä¸æ¯æãé¦é è§£é¥å¤è²¨åå¡ - æ¨é¡ ï¼ å®æ´ååè³æç¶²æ ¼ (ç¨ç«æ°åå¡å°ç¨) 802 ========================================================================== --> <div class="ipork-snack-section"><!-- ä¸åé¨ï¼è³ªæç½®ä¸æ¨é¡çµ (è§£é¥é¦é¸ä¸»é¡) --> <div class="ipork-snack-header"> <h2>è§£é¥é¦é¸ã»ç¾å³ç¸ä¼´</h2> <p>追åå¿ åãæ¡èæå»ï¼æä¸æ¯æè®æ¨çæ¯åæ¥å¸¸é½å 滿é¦Qæ»å³</p> </div> <!-- ä¸åé¨ï¼ç²¾ç¾ååè³è¨ç¶²æ ¼ (å°é½ç實ç¢åæºãå稱è广 ¼) --> <div class="ipork-snack-grid"><!-- 豬èçµ² --> <div class="ipork-snack-item"> <div class="ipork-snack-img"><a href="https://www.iporkcut.com.tw/product/product&product_id=12"><img alt="豬èçµ²" onerror="imgError(this);" src="https://image-cdn-flare.qdm.cloud/q6a5dd2e0d87d6/image/data/2018/09/25/53ed983176ea7953b361e62eb9d3cc6b.jpg" /></a></div> <div class="ipork-snack-info"><a class="snack-title" href="https://www.iporkcut.com.tw/product/product&product_id=13">豬èçµ²</a> <div class="snack-price">$230</div> </div> </div> <!-- é»è¡æ¤æ¾ååå --> <div class="ipork-snack-item"> <div class="ipork-snack-img"><a href="https://www.iporkcut.com.tw/product/product&product_id=29"><img alt="é»è¡æ¤æ¾ååå" onerror="imgError(this);" src="https://image-cdn-flare.qdm.cloud/q6a5dd2e0d87d6/image/data/2021/12/07/436eda4ad245a1fadbc5c8f1076d4da4.jpg" /></a></div> <div class="ipork-snack-info"><a class="snack-title" href="https://www.iporkcut.com.tw/product/product&product_id=3">é»è¡æ¤æ¾ååå</a> <div class="snack-price">$230</div> </div> </div> <!-- æä»è麻èç) --> <div class="ipork-snack-item"> <div class="ipork-snack-img"><a href="https://www.iporkcut.com.tw/product/product&product_id=6"><img alt="æä»è麻èç" onerror="imgError(this);" src="https://image-cdn-flare.qdm.cloud/q6a5dd2e0d87d6/image/data/2018/09/25/539f27a43f1902a4a729a6da55fea413.jpg" /></a></div> <div class="ipork-snack-info"><a class="snack-title" href="https://www.iporkcut.com.tw/product/product&product_id=9">æä»è麻èç</a> <div class="snack-price">$230</div> </div> </div> <!-- ç« éè± --> <div class="ipork-snack-item"> <div class="ipork-snack-img"><a href="https://www.iporkcut.com.tw/product/product&product_id=61"><img alt="ç« éè±" onerror="imgError(this);" src="https://image-cdn-flare.qdm.cloud/q6a5dd2e0d87d6/image/data/2018/09/25/e036039bb2b8a89911da289ba960e16e.jpg" /></a></div> <div class="ipork-snack-info"><a class="snack-title" href="https://www.iporkcut.com.tw/product/product&product_id=4">ç« éè±</a> <div class="snack-price">$260</div> </div> </div> </div> </div> <!-- ç¨ç«æ°åå¡å°ç¨æ¨£å¼è¡¨ (CSS) --> <style type="text/css">/* ç¨ç«åå¡å¤å±¤ï¼èä¸ä¸åå塿¨é 50px çèé©å¾®è· */ 803.ipork-snack-section { 804 background-color: #ffffff !important; 805 padding: 50px 20px 40px 20px !important; 806 width: 100% !important; 807 box-sizing: border-box !important;
808 font-family: "PingFang TC", "Heiti TC", "Microsoft JhengHei", sans-serif !important; 809} 810 811/* ä¸åé¨ï¼è§£é¥ä¸»é¡æ¨é¡çµ CSS */ 812.ipork-snack-header { 813 text-align: center !important; 814 margin-bottom: 50px !important; 815} 816 817.ipork-snack-header h2 { 818 color: #333333 !important; 819 font-size: 28px !important; 820 font-weight: bold !important; 821 letter-spacing: 2px !important; 822 margin: 0 auto 15px auto !important; 823 display: table !important; 824 position: relative !important; 825} 826 827/* å®ç¾å¾©å»ï¼ç¬¬äºåå¡å°å±¬åçæ¡ç´ ç²¾ç·»ä¸è¥¯ç· */ 828.ipork-snack-header h2::after { 829 content: '' !important; 830 display: block !important; 831 width: 45px !important; 832 height: 3px !important; 833 background-color: #b51a63 !important; 834 margin: 12px auto 0 auto !important; 835 border-radius: 2px !important; 836} 837 838.ipork-snack-header p { 839 color: #777777 !important; 840 font-size: 15px !important; 841 font-weight: normal !important; 842 letter-spacing: 1px !important; 843 margin: 15px 0 0 0 !important; 844 line-height: 1.6 !important; 845} 846 847/* ä¸åé¨ï¼è§£é¥åååæ¬ç¶²æ ¼æç */ 848.ipork-snack-grid { 849 max-width: 1200px !important; 850 margin: 0 auto !important; 851 display: flex !important; 852 flex-direction: row !important; 853 flex-wrap: nowrap !important; 854 justify-content: space-between !important; 855} 856 857.ipork-snack-item { 858 width: calc((100% - 45px) / 4) !important; 859 box-sizing: border-box !important; 860 display: flex !important; 861 flex-direction: column !important; 862} 863 864/* åååçæ£æ¹å½¢å°è£ */ 865.ipork-snack-img { 866 width: 100% !important; 867 aspect-ratio: 1 / 1 !important; 868 overflow: hidden !important; 869 border-radius: 4px !important; 870 background-color: #fcfcfc !important; 871 border: 1px solid #f0f0f0 !important; 872} 873 874.ipork-snack-img img { 875 width: 100% !important; 876 height: 100% !important; 877 object-fit: cover !important; 878 transition: transform 0.5s ease !important; 879} 880 881/* æ¸åæ¾å¤§ææ */ 882.ipork-snack-img:hover img { 883 transform: scale(1.05) !important; 884} 885 886/* ååå稱è广 ¼æç */ 887.ipork-snack-info { 888 text-align: center !important; 889 padding-top: 15px !important; 890} 891 892.snack-title { 893 color: #333333 !important; 894 font-size: 15px !important; 895 font-weight: 500 !important; 896 text-decoration: none !important; 897 display: inline-block !important; 898 margin-bottom: 6px !important; 899 transition: color 0.3s ease !important; 900} 901 902.snack-title:hover { 903 color: #b51a63 !important; 904} 905 906.snack-price { 907 color: #555555 !important; 908 font-size: 14px !important; 909 font-weight: bold !important; 910} 911 912/* ========================================================================== 913 RWD ææ©/å¹³æ¿èªé©æé²ç 914 ========================================================================== */ 915@media (max-width: 992px) { 916 .ipork-snack-grid { 917 flex-wrap: wrap !important; 918 } 919 .ipork-snack-item { 920 width: calc((100% - 15px) / 2) !important; 921 margin-bottom: 25px !important; 922 } 923} 924 925@media (max-width: 768px) { 926 .ipork-snack-header h2 { 927 font-size: 22px !important; 928 } 929 .ipork-snack-header p { 930 font-size: 13px !important; 931 padding: 0 10px !important; 932 } 933} 934</style></div> <center> <div id="banner2" class="banner" > </div> </center> <div class="flipper_wrap clearfix"> <!-- ========================================================================== 935 ãæä¸æ¯æãé¦é å°ç¨ - åçæ äºç²¾ç°¡å°è®åå¡ (é¦é å ¨åç½®ä¸å°é½åªåç) 936 ========================================================================== --> <div class="index-brand-story-teaser"> <div class="teaser-container-luxury"><!-- å·¦å´ï¼ç²¾é¸å½¢è±¡ååå¡ --> <div class="teaser-image-block"><img alt="æä¸æ¯æ åµè¾¦äººçéå§å¸å ´æ¤ä½" class="lazy-loading-img" onerror="imgError(this);" src="https://image-cdn-flare.qdm.cloud/q6a5dd2e0d87d6/image/data/2026/06/04/592ef719288d095a9e0d6405d7da2221.jpg" /></div> <!-- å³å´ï¼å人å°è®èçæ´å¤æé --> <div class="teaser-text-block"><span class="teaser-top-tag">
936BRAND STORY</span> <h2 class="teaser-main-title">æä¸æ¯æ ï½ åçæ äº</h2> <div class="teaser-title-line"> </div> <p class="teaser-lead-text">æ¯åå°ç£äººçè¨æ¶è£¡ï¼é½æä¸ç¨®è®äººæä¸æçå³éã</p> <p class="teaser-body-text">ãæä¸æ¯æãçèéçéå§ï¼å¨ç¶è¦ªå å·é¢è¨éä¼ä¹éï¼å çºæ¨ä¸å¾ç¸ç¸å¤§å輩åå¼ä»¥çºå²çè乾好æèå°±æ¤å¤±å³ï¼æ¯ ç¶æ±ºç¶æ¥ä¸å®¶æ¥ã</p> <p class="teaser-body-text">é¢å°ç¶è¦ªæåçææè質çï¼å¥¹ç¨å¥³æ§ç¹æçç´°è©èä¸æè¼¸çå æ¯ éæ§ï¼æå帶é å³çµ±èåèèµ°å ¥ç²¾åç¾è²¨èç¾ä»£ç¶²è·¯é»åãéä¸å æ¯ä¸ä»½è®äººåéå°±æä¸éæçç¾å³ï¼æ´æ¯ä¸æ®µéæ¼å¥³å 峿¿ã嵿°èæçæ 亅…</p> <!-- é£çµå·²é ç½®åªå --> <div class="teaser-btn-wrapper"><a class="teaser-more-btn" href="https://www.iporkcut.com.tw/pages/4">é±è®å®æ´æ äº <i class="btn-arrow">→</i> </a></div> </div> </div> </div> <!-- å°çºé¦é åçæ äºå°é½å忬ä½è¨è¨ç CSS 樣å¼è¡¨ --> <style type="text/css">/* é¦é teaser å ¨å容å¨ï¼å°é½æ ¸å¿ï¼æ´å¤§å¯¬åº¦ä¸¦å¼·å¶å·¦å³èªé©æå± ä¸ï¼ */ 937.index-brand-story-teaser { 938 width: 100% !important; 939 max-width: 1200px !important; /* æå¤§æå¤§å¯¬åº¦ï¼å®ç¾å°é½ä¸æ¹ååç¶²æ ¼ç· */ 940 margin: 60px auto !important; /* 確ä¿ä¸ä¸æå®ç¾çç²¾åå¼å¸éè·ï¼ä¸¦ä¸å·¦å³çµå°å± ä¸ */ 941 padding: 20px 15px !important; 942 background-color: #ffffff !important; 943 font-family: "PingFang TC", "Heiti TC", "Microsoft JhengHei", sans-serif !important; 944 box-sizing: border-box !important; 945} 946 947/* éæ¬ä¸¦ææ¡æ¶ */ 948.teaser-container-luxury { 949 display: flex !important; 950 flex-direction: row !important; 951 align-items: center !important; /* åç´å®ç¾ç½®ä¸ */ 952 gap: 55px !important; /* æ´å¤§åæéè·ï¼è®æçæ´å¤§æ°£ */ 953 background: #ffffff !important; 954 width: 100% !important; 955} 956 957/* å·¦æ¬ï¼å½±å精緻å */ 958.teaser-image-block { 959 flex: 1 !important; 960 text-align: center !important; 961} 962.teaser-image-block img { 963 width: 100% !important; 964 max-width: 440px !important; /* é å寬çå微調åçæå¤§å°ºå¯¸ */ 965 height: auto !important; 966 display: block !important; 967 margin: 0 auto !important; 968 border-radius: 8px !important; 969 box-shadow: 0 4px 25px rgba(0, 0, 0, 0.05) !important; 970} 971 972/* 峿¬ï¼æåèå §å®¹ç·¨æ */ 973.teaser-text-block { 974 flex: 1.1 !important; 975 text-align: left !important; /* å §æç²¾æºé å·¦é½é */ 976 display: flex !important; 977 flex-direction: column !important; 978} 979 980/* å°æ¨ç±¤ */ 981.teaser-top-tag { 982 font-size: 12px !important; 983 color: #b51a63 !important; 984 font-weight: bold !important; 985 letter-spacing: 2px !important; 986 margin-bottom: 8px !important; 987} 988 989/* 主æ¨é¡ */ 990.teaser-main-title { 991 font-size: 26px !important; /* 微調æ¾å¤§ï¼å¨å¤§çå䏿´éç® */ 992 color: #222222 !important; 993 font-weight: bold !important; 994 margin: 0 0 14px 0 !important; 995 letter-spacing: 1px !important; 996} 997 998/* æ¨é¡ä¸è¥¯ç· */ 999.teaser-title-line { 1000 width: 45px !important; 1001 height: 3px !important; 1002 background-color: #b51a63 !important; 1003 border-radius: 2px !important; 1004 margin-bottom: 24px !important; 1005} 1006 1007/* æ¸å¿µå¼å°å¥ */ 1008.teaser-lead-text { 1009 font-size: 16.5px !important; 1010 color: #b51a63 !important; 1011 font-weight: bold !important; 1012 margin: 0 0 14px 0 !important; 1013 line-height: 1.6 !important; 1014} 1015 1016/* å°è®å §ææ£æ */ 1017.teaser-body-text { 1018 font-size: 15px !important; 1019 color: #444444 !important; 1020 line-height: 1.75 !important; 1021 margin: 0 0 14px 0 !important; 1022 text-align: justify !important; 1023} 1024.teaser-body-text:last-of-type { 1025 margin-bottom: 30px !important; 1026} 1027 1028/* æéå®ä½æ§å¶ */ 1029.teaser-btn-wrapper { 1030 text-align: left !important; 1031} 1032 1033/* 奢è¯å°æ«è³ªæãçæ´å¤ãæé */ 1034.teaser-more-btn { 1035 display: inline-block !important; 1036 background-color: #b51a63 !important; 1037 color: #ffffff !important; 1038 font-size: 14.5px !important; 1039 font-weight: bold !important; 1040 padding: 11px 32px !important; 1041 border-radius: 4px !important; 1042 text-decoration: none !important; 1043 letter-spacing: 1px !important; 1044 box-shadow: 0 3px 12px rgba(181, 26, 99, 0.2) !important; 1045 transition: all 0.3s ease !important; 1046} 1047.teaser-more-btn:hover { 1048 background-color: #93124e !important; 1049 box-shadow: 0 5px 18px rgba(181, 26, 99, 0.3) !important; 1050 transform: translateY(-1px) !important; 1051}
1052.btn-arrow { 1053 display: inline-block !important; 1054 transition: transform 0.3s ease !important; 1055 margin-left: 5px !important; 1056} 1057.teaser-more-btn:hover .btn-arrow { 1058 transform: translateX(4px) !important; 1059} 1060 1061/* ========================================================================== 1062 RWD ææ©ç«¯é¦é èªåæä½³åæç 1063 ========================================================================== */ 1064@media (max-width: 768px) { 1065 .index-brand-story-teaser { 1066 padding: 15px 10px !important; 1067 margin: 30px auto !important; 1068 } 1069 .teaser-container-luxury { 1070 flex-direction: column !important; /* ææ©ç«¯èªåè½çºä¸ä¸åç´æç */ 1071 gap: 25px !important; 1072 } 1073 .teaser-image-block, 1074 .teaser-text-block { 1075 width: 100% !important; 1076 flex: none !important; 1077 } 1078 .teaser-main-title { 1079 font-size: 21px !important; 1080 } 1081 .teaser-lead-text { 1082 font-size: 15px !important; 1083 } 1084 .teaser-body-text { 1085 font-size: 14px !important; 1086 } 1087 .teaser-btn-wrapper { 1088 text-align: center !important; 1089 } 1090 .teaser-more-btn { 1091 width: 85% !important; 1092 padding: 12px 0 !important; 1093 text-align: center !important; 1094 } 1095} 1096</style></div> </section> </div> </section> </div> </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"> <!-- ========================================================================== 1097 ãæä¸æ¯æãå ¨èªè¨å°æ¥é å°¾åå¡ (第ä¸çæ¡æ©éåã»ææ©ç FB é±èæ¸ ç½ 3 æ¬ç) 1098 ========================================================================== --> <div class="custom-site-footer"> <div class="footer-main-container"><!-- æ¬ä½ 1ï¼ååºè¨æ¯ --> <div class="footer-links-column"> <h4>ååºè¨æ¯</h4> <ul> <li><a href="https://www.iporkcut.com.tw/pages/4">éæ¼æå</a></li> <li><a href="/categories/æ¢é·åå">æ¢é·åå</a></li> <li><a href="/categories/ç¹è³£åå">ç¹è³£åå</a></li> </ul> </div> <!-- æ¬ä½ 2ï¼å®¢æ¶æå --> <div class="footer-links-column"> <h4>å®¢æ¶æå</h4> <ul> <li><a href="https://www.iporkcut.com.tw/shop/contact">ååºçè¨æ¿</a></li> <li><a href="https://www.iporkcut.com.tw/about/policy">ååé/æè²¨</a></li> <li><a href="/pages/remittance-form">填坫坿¬¾å®</a></li> <li><a href="https://www.iporkcut.com.tw/member/order">å¿«éæ¥è¨å®</a></li> </ul> </div> <!-- æ¬ä½ 3ï¼æå¡ä¸å¿ --> <div class="footer-links-column"> <h4>æå¡ä¸å¿</h4> <ul> <li><a href="https://www.iporkcut.com.tw/member/member">æå¡ä¸å¿</a></li> <li><a href="https://www.iporkcut.com.tw/member/order">è¨è³¼ç´é</a></li> </ul> </div> <!-- æ¬ä½ 4ï¼å³å´ æè£½é«è³ªæèæ¸æ¥µç°¡å°å¾½ç« (é»è ¦çå®ç¾é¡¯ç¾ï¼ææ©çå°å±¬é±è) --> <div class="footer-fb-column"> <div class="fb-badge-wrapper"> <div class="fb-badge-top"> <div class="fb-badge-logo"><img alt="æä¸æ¯æèä¹¾" onerror="imgError(this);" src="https://graph.facebook.com/iporkcut/picture?type=large" /></div> <div class="fb-badge-text"><a class="fb-badge-title" href="https://www.facebook.com/iporkcut" target="_blank" rel="noopener noreferrer nofollow">æä¸æ¯æèä¹¾</a> <div class="fb-badge-fans">1.1 è¬ ä½è¿½è¹¤è </div> </div> </div> <div class="fb-badge-bottom"><a class="fb-btn-follow" href="https://www.facebook.com/iporkcut" target="_blank" rel="noopener noreferrer nofollow"><svg viewbox="0 0 24 24"><path d="M12 2.04c-5.5 0-10 4.49-10 10.02c0 5 3.66 9.15 8.44 9.9v-7H7.9v-2.9h2.54V9.85c0-2.51 1.49-3.89 3.78-3.89c1.09 0 2.23.19 2.23.19v2.46h-1.26c-1.24 0-1.63.77-1.63 1.56v1.88h2.78l-.45 2.9h-2.33v7a10 10 0 0 0 8.44-9.9c0-5.53-4.5-10.02-10-10.02Z" fill="currentColor"></path></svg> 追蹤ç²çµ²å°é </a> <a class="fb-btn-share" href="https://www.facebook.com/sharer/sharer.php?u=https://www.iporkcut.com.tw/" target="_blank"> <svg viewbox="0 0 24 24">
1098<path d="M18.08 12.74c-.72 0-1.37.32-1.83.83l-5.34-2.83a2.44 2.44 0 0 0 0-1.48l5.27-2.79c.46.52 1.13.85 1.89.85c1.41 0 2.55-1.14 2.55-2.55c0-1.42-1.14-2.56-2.55-2.56c-1.42 0-2.56 1.14-2.56 2.56c0 .25.04.49.1.71L10.29 8.27c-.46-.51-1.12-.83-1.87-.83c-1.41 0-2.55 1.14-2.55 2.56c0 1.41 1.14 2.55 2.55 2.55c.76 0 1.42-.32 1.88-.84l5.34 2.83c-.06.21-.09.44-.09.68c0 1.41 1.14 2.55 2.55 2.55c1.41 0 2.56-1.14 2.56-2.55c0-1.42-1.15-2.56-2.56-2.56Z" fill="currentColor"></path></svg> å享 </a></div> </div> </div> </div> </div> <!-- å°å±¬ç²¾å¯åªå樣å¼è¡¨ --> <style type="text/css">/* ========================================================================== 1099 第ä¸çæ¡æ©æ¨£å¼ï¼éå大氣æç 1100 ========================================================================== */ 1101.custom-site-footer { 1102 background-color: #ffffff !important; 1103 padding: 60px 20px 50px 20px !important; 1104 border-top: 1px solid #f0f0f0 !important; 1105 width: 100% !important; 1106 box-sizing: border-box !important; 1107 font-family: "PingFang TC", "Heiti TC", "Microsoft JhengHei", sans-serif !important; 1108 display: block !important; 1109 margin-bottom: 0 !important; 1110} 1111 1112.footer-main-container { 1113 max-width: 1200px !important; 1114 margin: 0 auto !important; 1115 display: flex !important; 1116 flex-direction: row !important; 1117 flex-wrap: nowrap !important; 1118 justify-content: space-between !important; 1119 align-items: flex-start !important; 1120} 1121 1122.footer-links-column { 1123 width: calc((100% - 390px - 60px) / 3) !important; 1124 min-width: 140px !important; 1125 box-sizing: border-box !important; 1126} 1127 1128.footer-fb-column { 1129 width: 360px !important; 1130 flex-shrink: 0 !important; 1131} 1132 1133.footer-links-column h4 { 1134 color: #333333 !important; 1135 font-size: 16px !important; 1136 font-weight: bold !important; 1137 margin: 0 0 20px 0 !important; 1138 letter-spacing: 1px !important; 1139} 1140 1141.footer-links-column ul { 1142 list-style: none !important; 1143 padding: 0 !important; 1144 margin: 0 !important; 1145} 1146 1147.footer-links-column li { 1148 margin-bottom: 12px !important; 1149} 1150 1151.footer-links-column a { 1152 color: #666666 !important; 1153 font-size: 14px !important; 1154 text-decoration: none !important; 1155 transition: color 0.3s ease !important; 1156 display: inline-block !important; 1157} 1158 1159.footer-links-column a:hover { 1160 color: #b51a63 !important; 1161} 1162 1163.fb-badge-wrapper { 1164 background: #ffffff !important; 1165 border: 1px solid #e9ebee !important; 1166 box-sizing: border-box !important; 1167 width: 100% !important; 1168 padding: 0 !important; 1169} 1170 1171.fb-badge-top { 1172 display: flex !important; 1173 padding: 12px !important; 1174 background: #ffffff !important; 1175 align-items: center !important; 1176} 1177 1178.fb-badge-logo { 1179 width: 50px !important; 1180 height: 50px !important; 1181 border: 1px solid #d3d3d3 !important; 1182 padding: 0 !important; 1183 background: #ffffff !important; 1184 flex-shrink: 0 !important; 1185 overflow: hidden !important; 1186} 1187 1188.fb-badge-logo img { 1189 width: 100% !important; 1190 height: 100% !important; 1191 object-fit: cover !important; 1192} 1193 1194.fb-badge-text { 1195 margin-left: 12px !important; 1196} 1197 1198.fb-badge-title { 1199 color: #365899 !important; 1200 font-size: 18px !important; 1201 font-weight: bold !important; 1202 text-decoration: none !important; 1203 display: block !important; 1204 margin-bottom: 2px !important; 1205} 1206 1207.fb-badge-fans { 1208 color: #4b4f56 !important; 1209 font-size: 13px !important; 1210} 1211 1212.fb-badge-bottom { 1213 background: #f5f6f7 !important; 1214 border-top: 1px solid #e9ebee !important; 1215 padding: 8px 12px !important; 1216 display: flex !important; 1217 justify-content: space-between !important; 1218 align-items: center !important; 1219} 1220 1221.fb-badge-bottom a { 1222 background: #f5f6f7 !important; 1223 border: 1px solid #ccd0d5 !important; 1224 color: #4b4f56 !important; 1225 font-size: 12px !important; 1226 font-weight: bold !important; 1227 padding: 4px 10px !important; 1228 border-radius: 2px !important; 1229 text-decoration: none !important; 1230 display: inline-flex !important;
1231 align-items: center !important; 1232} 1233 1234.fb-badge-bottom svg { 1235 width: 14px !important; 1236 height: 14px !important; 1237 margin-right: 6px !important; 1238 color: #4267b2 !important; 1239} 1240 1241/* ========================================================================== 1242 ææ©ç§»å端å°ç¨ï¼3 æ¬ç·æ¹æçï¼ãFB åå¡ç©çè¸ç¼é±èã 1243 ========================================================================== */ 1244@media (max-width: 1100px) { 1245 .footer-main-container { flex-wrap: wrap !important; } 1246 .footer-links-column { width: calc((100% - 380px) / 2) !important; margin-bottom: 25px !important; } 1247} 1248 1249@media (max-width: 768px) { 1250 .custom-site-footer { 1251 padding: 20px 15px !important; 1252 } 1253 1254 .footer-main-container { 1255 display: flex !important; 1256 flex-direction: column !important; 1257 gap: 0 !important; 1258 } 1259 1260 /* ééµåï¼å¨ææ©çç´æ¥å°æ´å FB æ¬ä½å¾ç«é¢ä¸æ¹é¤ */ 1261 .footer-fb-column { 1262 display: none !important; 1263 } 1264 1265 .footer-links-column { 1266 width: 100% !important; 1267 display: block !important; 1268 margin-bottom: 0 !important; 1269 margin-top: 0 !important; 1270 padding-right: 0 !important; 1271 } 1272
1273 /* 3 åæåæ¨é¡é«åº¦æ¶ç· */ 1274 .footer-links-column h4 { 1275 position: relative !important; 1276 display: block !important; 1277 margin: 0 !important; 1278 padding-top: 7px !important; 1279 padding-bottom: 7px !important; 1280 padding-right: 40px !important; 1281 line-height: 1.2 !important; 1282 border-bottom: 1px solid #eaeaea !important; 1283 font-size: 15px !important; 1284 color: #222222 !important; 1285 font-weight: bold !important; 1286 cursor: pointer !important; 1287 -webkit-tap-highlight-color: transparent !important; 1288 } 1289 1290 /* 䏿æç¤ºå°ç®é â¼ */ 1291 .footer-links-column h4::after { 1292 content: 'â¼' !important; 1293 position: absolute !important; 1294 right: 10px !important; 1295 top: 50% !important; 1296 transform: translateY(-50%) scale(0.75) !important; 1297 font-size: 11px !important; 1298 color: #b51a63 !important; 1299 transition: transform 0.2s ease !important; 1300 } 1301 1302 /* å±éæçç®é â² */ 1303 .footer-links-column h4.is-expanded::after { 1304 transform: translateY(-50%) scale(0.75) rotate(180deg) !important; 1305 color: #333333 !important; 1306 } 1307 1308 /* æªéåæé±èé¸å®ï¼æ¶æ» ç©ºç½ */ 1309 .footer-links-column ul { 1310 display: none !important; 1311 max-height: 0px !important; 1312 overflow: hidden !important; 1313 opacity: 0 !important; 1314 margin: 0 !important; 1315 padding-left: 10px !important; 1316 } 1317 1318 .footer-links-column li { 1319 padding-top: 5px !important; 1320 padding-bottom: 5px !important; 1321 margin: 0 !important; 1322 } 1323} 1324</style> <!-- ========================================================================== 1325 ç´ç²¹ 3 æ¬å¼ç²¾æºéåæºæ §ç£è½è ³æ¬ 1326 ========================================================================== -->
1326<script type="text/javascript"> 1327document.addEventListener("DOMContentLoaded", function() { 1328 function initClean3ColumnAccordion() { 1329 if (window.innerWidth > 768) return; 1330 1331 // åªæå 3 åæåæ¸ å®æ¬ä½ 1332 var columns = document.querySelectorAll('.footer-links-column'); 1333 1334 columns.forEach(function(column) { 1335 var title = column.querySelector('h4'); 1336 var list = column.querySelector('ul'); 1337 1338 if (!title || !list) return; 1339 1340 title.removeEventListener('click', handleFooterToggle); 1341 title.addEventListener('click', handleFooterToggle); 1342 1343 function handleFooterToggle(e) { 1344 e.preventDefault(); 1345 e.stopPropagation(); 1346 1347 var isOpen = title.classList.contains('is-expanded'); 1348 1349 // 1. å ¨åéè¨ï¼å æ¶åææäººç空é 1350 columns.forEach(function(c) { 1351 var h = c.querySelector('h4'); 1352 var u = c.querySelector('ul'); 1353 if (h) h.classList.remove('is-expanded'); 1354 if (u) { 1355 u.style.maxHeight = "0px"; 1356 u.style.opacity = "0"; 1357 u.style.setProperty ? u.style.setProperty('display', 'none', 'important') : (u.style.display = 'none'); 1358 } 1359 }); 1360 1361 // 2. ç¨ç«éåé»é¸çéä¸çµ 1362 if (!isOpen) { 1363 title.classList.add('is-expanded'); 1364 list.style.setProperty ? list.style.setProperty('display', 'block', 'important') : (list.style.display = 'block'); 1365 list.style.maxHeight = "none"; 1366 list.style.opacity = "1"; 1367 list.style.paddingTop = "5px"; 1368 list.style.paddingBottom = "10px"; 1369 } 1370 } 1371 }); 1372 } 1373 1374 initClean3ColumnAccordion(); 1375 setTimeout(initClean3ColumnAccordion, 400); 1376}); 1377</script>
1377 </div> <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> <!--googleoff: index--><span style="display:none;">q6a5dd2e0d87d6</span><!--googleon: index--> </div> <div id="qdm-copy"><a href='https://www.iporkcut.com.tw/googlebase.xml' title="RSS" target='blank'><i class="fa fa-rss"></i></a><a href='https://www.iporkcut.com.tw/sitemap'>ç¶²ç«å°å</a></div> </div> </div> </footer> <!-- #footer -->
1377<script src="https://cdn.qdm.cloud/assets/js/LAB.min.js"></script>
1377
1377<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
1377
1377<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-migrate/1.4.1/jquery-migrate.min.js"></script>
1377
1377<script type="text/javascript"> 1378 1379 $(document).ready(function() { 1380 var j = 0; 1381 var delay = 3000; 1382 function cycleStickyBarTop(){ 1383 var jmax = $(".sticky-bar-top .sticky-bar-content").length -1; 1384 if(jmax > 0){ 1385 $(".sticky-bar-top .sticky-bar-content:eq(" + j + ")") 1386 .animate({"opacity" : "1","z-index":"9998"} ,400) 1387 .animate({"opacity" : "1","z-index":"9998"}, delay) 1388 .animate({"opacity" : "0","z-index":"9"}, 400, function(){ 1389 (j == jmax) ? j=0 : j++; 1390 cycleStickyBarTop(); 1391 }); 1392 }else{ 1393 $(".sticky-bar-top .sticky-bar-content:eq(" + j + ")") 1394 .animate({"opacity" : "1","z-index":"9998"}, delay) 1395 } 1396 }; 1397 cycleStickyBarTop(); 1398 1399 var i = 0; 1400 function cycleStickyBarBottom(){ 1401 var imax = $(".sticky-bar-bottom .sticky-bar-content").length -1; 1402 if(imax > 0){ 1403 $(".sticky-bar-bottom .sticky-bar-content:eq(" + i + ")") 1404 .animate({"opacity" : "1","z-index":"9998"} ,400) 1405 .animate({"opacity" : "1","z-index":"9998"}, delay) 1406 .animate({"opacity" : "0","z-index":"9"}, 400, function(){ 1407 (i == imax) ? i=0 : i++; 1408 cycleStickyBarBottom(); 1409 }); 1410 }else{ 1411 $(".sticky-bar-bottom .sticky-bar-content:eq(" + i + ")") 1412 .animate({"opacity" : "1","z-index":"9998"}, delay) 1413 } 1414 1415 }; 1416 cycleStickyBarBottom(); 1417 1418 var k = 0; 1419 function cycleStickyBarTopMobile(){ 1420 var kmax = $(".mobile-sticky-bar-top .sticky-bar-content").length -1; 1421 if(kmax > 0){ 1422 $(".mobile-sticky-bar-top .sticky-bar-content:eq(" + k + ")") 1423 .animate({"opacity" : "1","z-index":"9998"} ,400) 1424 .animate({"opacity" : "1","z-index":"9998"}, delay) 1425 .animate({"opacity" : "0","z-index":"9"}, 400, function(){ 1426 (k == kmax) ? k=0 : k++; 1427 cycleStickyBarTopMobile(); 1428 }); 1429 }else{ 1430 $(".mobile-sticky-bar-top .sticky-bar-content:eq(" + k + ")") 1431 .animate({"opacity" : "1","z-index":"9998"}, delay) 1432 } 1433 }; 1434 cycleStickyBarTopMobile(); 1435 1436 //COUNTDOWN TIMER 1437 $(".sticky-bar-countdown").each(function(){ 1438 1439 var sticky_bar_date = $(this).attr("data-countdown-date").replace(/-/g,'/'); 1440 var sticky_bar_countdown_id = $(this).attr("id"); 1441 var countDownDate = new Date(sticky_bar_date).getTime(); 1442 1443 var x = setInterval(function() { 1444 1445 var now = new Date().getTime(); 1446 1447 var distance = countDownDate - now; 1448 1449 var days = Math.floor(distance / (1000 * 60 * 60 * 24)); 1450 var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); 1451 var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); 1452 var seconds = Math.floor((distance % (1000 * 60)) / 1000); 1453 1454 if(hours<10){ 1455 var hours1 = "0"+hours; 1456 }else{ 1457 var hours1 = hours; 1458 } 1459 if(minutes<10){ 1460 var minutes1 = "0"+minutes; 1461 }else{ 1462 var minutes1 = minutes; 1463 } 1464 if(seconds<10){ 1465 var seconds1 = "0"+seconds; 1466 }else{ 1467 var seconds1 = seconds; 1468 } 1469 1470 if( $("#" + sticky_bar_countdown_id).length ) { 1471 document.getElementById(sticky_bar_countdown_id).innerHTML = " "+days+ " DAY " + hours1 + ": " 1472 + minutes1 + ": " + seconds1 + " "; 1473 } 1474 1475 if (distance < 0) { 1476 clearInterval(x); 1477 //document.getElementById(sticky_bar_countdown_id).innerHTML = "-"; 1478 $("#"+sticky_bar_countdown_id).remove(); 1479 } 1480 }, 1000); 1481 1482 }); 1483 1484 }); 1485 1486 jQuery.ajaxPrefilter( function( s ) { 1487 if ( s.crossDomain ) { 1488 s.contents.script = false; 1489 } 1490 }); 1491 1492 var loc = window.location.href, index = loc.indexOf('#'); 1493 if (index > 0) { 1494 try { 1495 var urlHash = loc.split("#")[1]; 1496 if( urlHash ) { 1497 if( $('#' + urlHash).length ) { 1498 $('html,body').animate({ 1499 scrollTop: $('#' + urlHash).offset().top 1500 }, 1200); 1501 } else { 1502 window.location = loc.substring(0, index) + "&" + loc.substring(index+1); 1503 } 1504 } 1505 } catch(err) { } 1506 } 1507 1508 var readyInitPage = 1; 1509 var doAdjust = true; 1510 var doAdjustCounter = 0; 1511 var jsLoadTimeout = null; 1512 var previousWidth = 0; 1513 var maxHeight = 0; 1514 var flipper_random_status = 0; 1515 var float_banner_count = 0; 1516 var lazy = 1; 1517 var transInitial = -280; 1518 var mDistance = 0; 1519 1520 if (window!= top) top.location.href = location.href; 1521 1522 //20210713 add menu url target 1523 $(".pushy-submenu button span").click(function(){ 1524 if($(this).attr("target")){ 1525 $(this).removeClass("pushy-submenu-parent"); 1526 if($(this).parents("li").hasClass("pushy-submenu-open")){ 1527 window.open($(this).data("url"),"_blank"); 1528 } 1529 } 1530 }); 1531 1532 $(".pushy-menu-storename span").click(function(){ 1533 $("#myBody").removeClass("pushy-open-left"); 1534 }); 1535 1536 function getScript(url,success){ 1537 var script = document.createElement('script'); 1538 script.type = 'text/javascript'; 1539 script.src = url; 1540 var head=document.getElementsByTagName('head')[0], done=false; 1541 script.onload=script.onreadystatechange = function(){ 1542 if ( !done && (!this.readyState || this.readyState == 'loaded' || this.readyState == 'complete') ) { 1543 done=true; 1544 success(); 1545 script.onload = script.onreadystatechange = null; 1546 head.removeChild(script); 1547 } 1548 }; 1549 head.appendChild(script); 1550 } 1551 1552 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{}} 1553 1554 function adjustBoxHeights() { 1555 maxHeight1 = 270; 1556 maxHeight2 = 270; 1557 maxHeight3 = 270; 1558 maxHeight4 = 270; 1559 maxHeight5 = 270; 1560 1561 $('.content-top .product-box > div').each(function(){ 1562 $(this).height('auto'); 1563 if (maxHeight2 < $(this).height()) { maxHeight2 = $(this).height(); } 1564 }); 1565 $('.content-top .product-box > div').each(function(){ 1566 if( maxHeight2 ) { 1567 $(this).height(maxHeight2); 1568 } 1569 }); 1570 1571 $('.content-bottom .product-box > div').each(function(){ 1572 $(this).height('auto'); 1573 if (maxHeight3 < $(this).height()) { maxHeight3 = $(this).height(); } 1574 }); 1575 $('.content-bottom .product-box > div').each(function(){ 1576 if( maxHeight3 ) { 1577 $(this).height(maxHeight3); 1578 } 1579 }); 1580 1581 $('.product-grid > div').each(function(){ 1582 var img_src = $(this).find(".image img[src]").attr("src"); 1583 try { 1584 var img_src_ext = img_src.split('.').pop().toLowerCase(); 1585 } catch(err) { 1586 img_src_ext = ""; 1587 } 1588 $(this).height('auto'); 1589 if( $( "#myBody" ).hasClass("product-category") ){ 1590 img_src_ext = ""; 1591 } 1592 if( img_src_ext != "gif" ) { 1593 if (maxHeight1 < $(this).height()) { maxHeight1 = $(this).height(); } 1594 } else { 1595 $(this).addClass("gif-tag"); 1596 } 1597 }); 1598 var img_gif_height = 0; 1599 $('.product-grid > div').each(function(){ 1600 var img_src = $(this).find(".image img[src]").attr("src"); 1601 try { 1602 var img_src_ext = img_src.split('.').pop().toLowerCase(); 1603 } catch(err) { 1604 img_src_ext = ""; 1605 } 1606 if( maxHeight1 ){ 1607 $(this).height(maxHeight1); 1608 if( img_src_ext != "gif" ) { 1609 img_gif_height = $(this).find(".image img").height(); 1610 } 1611 } 1612 }); 1613 $('.product-grid > div.gif-tag').attr("style",""); 1614 if( img_gif_height ) { 1615 $('.product-grid > div.gif-tag').find(".image img").attr("style","height:" + img_gif_height + "px;width:auto;"); 1616 } 1617 1618 $('.box-content').each(function(index,elmain){ 1619 $(elmain).find('.product-box').each(function(index,el){ 1620 maxHeight1 = 0; 1621 $(el).find('.grid-box').each(function(index,el2){ 1622 $(el2).height('auto'); 1623 }); 1624 $(el).find('.grid-box .inner').each(function(index,el2){ 1625 if (maxHeight1 < $(el2).height()) { maxHeight1 = $(el2).height(); } 1626 }); 1627 maxHeight1 = maxHeight1 + 18; 1628 $(el).find('.grid-box').each(function(index,el2){ 1629 if( maxHeight1 ) { 1630 $(el2).height(maxHeight1); 1631 } 1632 }); 1633 }); 1634 }); 1635 1636 $('#related-products').each(function(index,elmain){ 1637 $(elmain).imagesLoaded(function(){ 1638 $(this).find('.product-box').each(function(index,el){ 1639 maxHeight1 = 0; 1640 $(el).find('.grid-box').each(function(index,el2){ 1641 $(el2).height('auto'); 1642 }); 1643 $(el).find('.grid-box .inner').each(function(index,el2){ 1644 if (maxHeight1 < $(el2).height()) { maxHeight1 = $(el2).height(); } 1645 }); 1646 maxHeight1 = maxHeight1 + 36; 1647 if( maxHeight1 < 220 ) maxHeight1 = 220; 1648 if( !is.mobile() ) { 1649 if( maxHeight1 < 340 ) maxHeight1 = 340; 1650 } 1651 $(el).find('.grid-box').each(function(index,el2){ 1652 if( maxHeight1 ) { 1653 $(el2).height(maxHeight1); 1654 } 1655 }); 1656 }); 1657 }); 1658 }); 1659 1660 $('.content-bottom #related-products').each(function(index,elmain){ 1661 var contentset_height = parseInt($('.content-bottom #related-products .contentset').height()); 1662 if( contentset_height ) contentset_height = contentset_height + 70; 1663 $(elmain).imagesLoaded(function(){ 1664 $(this).find('.product-box').each(function(index,el){ 1665 maxHeight1 = 0; 1666 $(el).find('.grid-box').each(function(index,el2){ 1667 $(el2).height('auto'); 1668 }); 1669 $(el).find('.grid-box .inner').each(function(index,el2){ 1670 if (maxHeight1 < $(el2).height()) { maxHeight1 = $(el2).height(); } 1671 }); 1672 maxHeight1 = maxHeight1 + 36 + contentset_height; 1673 if( maxHeight1 < 220 ) maxHeight1 = 220; 1674 if( !is.mobile() ) { 1675 if( maxHeight1 < 340 ) maxHeight1 = 340; 1676 } 1677 $(el).find('.grid-box').each(function(index,el2){ 1678 if( maxHeight1 ) { 1679 $(el2).height(maxHeight1); 1680 } 1681 }); 1682 }); 1683 }); 1684 }); 1685 1686 $('.any-products').each(function(index,el){ 1687 1688 if(is.mobile()){ 1689 $(el).find(".grid-box").attr("style",""); 1690 } 1691 1692 maxHeight5 = 0; 1693 $(el).find('.any-box > div').each(function(index,el2){ 1694 $(el2).height('auto'); 1695 if (maxHeight5 < $(el2).height()) { maxHeight5 = $(el2).height(); } 1696 }); 1697 $(el).find('.any-box > div').each(function(index,el2){ 1698 if( maxHeight5 ) { 1699 $(el2).height(maxHeight5); 1700 } 1701 }); 1702 $(el).find('.grid-box > .inner').each(function(index,el2){ 1703 $(el2).css("display", "block"); 1704 }); 1705 }); 1706 } 1707
1708 var supportsNatural = ( "naturalWidth" in (new Image()) ); 1709 1710 function initDeferImages() { 1711 [].forEach.call(document.querySelectorAll('img[data-src]'), function(img) { 1712 img.setAttribute('src', img.getAttribute('data-src')); 1713 img.onload = function() { 1714 this.removeAttribute('data-src'); 1715 if (this.style.opacity !== undefined) { 1716 this.style.opacity = 1; 1717 } 1718 var naturalWidth = supportsNatural ? this.naturalWidth : $(this).width(); 1719 if( naturalWidth == 0 ) { 1720 this.src += '?timestamp=' + new Date().getTime(); 1721 } 1722 }; 1723 }); 1724 $(".grid-box img,.product-row img").each(function(){ 1725 var _this = $(this); 1726 _this.imagesLoaded(function(){ 1727 _this.animate({opacity: 1.0}, 100); 1728 _this.closest('.grid-box').find('.onsale').removeClass("hidden"); 1729 _this.closest('.grid-box').find('.name').removeClass("hidden"); 1730 _this.closest('.grid-box').find('.price').removeClass("hidden"); 1731 _this.closest('.grid-box').find('.label-important').removeClass("hidden"); 1732 _this.closest('.grid-box').find('.load-thumb-conver').remove(); 1733 _this.closest('.product-row').find('.load-thumb-conver').remove(); 1734 try { 1735 if (typeof _this.data('flipper') !== 'undefined') { 1736 _this.flipper(); 1737 } 1738 } catch(err) { } 1739 _this.height('auto'); 1740 if( (lazy == $(".grid-box img").length) ) { adjustBoxHeights(); } 1741 lazy++; 1742 }); 1743 }); 1744 } 1745 1746 function updateCartProductCount() { 1747 $.get("index.php?route=module/cart/GetProductTotal", function(data) { 1748 $("#shopping-cart-list .badge").html(data); 1749 if(data>0){ 1750 $("#shopping-cart-list .badge").removeClass("hidden"); 1751 $("#shopping-cart-list .badge").removeClass("animated"); 1752 $("#shopping-cart-list .badge").addClass("animated bounce"); 1753 } else { 1754 $("#shopping-cart-list .badge").addClass("hidden"); 1755 } 1756 }); 1757 } 1758 1759 function updateQuantityByProductKey(key, quantity) { 1760 quantity = typeof(quantity) != 'undefined' ? quantity : 1; 1761 $.ajax({ 1762 url: 'index.php?route=checkout/cart/updateProductQuantity', 1763 type: 'post', 1764 data: { 'quantity':quantity, 'key': key }, 1765 dataType: 'json', 1766 success: function(json) { 1767 $.get( "index.php?route=module/cart/list", function( data ) { 1768 $(".slidePanel .slidePanel-content").html(data); 1769 updateCartProductCount(); 1770 }); 1771 } 1772 }); 1773 } 1774 1775 function removeProductFromSideCart(key, idx) { 1776 //var newkey = encodeURIComponent(key); 1777 var newkey = key; 1778 $.get("index.php?route=module/cart&remove=" + newkey, function(data) { 1779 $.get( "index.php?route=module/cart/list", function( data ) { 1780 $(".slidePanel .slidePanel-content").html(data); 1781 updateCartProductCount(); 1782 }); 1783 }); 1784 $("#producr-list-" + idx).fadeOut(1200, function() { $(this).remove(); }); 1785 return false; 1786 } 1787 1788 function openSideCart(ta_product_id){ 1789 var slidePanelVisible = $(".slidePanel").hasClass("slidePanel-show"); 1790 if( slidePanelVisible ) { 1791 $("#content-wrapper").off("click"); 1792 $.slidePanel.hide(); 1793 } else { 1794 updateCartProductCount(); 1795 $.slidePanel.show({ 1796 url: 'index.php?route=module/cart/list' 1797 }, { 1798 direction: "left", 1799 duration: '500', 1800 mouseDrag: false, 1801 touchDrag: false, 1802 pointerDrag: false, 1803 loading: { 1804 template: function(options) { 1805 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>'; 1806 } 1807 } 1808 }); 1809 $("#content-wrapper").on('click', function(event) { 1810 $("#content-wrapper").off("click"); 1811 $.slidePanel.hide(); 1812 event.preventDefault(); 1813 event.stopPropagation(); 1814 1815 var t_url = location.href; 1816 var c_url = "https://www.iporkcut.com.tw/cart"; 1817 1818 if(t_url == c_url){ 1819 location.reload(); 1820 } 1821 1822 }); 1823 $(".fancybox-product").on('click', function(event) { 1824 $.slidePanel.hide(); 1825 event.preventDefault(); 1826 event.stopPropagation(); 1827 1828 var t_url = location.href; 1829 var c_url = "https://www.iporkcut.com.tw/cart"; 1830 1831 if(t_url == c_url){ 1832 location.reload(); 1833 } 1834 1835 }); 1836 } 1837 } 1838 1839 function gaTrackAddToCart(page, product_ids) { 1840 1841 product_ids.forEach(function(item){ 1842 1843 try { 1844 1845 // UA 1846 dataLayer.push({ 1847 'event': 'addToCart', 1848 'ecommerce': { 1849 'currencyCode': '', 1850 'add': { 1851 'products': [{ 1852 'name': item.p_name, 1853 'id': item.p_id, 1854 'price': item.p_prices, 1855 'quantity': item.p_qty 1856 }] 1857 } 1858 } 1859 }); 1860 1861 // GA4 1862 dataLayer.push({ 1863 'event': 'add_to_cart', 1864 'ecommerce': { 1865 'items': [{ 1866 'item_name': item.p_name, 1867 'item_id': item.p_id, 1868 'price': item.p_prices, 1869 'quantity': item.p_qty 1870 }] 1871 } 1872 }); 1873 1874 1875 1876 } catch (e) { } 1877 1878 }); 1879 1880 } 1881
1882 // Defers instant-add until the async-loaded $.fancybox exists, so early 1883 // clicks no longer hit an undefined open() and feel dead. One poller at a 1884 // time, latest click wins - repeated clicks don't stack duplicate opens. 1885 // Keep in sync with common/footer_cart.tpl (same guard for '/cart' URLs). 1886 var _fancyboxPendingCb = null; 1887 var _fancyboxPolling = false; 1888 function whenFancyboxReady(callback){ 1889 if (typeof $.fancybox !== 'undefined') { callback(); return; } 1890 _fancyboxPendingCb = callback; // latest click wins if several arrive while waiting 1891 if (_fancyboxPolling) { return; } 1892 _fancyboxPolling = true; 1893 (function poll(attempt){ 1894 if (typeof $.fancybox !== 'undefined') { 1895 _fancyboxPolling = false; 1896 var cb = _fancyboxPendingCb; 1897 _fancyboxPendingCb = null; 1898 if (cb) { cb(); } 1899 return; 1900 } 1901 if (attempt < 50) { setTimeout(function(){ poll(attempt + 1); }, 100); return; } 1902 _fancyboxPolling = false; 1903 _fancyboxPendingCb = null; 1904 if (window.console && console.warn) { console.warn('fancybox not ready after 5s; instant add aborted'); } 1905 })(0); 1906 } 1907 1908 function InstantAddToCart(product_id, quantity, promotion_id, free_present_id){ 1909 1910 if( product_id && quantity ) { 1911 1912 gecommProductToCart.product_id = product_id; 1913 gecommProductToCart.quantity = quantity; 1914 1915 try { 1916 1917 var p_name = $("[data-producttlid='"+product_id+"'] .name [itemprop='name']").html(); 1918 var p_prices = $("[data-producttlid='"+product_id+"'] .price[data-price]").data("price"); 1919 gecommProductToCart.product_name = p_name; 1920 1921 gecommProductToCart.price = p_prices; 1922 1923 // UA 1924 dataLayer.push({ 1925 'event': 'addToCart', 1926 'ecommerce': { 1927 'currencyCode': '', 1928 'add': { 1929 'products': [{ 1930 'name': p_name, 1931 'id': product_id, 1932 'price': p_prices, 1933 'quantity': quantity 1934 }] 1935 } 1936 } 1937 }); 1938 1939 // GA4 1940 dataLayer.push({ 1941 'event': 'add_to_cart', 1942 'ecommerce': { 1943 'items': [{ 1944 'item_name': p_name, 1945 'item_id': product_id, 1946 'price': p_prices, 1947 'quantity': quantity 1948 }] 1949 } 1950 }); 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 } catch (e) { } 1961 1962 } 1963 1964 $('[data-toggle="tooltip"], .tooltip').tooltip("hide"); 1965 1966 promotion_id = typeof(promotion_id) != 'undefined' ? promotion_id : -1; 1967 free_present_id = typeof(free_present_id) != 'undefined' ? free_present_id : -1; 1968 1969 if(free_present_id != "-1"){ 1970 quantity = $('input[name="quantity"]').val(); 1971 quantity = typeof(quantity) != 'undefined' ? quantity : 1; 1972 } 1973 1974 var price = $('#price-price-block .price-normal').attr('data-content'); 1975 1976 if(typeof(price) === 'undefined') price = $('#price-price-block .price-new').attr('data-content'); 1977 1978 price = typeof(price) != 'undefined' ? price : 0; 1979 1980 var instantCartSrc = 'https://www.iporkcut.com.tw/index.php?route=product/instant_add&product_id=' + product_id + '&promotion_id=' + promotion_id + '&quantity=' + quantity +'&price=' + price + '&free_present_id=' + free_present_id; 1981 1982 whenFancyboxReady(function(){ 1983 try { 1984 $.fancybox.open({ 1985 src : instantCartSrc, 1986 type : 'iframe', 1987 opts : { 1988 openEffect : 'none', 1989 closeEffect : 'none', 1990 closeClickOutside : true, 1991 iframe : { css : { "max-width" : '332px', "width:": '100%' } }, 1992 beforeLoad: function() { 1993 $(".fancybox-container").css("zIndex", 999999993); 1994 } 1995 } 1996 }); 1997 } catch (e) { } 1998 }); 1999 } 2000 2001 function InstantAddToCart1(product_id, quantity, key_id, type, position){ 2002 2003 product_id = (typeof product_id !== 'undefined') ? product_id : 0; 2004 quantity = (typeof quantity !== 'undefined') ? quantity : 1; 2005 key_id = (typeof key_id !== 'undefined') ? key_id : "-1"; 2006 type = (typeof type !== 'undefined') ? type : ""; 2007 position = (typeof position !== 'undefined') ? position : ""; 2008 2009 if( product_id && quantity ) { 2010 2011 gecommProductToCart.product_id = product_id; 2012 gecommProductToCart.quantity = quantity; 2013 2014 try { 2015 2016 var p_name = $("[data-producttlid='"+product_id+"'] .name [itemprop='name']").html(); 2017 var p_prices = $("[data-producttlid='"+product_id+"'] .price[data-price]").data("price"); 2018 gecommProductToCart.product_name = p_name; 2019 2020 gecommProductToCart.price = p_prices; 2021 2022 // UA 2023 dataLayer.push({ 2024 'event': 'addToCart', 2025 'ecommerce': { 2026 'currencyCode': '', 2027 'add': { 2028 'products': [{ 2029 'name': p_name, 2030 'id': product_id, 2031 'price': p_prices, 2032 'quantity': quantity 2033 }] 2034 } 2035 } 2036 }); 2037 2038 // GA4 2039 dataLayer.push({ 2040 'event': 'add_to_cart', 2041 'ecommerce': { 2042 'items': [{ 2043 'item_name': p_name, 2044 'item_id': product_id, 2045 'price': p_prices, 2046 'quantity': quantity 2047 }] 2048 } 2049 }); 2050 2051 2052 2053 2054 2055 2056 2057 } catch (e) { } 2058 2059 } 2060 2061 $('[data-toggle="tooltip"], .tooltip').tooltip("hide"); 2062 2063 if(type == "promotion"){ 2064 var promotion_id = typeof(key_id) != 'undefined' ? key_id : -1; 2065 var send_value = '&promotion_id=' + promotion_id ; 2066 } 2067 2068 if(type == "present"){ 2069 var free_present_id = typeof(key_id) != 'undefined' ? key_id : -1; 2070 2071 //if(free_present_id > 0){ 2072 quantity = $('input[name="quantity"]').val(); 2073 quantity = typeof(quantity) != 'undefined' ? quantity : 1; 2074 //} 2075 2076 var send_value = '&free_present_id=' + free_present_id +'&position=' + position; 2077 } 2078 2079 if(type == "buytogether"){ 2080 var buy_together_id = typeof(key_id) != 'undefined' ? key_id : -1; 2081 2082 quantity = $('input[name="quantity"]').val(); 2083 quantity = typeof(quantity) != 'undefined' ? quantity : 1; 2084 2085 var send_value = '&buy_together_id=' + buy_together_id +'&position=' + position; 2086 } 2087 2088 var price = $('#price-price-block .price-normal').attr('data-content'); 2089 2090 if(typeof(price) === 'undefined') price = $('#price-price-block .price-new').attr('data-content'); 2091 2092 price = typeof(price) != 'undefined' ? price : 0; 2093 2094 2095 var instantCart1Src = 'index.php?route=product/instant_add&product_id=' + product_id + '&quantity=' + quantity +'&price=' + price +send_value ; 2096 2097 whenFancyboxReady(function(){ 2098 try { 2099 $.fancybox.open({ 2100 src : instantCart1Src, 2101 type : 'iframe', 2102 opts : { 2103 closeClickOutside : true, 2104 iframe : { css : { width : '320px' } }, 2105 beforeLoad: function() { 2106 $(".fancybox-container").css("zIndex", 999999993); 2107 } 2108 } 2109 }); 2110 } catch (e) { } 2111 }); 2112 } 2113 2114 // Debounced mini-cart reload: every module/cart hit rewrites server-side 2115 // cart state, so a burst of reloads can undo a just-added product. 2116 // Keep in sync with common/footer_cart.tpl -- only one footer renders per page 2117 // (common/footer.php picks a single template), so the two copies never collide. 2118 var miniCartReloadTimer = null; 2119 function reloadMiniCart(immediate){ 2120 // One shared timer for every caller; immediate only shortens the wait. 2121 // Bypassing it made add-to-cart fire two overlapping module/cart requests
2122 // (closePopFancybox() and TriggerMyCartList() each trigger mouseover). 2123 // Rescheduling is not a lock, so this is "almost always one", not a guarantee. 2124 clearTimeout(miniCartReloadTimer); 2125 miniCartReloadTimer = setTimeout(loadMiniCart, immediate ? 0 : 300); 2126 } 2127 2128 function loadMiniCart(){ 2129 $("#cart").load("index.php?route=module/cart #cart > *", function(){ 2130 try { refreshMiniCartScrollBar(); } catch (e) { } 2131 }); 2132 } 2133 2134 function closePopFancybox(){ 2135 try { 2136 $.fancybox.close(); 2137 $.fancybox.destroy(); 2138 } catch (e) { } 2139 if( is.desktop() ) { 2140 setTimeout(function(){ 2141 $("#cart > .heading a").trigger('mouseover'); 2142 setTimeout(function(){ refreshMiniCartScrollBar(); }, 300); 2143 }, 500); 2144 } 2145 } 2146 2147 function LastPresentsOption(html,key,qty){ 2148 $("#lg_option_"+key).prepend(html); 2149 $('.last_free_presents').trigger('change'); 2150 $('.free_present_qty').trigger('change'); 2151 } 2152 2153 function TriggerMyCartList(){ 2154 if( is.not.desktop() ){ 2155 updateCartProductCount(); 2156 setTimeout(function(){ 2157 $("#shopping-cart-list .badge").removeClass("animated"); 2158 $("#shopping-cart-list .badge").addClass("animated"); 2159 $("#shopping-cart-list .badge").addClass("bounce"); 2160 }, 800); 2161 } else { 2162 setTimeout(function(){ 2163 $("#cart > .heading a").trigger('mouseover'); 2164 setTimeout(function(){ refreshMiniCartScrollBar(); }, 300); 2165 }, 500); 2166 } 2167 } 2168 2169 function removeCartByProductID(product_id) { 2170 if( is.existy(product_id) ) { 2171 $.ajax({ 2172 url: 'index.php?route=module/cart&remove=' + product_id + "%3Anull%3A-1%3A0", 2173 type: 'post', 2174 dataType: 'json', 2175 success: function(json) { 2176 TriggerMyCartList(); 2177 } 2178 }); 2179 } 2180 } 2181 2182 function updateQuantityByProductID(product_id, quantity) { 2183 quantity = typeof(quantity) != 'undefined' ? quantity : 1; 2184 $.ajax({ 2185 url: 'index.php?route=checkout/cart/updateProductQuantity', 2186 type: 'post', 2187 data: { 'quantity':quantity, 'key': product_id+'%3Anull%3A-1%3A0' }, 2188 dataType: 'json', 2189 success: function(json) { 2190 TriggerMyCartList(); 2191 } 2192 }); 2193 } 2194 2195 2196 function bulk_add_to_cart() { 2197 $("select.bulk-add-quantity").change(function() { 2198 var value = $("option:selected", this).val(); 2199 var select_idx = $(this).data("idx"); 2200 var product_id = $(this).data("productid"); 2201 var prevval = $(this).data("prevval"); 2202 2203 if( value == 0 ) { 2204 $(this).next(".bulk-add-quantity").addClass("no-cart"); 2205 if(prevval!=0){ 2206 removeCartByProductID(product_id); 2207 } 2208 } else { 2209 $(this).next(".bulk-add-quantity").removeClass("no-cart"); 2210 2211 if( value == 999 ) { 2212 InstantAddToCart(product_id, 999); 2213 $(this).next(".bulk-add-quantity").find(".current").text("+ 9"); 2214 } else { 2215 if(prevval==0){ 2216 // ç¬¬ä¸æ¬¡å å ¥ 2217 InstantAddToCart(product_id, value); 2218 } else { 2219 // æ´æ°æ¸é 2220 updateQuantityByProductID(product_id, value); 2221 } 2222 } 2223 } 2224 $(this).data("prevval", value); 2225 $(this).attr("data-prevval", value); 2226 }); 2227 } 2228 2229 function downloadJSAtOnload() { 2230 2231 $("#myBody").removeAttr('style'); 2232 2233 if( is.not.desktop() ) { 2234 $('.any-products').each(function(index,el){ 2235 $(el).find('.grid-box').each(function(index,el2){ 2236 $(el2).attr('style',''); 2237 }); 2238 }); 2239 } 2240 2241 try { 2242 getScript("https://cdnjs.cloudflare.com/ajax/libs/izitoast/1.4.0/js/iziToast.min.js",function(){ }); 2243 } catch(e) { } 2244 2245 2246 var queue = $LAB.queueScript("https://cdn.qdm.cloud/assets/js/core.240901.compressed.js"); 2247 queue.queueWait(function(){ 2248 2249 // core.js reloads module/cart on EVERY mini-cart hover, unthrottled (10 2250 // requests in 5s observed). Rebind to the debounced reload, keeping 2251 // hover-to-expand behaviour. The mouseleave rebind is like-for-like: in 2252 // core.240901 (the bundle queued above) its body is only 2253 // removeClass("active"). Re-check if that bundle is rebuilt. 2254 // Keep in sync with common/footer_cart.tpl -- it queues a different 2255 // bundle, so verify that claim against ITS bundle. 2256 // 2257 // The ready() wrapper is load-bearing: core.js binds inside its own 2258 // ready() callback, registered while this queued script runs, and jQuery 2259 // fires ready callbacks in registration order -- so off() is guaranteed to 2260 // run after that bind. Calling off() directly here only works if DOM ready 2261 // happens to have fired already; otherwise it removes nothing and BOTH 2262 // handlers stay attached.
2263 $(document).ready(function(){ 2264 try { 2265 $(document).off("mouseover", "#cart > .heading"); 2266 $(document).on("mouseover", "#cart > .heading", function(e){ 2267 $("#cart").addClass("active"); 2268 // Programmatic refreshes get here via .trigger('mouseover') (add-to-cart / 2269 // fancybox close / login). Debouncing them delayed the reload past each 2270 // call site's paired setTimeout(refreshMiniCartScrollBar, 300). jQuery 2271 // marks synthetic events with isTrigger; losing that just falls back to 2272 // the debounced path. 2273 reloadMiniCart(e && e.isTrigger); 2274 }); 2275 $(document).off("mouseleave", "#cart"); 2276 $(document).on("mouseleave", "#cart", function(){ 2277 $(this).removeClass("active"); 2278 }); 2279 } catch (e) { 2280 // Never break the rest of the queued callback, but do not fail 2281 // silently either -- a swallowed error degrades straight back to 2282 // the unthrottled reload. 2283 if (window.console && console.warn) { console.warn("mini-cart rebind failed", e); } 2284 } 2285 2286 // Self-check. off(type, selector) matches on the selector STRING, so a whitespace 2287 // variant alone breaks it: a rebuilt bundle emitting "#cart>.heading" survives our 2288 // off() and BOTH handlers stay attached. Both spellings hit the same element, so 2289 // compare with whitespace stripped -- that covers drift on either side. 2290 // Known limit: whitespace is the ONLY rewrite covered. "#cart .heading", a trailing 2291 // " a", a comma-separated selector or a direct element bind all stay silent. 2292 // A tripwire for the likely case, not proof that the rebind held. 2293 // _data is a jQuery internal, so it gets its own try/catch: if it ever goes away, 2294 // the rebind above is still correct and must not be reported failed. 2295 try { 2296 var miniCartEvents = $._data(document, "events"); 2297 var miniCartBound = ((miniCartEvents && miniCartEvents.mouseover) || []).filter(function(h){ 2298 return h.selector && h.selector.replace(/\s+/g, "") === "#cart>.heading"; 2299 }).length; 2300 if (miniCartBound !== 1 && window.console && console.warn) { 2301 console.warn("mini-cart rebind: expected 1 mouseover handler, found", miniCartBound); 2302 } 2303 } catch (e2) { 2304 if (window.console && console.warn) { console.warn("mini-cart rebind self-check unavailable", e2); } 2305 } 2306 }); 2307 2308 2309 2310 $(".ajax-popup-link").unbind(); 2311 $(".ajax-popup-link").fancybox({ 2312 closeBtn : true, 2313 closeClick : true, 2314 helpers : { 2315 overlay : {closeClick: true} 2316 }, 2317 buttons : [ 'close' ], 2318 clickOutside : 'close', 2319 closeClick : true, 2320 toolbar : true 2321 }); 2322 2323 2324 var milliseconds = new Date().getTime(); 2325 $.getJSON( "index.php?route=common/header/getLoggedInUserInfo&token=" + milliseconds + "1" + (Math.floor(Math.random() * 999) + 100), function( data ) { 2326 if( is.existy(data) && data.isLogged ) { 2327 $("#header-logged-user").html(data.logged_user_name + data.logged_group_name); 2328 $("#header-mobile-user").html(data.logged_user_name + data.logged_group_name); 2329 $(".header-logged-menu").removeClass("hidden"); 2330 $("#header-logged-menu").removeClass("hidden"); 2331 $("#header-none-logged-menu").remove(); 2332 } else { 2333 $(".header-logged-menu").remove(); 2334 $("#header-logged-menu").remove(); 2335 $(".header-none-logged-menu").removeClass("hidden"); 2336 $("#header-none-logged-menu").removeClass("hidden"); 2337 } 2338 2339 if( is.not.desktop() ){ 2340 updateCartProductCount(); 2341 setTimeout(function(){ 2342 $("#shopping-cart-list .badge").removeClass("animated"); 2343 $("#shopping-cart-list .badge").addClass("animated"); 2344 $("#shopping-cart-list .badge").addClass("bounce"); 2345 }, 800); 2346 } else { 2347 $("#cart > .heading a").trigger('mouseover'); 2348 $("section#cart").removeClass("active"); 2349 setTimeout(function(){ $("section#cart").removeClass("active"); }, 50); 2350 } 2351 2352 }); 2353 2354 setTimeout(function(){ 2355 $('.side_float_banner_wrapper').attr("style",""); 2356 $('.banner').each(function( index ) { 2357 if( $(this).find("a").length == 1 ) { 2358 $(this).attr("style",""); 2359 } 2360 }); 2361 }, 2000); 2362 2363 if (typeof init_inline === 'function') { 2364 if($("#image-additional").length){ 2365 $.fancybox.defaults.hash = false;
2366 } 2367 setTimeout(function(){ init_inline(); }, 300); 2368 } 2369 2370 if (typeof init_fullslideshow === 'function') { init_fullslideshow(); } 2371 2372 $("#contact-block").removeAttr('style'); 2373 2374 if( is.not.desktop() ) { 2375 $('#shopping-cart-list').on('click', function() { 2376 openSideCart(); 2377 return false; 2378 }); 2379 } 2380 2381 if ( $("input[name='quantity']").length > 0 ) { 2382 var qtyMin = $("input[name='quantity']").data("min"); 2383 if(qtyMin=="" || qtyMin==undefined) qtyMin = 1; 2384 $("input[name='quantity']").TouchSpin({ 2385 min: qtyMin, 2386 max: 99999 2387 }); 2388 } 2389 2390 $(window).resize(function() { 2391 if( $(window).width() < 992 ){ 2392 $("#footer-inner-row").removeClass("offset2"); 2393 } else { 2394 var data_count = $("#footer-inner-row").data("count"); 2395 if(data_count < 1) { 2396 $("#footer-inner-row").addClass("offset2"); 2397 } 2398 } 2399 }); 2400 2401 $("#header .flipper").each(function(){ 2402 var imgLoad = $(this).imagesLoaded(function(){ 2403 try { 2404 if (typeof $(this).data('flipper') !== 'undefined') { 2405 $(this).flipper(); 2406 } 2407 } catch(err) { } 2408 }); 2409 }); 2410 2411 $('a[href*="#"]').each(function() { 2412 var hash = $(this).attr('href'); 2413 if(hash=="##") return; 2414 if(hash=="#") return; 2415 if(hash=="#mobile-menu") return; 2416 $(this).click( function(e) { 2417 var url = $(this).attr('href'); 2418 var type = url.split('#'); 2419 var hash = ''; 2420 if(type.length > 1) 2421 hash = type[1]; 2422 if($("[name='"+hash+"']").length){ 2423 if(hash && hash != "undefined" && hash != null && hash != undefined){ 2424 e.preventDefault(); 2425 $('html,body').animate({ scrollTop: $("[name='"+hash+"']").offset().top}, 600); 2426 return false; 2427 } 2428 } 2429 }); 2430 }); 2431 2432 2433 2434 2435 2436 if ( $(".masonry").length > 0 ) { 2437 $(".masonry").each(function(index, value) { 2438 var $grid = $('.masonry').masonry(); 2439 setTimeout(function(){ $grid.masonry('layout'); }, 2000); 2440 }); 2441 } 2442 2443 if ( $(".owl-carousel").length > 0 ) { 2444 $(".owl-carousel").not('[data-exclude]').each(function(index, value) { 2445 2446 var autoplay = is.null( $(this).attr('data-autoPlay') ) ? true : $(this).attr('data-autoPlay'); 2447 var pagination = is.null( $(this).attr('data-pagination') ) ? false : $(this).attr('data-pagination'); 2448 var slideSpeed = is.null( $(this).attr('data-slideSpeed') ) ? 200 : $(this).attr('data-slideSpeed'); 2449 var paginationSpeed = is.null( $(this).attr('data-paginationSpeed') ) ? 800 : $(this).attr('data-paginationSpeed'); 2450 var singleItem = is.null( $(this).attr('data-singleItem') ) ? true : $(this).attr('data-singleItem'); 2451 var transitionStyle = is.null( $(this).attr('data-transitionStyle') ) ? "fade" : $(this).attr('data-transitionStyle'); 2452 2453 $(this).owlCarousel({ 2454 autoPlay : Boolean(autoplay), 2455 navigation : false, 2456 pagination : Boolean(pagination), 2457 slideSpeed : slideSpeed, 2458 paginationSpeed : paginationSpeed, 2459 singleItem: Boolean(singleItem), 2460 transitionStyle : transitionStyle, 2461 stopOnHover: true, 2462 autoHeight: true 2463 }); 2464 2465 }); 2466 } 2467 2468 2469 var vidDefer = document.getElementsByTagName('iframe'); 2470 for (var i=0; i<vidDefer.length; i++) { 2471 if(vidDefer[i].getAttribute('data-src')) { 2472 vidDefer[i].setAttribute('src',vidDefer[i].getAttribute('data-src')); 2473 } 2474 } 2475 2476 $(".fancybox").fancybox({ 2477 closeBtn: false, 2478 padding : 1, 2479 helpers : { 2480 overlay : { 2481 closeClick : true, 2482 speedOut : 200, 2483 showEarly : true, 2484 css : {}, 2485 locked : true 2486 }, 2487 title : { type : 'inside' }, 2488 buttons : {} 2489 } 2490 }); 2491 2492 2493 if( is.not.desktop() ){ 2494 $("#footer-inner-row").removeClass("offset2"); 2495 } 2496 2497 if ( $('#bestseller-products .flexslider').length > 0 ) { 2498 $('#bestseller-products .flexslider').each(function(index, value) { 2499 $(this).flexslider({ 2500 animation: "slide", 2501 animationLoop: true, 2502 itemWidth: 182, 2503 itemMargin: 3, 2504 minItems: 2, 2505 maxItems: 6, 2506 animationSpeed: 700, 2507 touch: true, 2508 slideshow: false, slideshowSpeed: 5000 }); 2509 }); 2510 } 2511 if ( $('#featured-products .flexslider').length > 0 ) { 2512 $('#featured-products .flexslider').each(function(index, value) { 2513 $(this).flexslider({ 2514 animation: "slide", 2515 animationLoop: true, 2516 itemWidth: 182, 2517 itemMargin: 3, 2518 minItems: 2, 2519 maxItems: 6, 2520 animationSpeed: 700, 2521 touch: true, 2522 slideshow: false, slideshowSpeed: 5000 }); 2523 }); 2524 } 2525 if ( $('#latest-products .flexslider').length > 0 ) { 2526 $('#latest-products .flexslider').each(function(index, value) { 2527 $(this).flexslider({ 2528 animation: "slide", 2529 animationLoop: true, 2530 itemWidth: 182, 2531 itemMargin: 3, 2532 minItems: 2, 2533 maxItems: 6, 2534 animationSpeed: 700, 2535 touch: true, 2536 slideshow: false, slideshowSpeed: 5000 }); 2537 }); 2538 } 2539 if ( $('#related-products .flexslider').length > 0 ) { 2540 $('#related-products .flexslider').each(function(index, value) { 2541 $(this).flexslider({ 2542 animation: "slide", 2543 animationLoop: true, 2544 itemWidth: 182, 2545 itemMargin: 3, 2546 minItems: 2, 2547 maxItems: 6, 2548 animationSpeed: 700, 2549 touch: true, 2550 slideshow: false, slideshowSpeed: 5000 }); 2551 }); 2552 } 2553 if ( $('#special-products .flexslider').length > 0 ) { 2554 $('#special-products .flexslider').each(function(index, value) { 2555 $(this).flexslider({ 2556 animation: "slide", 2557 animationLoop: true, 2558 itemWidth: 182, 2559 itemMargin: 3, 2560 minItems: 2, 2561 maxItems: 6, 2562 animationSpeed: 700, 2563 touch: true, 2564 slideshow: false, slideshowSpeed: 5000 }); 2565 }); 2566 } 2567 2568 if ( $('#comingsoon-products .flexslider').length > 0 ) { 2569 $('#comingsoon-products .flexslider').each(function(index, value) { 2570 $(this).flexslider({ 2571 animation: "slide", 2572 animationLoop: true, 2573 itemWidth: 182, 2574 itemMargin: 3, 2575 minItems: 2, 2576 maxItems: 6, 2577 animationSpeed: 700, 2578 touch: true, 2579 slideshow: false, slideshowSpeed: 5000 }); 2580 }); 2581 } 2582 2583 jQuery('.flexslider').each( function() { 2584 var $slider = jQuery(this); 2585 var $slides = jQuery(this).children().children('.slides'); 2586 if ( -1 === jQuery.inArray( $slider.data('flexslider').vars.animation, [ 'slide', 'swing' ] ) ) 2587 return; 2588 $slides.bind( 'mousewheel', function( e ) { 2589 e.preventDefault(); 2590 if ( jQuery(this).hasClass('dragging') ) 2591 return; 2592 if ( e.originalEvent.deltaY > 0 ) { 2593 $slider.flexslider('next'); 2594 } 2595 if ( e.originalEvent.deltaY < 0 ) { 2596 $slider.flexslider('prev'); 2597 } 2598 return false;
2599 } ); 2600 } ); 2601 2602 if ( $('.any-products').length > 0 ) { 2603 $(window).resize(function() { 2604 2605 $('.any-products').each(function(index, value) { 2606 var margin_vertical = $(this).data("marginVertical"); 2607 if( is.mobile() ){ 2608 $(this).find(".products-box").removeClass(".products-box").addClass("product-box"); 2609 } else { 2610 if(margin_vertical){ 2611 $(this).find(".product-box").removeClass(".product-box").addClass("products-box"); 2612 } 2613 } 2614 }); 2615 2616 if(is.mobile()){ 2617 $(".any-products").find(".grid-box").attr("style",""); 2618 adjustBoxHeights(); 2619 } 2620 2621 }); 2622 } 2623 2624 if ( $('.banner-carousel').length > 0 ) { 2625 $('.banner-carousel').each(function(index, value) { 2626 var slideSpeed = is.null( $(this).attr('data-slideSpeed') ) ? 600 : $(this).attr('data-slideSpeed'); 2627 if( slideSpeed == undefined ) { slideSpeed = 600; } 2628 var el = "#" + $(this).attr("id"); 2629 var items = $(this).data("item"); 2630 2631 var lilen = $(el+" li").length; 2632 var sliderLoop = true; 2633 if(lilen==items){sliderLoop = false;} 2634 2635 var autoplay = parseInt($(this).data("autoplay")); 2636 var boolAutoplay = false; 2637 if( autoplay ) boolAutoplay = true; 2638 $(el).removeClass("hidden"); 2639 $(el).show(); 2640 $(el).imagesLoaded( function() { 2641 var el = "#" + $(this).attr("id"); 2642 $(el+" img[data-lazy-src]").each(function(index, value) { 2643 var loadimg = $(this).attr('data-lazy-src'); 2644 $(this).attr('src', loadimg); 2645 }); 2646 var slider = $(el).lightSlider({ 2647 auto: boolAutoplay, 2648 pauseOnHover: true, 2649 pager: false, 2650 item:items, 2651 loop: sliderLoop, 2652 easing: 'cubic-bezier(0.25, 0, 0.25, 1)', 2653 speed: slideSpeed, 2654 onSliderLoad: function() { 2655 $(el).removeClass("hidden"); 2656 $(el).show(); 2657 $(el).css("height", "auto"); 2658 } 2659 }); 2660 slider.refresh(); 2661 }); 2662 }); 2663 } 2664 2665 2666 if ( $('.slideshow-container-appear li').length > 0 ) { 2667 $('.slideshow-container-appear').each(function(index, value) { 2668 var el = "#" + $(this).attr("id"); 2669 var full = $(this).data("full"); 2670 if(full){ 2671 $(this).appendTo('#content-top'); 2672 } 2673 2674 if(is.mobile()){ 2675 $(el).find("li.desktop").remove(); 2676 $(el).find("li.mobile:first").show(); 2677 } else { 2678 $(el).find("li.mobile").remove(); 2679 $(el).find("li.desktop:first").show(); 2680 } 2681 2682 $(el).imagesLoaded( function(e) { 2683 2684 if(is.mobile()){ 2685 $(e).closest("li.mobile").attr("style","width:100%"); 2686 } else { 2687 $(e).closest("li.desktop").attr("style","width:100%"); 2688 } 2689 2690 var controlNav = $(e).closest(".slideshow-container-appear").data("controlnav"); 2691 var directionNav = $(e).closest(".slideshow-container-appear").data("directionnav"); 2692 var el = "#" + $(e).attr("id"); 2693 var delay = $(e).closest(".slideshow-container-appear").data("delay"); 2694 if(delay<300) delay = 300; 2695 2696 adaptiveHeight = true; 2697 if( is.mobile() ){ 2698 //controlNav = false; 2699 //directionNav = false;
2700 adaptiveHeight = false; 2701 } 2702 2703 var slideshow_img_h = 0; 2704 $(e).closest(".slideshow-container-appear li.mobile img").each(function(index, value) { 2705 var img_h = $(this).data("height"); 2706 if( (img_h > 0) && (slideshow_img_h > 0) && (img_h != slideshow_img_h) ) { 2707 slideshow_img_h = 0; 2708 } else { 2709 slideshow_img_h = img_h; 2710 } 2711 }); 2712 2713 if( is.mobile() && slideshow_img_h == 0 ){ 2714 $(e).closest(".slideshow-container-appear").flexslider({ 2715 animation: "fade", 2716 slideDirection: "horizontal", 2717 animationLoop: true, 2718 pauseOnHover: true, 2719 pauseOnAction: false, 2720 smoothHeight: false, 2721 slideshowSpeed: delay, 2722 initDelay: 0, 2723 slideshow: true, 2724 mousewheel: false, 2725 controlNav: controlNav, 2726 directionNav: directionNav, 2727 prevText: "", 2728 nextText: "", 2729 start: function(slider) { 2730 var el = "#" + $(this).attr("id"); 2731 $(el).removeClass('loading'); 2732 } 2733 }); 2734 } else { 2735 var slider = $(e).closest(".slides").lightSlider({ 2736 auto:true, 2737 loop:true, 2738 pauseOnHover:true, 2739 adaptiveHeight:true, 2740 item:1, 2741 slideMargin:0, 2742 easing: 'cubic-bezier(0.25, 0, 0.25, 1)', 2743 speed:600, 2744 pause:delay, 2745 controls:directionNav, 2746 pager:controlNav 2747 }); 2748 slider.refresh(); 2749 setTimeout(function(){ 2750 slider.play(); 2751 slider.goToNextSlide(); 2752 slider.goToPrevSlide(); 2753 slider.goToPrevSlide(); 2754 slider.refresh(); 2755 }, 700); 2756 } 2757 2758 }); 2759 2760 }); 2761 } 2762 2763 if( $('.side_float_banner .flipper').length > 0 ) { 2764 try { 2765 $('.side_float_banner .flipper').flipper(); 2766 } catch(err) { } 2767 } 2768 2769 if( $(".flexslider").find("img").length > 0 ) { 2770 $(".flexslider").find("img").trigger('appear'); 2771 } 2772 2773 2774 2775 $('[data-toggle="tooltip"]').tooltip(); 2776 2777 setTimeout(function(){ 2778 $(window).trigger('resize'); 2779 }, 300); 2780 2781 $(".flex-direction-nav").remove(); 2782 2783 adjustBoxHeights(); 2784 2785 2786 $("#menu-btn").show(); 2787 $("#menu-btn").addClass('animated flash'); 2788 2789 setTimeout(function(){ 2790 $("#mobile-navbar").removeAttr('style'); 2791 }, 1000); 2792 2793 2794 2795 2796 }); 2797 2798 queue.runQueue(); 2799 2800 (function(d, s, id) { 2801 var js, fjs = d.getElementsByTagName(s)[0]; 2802 if (d.getElementById(id)) return; 2803 js = d.createElement(s); js.id = id; 2804 js.src = "https://connect.facebook.net/zh_TW/sdk.js"; 2805 fjs.parentNode.insertBefore(js, fjs); 2806 }(document, 'script', 'facebook-jssdk')); 2807 2808 if (window.location.hash == '#_=_') { 2809 window.location.hash = ''; // for older browsers, leaves a # behind 2810 history.pushState('', document.title, window.location.pathname + window.location.search); 2811 } 2812 2813 } 2814 // Store subdomains count as same site; separate tenants on the platform domain do not 2815 function qdmIsSameSiteHost(host){ 2816 var site = location.hostname.toLowerCase(); 2817 host = (host || '').toLowerCase(); 2818 if (host === site) { 2819 return true; 2820 } 2821 // Keep in sync with Response::isSameSiteHref() in system/library/response.php 2822 if (/(^|\.)(qdm\.(tw|com\.tw|cloud)|myorganic\.org\.tw)$/.test(site)) { 2823 return false; 2824 } 2825 var apex = site.replace(/^www\./, ''); 2826 return host === apex || host.slice(-(apex.length + 1)) === '.' + apex; 2827 } 2828 function sanitizeTargetBlank(){ 2829 $('a[rel~=external]').prop('target', '_blank'); 2830 $('a[target="_blank"]').each(function(){ 2831 var a = $(this); 2832 if(!qdmIsSameSiteHost(this.hostname)){ 2833 var originalRel = (this.rel === undefined) ? '' : this.rel; 2834 var newRel = originalRel.split(" "); 2835 if (originalRel.toLowerCase().indexOf('noopener') === -1){ 2836 newRel.push('noopener'); 2837 } 2838 if (originalRel.toLowerCase().indexOf('noreferrer') === -1){ 2839 newRel.push('noreferrer'); 2840 } 2841 if (originalRel.toLowerCase().indexOf('nofollow') === -1){ 2842 newRel.push('nofollow'); 2843 } 2844 a.attr('rel', newRel.join(" ").trim() ); 2845 } 2846 }); 2847 } 2848 function create_mark(name) { 2849 if (window.performance.mark === undefined) { 2850 console.log("performance.mark Not supported"); 2851 return; 2852 } 2853 window.performance.mark(name); 2854 } 2855 function initCoreJS() { 2856 $LAB.setGlobalDefaults({AlwaysPreserveOrder:true}); 2857 jQuery.ajaxPrefilter(function(s) { 2858 if ( s.crossDomain ) { 2859 s.contents.script = false;
2860 } 2861 }); 2862 $(function() { $('body').removeClass('fade-out'); }); 2863 sanitizeTargetBlank(); 2864 var def_img_idx = 1; 2865 [].forEach.call(document.querySelectorAll('img[data-src]'), function(img) { 2866 if( def_img_idx <= 12 ) { 2867 if (img.getAttribute('data-src') === null) { } else if (img.getAttribute('data-src') === '') {} else { 2868 img.setAttribute('src', img.getAttribute('data-src')); 2869 img.onload = function() { 2870 img.removeAttribute('data-src'); 2871 if (img.style.opacity !== undefined) { 2872 img.style.opacity = 1; 2873 } 2874 }; 2875 } 2876 } 2877 def_img_idx++; 2878 }); 2879 if ( $('.slideshow .flexslider').length > 0 ) { 2880 $('.slideshow .flexslider').each(function(index, value) { 2881 var el = "#" + $(this).attr("id"); 2882 var full = $(this).data("full"); 2883 if(full){ 2884 $(this).find("img").css({'width' : '100%', 'height' : 'auto' }); 2885 $(this).closest("div.slideshow").appendTo('#content-top'); 2886 } 2887 }); 2888 } 2889 $LAB.script("https://cdnjs.cloudflare.com/ajax/libs/jquery.imagesloaded/5.0.0/imagesloaded.pkgd.min.js") 2890 .script("https://cdnjs.cloudflare.com/ajax/libs/is_js/0.9.0/is.min.js").wait(function(){ 2891 initDeferImages(); 2892 loadJS(); 2893 downloadJSAtOnload(); 2894 create_mark('mark_fully_loaded'); 2895 if( $('.wow').eq(0).length ) { 2896 getScript("https://cdnjs.cloudflare.com/ajax/libs/wow/1.1.2/wow.min.js",function(){ 2897 new WOW().init(); 2898 }); 2899 } 2900 if( $('img[usemap]').eq(0).length ) { 2901 getScript("https://cdnjs.cloudflare.com/ajax/libs/jQuery-rwdImageMaps/1.6/jquery.rwdImageMaps.min.js",function(){ 2902 try { $('img[usemap]').rwdImageMaps(); } catch (e) { } 2903 }); 2904 } 2905 2906 }); 2907 //230117 fix flipper hover 2908 if($(".grid-box, .product-row").find(".flipper").length){ 2909 $(".grid-box, .product-row").find(".flipper").hover(function(){ 2910 oldSrc = $(this).attr("src"); 2911 $(this).attr("src",$(this).attr("data-flipper")); 2912 },function(){ 2913 $(this).attr("src",oldSrc); 2914 }); 2915 } 2916 } 2917 2918 initCoreCSS(); 2919 setTimeout(function(){ 2920 initCoreJS(); 2921 $.getJSON( "index.php?route=account/account/get_user_track&token=" + (Math.floor(Math.random() * 999) + 100), function( data ) { 2922 if( data.user_id ) { ga_userId = data.user_id; } 2923 if( data.uuid ) { 2924 try { 2925 if ('localStorage' in window && window['localStorage'] !== null){ 2926 localStorage.removeItem("qdm_user_uuid"); 2927 localStorage.setItem("qdm_user_uuid", data.uuid); 2928 qdm_user_uuid = data.uuid; 2929 } 2930 } catch (e) {} 2931 } 2932 if( data.utm_source == "affiliates" ) { ga_utm_source = data.utm_source; } 2933 2934 }); 2935 var vidDefer = document.getElementsByTagName('iframe'); 2936 for (var i=0; i<vidDefer.length; i++) { 2937 if(vidDefer[i].getAttribute('src')) { 2938 vidDefer[i].setAttribute('data-src',vidDefer[i].getAttribute('src')); 2939 } 2940 } 2941 document.getElementsByTagName("body")[0].style.display = "block"; 2942 }, 60); 2943 2944 </script>
2944 </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.