1<!doctype html> 2<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]--> 3<!--[if IE 7]><html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]--> 4<!--[if IE 8]><html class="no-js lt-ie9" lang="en"> <![endif]--> 5<!--[if IE 9 ]><html class="ie9 no-js"> <![endif]--> 6<!--[if (gt IE 9)|!(IE)]><!--> <html class="no-js"> <!--<![endif]--> 7<head> 8 9 <!-- Basic page needs ================================================== --> 10 <meta charset="utf-8"> 11 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 12 13 14 <link rel="icon" href="https://cdn.store-assets.com/s/263036/f/5642482.jpeg" /> 15 16 17 <!-- Title and description ================================================== --> 18 <title> 19 – GIBBON åæè¥¿æ 20 </title> 21 22 23 24 <!-- Social meta ================================================== --> 25 26 27 <meta property="og:type" content="website"> 28 <meta property="og:title" content=""> 29 <meta property="og:url" content=""> 30 31 <meta property="og:image" content="https://cdn.store-assets.com/s/263036/f/6735266.png?width=1200"> 32 <meta property="og:image:secure_url" content="https://cdn.store-assets.com/s/263036/f/6735266.png?width=1200"> 33 34 35 36<meta property="og:description" content="GIBBON SHOPåæè¥¿æå®æ¹è³¼ç©ç¶²-æä¾åªè³ªç·è£è¥¿æ, 西褲, 襯衫, ä¼é褲, ç褲, ä¼ééåå¤å¥, æ©è½æ§ç»å±±æ, 大尺碼æé£¾-å°çåçGIBBON åæ, ZENO å諾"> 37<meta property="og:site_name" content="GIBBON åæè¥¿æ"> 38 39 40 41 <meta name="twitter:card" content="summary"> 42 43 44 45 46 47 48 49 <!-- Helpers ================================================== --> 50 <link rel="canonical" href=""> 51 <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=3.0"> 52 <meta name="theme-color" content=""> 53 54 <!-- CSS ================================================== --> 55 <link href="https://store-themes.easystore.co/263036/themes/2877/assets/timber.css?t=1791351859" rel="stylesheet" type="text/css" media="screen" /> 56 <link href="https://store-themes.easystore.co/263036/themes/2877/assets/theme.css?t=1791351859" rel="stylesheet" type="text/css" media="screen" /> 57 58 59 60 61 62<link href="https://fonts.googleapis.com/css?family=Rajdhani:400,600&display=swap" rel="stylesheet"> 63 64 65
65<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js" type="text/javascript" ></script>
65 66 <!-- Header hook for plugins ================================================== --> 67 68<!-- ScriptTags -->
69<script>window.__st={p: "app",cid: null,cem: null,cph: null,cfn: null,cln: null,cge: null,cdb: null,ccc: null};</script>
69<script src='/assets/events.js'></script>
69<script>(function(){function asyncLoad(){var urls=['/assets/traffic.js?v=1','https://apps.easystore.co/facebook-login/script.js?shop=weedenfashion.easy.co','https://apps.easystore.co/marketplace/shopee-taiwan/script.js?shop=weedenfashion.easy.co','https://apps.easystore.co/mobile-messaging-share/script.js?shop=weedenfashion.easy.co','https://apps.easystore.co/google-analytics/script.js?shop=weedenfashion.easy.co'];for(var i=0;i<urls.length;i++){var s=document.createElement('script');s.type='text/javascript';s.async=true;s.src=urls[i];var x=document.getElementsByTagName('script')[0];x.parentNode.insertBefore(s, x);}}window.attachEvent ? window.attachEvent('onload', asyncLoad) : window.addEventListener('load', asyncLoad, false);})();</script>
69 70<!-- /ScriptTags --> 71 72 73 74<!--[if lt IE 9]>
75<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js" type="text/javascript" ></script>
vendor: 2 bytes, line 75
75
76<script src="https://store-themes.easystore.co/263036/themes/2877/assets/respond.min.js?t=1791351859" type="text/javascript" ></script>
76 77<link href="https://store-themes.easystore.co/263036/themes/2877/assets/respond-proxy.html" id="respond-proxy" rel="respond-proxy" /> 78<link href="//www.gibbon.com.tw/search?q=bffdab448e3b1816ad261f8a3bed91de" id="respond-redirect" rel="respond-redirect" />
79<script src="//www.gibbon.com.tw/search?q=bffdab448e3b1816ad261f8a3bed91de" type="text/javascript"></script>
79 80<![endif]--> 81 82 83 84
84<script src="https://store-themes.easystore.co/263036/themes/2877/assets/modernizr.min.js?t=1791351859" type="text/javascript" ></script>
84 85 86 87 88
88<script> 89 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 90 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 91 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 92 })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); 93 94 ga('create', '', 'auto','myTracker'); 95 ga('myTracker.send', 'pageview'); 96 97 </script>
97 98 99<!-- Snippet:global/head: Bing Webmaster --> 100<meta name="msvalidate.01" content="bing-verification" /> 101<!-- /Snippet --> 102 103<!-- Snippet:global/head: Google Search Console --> 104<meta name="google-site-verification" content="abc123"> 105<!-- /Snippet --> 106 107<!-- Snippet:global/head: è¦ç®è³¼ç© Shopee Taiwan --> 108<link type="text/css" rel="stylesheet" href="https://apps.easystore.co/assets/css/marketplace/main.css?v1.7"> 109<!-- /Snippet --> 110 111<!-- Snippet:global/head: Site Verification --> 112<meta name="google-site-verification" content="rbdVk7NBbLIHA-IRlWhgqEfLELh5fuDtKhInQ1v8wWU" /> 113<!-- /Snippet --> 114 115</head> 116 117<body id="" class="template-app " > 118 119 <ul id="MobileNav" class="mobile-nav"> 120 121 <li class="mobile-nav_icon-x"> 122 123 124 125 126 127 128 129 <span class="MobileNavTrigger icon icon-x"></span> 130 </li> 131 132 133 <li class="mobile-nav__link" aria-haspopup="true"> 134 135 <a href="/" > 136 主é ð 137 </a> 138 139 </li> 140 141 142 <li class="mobile-nav__link" aria-haspopup="true"> 143 144 145 <a href="/collections/ä¸è" class="mobile-nav__parent-link"> 146 ä¸è 147 </a> 148 <span class="mobile-nav__sublist-trigger"> 149 <span class="icon-fallback-text mobile-nav__sublist-expand"> 150 <span class="icon icon-plus" aria-hidden="true"></span> 151 <span class="fallback-text">+</span> 152</span> 153<span class="icon-fallback-text mobile-nav__sublist-contract"> 154 <span class="icon icon-minus" aria-hidden="true"></span> 155 <span class="fallback-text">-</span> 156</span> 157 158 </span> 159 <ul class="mobile-nav__sublist"> 160 161 162 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 163 164 165 <a href="/collections/襯衫" class="mobile-nav__parent-link"> 166 襯衫 167 </a> 168 <span class="mobile-nav__sublist-trigger"><span class="icon-fallback-text mobile-nav__sublist-expand"> 169 <span class="icon icon-plus" aria-hidden="true"></span> 170 <span class="fallback-text">+</span> 171</span> 172<span class="icon-fallback-text mobile-nav__sublist-contract"> 173 <span class="icon icon-minus" aria-hidden="true"></span> 174 <span class="fallback-text">-</span> 175</span> 176</span> 177 <ul class="mobile-nav__sublist"> 178 179 180 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 181 182 <a href="/collections/15-17-5æ©è½é·è¢-çè¢è¥¯è¡«" > 183 å¤©äººç´æ¶¼ææè襯衫 184 </a> 185 186 </li> 187 188 189 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 190 191 <a href="/collections/15-17-5ç´ é¢é·è¢-çè¢è¥¯è¡«" > 192 15-17.5 ç¶å ¸çè¢è¥¯è¡« 193 </a> 194 195 </li> 196 197 198 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 199 200 <a href="/collections/m-xl-ä¼éçè¢è¥¯è¡«" > 201 M-XL ä¼éçè¢è¥¯è¡« 202 </a> 203 204 </li> 205 206 207 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 208 209 <a href="/collections/15-5-18-5ä¼éé·è¢è¥¯è¡«" > 210 15-18.5 ç¶å ¸é·è¢è¥¯è¡« 211 </a> 212 213 </li> 214 215 216 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 217 218 <a href="/collections/m-xl-ä¼éé·è¢è¥¯è¡«" > 219 M-XL ä¼éé·è¢è¥¯è¡« 220 </a> 221 222 </li> 223 224 </ul> 225 226 </li> 227 228 229 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 230 231 232 <a href="/collections/æ¶¼æä¸è¡£" class="mobile-nav__parent-link"> 233 æ¶¼æä¸è¡£ 234 </a> 235 <span class="mobile-nav__sublist-trigger"><span class="icon-fallback-text mobile-nav__sublist-expand"> 236 <span class="icon icon-plus" aria-hidden="true"></span> 237 <span class="fallback-text">+</span> 238</span> 239<span class="icon-fallback-text mobile-nav__sublist-contract"> 240 <span class="icon icon-minus" aria-hidden="true"></span> 241 <span class="fallback-text">-</span> 242</span> 243</span> 244 <ul class="mobile-nav__sublist"> 245 246 247 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 248 249 <a href="/collections/çè¢poloè¡«" > 250 çè¢POLOè¡« 251 </a> 252 253 </li> 254 255 256 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 257 258 <a href="/collections/çè¢åé tæ¤" > 259 çè¢åé T 260 </a> 261 262 </li> 263 264 </ul> 265 266 </li> 267 268 269 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 270 271 272 <a href="/collections/é·è¢ä¸è¡£" class="mobile-nav__parent-link"> 273 ä¿æä¸è¡£ 274 </a>
275 <span class="mobile-nav__sublist-trigger"><span class="icon-fallback-text mobile-nav__sublist-expand"> 276 <span class="icon icon-plus" aria-hidden="true"></span> 277 <span class="fallback-text">+</span> 278</span> 279<span class="icon-fallback-text mobile-nav__sublist-contract"> 280 <span class="icon icon-minus" aria-hidden="true"></span> 281 <span class="fallback-text">-</span> 282</span> 283</span> 284 <ul class="mobile-nav__sublist"> 285 286 287 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 288 289 <a href="/collections/é·è¢poloè¡«" > 290 é·è¢POLOè¡« 291 </a> 292 293 </li> 294 295 296 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 297 298 <a href="/collections/é·è¢åé t" > 299 é·è¢åé è¡« 300 </a> 301 302 </li> 303 304 </ul> 305 306 </li> 307 308 309 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 310 311 312 <a href="/collections/åè£" class="mobile-nav__parent-link"> 313 åè£ 314 </a> 315 <span class="mobile-nav__sublist-trigger"><span class="icon-fallback-text mobile-nav__sublist-expand"> 316 <span class="icon icon-plus" aria-hidden="true"></span> 317 <span class="fallback-text">+</span> 318</span> 319<span class="icon-fallback-text mobile-nav__sublist-contract"> 320 <span class="icon icon-minus" aria-hidden="true"></span> 321 <span class="fallback-text">-</span> 322</span> 323</span> 324 <ul class="mobile-nav__sublist"> 325 326 327 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 328 329 <a href="/collections/çè¢åè£" > 330 çè¢åè£ 331 </a> 332 333 </li> 334 335 336 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 337 338 <a href="/collections/é·è¢åè£" > 339 é·è¢åè£ 340 </a> 341 342 </li> 343 344 </ul> 345 346 </li> 347 348 </ul> 349 350 </li> 351 352 353 <li class="mobile-nav__link" aria-haspopup="true"> 354 355 356 <a href="/collections/ä¸è" class="mobile-nav__parent-link"> 357 ä¸è 358 </a> 359 <span class="mobile-nav__sublist-trigger"> 360 <span class="icon-fallback-text mobile-nav__sublist-expand"> 361 <span class="icon icon-plus" aria-hidden="true"></span> 362 <span class="fallback-text">+</span> 363</span> 364<span class="icon-fallback-text mobile-nav__sublist-contract"> 365 <span class="icon icon-minus" aria-hidden="true"></span> 366 <span class="fallback-text">-</span> 367</span> 368 369 </span> 370 <ul class="mobile-nav__sublist"> 371 372 373 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 374 375 376 <a href="/collections/西è£è¤²" class="mobile-nav__parent-link"> 377 西è£è¤² 378 </a> 379 <span class="mobile-nav__sublist-trigger"><span class="icon-fallback-text mobile-nav__sublist-expand"> 380 <span class="icon icon-plus" aria-hidden="true"></span> 381 <span class="fallback-text">+</span> 382</span> 383<span class="icon-fallback-text mobile-nav__sublist-contract"> 384 <span class="icon icon-minus" aria-hidden="true"></span> 385 <span class="fallback-text">-</span> 386</span> 387</span> 388 <ul class="mobile-nav__sublist"> 389 390 391 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 392 393 <a href="/collections/åå£è¥¿è£è¤²" > 394 ç¶å ¸åå西è£è¤² 395 </a> 396 397 </li> 398 399 400 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 401 402 <a href="/collections/æ¶¼æè¥¿è¤²" > 403 å ¨å½æ§è °å西è£è¤² 404 </a> 405 406 </li> 407 408 409 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 410 411 <a href="/collections/å·æ¯è¥¿è¤²" > 412 å §å·æ¯ä¿æè¥¿è£è¤² 413 </a> 414 415 </li> 416 417 418 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 419 420 <a href="/collections/å°æ¥ç´æè西è£è¤²" > 421 å°æ¥ç´æè西è£è¤² 422 </a> 423 424 </li> 425 426 427 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 428 429 <a href="/collections/44-56ç¹å¤§å°ºç¢¼è¥¿è¤²" > 430 大尺碼西è£è¤² 431 </a> 432 433 </li> 434 435 </ul> 436 437 </li> 438 439 440 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 441 442 443 <a href="/collections/ä¼éé·è¤²" class="mobile-nav__parent-link"> 444 ä¼éé·è¤² 445 </a>
446 <span class="mobile-nav__sublist-trigger"><span class="icon-fallback-text mobile-nav__sublist-expand"> 447 <span class="icon icon-plus" aria-hidden="true"></span> 448 <span class="fallback-text">+</span> 449</span> 450<span class="icon-fallback-text mobile-nav__sublist-contract"> 451 <span class="icon icon-minus" aria-hidden="true"></span> 452 <span class="fallback-text">-</span> 453</span> 454</span> 455 <ul class="mobile-nav__sublist"> 456 457 458 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 459 460 <a href="/collections/æ©è½ä¼é褲" > 461 æ©è½ä¼é褲 462 </a> 463 464 </li> 465 466 467 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 468 469 <a href="/collections/å·æ¯ä¼é褲" > 470 å·æ¯ä¼é褲 471 </a> 472 473 </li> 474 475 476 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 477 478 <a href="/collections/å½åä¼é褲" > 479 å½åä¼é褲 480 </a> 481 482 </li> 483 484 485 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 486 487 <a href="/collections/ä¿æçµ¨è¤²" > 488 ä¿æçµ¨è¤² 489 </a> 490 491 </li> 492 493 494 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 495 496 <a href="/collections/æ°´æ´ä¼é褲" > 497 æ°´æ´ä¼é褲 498 </a> 499 500 </li> 501 502 503 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 504 505 <a href="/collections/ç¹å¤§å°ºç¢¼ä¼é褲" > 506 大尺碼ä¼é褲 507 </a> 508 509 </li> 510 511 </ul> 512 513 </li> 514 515 516 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 517 518 519 <a href="/collections/ä¼éç褲" class="mobile-nav__parent-link"> 520 ä¼éç褲 521 </a> 522 <span class="mobile-nav__sublist-trigger"><span class="icon-fallback-text mobile-nav__sublist-expand"> 523 <span class="icon icon-plus" aria-hidden="true"></span> 524 <span class="fallback-text">+</span> 525</span> 526<span class="icon-fallback-text mobile-nav__sublist-contract"> 527 <span class="icon icon-minus" aria-hidden="true"></span> 528 <span class="fallback-text">-</span> 529</span> 530</span> 531 <ul class="mobile-nav__sublist"> 532 533 534 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 535 536 <a href="/collections/å½åç褲" > 537 å½åç褲 538 </a> 539 540 </li> 541 542 543 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 544 545 <a href="/collections/æ°´æ´ç褲" > 546 æ°´æ´ç褲 547 </a> 548 549 </li> 550 551 552 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 553 554 <a href="/collections/æ©è½ç褲" > 555 æ©è½ç褲 556 </a> 557 558 </li> 559 560 561 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 562 563 <a href="/collections/æ¶¼æç褲" > 564 æ¶¼æç褲 565 </a> 566 567 </li> 568 569 </ul> 570 571 </li> 572 573 574 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 575 576 <a href="/collections/åè£é·è¤²" > 577 åè£é·è¤² 578 </a> 579 580 </li> 581 582 </ul> 583 584 </li> 585 586 587 <li class="mobile-nav__link" aria-haspopup="true"> 588 589 590 <a href="/collections/å¤å¥" class="mobile-nav__parent-link"> 591 å¤å¥ 592 </a> 593 <span class="mobile-nav__sublist-trigger"> 594 <span class="icon-fallback-text mobile-nav__sublist-expand"> 595 <span class="icon icon-plus" aria-hidden="true"></span> 596 <span class="fallback-text">+</span> 597</span> 598<span class="icon-fallback-text mobile-nav__sublist-contract"> 599 <span class="icon icon-minus" aria-hidden="true"></span> 600 <span class="fallback-text">-</span> 601</span> 602 603 </span> 604 <ul class="mobile-nav__sublist"> 605 606 607 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 608 609 610 <a href="/collections/夾å " class="mobile-nav__parent-link"> 611 夾å 612 </a>
613 <span class="mobile-nav__sublist-trigger"><span class="icon-fallback-text mobile-nav__sublist-expand"> 614 <span class="icon icon-plus" aria-hidden="true"></span> 615 <span class="fallback-text">+</span> 616</span> 617<span class="icon-fallback-text mobile-nav__sublist-contract"> 618 <span class="icon icon-minus" aria-hidden="true"></span> 619 <span class="fallback-text">-</span> 620</span> 621</span> 622 <ul class="mobile-nav__sublist"> 623 624 625 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 626 627 <a href="/collections/è夾å " > 628 è夾å 629 </a> 630 631 </li> 632 633 634 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 635 636 <a href="/collections/è»æ®¼è¡£" > 637 è»æ®¼è¡£ 638 </a> 639 640 </li> 641 642 643 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 644 645 <a href="/collections/ä¿æå¤å¥" > 646 ä¿æå¤å¥ 647 </a> 648 649 </li> 650 651 652 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 653 654 <a href="/collections/è¡éè¡£" > 655 è¡éå¤å¥ 656 </a> 657 658 </li> 659 660 661 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 662 663 <a href="/collections/羽絨å¤å¥" > 664 羽絨å¤å¥ 665 </a> 666 667 </li> 668 669 </ul> 670 671 </li> 672 673 674 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 675 676 677 <a href="/collections/èå¿" class="mobile-nav__parent-link"> 678 èå¿ 679 </a> 680 <span class="mobile-nav__sublist-trigger"><span class="icon-fallback-text mobile-nav__sublist-expand"> 681 <span class="icon icon-plus" aria-hidden="true"></span> 682 <span class="fallback-text">+</span> 683</span> 684<span class="icon-fallback-text mobile-nav__sublist-contract"> 685 <span class="icon icon-minus" aria-hidden="true"></span> 686 <span class="fallback-text">-</span> 687</span> 688</span> 689 <ul class="mobile-nav__sublist"> 690 691 692 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 693 694 <a href="/collections/å¤å£è¢èå¿" > 695 å¤å£è¢èå¿ 696 </a> 697 698 </li> 699 700 701 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 702 703 <a href="/collections/éªæ£èå¿" > 704 éªæ£èå¿ 705 </a> 706 707 </li> 708 709 710 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 711 712 <a href="/collections/羽絨èå¿" > 713 羽絨èå¿ 714 </a> 715 716 </li> 717 718 719 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 720 721 <a href="/collections/éç¹èå¿" > 722 éç¹èå¿ 723 </a> 724 725 </li> 726 727 </ul> 728 729 </li> 730 731 732 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 733 734 735 <a href="/collections/-å¤å¥" class="mobile-nav__parent-link"> 736 å¤å¥ 737 </a> 738 <span class="mobile-nav__sublist-trigger"><span class="icon-fallback-text mobile-nav__sublist-expand"> 739 <span class="icon icon-plus" aria-hidden="true"></span> 740 <span class="fallback-text">+</span> 741</span> 742<span class="icon-fallback-text mobile-nav__sublist-contract"> 743 <span class="icon icon-minus" aria-hidden="true"></span> 744 <span class="fallback-text">-</span> 745</span> 746</span> 747 <ul class="mobile-nav__sublist"> 748 749 750 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 751 752 <a href="/collections/æ¯æå¤§è¡£" > 753 æ¯æå¤§è¡£ 754 </a> 755 756 </li> 757 758 759 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 760 761 <a href="/collections/ä¼é西è£-çµè£" > 762 ä¼éè¥¿è£ 763 </a> 764 765 </li> 766 767 768 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 769 770 <a href="/collections/ä¼éçµè£" > 771 ä¼éçµè£ 772 </a> 773 774 </li> 775 776 </ul> 777 778 </li> 779 780 </ul> 781 782 </li> 783 784 785 <li class="mobile-nav__link" aria-haspopup="true"> 786 787 <a href="/collections/æå¥è¥¿æ-1" > 788 æå¥è¥¿æ 789 </a> 790 791 </li> 792 793 794 <li class="mobile-nav__link" aria-haspopup="true"> 795 796 797 <a href="/collections/å®ç¶²éå®åªæ " class="mobile-nav__parent-link"> 798 ðå®ç¶²éå®åªæ 799 </a> 800 <span class="mobile-nav__sublist-trigger">
801 <span class="icon-fallback-text mobile-nav__sublist-expand"> 802 <span class="icon icon-plus" aria-hidden="true"></span> 803 <span class="fallback-text">+</span> 804</span> 805<span class="icon-fallback-text mobile-nav__sublist-contract"> 806 <span class="icon icon-minus" aria-hidden="true"></span> 807 <span class="fallback-text">-</span> 808</span> 809 810 </span> 811 <ul class="mobile-nav__sublist"> 812 813 814 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 815 816 <a href="/collections/襯衫西褲任é¸2ä»¶79æ" > 817 襯衫西褲任é¸2ä»¶79æ 818 </a> 819 820 </li> 821 822 823 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 824 825 826 <a href="/collections/ç¹æ å®å-5æèµ·" class="mobile-nav__parent-link"> 827 ç¹æ å®å 5æèµ· 828 </a> 829 <span class="mobile-nav__sublist-trigger"><span class="icon-fallback-text mobile-nav__sublist-expand"> 830 <span class="icon icon-plus" aria-hidden="true"></span> 831 <span class="fallback-text">+</span> 832</span> 833<span class="icon-fallback-text mobile-nav__sublist-contract"> 834 <span class="icon icon-minus" aria-hidden="true"></span> 835 <span class="fallback-text">-</span> 836</span> 837</span> 838 <ul class="mobile-nav__sublist"> 839 840 841 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 842 843 <a href="/collections/å¤å¥-ä¿" > 844 å¤å¥-ä¿ 845 </a> 846 847 </li> 848 849 850 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 851 852 <a href="/collections/襯衫-ä¿" > 853 襯衫-ä¿ 854 </a> 855 856 </li> 857 858 859 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 860 861 <a href="/collections/西褲-ä¿" > 862 西褲-ä¿ 863 </a> 864 865 </li> 866 867 868 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 869 870 <a href="/collections/ä¼éé·è¤²-ä¿" > 871 ä¼éé·è¤²-ä¿ 872 </a> 873 874 </li> 875 876 877 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 878 879 <a href="/collections/æ©è½è¤²-ä¿" > 880 æ©è½è¤²-ä¿ 881 </a> 882 883 </li> 884 885 886 <li class="mobile-nav__sublist-link" aria-haspopup="true"> 887 888 <a href="/collections/ç褲-ä¿" > 889 ç褲-ä¿ 890 </a> 891 892 </li> 893 894 </ul> 895 896 </li> 897 898 </ul> 899 900 </li> 901 902 903 904 905 906 907 908 <li class="mobile-nav__link"> 909 <a href="/account/login">ç»å ¥</a> 910 </li> 911 912 <li class="mobile-nav__link"> 913 <a href="/account/register">å å ¥æå¡</a> 914 </li> 915 916 917 918 919 <li class="mobile-nav__link header-bar__search-wrapper"> 920 921 <div class="header-bar__module header-bar__search mobile-nav_search"> 922 923 <form action="/search" method="get" class="header-bar__search-form clearfix" role="search"> 924 925 <button type="submit" class="btn icon-fallback-text header-bar__search-submit"> 926 <span class="icon icon-search" aria-hidden="true"></span> 927 <span class="fallback-text">æå°</span> 928 </button> 929 <input type="search" name="q" value="" aria-label="æå°" class="header-bar__search-input" placeholder="æå°" autocomplete="off"> 930 <div class="dropdown" id="searchDropdown"></div> 931 <input type="hidden" name="search_history" id="search_history"> 932 </form> 933 934 935 936
937<script> 938 var _search_history_listings = "" 939 if(_search_history_listings != "") localStorage.setItem('searchHistory', JSON.stringify(_search_history_listings)); 940 941 function clearAll() { 942 localStorage.removeItem('searchHistory'); 943 944 var customer = ""; 945 if(customer) { 946 // Your logic to clear all data or call an endpoint 947 fetch('/account/search_histories', { 948 method: 'DELETE', 949 headers: { 950 "Content-Type": "application/json", 951 "X-Requested-With": "XMLHttpRequest" 952 }, 953 body: JSON.stringify({ 954 _token: "3M4W2kjIXKG5zp0UxLBaFbvioeCMNFlv6vjvvtrX" 955 }), 956 }) 957 .then(response => response.json()) 958 } 959 } 960 // End - store view history in local storage 961 962 // search history dropdown 963 var searchInputs = document.querySelectorAll('input[type=search]'); 964 965 if(searchInputs.length > 0) { 966 967 searchInputs.forEach((searchInput)=>{ 968 969 searchInput.addEventListener('focus', function() { 970 var searchDropdown = searchInput.closest('form').querySelector('#searchDropdown'); 971 searchDropdown.innerHTML = ''; // Clear existing items 972 973 // retrieve data from local storage 974 var searchHistoryData = JSON.parse(localStorage.getItem('searchHistory')) || []; 975 976 // Convert JSON to string 977 var search_history_json = JSON.stringify(searchHistoryData); 978 979 // Set the value of the hidden input 980 searchInput.closest('form').querySelector("#search_history").value = search_history_json; 981 982 // create dropdown items 983 var clearAllItem = document.createElement('div'); 984 clearAllItem.className = 'dropdown-item clear-all'; 985 clearAllItem.textContent = 'Clear'; 986 clearAllItem.addEventListener('click', function() { 987 clearAll(); 988 searchDropdown.style.display = 'none'; 989 searchInput.classList.remove('is-focus'); 990 }); 991 searchDropdown.appendChild(clearAllItem); 992 993 // create dropdown items 994 searchHistoryData.forEach(function(item) { 995 var dropdownItem = document.createElement('div'); 996 dropdownItem.className = 'dropdown-item'; 997 dropdownItem.textContent = item.term; 998 dropdownItem.addEventListener('click', function() { 999 searchInput.value = item.term; 1000 searchDropdown.style.display = 'none'; 1001 }); 1002 searchDropdown.appendChild(dropdownItem); 1003 }); 1004 1005 if(searchHistoryData.length > 0){ 1006 // display the dropdown 1007 searchInput.classList.add('is-focus'); 1008 document.body.classList.add('search-input-focus'); 1009 searchDropdown.style.display = 'block'; 1010 } 1011 }); 1012 1013 searchInput.addEventListener("focusout", (event) => { 1014 var searchDropdown = searchInput.closest('form').querySelector('#searchDropdown'); 1015 searchInput.classList.remove('is-focus'); 1016 searchDropdown.classList.add('transparent'); 1017 setTimeout(()=>{ 1018 searchDropdown.style.display = 'none'; 1019 searchDropdown.classList.remove('transparent'); 1020 document.body.classList.remove('search-input-focus'); 1021 }, 400); 1022 }); 1023 }) 1024 } 1025 // End - search history dropdown 1026</script>
1026 1027 </div> 1028 1029 </li> 1030 1031 1032</ul> 1033<div id="MobileNavOutside" class="mobile-nav-outside"></div> 1034 1035 1036<div id="PageContainer" class="page-container"> 1037 1038<!-- Snippet:global/body_start: Console Extension --> 1039<div id='es_console' style='display: none;'>263036</div> 1040<!-- /Snippet --> 1041 1042 1043 <style> 1044 .search-modal__form{ 1045 position: relative; 1046 } 1047 1048 .dropdown-wrapper { 1049 position: relative; 1050 } 1051 1052 .dropdown-wrapper:hover .dropdown { 1053 display: block; 1054 } 1055 1056 .header-icon-nav .dropdown { 1057 left: -80px; 1058 } 1059 1060 .dropdown { 1061 display: none; 1062 position: absolute; 1063 top: 100%; 1064 left: 0px; 1065 width: 100%; 1066 padding: 8px; 1067 background-color: #fff; 1068 z-index: 1000; 1069 border-radius: 5px; 1070 border: 1px solid rgba(var(--color-foreground), 1); 1071 border-top: none; 1072 overflow-x: hidden; 1073 overflow-y: auto; 1074 max-height: 350px; 1075 min-width: 150px; 1076 box-shadow: 0 0 5px rgba(0,0,0,0.1); 1077 } 1078 1079 .dropdown a{ 1080 text-decoration: none; 1081 color: #000 !important; 1082 } 1083 1084 .dropdown-item { 1085 padding: 0.4rem 2rem; 1086 cursor: pointer; 1087 line-height: 1.4; 1088 overflow: hidden; 1089 text-overflow: ellipsis; 1090 white-space: nowrap; 1091 } 1092 1093 .dropdown-item:hover{ 1094 background-color: #f3f3f3; 1095 } 1096 1097 .search__input.is-focus{ 1098 border-radius: 15px; 1099 border-bottom-left-radius: 0; 1100 border-bottom-right-radius: 0; 1101 border: 1px solid rgba(var(--color-foreground), 1); 1102 border-bottom: none; 1103 box-shadow: none; 1104 } 1105 1106 .clear-all { 1107 text-align: right; 1108 padding: 0 2rem 0.2rem; 1109 line-height: 1; 1110 font-size: 70%; 1111 margin-bottom: -2px; 1112 } 1113 1114 .clear-all:hover{ 1115 background-color: #fff; 1116 } 1117 1118 .referral-notification { 1119 position: absolute; 1120 top: 100%; 1121 right: -12px; 1122 background: white; 1123 border: 1px solid #e0e0e0; 1124 border-radius: 8px; 1125 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); 1126 width: 280px; 1127 z-index: 1000; 1128 padding: 16px; 1129 margin-top: 8px; 1130 font-size: 14px; 1131 line-height: 1.4; 1132 } 1133 1134 .referral-notification::before { 1135 content: ''; 1136 position: absolute; 1137 top: -8px; 1138 right: 20px; 1139 width: 0; 1140 height: 0; 1141 border-left: 8px solid transparent; 1142 border-right: 8px solid transparent; 1143 border-bottom: 8px solid white; 1144 } 1145 1146 .referral-notification::after { 1147 content: ''; 1148 position: absolute; 1149 top: -9px; 1150 right: 20px; 1151 width: 0; 1152 height: 0; 1153 border-left: 8px solid transparent; 1154 border-right: 8px solid transparent; 1155 border-bottom: 8px solid #e0e0e0; 1156 } 1157 1158 .referral-notification h4 { 1159 margin: 0 0 8px 0; 1160 color: #2196F3; 1161 font-size: 16px; 1162 font-weight: 600; 1163 } 1164 1165 .referral-notification p { 1166 margin: 0 0 12px 0; 1167 color: #666; 1168 } 1169 1170 .referral-notification .referral-code { 1171 background: #f5f5f5; 1172 padding: 8px; 1173 border-radius: 4px; 1174 font-family: monospace; 1175 font-size: 13px; 1176 text-align: center; 1177 margin: 8px 0; 1178 border: 1px solid #ddd; 1179 } 1180 1181 .referral-notification .close-btn { 1182 position: absolute; 1183 top: 8px; 1184 right: 8px; 1185 background: none; 1186 border: none; 1187 font-size: 18px; 1188 color: #999; 1189 cursor: pointer; 1190 padding: 0; 1191 width: 20px; 1192 height: 20px; 1193 line-height: 1; 1194 } 1195 1196 .referral-notification .close-btn:hover { 1197 color: #333; 1198 } 1199 1200 .referral-notification .action-btn { 1201 background: #2196F3; 1202 color: white; 1203 border: none; 1204 padding: 8px 16px; 1205 border-radius: 4px; 1206 cursor: pointer; 1207 font-size: 12px; 1208 margin-right: 8px; 1209 margin-top: 8px; 1210 } 1211 1212 .referral-notification .action-btn:hover { 1213 background: #1976D2; 1214 } 1215 1216 .referral-notification .dismiss-btn { 1217 background: transparent; 1218 color: #666; 1219 border: 1px solid #ddd; 1220 padding: 8px 16px; 1221 border-radius: 4px; 1222 cursor: pointer; 1223 font-size: 12px; 1224 margin-top: 8px; 1225 } 1226 1227 .referral-notification .dismiss-btn:hover { 1228 background: #f5f5f5; 1229 } 1230 .referral-modal__dialog { 1231 transform: translate(-50%, 0); 1232 transition: transform var(--duration-default) ease, visibility 0s; 1233 z-index: 10000; 1234 position: fixed; 1235 top: 20vh; 1236 left: 50%; 1237 width: 100%; 1238 max-width: 350px; 1239 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); 1240 border-radius: 12px; 1241 background-color: #fff; 1242 color: #000; 1243 padding: 20px; 1244 text-align: center; 1245 } 1246 .modal-overlay.referral-modal-overlay { 1247 position: fixed; 1248 top: 0; 1249 left: 0; 1250 width: 100%; 1251 height: 100%; 1252 background-color: rgba(0, 0, 0, 0.7); 1253 z-index: 2001; 1254 display: block; 1255 opacity: 1; 1256 transition: opacity var(--duration-default) ease, visibility 0s; 1257 } 1258</style> 1259 1260<header class="header-bar sticky-topbar"> 1261 <div class="header-bg-wrapper"> 1262 <div class="header-wrapper wrapper"> 1263 1264 1265 <div class="logo-header" role="banner"> 1266 1267 1268 <div class="h1 site-header__logo" itemscope itemtype="http://schema.org/Organization"> 1269 1270 1271 1272 1273 <a href="/" class="logo-wrapper" itemprop="url"> 1274 <img src="https://cdn.store-assets.com/s/263036/f/6735266.png?width=1200" alt="GIBBON åæè¥¿æ" itemprop="logo"> 1275 </a> 1276 1277 1278 1279 1280 </div> 1281 1282 1283 </div> 1284 1285 <div class="header-nav-bar medium-down--hide"> 1286 1287<ul class="site-nav large--text-center" id="AccessibleNav"> 1288 1289 1290 1291 <li > 1292 <a href="/" class="site-nav__link">主é ð </a> 1293 </li> 1294 1295 1296 1297 1298 1299 <li class="site-nav--has-dropdown" aria-haspopup="true"> 1300 <a href="/collections/ä¸è" class="site-nav__link"> 1301 ä¸è
1302 <span class="arrow-icon"> 1303 <svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><title>arrow down</title><path d="M50,78.18A7.35,7.35,0,0,1,44.82,76L3.15,34.36A7.35,7.35,0,1,1,13.55,24L50,60.44,86.45,24a7.35,7.35,0,1,1,10.4,10.4L55.21,76A7.32,7.32,0,0,1,50,78.18Z"/></svg> 1304 </span> 1305 </a> 1306 <ul class="site-nav__dropdown"> 1307 1308 1309 1310 1311 <li class="site-nav_has-child"> 1312 <a href="/collections/襯衫" class="site-nav__link"> 1313 襯衫 1314 </a> 1315 <ul class="site-nav__dropdown_level-3"> 1316 1317 1318 1319 <li > 1320 <a href="/collections/15-17-5æ©è½é·è¢-çè¢è¥¯è¡«" class="site-nav__link">å¤©äººç´æ¶¼ææè襯衫</a> 1321 </li> 1322 1323 1324 1325 1326 <li > 1327 <a href="/collections/15-17-5ç´ é¢é·è¢-çè¢è¥¯è¡«" class="site-nav__link">15-17.5 ç¶å ¸çè¢è¥¯è¡«</a> 1328 </li> 1329 1330 1331 1332 1333 <li > 1334 <a href="/collections/m-xl-ä¼éçè¢è¥¯è¡«" class="site-nav__link">M-XL ä¼éçè¢è¥¯è¡«</a> 1335 </li> 1336 1337 1338 1339 1340 <li > 1341 <a href="/collections/15-5-18-5ä¼éé·è¢è¥¯è¡«" class="site-nav__link">15-18.5 ç¶å ¸é·è¢è¥¯è¡«</a> 1342 </li> 1343 1344 1345 1346 1347 <li > 1348 <a href="/collections/m-xl-ä¼éé·è¢è¥¯è¡«" class="site-nav__link">M-XL ä¼éé·è¢è¥¯è¡«</a> 1349 </li> 1350 1351 1352 </ul> 1353 </li> 1354 1355 1356 1357 1358 1359 <li class="site-nav_has-child"> 1360 <a href="/collections/æ¶¼æä¸è¡£" class="site-nav__link"> 1361 æ¶¼æä¸è¡£ 1362 </a> 1363 <ul class="site-nav__dropdown_level-3"> 1364 1365 1366 1367 <li > 1368 <a href="/collections/çè¢poloè¡«" class="site-nav__link">çè¢POLOè¡«</a> 1369 </li> 1370 1371 1372 1373 1374 <li > 1375 <a href="/collections/çè¢åé tæ¤" class="site-nav__link">çè¢åé T</a> 1376 </li> 1377 1378 1379 </ul> 1380 </li> 1381 1382 1383 1384 1385 1386 <li class="site-nav_has-child"> 1387 <a href="/collections/é·è¢ä¸è¡£" class="site-nav__link"> 1388 ä¿æä¸è¡£ 1389 </a> 1390 <ul class="site-nav__dropdown_level-3"> 1391 1392 1393 1394 <li > 1395 <a href="/collections/é·è¢poloè¡«" class="site-nav__link">é·è¢POLOè¡«</a> 1396 </li> 1397 1398 1399 1400 1401 <li > 1402 <a href="/collections/é·è¢åé t" class="site-nav__link">é·è¢åé è¡«</a> 1403 </li> 1404 1405 1406 </ul> 1407 </li> 1408 1409 1410 1411 1412 1413 <li class="site-nav_has-child"> 1414 <a href="/collections/åè£" class="site-nav__link"> 1415 åè£ 1416 </a> 1417 <ul class="site-nav__dropdown_level-3"> 1418 1419 1420 1421 <li > 1422 <a href="/collections/çè¢åè£" class="site-nav__link">çè¢åè£</a> 1423 </li> 1424 1425 1426 1427 1428 <li > 1429 <a href="/collections/é·è¢åè£" class="site-nav__link">é·è¢åè£</a> 1430 </li> 1431 1432 1433 </ul> 1434 </li> 1435 1436 1437 </ul> 1438 </li> 1439 1440 1441 1442 1443 1444 <li class="site-nav--has-dropdown" aria-haspopup="true"> 1445 <a href="/collections/ä¸è" class="site-nav__link"> 1446 ä¸è
1447 <span class="arrow-icon"> 1448 <svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><title>arrow down</title><path d="M50,78.18A7.35,7.35,0,0,1,44.82,76L3.15,34.36A7.35,7.35,0,1,1,13.55,24L50,60.44,86.45,24a7.35,7.35,0,1,1,10.4,10.4L55.21,76A7.32,7.32,0,0,1,50,78.18Z"/></svg> 1449 </span> 1450 </a> 1451 <ul class="site-nav__dropdown"> 1452 1453 1454 1455 1456 <li class="site-nav_has-child"> 1457 <a href="/collections/西è£è¤²" class="site-nav__link"> 1458 西è£è¤² 1459 </a> 1460 <ul class="site-nav__dropdown_level-3"> 1461 1462 1463 1464 <li > 1465 <a href="/collections/åå£è¥¿è£è¤²" class="site-nav__link">ç¶å ¸åå西è£è¤²</a> 1466 </li> 1467 1468 1469 1470 1471 <li > 1472 <a href="/collections/æ¶¼æè¥¿è¤²" class="site-nav__link">å ¨å½æ§è °å西è£è¤²</a> 1473 </li> 1474 1475 1476 1477 1478 <li > 1479 <a href="/collections/å·æ¯è¥¿è¤²" class="site-nav__link">å §å·æ¯ä¿æè¥¿è£è¤²</a> 1480 </li> 1481 1482 1483 1484 1485 <li > 1486 <a href="/collections/å°æ¥ç´æè西è£è¤²" class="site-nav__link">å°æ¥ç´æè西è£è¤²</a> 1487 </li> 1488 1489 1490 1491 1492 <li > 1493 <a href="/collections/44-56ç¹å¤§å°ºç¢¼è¥¿è¤²" class="site-nav__link">大尺碼西è£è¤²</a> 1494 </li> 1495 1496 1497 </ul> 1498 </li> 1499 1500 1501 1502 1503 1504 <li class="site-nav_has-child"> 1505 <a href="/collections/ä¼éé·è¤²" class="site-nav__link"> 1506 ä¼éé·è¤² 1507 </a> 1508 <ul class="site-nav__dropdown_level-3"> 1509 1510 1511 1512 <li > 1513 <a href="/collections/æ©è½ä¼é褲" class="site-nav__link">æ©è½ä¼é褲</a> 1514 </li> 1515 1516 1517 1518 1519 <li > 1520 <a href="/collections/å·æ¯ä¼é褲" class="site-nav__link">å·æ¯ä¼é褲</a> 1521 </li> 1522 1523 1524 1525 1526 <li > 1527 <a href="/collections/å½åä¼é褲" class="site-nav__link">å½åä¼é褲</a> 1528 </li> 1529 1530 1531 1532 1533 <li > 1534 <a href="/collections/ä¿æçµ¨è¤²" class="site-nav__link">ä¿æçµ¨è¤²</a> 1535 </li> 1536 1537 1538 1539 1540 <li > 1541 <a href="/collections/æ°´æ´ä¼é褲" class="site-nav__link">æ°´æ´ä¼é褲</a> 1542 </li> 1543 1544 1545 1546 1547 <li > 1548 <a href="/collections/ç¹å¤§å°ºç¢¼ä¼é褲" class="site-nav__link">大尺碼ä¼é褲</a> 1549 </li> 1550 1551 1552 </ul> 1553 </li> 1554 1555 1556 1557 1558 1559 <li class="site-nav_has-child"> 1560 <a href="/collections/ä¼éç褲" class="site-nav__link"> 1561 ä¼éç褲 1562 </a> 1563 <ul class="site-nav__dropdown_level-3"> 1564 1565 1566 1567 <li > 1568 <a href="/collections/å½åç褲" class="site-nav__link">å½åç褲</a> 1569 </li> 1570 1571 1572 1573 1574 <li > 1575 <a href="/collections/æ°´æ´ç褲" class="site-nav__link">æ°´æ´ç褲</a> 1576 </li> 1577 1578 1579 1580 1581 <li > 1582 <a href="/collections/æ©è½ç褲" class="site-nav__link">æ©è½ç褲</a> 1583 </li> 1584 1585 1586 1587 1588 <li > 1589 <a href="/collections/æ¶¼æç褲" class="site-nav__link">æ¶¼æç褲</a> 1590 </li> 1591 1592 1593 </ul> 1594 </li> 1595 1596 1597 1598 1599 <li > 1600 <a href="/collections/åè£é·è¤²" class="site-nav__link">åè£é·è¤²</a> 1601 </li> 1602 1603 1604 </ul> 1605 </li> 1606 1607 1608 1609 1610 1611 <li class="site-nav--has-dropdown" aria-haspopup="true"> 1612 <a href="/collections/å¤å¥" class="site-nav__link"> 1613 å¤å¥
1614 <span class="arrow-icon"> 1615 <svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><title>arrow down</title><path d="M50,78.18A7.35,7.35,0,0,1,44.82,76L3.15,34.36A7.35,7.35,0,1,1,13.55,24L50,60.44,86.45,24a7.35,7.35,0,1,1,10.4,10.4L55.21,76A7.32,7.32,0,0,1,50,78.18Z"/></svg> 1616 </span> 1617 </a> 1618 <ul class="site-nav__dropdown"> 1619 1620 1621 1622 1623 <li class="site-nav_has-child"> 1624 <a href="/collections/夾å " class="site-nav__link"> 1625 夾å 1626 </a> 1627 <ul class="site-nav__dropdown_level-3"> 1628 1629 1630 1631 <li > 1632 <a href="/collections/è夾å " class="site-nav__link">è夾å </a> 1633 </li> 1634 1635 1636 1637 1638 <li > 1639 <a href="/collections/è»æ®¼è¡£" class="site-nav__link">è»æ®¼è¡£</a> 1640 </li> 1641 1642 1643 1644 1645 <li > 1646 <a href="/collections/ä¿æå¤å¥" class="site-nav__link">ä¿æå¤å¥</a> 1647 </li> 1648 1649 1650 1651 1652 <li > 1653 <a href="/collections/è¡éè¡£" class="site-nav__link">è¡éå¤å¥</a> 1654 </li> 1655 1656 1657 1658 1659 <li > 1660 <a href="/collections/羽絨å¤å¥" class="site-nav__link">羽絨å¤å¥</a> 1661 </li> 1662 1663 1664 </ul> 1665 </li> 1666 1667 1668 1669 1670 1671 <li class="site-nav_has-child"> 1672 <a href="/collections/èå¿" class="site-nav__link"> 1673 èå¿ 1674 </a> 1675 <ul class="site-nav__dropdown_level-3"> 1676 1677 1678 1679 <li > 1680 <a href="/collections/å¤å£è¢èå¿" class="site-nav__link">å¤å£è¢èå¿</a> 1681 </li> 1682 1683 1684 1685 1686 <li > 1687 <a href="/collections/éªæ£èå¿" class="site-nav__link">éªæ£èå¿</a> 1688 </li> 1689 1690 1691 1692 1693 <li > 1694 <a href="/collections/羽絨èå¿" class="site-nav__link">羽絨èå¿</a> 1695 </li> 1696 1697 1698 1699 1700 <li > 1701 <a href="/collections/éç¹èå¿" class="site-nav__link">éç¹èå¿</a> 1702 </li> 1703 1704 1705 </ul> 1706 </li> 1707 1708 1709 1710 1711 1712 <li class="site-nav_has-child"> 1713 <a href="/collections/-å¤å¥" class="site-nav__link"> 1714 å¤å¥ 1715 </a> 1716 <ul class="site-nav__dropdown_level-3"> 1717 1718 1719 1720 <li > 1721 <a href="/collections/æ¯æå¤§è¡£" class="site-nav__link">æ¯æå¤§è¡£</a> 1722 </li> 1723 1724 1725 1726 1727 <li > 1728 <a href="/collections/ä¼é西è£-çµè£" class="site-nav__link">ä¼é西è£</a> 1729 </li> 1730 1731 1732 1733 1734 <li > 1735 <a href="/collections/ä¼éçµè£" class="site-nav__link">ä¼éçµè£</a> 1736 </li> 1737 1738 1739 </ul> 1740 </li> 1741 1742 1743 </ul> 1744 </li> 1745 1746 1747 1748 1749 <li > 1750 <a href="/collections/æå¥è¥¿æ-1" class="site-nav__link">æå¥è¥¿æ</a> 1751 </li> 1752 1753 1754 1755 1756 1757 <li class="site-nav--has-dropdown" aria-haspopup="true"> 1758 <a href="/collections/å®ç¶²éå®åªæ " class="site-nav__link"> 1759 ðå®ç¶²éå®åªæ
1760 <span class="arrow-icon"> 1761 <svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><title>arrow down</title><path d="M50,78.18A7.35,7.35,0,0,1,44.82,76L3.15,34.36A7.35,7.35,0,1,1,13.55,24L50,60.44,86.45,24a7.35,7.35,0,1,1,10.4,10.4L55.21,76A7.32,7.32,0,0,1,50,78.18Z"/></svg> 1762 </span> 1763 </a> 1764 <ul class="site-nav__dropdown"> 1765 1766 1767 1768 <li > 1769 <a href="/collections/襯衫西褲任é¸2ä»¶79æ" class="site-nav__link">襯衫西褲任é¸2ä»¶79æ</a> 1770 </li> 1771 1772 1773 1774 1775 1776 <li class="site-nav_has-child"> 1777 <a href="/collections/ç¹æ å®å-5æèµ·" class="site-nav__link"> 1778 ç¹æ å®å 5æèµ· 1779 </a> 1780 <ul class="site-nav__dropdown_level-3"> 1781 1782 1783 1784 <li > 1785 <a href="/collections/å¤å¥-ä¿" class="site-nav__link">å¤å¥-ä¿</a> 1786 </li> 1787 1788 1789 1790 1791 <li > 1792 <a href="/collections/襯衫-ä¿" class="site-nav__link">襯衫-ä¿</a> 1793 </li> 1794 1795 1796 1797 1798 <li > 1799 <a href="/collections/西褲-ä¿" class="site-nav__link">西褲-ä¿</a> 1800 </li> 1801 1802 1803 1804 1805 <li > 1806 <a href="/collections/ä¼éé·è¤²-ä¿" class="site-nav__link">ä¼éé·è¤²-ä¿</a> 1807 </li> 1808 1809 1810 1811 1812 <li > 1813 <a href="/collections/æ©è½è¤²-ä¿" class="site-nav__link">æ©è½è¤²-ä¿</a> 1814 </li> 1815 1816 1817 1818 1819 <li > 1820 <a href="/collections/ç褲-ä¿" class="site-nav__link">ç褲-ä¿</a> 1821 </li> 1822 1823 1824 </ul> 1825 </li> 1826 1827 1828 </ul> 1829 </li> 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844</ul> 1845 1846 </div> 1847 1848 <div class="desktop-header-nav medium-down--hide"> 1849 1850 1851 <div class="header-subnav"> 1852 1853 1854 1855 1856 1857 1858 1859 <div class="header-icon-nav"> 1860 1861 1862 1863 1864 1865 1866 1867 1868 <div class="header-bar__module"> 1869 1870 <a class="popup-with-form" href="#search-form"> 1871 1872 1873 1874 1875 <svg class="icon-search svg-icon" id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><title>icon-search</title><path d="M68.5,65.87a35.27,35.27,0,1,0-5.4,4.5l23.11,23.1a3.5,3.5,0,1,0,5-4.94ZM14.82,41A28.47,28.47,0,1,1,43.28,69.43,28.5,28.5,0,0,1,14.82,41Z"/></svg> 1876 1877 1878 1879 </a> 1880 1881 1882 1883<!-- form itself --> 1884<div id="search-form" class="white-popup-block mfp-hide popup-search"> 1885 <div class="popup-search-content"> 1886 <form action="/search" method="get" class="input-group search-bar" role="search"> 1887 1888 <input type="search" name="q" value="" placeholder="æå°" class="input-group-field" aria-label="æå°" placeholder="æå°" autocomplete="off"> 1889 <div class="dropdown" id="searchDropdown"></div> 1890 <input type="hidden" name="search_history" id="search_history"> 1891 <span class="input-group-btn"> 1892 <button type="submit" class="btn icon-fallback-text"> 1893 <span class="icon icon-search" aria-hidden="true"></span> 1894 <span class="fallback-text">æå°</span> 1895 </button> 1896 </span> 1897 </form> 1898 </div> 1899</div> 1900
1901<script src="https://store-themes.easystore.co/263036/themes/2877/assets/magnific-popup.min.js?t=1791351859" type="text/javascript" ></script>
vendor: 1 bytes, line 1901
1901
1902<script> 1903$(document).ready(function() { 1904 $('.popup-with-form').magnificPopup({ 1905 type: 'inline', 1906 preloader: false, 1907 focus: '#name', 1908 mainClass: 'popup-search-bg-wrapper', 1909 1910 // When elemened is focused, some mobile browsers in some cases zoom in 1911 // It looks not nice, so we disable it: 1912 callbacks: { 1913 beforeOpen: function() { 1914 if($(window).width() < 700) { 1915 this.st.focus = false; 1916 } else { 1917 this.st.focus = '#name'; 1918 } 1919 } 1920 } 1921 }); 1922 $('.popup-search-content').click(function(event) { 1923 if($(event.target).attr('class') == "popup-search-content") { 1924 $.magnificPopup.close(); 1925 } 1926 }); 1927}); 1928</script>
1928 1929 1930
1931<script> 1932 var _search_history_listings = "" 1933 if(_search_history_listings != "") localStorage.setItem('searchHistory', JSON.stringify(_search_history_listings)); 1934 1935 function clearAll() { 1936 localStorage.removeItem('searchHistory'); 1937 1938 var customer = ""; 1939 if(customer) { 1940 // Your logic to clear all data or call an endpoint 1941 fetch('/account/search_histories', { 1942 method: 'DELETE', 1943 headers: { 1944 "Content-Type": "application/json", 1945 "X-Requested-With": "XMLHttpRequest" 1946 }, 1947 body: JSON.stringify({ 1948 _token: "3M4W2kjIXKG5zp0UxLBaFbvioeCMNFlv6vjvvtrX" 1949 }), 1950 }) 1951 .then(response => response.json()) 1952 } 1953 } 1954 // End - store view history in local storage 1955 1956 // search history dropdown 1957 var searchInputs = document.querySelectorAll('input[type=search]'); 1958 1959 if(searchInputs.length > 0) { 1960 1961 searchInputs.forEach((searchInput)=>{ 1962 1963 searchInput.addEventListener('focus', function() { 1964 var searchDropdown = searchInput.closest('form').querySelector('#searchDropdown'); 1965 searchDropdown.innerHTML = ''; // Clear existing items 1966 1967 // retrieve data from local storage 1968 var searchHistoryData = JSON.parse(localStorage.getItem('searchHistory')) || []; 1969 1970 // Convert JSON to string 1971 var search_history_json = JSON.stringify(searchHistoryData); 1972 1973 // Set the value of the hidden input 1974 searchInput.closest('form').querySelector("#search_history").value = search_history_json; 1975 1976 // create dropdown items 1977 var clearAllItem = document.createElement('div'); 1978 clearAllItem.className = 'dropdown-item clear-all'; 1979 clearAllItem.textContent = 'Clear'; 1980 clearAllItem.addEventListener('click', function() { 1981 clearAll(); 1982 searchDropdown.style.display = 'none'; 1983 searchInput.classList.remove('is-focus'); 1984 }); 1985 searchDropdown.appendChild(clearAllItem); 1986 1987 // create dropdown items 1988 searchHistoryData.forEach(function(item) { 1989 var dropdownItem = document.createElement('div'); 1990 dropdownItem.className = 'dropdown-item'; 1991 dropdownItem.textContent = item.term; 1992 dropdownItem.addEventListener('click', function() { 1993 searchInput.value = item.term; 1994 searchDropdown.style.display = 'none'; 1995 }); 1996 searchDropdown.appendChild(dropdownItem); 1997 }); 1998 1999 if(searchHistoryData.length > 0){ 2000 // display the dropdown 2001 searchInput.classList.add('is-focus'); 2002 document.body.classList.add('search-input-focus'); 2003 searchDropdown.style.display = 'block'; 2004 } 2005 }); 2006 2007 searchInput.addEventListener("focusout", (event) => { 2008 var searchDropdown = searchInput.closest('form').querySelector('#searchDropdown'); 2009 searchInput.classList.remove('is-focus'); 2010 searchDropdown.classList.add('transparent'); 2011 setTimeout(()=>{ 2012 searchDropdown.style.display = 'none'; 2013 searchDropdown.classList.remove('transparent'); 2014 document.body.classList.remove('search-input-focus'); 2015 }, 400); 2016 }); 2017 }) 2018 } 2019 // End - search history dropdown 2020</script>
2020 2021 </div> 2022 2023 2024 2025 2026 2027 2028 2029 <div class="header-bar__module dropdown-wrapper"> 2030 2031 <a href="/account/login"> 2032 2033 2034 2035 <svg class="svg-icon" id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><title>icon-profile</title><path d="M50,51.8A24.4,24.4,0,1,0,25.6,27.4,24.43,24.43,0,0,0,50,51.8ZM50,10A17.4,17.4,0,1,1,32.6,27.4,17.43,17.43,0,0,1,50,10Z"/><path d="M62.66,57.66H37.34a30.54,30.54,0,0,0-30.5,30.5V93.5a3.5,3.5,0,0,0,3.5,3.5H89.66a3.5,3.5,0,0,0,3.5-3.5V88.16A30.54,30.54,0,0,0,62.66,57.66ZM86.16,90H13.84V88.16a23.53,23.53,0,0,1,23.5-23.5H62.66a23.53,23.53,0,0,1,23.5,23.5Z"/></svg> 2036 2037 2038</a> 2039 2040 <!-- Referral Notification Popup for Desktop --> 2041 <div id="referralNotification" class="referral-notification" style="display: none;"> 2042 <button class="close-btn" onclick="dismissReferralNotification()">×</button> 2043 <div style="text-align: center; margin-bottom: 16px;"> 2044 <div style="width: 100px; height: 100px; margin: 0 auto;"> 2045 <img src="https://resources.easystore.co/storefront/icons/channels/vector_referral_program.svg"> 2046 </div> 2047 </div> 2048 <p id="referralSignupMessage" style="text-align: center; font-size: 14px; color: #666; margin: 0 0 20px 0;"> 2049 æ¨ç好å鿍 åé¥éï¼ç«å³è¨»åé åã 2050 </p> 2051 <div style="text-align: center;"> 2052 <button class="btn" onclick="goToSignupPage()" style="width: 100%; color: #fff;"> 2053 註å 2054 </button> 2055 </div> 2056 </div> 2057 2058 </div> 2059 2060 2061 <div class="header-bar__module cart-page-link-wrapper"> 2062 <span class="header-bar__sep" aria-hidden="true"></span> 2063 <a class="CartDrawerTrigger cart-page-link"> 2064 2065 2066 2067 2068 <svg class="svg-icon" id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><title>icon-bag</title><path d="M91.78,93.11,84.17,24.44a3.5,3.5,0,0,0-3.48-3.11H69.06C67.53,10.94,59.57,3,50,3S32.47,10.94,30.94,21.33H19.31a3.5,3.5,0,0,0-3.48,3.11L8.22,93.11A3.49,3.49,0,0,0,11.69,97H88.31a3.49,3.49,0,0,0,3.47-3.89ZM50,10c5.76,0,10.6,4.83,12,11.33H38.05C39.4,14.83,44.24,10,50,10ZM15.6,90l6.84-61.67h8.23v9.84a3.5,3.5,0,0,0,7,0V28.33H62.33v9.84a3.5,3.5,0,0,0,7,0V28.33h8.23L84.4,90Z"/></svg> 2069 2070 2071 2072 <span class="cart-count header-bar__cart-count hidden-count">0</span> 2073 </a> 2074 </div> 2075 2076 </div> 2077 </div> 2078 2079 2080 2081 </div> 2082 2083 <div class="mobile-header-icons large--hide"> 2084 2085 <div class="large--hide"> 2086 2087 <a class="popup-with-form" href="#search-form"> 2088 2089 2090 2091 2092 <svg class="icon-search svg-icon" id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><title>icon-search</title><path d="M68.5,65.87a35.27,35.27,0,1,0-5.4,4.5l23.11,23.1a3.5,3.5,0,1,0,5-4.94ZM14.82,41A28.47,28.47,0,1,1,43.28,69.43,28.5,28.5,0,0,1,14.82,41Z"/></svg> 2093 2094 2095 2096 </a> 2097 2098 2099 2100<!-- form itself --> 2101<div id="search-form" class="white-popup-block mfp-hide popup-search"> 2102 <div class="popup-search-content"> 2103 <form action="/search" method="get" class="input-group search-bar" role="search"> 2104 2105 <input type="search" name="q" value="" placeholder="æå°" class="input-group-field" aria-label="æå°" placeholder="æå°" autocomplete="off"> 2106 <div class="dropdown" id="searchDropdown"></div> 2107 <input type="hidden" name="search_history" id="search_history"> 2108 <span class="input-group-btn"> 2109 <button type="submit" class="btn icon-fallback-text"> 2110 <span class="icon icon-search" aria-hidden="true"></span>
2111 <span class="fallback-text">æå°</span> 2112 </button> 2113 </span> 2114 </form> 2115 </div> 2116</div> 2117
2118<script src="https://store-themes.easystore.co/263036/themes/2877/assets/magnific-popup.min.js?t=1791351859" type="text/javascript" ></script>
vendor: 1 bytes, line 2118
2118
2119<script> 2120$(document).ready(function() { 2121 $('.popup-with-form').magnificPopup({ 2122 type: 'inline', 2123 preloader: false, 2124 focus: '#name', 2125 mainClass: 'popup-search-bg-wrapper', 2126 2127 // When elemened is focused, some mobile browsers in some cases zoom in 2128 // It looks not nice, so we disable it: 2129 callbacks: { 2130 beforeOpen: function() { 2131 if($(window).width() < 700) { 2132 this.st.focus = false; 2133 } else { 2134 this.st.focus = '#name'; 2135 } 2136 } 2137 } 2138 }); 2139 $('.popup-search-content').click(function(event) { 2140 if($(event.target).attr('class') == "popup-search-content") { 2141 $.magnificPopup.close(); 2142 } 2143 }); 2144}); 2145</script>
2145 2146 2147
2148<script> 2149 var _search_history_listings = "" 2150 if(_search_history_listings != "") localStorage.setItem('searchHistory', JSON.stringify(_search_history_listings)); 2151 2152 function clearAll() { 2153 localStorage.removeItem('searchHistory'); 2154 2155 var customer = ""; 2156 if(customer) { 2157 // Your logic to clear all data or call an endpoint 2158 fetch('/account/search_histories', { 2159 method: 'DELETE', 2160 headers: { 2161 "Content-Type": "application/json", 2162 "X-Requested-With": "XMLHttpRequest" 2163 }, 2164 body: JSON.stringify({ 2165 _token: "3M4W2kjIXKG5zp0UxLBaFbvioeCMNFlv6vjvvtrX" 2166 }), 2167 }) 2168 .then(response => response.json()) 2169 } 2170 } 2171 // End - store view history in local storage 2172 2173 // search history dropdown 2174 var searchInputs = document.querySelectorAll('input[type=search]'); 2175 2176 if(searchInputs.length > 0) { 2177 2178 searchInputs.forEach((searchInput)=>{ 2179 2180 searchInput.addEventListener('focus', function() { 2181 var searchDropdown = searchInput.closest('form').querySelector('#searchDropdown'); 2182 searchDropdown.innerHTML = ''; // Clear existing items 2183 2184 // retrieve data from local storage 2185 var searchHistoryData = JSON.parse(localStorage.getItem('searchHistory')) || []; 2186 2187 // Convert JSON to string 2188 var search_history_json = JSON.stringify(searchHistoryData); 2189 2190 // Set the value of the hidden input 2191 searchInput.closest('form').querySelector("#search_history").value = search_history_json; 2192 2193 // create dropdown items 2194 var clearAllItem = document.createElement('div'); 2195 clearAllItem.className = 'dropdown-item clear-all'; 2196 clearAllItem.textContent = 'Clear'; 2197 clearAllItem.addEventListener('click', function() { 2198 clearAll(); 2199 searchDropdown.style.display = 'none'; 2200 searchInput.classList.remove('is-focus'); 2201 }); 2202 searchDropdown.appendChild(clearAllItem); 2203 2204 // create dropdown items 2205 searchHistoryData.forEach(function(item) { 2206 var dropdownItem = document.createElement('div'); 2207 dropdownItem.className = 'dropdown-item'; 2208 dropdownItem.textContent = item.term; 2209 dropdownItem.addEventListener('click', function() { 2210 searchInput.value = item.term; 2211 searchDropdown.style.display = 'none'; 2212 }); 2213 searchDropdown.appendChild(dropdownItem); 2214 }); 2215 2216 if(searchHistoryData.length > 0){ 2217 // display the dropdown 2218 searchInput.classList.add('is-focus'); 2219 document.body.classList.add('search-input-focus'); 2220 searchDropdown.style.display = 'block'; 2221 } 2222 }); 2223 2224 searchInput.addEventListener("focusout", (event) => { 2225 var searchDropdown = searchInput.closest('form').querySelector('#searchDropdown'); 2226 searchInput.classList.remove('is-focus'); 2227 searchDropdown.classList.add('transparent'); 2228 setTimeout(()=>{ 2229 searchDropdown.style.display = 'none'; 2230 searchDropdown.classList.remove('transparent'); 2231 document.body.classList.remove('search-input-focus'); 2232 }, 400); 2233 }); 2234 }) 2235 } 2236 // End - search history dropdown 2237</script>
2237 2238 </div> 2239 2240 2241 <!-- Mobile cart --> 2242 <div class="large--hide"> 2243 <a class="CartDrawerTrigger cart-page-link mobile-cart-page-link"> 2244 2245 2246 2247 2248 <svg class="svg-icon" id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><title>icon-bag</title><path d="M91.78,93.11,84.17,24.44a3.5,3.5,0,0,0-3.48-3.11H69.06C67.53,10.94,59.57,3,50,3S32.47,10.94,30.94,21.33H19.31a3.5,3.5,0,0,0-3.48,3.11L8.22,93.11A3.49,3.49,0,0,0,11.69,97H88.31a3.49,3.49,0,0,0,3.47-3.89ZM50,10c5.76,0,10.6,4.83,12,11.33H38.05C39.4,14.83,44.24,10,50,10ZM15.6,90l6.84-61.67h8.23v9.84a3.5,3.5,0,0,0,7,0V28.33H62.33v9.84a3.5,3.5,0,0,0,7,0V28.33h8.23L84.4,90Z"/></svg> 2249 2250 2251 2252 <span class="cart-count hidden-count">0</span> 2253 </a> 2254 </div> 2255 2256 <!-- Mobile hamburger --> 2257 <div class="large--hide"> 2258 <a class="mobile-nav-trigger MobileNavTrigger"> 2259 2260 2261 2262 2263 <svg class="svg-icon" id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><title>icon-nav-menu</title><path d="M6.7,26.34H93a3.5,3.5,0,0,0,0-7H6.7a3.5,3.5,0,0,0,0,7Z"/><path d="M93.3,46.5H7a3.5,3.5,0,0,0,0,7H93.3a3.5,3.5,0,1,0,0-7Z"/><path d="M93.3,73.66H7a3.5,3.5,0,1,0,0,7H93.3a3.5,3.5,0,0,0,0-7Z"/></svg> 2264 2265 2266 2267 </a> 2268 </div> 2269 2270 2271 2272 <!-- Referral Notification Modal for Mobile --> 2273 <details-modal class="referral-modal" id="referralMobileModal"> 2274 <details> 2275 <summary class="referral-modal__toggle" aria-haspopup="dialog" aria-label="Open referral modal" style="display: none;"> 2276 </summary> 2277 <div class="modal-overlay referral-modal-overlay"></div> 2278 <div class="referral-modal__dialog" role="dialog" aria-modal="true" aria-label="Referral notification"> 2279 <div class="referral-modal__content"> 2280 <button type="button" class="modal__close-button" aria-label="Close" onclick="closeMobileReferralModal()" style="position: absolute; top: 16px; right: 16px; background: none; border: none; font-size: 24px; cursor: pointer;"> 2281 × 2282 </button> 2283 2284 <div style="margin-bottom: 24px;"> 2285 <div style="width: 120px; height: 120px; margin: 0 auto 20px;"> 2286 <img src="https://resources.easystore.co/storefront/icons/channels/vector_referral_program.svg" style="width: 100%; height: 100%;"> 2287 </div> 2288 </div> 2289 2290 <p id="referralSignupMessageMobile" style="font-size: 16px; color: #333; margin: 0 0 30px 0; line-height: 1.5;"> 2291 æ¨ç好å鿍 åé¥éï¼ç«å³è¨»åé åã 2292 </p> 2293 2294 <button type="button" class="btn" onclick="goToSignupPageFromMobile()" style="width: 100%; color: #fff;"> 2295 註å 2296 </button> 2297 </div> 2298 </div> 2299 </details> 2300 </details-modal> 2301 2302 2303 2304 </div> 2305 2306 2307 </div> 2308 </div> 2309</header> 2310 2311 2312 2313 2314 2315 2316 2317 <main class="wrapper main-content" role="main"> 2318 <div class="grid"> 2319 <div class="grid__item"> 2320 2321 2322 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.5.0/css/font-awesome.min.css"> 2323<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.css"> 2324<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700" rel="stylesheet"> 2325<link rel="stylesheet" href="https://apps.easystore.co/assets/css/contact-form/cf-style.css"> 2326 2327<div> 2328 <div class="cf-wrapper" style="background-color:#dddddd"> 2329 2330 <form method="post" action="/a/contact-form"> 2331 <input type="hidden" name="_request_id" value="YmmsTM5dBG94DNvmypxIfiHhsbZws974RjST9UTU"> 2332 <input type="hidden" name="_token" value="YqBqAODMcSx3zZ2sqxEo2obb1V0DidT4EvjLJX3R"> 2333 <h2 class="cf-title">ç·ä¸çè¨</h2> 2334 <p>How can we help you?</p> 2335 <div class="cf-form-group"> 2336 <div class="cf-input-style"> 2337 <input class="cf-form-control" type="text" name="name" placeholder="å§å" required>
2338 <span class="fa fa-user"></span> 2339 </div> 2340 <div class="cf-input-style"> 2341 <input class="cf-form-control" type="text" name="email" placeholder="Email" required> 2342 <span class="fa fa-envelope"></span> 2343 </div> 2344 </div> 2345 <div class="cf-input-style"> 2346 <input class="cf-form-control" type="text" name="subject" placeholder="主æ¨" required> 2347 <span class="fa fa-at"></span> 2348 </div> 2349 <div class="cf-input-style"> 2350 <textarea class="cf-form-control" style="min-height: 130px;" name="message" placeholder="Message..." required></textarea> 2351 <span class="fa fa-pencil"></span> 2352 </div> 2353 <div style="height:0px; width:0px; font-size:0px"> 2354 <input type="checkbox" id="terms" name="terms" value="1"> 2355 <label for="terms">I agree to the terms and conditions</label> 2356 </div> 2357 <div class="cf-input-style"> 2358 <div class="g-recaptcha" id="recaptcha" data-sitekey="6LfAbM8qAAAAAOq3v7m5SqKdl34JMqaYllwYz9Yd"></div> 2359 </div> 2360 <div class="cf-form-group justify-right"> 2361 <button class="cf-btn" id="send_btn" disabled><span aria-hidden="true" class="fa fa-send"></span>éåº</button> 2362 </div> 2363 </form> 2364 2365
2365<script type="text/javascript"> 2366 var verifyCallback = function(response) { 2367 document.getElementById("send_btn").disabled = false; 2368 }; 2369 var onloadCallback = function() { 2370 grecaptcha.render('recaptcha', { 2371 'sitekey' : '6LfAbM8qAAAAAOq3v7m5SqKdl34JMqaYllwYz9Yd', 2372 'callback' : verifyCallback, 2373 'theme' : 'light', 2374 'hl': 'en' 2375 }); 2376 }; 2377 </script>
vendor: 159 bytes, lines 2377-2384
2377 2378 <script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit"async defer></script> 2379 2380 2381 2382 2383 2384
2384</div> 2385 </div> 2386 2387 2388 2389 </main> 2390 2391 <footer class="site-footer small--text-center" role="contentinfo"> 2392 2393 2394 2395 <div class="wrapper"> 2396 2397 <div class="grid-uniform"> 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 <div class="grid__item large--one-half "> 2421 <a href="/" class="logo-wrapper" itemprop="url" > 2422 2423 <img style="max-width: 250px" src="https://cdn.store-assets.com/s/263036/f/6735337.png?width=1200" alt="GIBBON åæè¥¿æ" itemprop="logo"> 2424 2425 </a> 2426 <p class="site-footer__links">Copyright © 2025 WEEDEN INTERNATIONAL CO., LTD.</p> 2427 </div> 2428 2429 2430 <div class="grid__item large--one-quarter medium--one-half"> 2431 2432 <h4>å¿«éé£çµ</h4> 2433 2434 <ul class="site-footer__links"> 2435 2436 <li><a href="/pages/è³¼ç©èªªæ" >è³¼ç©èªªæ</a></li> 2437 2438 <li><a href="/pages/è¯çµ¡æå" >è¯çµ¡æå</a></li> 2439 2440 <li><a href="/a/contact-form" >ç·ä¸çè¨</a></li> 2441 2442 2443 </ul> 2444 </div> 2445 2446 2447 2448 <div class="grid__item large--one-quarter medium--one-half"> 2449 <h4>éæ³¨æå</h4> 2450 2451 <ul class="inline-list social-icons"> 2452 2453 2454 <li> 2455 <a class="icon-fallback-text" href="https://www.facebook.com/" title="GIBBON åæè¥¿æå¨Facebookä¸" target="_blank"> 2456 2457 2458 2459 2460 <svg xmlns="http://www.w3.org/2000/svg" class="facebook-icon-svg social-icon-svg" viewBox="0 0 1024 1024"> 2461 <title>icon-facebook</title> 2462 <path d="M837.66,223.9a33.73,33.73,0,0,0-3.11-15c-6.78-13.85-17.87-21.09-33.37-21.09q-288.46,0-576.91,0c-.62,0-1.24,0-1.85,0a34.51,34.51,0,0,0-25.88,12.11c-6.31,7.13-8.85,15.57-8.85,25.07q.08,287.7,0,575.4c0,1,0,1.9,0,2.86A32.93,32.93,0,0,0,190,814.71c4.45,11.79,16.3,23.11,35,23.1q153.61-.1,307.24,0c2.36,0,2.36,0,2.36-2.37q0-123.3,0-246.6c0-2.55,0-2.55-2.53-2.55H452.27c-2.26,0-2.26,0-2.26-2.17v-96.3h84.63v-2.46c0-22.12-.11-44.24.06-66.36.07-8.29.57-16.59,1.28-24.85a129.58,129.58,0,0,1,7.43-33c10.86-30,30.59-51.74,60-64.51A133.44,133.44,0,0,1,653,285.82c12.45-.37,24.93,0,37.38.34,9.64.27,19.27.95,28.9,1.6,5.36.36,10.7,1.07,16.06,1.5,1.46.12,1.65.75,1.65,2q0,42.2,0,84.39c0,.59-.06,1.18-.09,1.85h-2.39c-16.28,0-32.56,0-48.84.05-7.63,0-15.23.54-22.65,2.61-11.61,3.23-19.86,10.09-23.65,21.78a55.66,55.66,0,0,0-2.74,16.86c-.14,22.23-.1,44.47-.13,66.7,0,2.25,0,2.25,2.31,2.25h94.66a15.13,15.13,0,0,1,0,1.54c-.38,2.94-.81,5.88-1.18,8.82-1.17,9.16-2.3,18.33-3.48,27.5-1.29,10-2.63,20-3.94,30-1.23,9.44-2.43,18.88-3.67,28.32-.31,2.32-.35,2.32-2.78,2.32h-79a4.62,4.62,0,0,0-1.67,0,2.5,2.5,0,0,0-1.2,1.16,3.68,3.68,0,0,0,0,1.49V835.21c0,2.56,0,2.56,2.53,2.56H797.83c2.13,0,4.27-.07,6.39-.21,11.56-.78,20.61-6.07,27.23-15.48,4.66-6.6,6.24-14.09,6.24-22.11q-.06-287.19,0-574.38Z" fill="#999"/> 2463 </svg> 2464 2465 2466 2467 <span class="fallback-text">Facebook</span> 2468 </a> 2469 </li> 2470 2471 2472 2473 <li> 2474 <a class="icon-fallback-text" href="https://instagram.com/" title="GIBBON åæè¥¿æå¨Instagramä¸" target="_blank"> 2475 2476 2477 2478 2479 <svg xmlns="http://www.w3.org/2000/svg" class="instagram-icon-svg social-icon-svg" viewBox="0 0 1024 1024"> 2480 <title>icon-instagram</title> 2481 <path d="M834.35,341.22a231.23,231.23,0,0,0-9.59-46.45,166.71,166.71,0,0,0-52.17-78.33c-17-14.41-36.33-24.44-57.44-31.3-21.52-7-43.69-10.21-66.19-11.12-22.28-.9-44.58-1.73-66.87-1.85-47.68-.26-95.37-.16-143.06,0-27.47.11-54.95.69-82.32,3.39a220.7,220.7,0,0,0-37.43,6.95c-26.2,7.26-50,19-70.24,37.45-18.06,16.4-32.3,35.52-41.87,58.05-9.89,23.29-15.13,47.68-16.69,72.82-1.23,19.78-2.06,39.6-2.32,59.41-.38,28.91-.1,57.82-.1,86.73-.23,39.92-.67,79.85,1,119.76.72,17.66,1.57,35.3,4.6,52.76,3.22,18.52,8.32,36.51,16.71,53.34C232.83,768,268.81,797,317.12,811a246.28,246.28,0,0,0,59.24,9.11c25.3.95,50.63,1.78,75.95,1.94,43.83.28,87.66.1,131.5,0,26-.08,52.08-.72,78.06-2.74a234.52,234.52,0,0,0,45.76-8c24.54-6.92,46.82-18.12,66.22-34.79,24.65-21.17,41.5-47.44,51.3-78.36,6.7-21.14,9.83-42.88,10.73-64.94.9-21.84,1.73-43.69,1.82-65.55q.33-78.21-.15-156.44C837.42,387.82,836.72,364.47,834.35,341.22Zm-55.3,232.84c-.12,20.41-1,40.84-2,61.24-1,19.2-4.13,38.08-11.74,55.92q-18.43,43.24-62.47,60c-14.36,5.48-29.3,8.3-44.55,9.53-27.07,2.18-54.21,2.63-81.36,2.73-21.31.07-42.62,0-63.93,0v-.16c-28.47,0-56.94.22-85.4-.09-17.5-.18-35-1-52.49-1.89-19.94-1-39.51-4.31-57.95-12.38q-41.6-18.2-58-60.68a162.37,162.37,0,0,1-9.95-45.62c-2-24.66-2.62-49.38-2.66-74.1-.09-50.88-.16-101.77.12-152.65.11-19,1-38.09,2-57.11a180,180,0,0,1,8.78-48.23c8.32-24.84,23.63-44.14,45.66-58.12,11.78-7.48,24.85-11.91,38.36-15,15.57-3.61,31.43-4.65,47.34-5.32,54.32-2.28,108.68-1.46,163-1.5,18.67,0,37.34.12,56,.56,15.84.38,31.7,1,47.51,2,18.33,1.18,36.27,4.59,53.19,12q41.67,18.25,58.1,60.83c5.67,14.7,8.64,30,9.91,45.63,2,25,2.63,50,2.67,75.09C779.25,475.82,779.35,524.94,779.05,574.06Z" fill="#999"/><path d="M513,330.12c-92-.34-167,74.55-167.08,166.87s74.71,167,167,167A166.86,166.86,0,0,0,679.77,497.12C679.87,405,605.46,330.45,513,330.12Zm-.29,275.31A108.38,108.38,0,1,1,621.21,497.15,108.38,108.38,0,0,1,512.7,605.43Z" fill="#999"/><path d="M686.47,284.5a39,39,0,1,0,38.92,39.14A39,39,0,0,0,686.47,284.5Z" fill="#999"/> 2482 </svg> 2483 2484 2485
2486 <span class="fallback-text">Instagram</span> 2487 </a> 2488 </li> 2489 2490 2491 2492 <li> 2493 <a class="icon-fallback-text" href="https://www.youtube.com/" title="GIBBON åæè¥¿æå¨YouTubeä¸" target="_blank"> 2494 2495 2496 2497 2498 <svg xmlns="http://www.w3.org/2000/svg" class="youtube-icon-svg social-icon-svg" viewBox="0 0 1024 1024"> 2499 <title>icon-youtube</title> 2500 <path d="M870.81,327.93c-7.44-35.32-28.1-59.52-60.39-71.9-16.32-6.27-33.58-8-50.71-9.35-31.74-2.54-63.52-4.94-95.32-6.05q-68.85-2.41-137.75-2.8c-75.45-.43-150.91.42-226.25,5.31a672.25,672.25,0,0,0-68,7.84c-35.52,6-75.56,36.22-83.33,86.62a946.72,946.72,0,0,0-10.15,116.2c-1.48,49.67-1.33,99.34,1.42,149,1.57,28.34,4.16,56.51,9,84.49,6.1,35.11,25.46,59,54.45,75.29,17.17,9.66,36,12.91,54.91,14.37,38.69,3,77.44,5.58,116.21,7,42.47,1.56,85,1.63,127.49,2.35v-.91c27.2,0,54.4.26,81.6-.06,59.05-.68,118.09-1.91,176.89-8.23,14.61-1.57,29.51-3.48,43.44-8.06,29.6-9.75,52.29-29.47,63.23-60.8,5.32-15.27,7.62-31.93,9.82-48.18,5.81-43.06,7.61-86.47,8.39-129.92a1196.45,1196.45,0,0,0-5.15-133.62C878.49,373.5,875.55,350.44,870.81,327.93ZM440.45,633.7V390L627.17,511.81Z" fill="#999"/> 2501 </svg> 2502 2503 2504 2505 <span class="fallback-text">YouTube</span> 2506 </a> 2507 </li> 2508 2509 2510 2511 2512 2513 2514 2515</ul> 2516 2517 </div> 2518 2519 </div> 2520 2521 <hr class="hr--small hr--clear"> 2522 2523 2524 <div class="grid"> 2525 2526 <div class="grid__item text-center"> 2527 <ul class="inline-list payment-icons"> 2528 2529 <li> 2530 <span class="icon-fallback-text"> 2531 <span class="icon icon-visa" aria-hidden="true"></span> 2532 <span class="fallback-text">Visa</span> 2533 </span> 2534 </li> 2535 2536 2537 <li> 2538 <span class="icon-fallback-text"> 2539 <span class="icon icon-master" aria-hidden="true"></span> 2540 <span class="fallback-text">Master</span> 2541 </span> 2542 </li> 2543 2544 2545 <li> 2546 <span class="icon-fallback-text"> 2547 <span class="icon icon-american_express" aria-hidden="true"></span> 2548 <span class="fallback-text">American Express</span> 2549 </span> 2550 </li> 2551 2552 2553 <li> 2554 <span class="icon-fallback-text"> 2555 <span class="icon icon-jcb" aria-hidden="true"></span> 2556 <span class="fallback-text">JCB</span> 2557 </span> 2558 </li> 2559 2560 2561 2562 </ul> 2563 </div> 2564 2565 2566 2567 <div class="grid__item text-center"> 2568 <ul class="inline-list payment-icons"> 2569 <li> 2570 <img src="https://s3-ap-southeast-1.amazonaws.com/eesb.public/images/payment/ssl_certified.png"> 2571 </li> 2572 </ul> 2573 </div> 2574 2575 </div> 2576 2577 2578 <div class="grid"> 2579 <div class="grid__item text-center"> 2580 2581 2582 <p class="site-footer__links"> 2583 2584 2585 2586 <a href="/legal/æåæ¢æ¬¾">æåæ¢æ¬¾</a> 2587 2588 2589 2590 2591 | <a href="/legal/é±ç§æ¬ä¿è·">é±ç§æ¬ä¿è·</a> 2592 2593 2594 2595 2596 | <a href="/pages/éæè²¨æ¹å¼">éæè²¨æ¹å¼</a> 2597 2598 2599 2600 </p> 2601 2602 </div> 2603 </div> 2604 2605 </div> 2606 </footer> 2607 2608 2609<div class="footer-bar large--hide"> 2610 <div> 2611 2612 2613 2614 2615 2616 2617 <a href="/"> 2618 2619 <img src="https://cdn.easystore.blue/s/201/f/5590.png?width=150&format=webp"/> 2620 2621 <div> 2622 Home 2623 </div> 2624 </a> 2625 2626 2627 2628 2629 2630 2631 2632 2633 <a href="/collections/all"> 2634 2635 <img src="https://cdn.easystore.blue/s/201/f/5591.png?width=150&format=webp"/> 2636 2637 <div> 2638 All products 2639 </div> 2640 </a> 2641 2642 2643 2644 2645 2646 2647 2648 2649 <a href="https://gibbon.com.tw/collections/%E7%89%B9%E6%83%A0%E5%96%AE%E5%93%81-5%E6%8A%98%E8%B5%B7"> 2650 2651 <img src="https://cdn.easystore.blue/s/201/f/5592.png?width=150&format=webp"/> 2652 2653 <div> 2654 Promotions 2655 </div> 2656 </a> 2657 2658 2659 2660 2661 2662 2663 2664 2665 <a href="/account/login"> 2666 2667 <img src="https://cdn.easystore.blue/s/201/f/5593.png?width=150&format=webp"/> 2668 2669 <div> 2670 Account 2671 </div> 2672 </a> 2673 2674 2675 2676 </div> 2677</div> 2678 2679 2680 2681 2682 2683 2684 <div id="scrollTopButton" class="on-right" style="display: none"> 2685 <svg class="svg-icon" id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
2685<path d="M22,18.25a1.21,1.21,0,0,1-.88-.37L12,8.77,2.88,17.88a1.24,1.24,0,0,1-1.76-1.76l10-10a1.24,1.24,0,0,1,1.76,0l10,10a1.24,1.24,0,0,1,0,1.76A1.21,1.21,0,0,1,22,18.25Z"/></svg> 2686 </div> 2687
2687<script> 2688 $( document ).ready(function() { 2689 var winScroll = $(this).scrollTop(), 2690 this_el = $("#scrollTopButton"); 2691 2692 // Header bar 2693 if(winScroll > 400){ 2694 this_el.fadeIn(); 2695 }else{ 2696 this_el.fadeOut(); 2697 } 2698 2699 $("#scrollTopButton").click(function() { 2700 $('html,body').animate({ scrollTop: 0 }); 2701 }); 2702 2703 $(window).scroll(function(){ 2704 var winScroll = $(this).scrollTop(); 2705 2706 // Header bar 2707 if(winScroll > 400){ 2708 this_el.fadeIn(); 2709 }else{ 2710 this_el.fadeOut(); 2711 } 2712 2713 }); 2714 }); 2715 </script>
2715 2716 2717 2718 2719 2720 2721
2721<script src="https://store-themes.easystore.co/263036/themes/2877/assets/fastclick.min.js?t=1791351859" type="text/javascript" ></script>
2721 2722
2722<script src="https://store-themes.easystore.co/263036/themes/2877/assets/timber.js?v1.1?t=1791351859" type="text/javascript" ></script>
2722 2723
2723<script src="https://store-themes.easystore.co/263036/themes/2877/assets/theme.js?t=1791351859" type="text/javascript" ></script>
2723 2724 2725 2726 2727 2728 2729 2730
2731<script src="/assets/currencies.js" type="text/javascript" ></script>
vendor: 1 bytes, line 2731
2731
2732<script src="/assets/jquery.currencies.min.js" type="text/javascript" ></script>
vendor: 1 bytes, line 2732
2732
2733<script src="/assets/currencies_format.js" type="text/javascript" ></script>
2733 2734
2735<script> 2736Currency.format = "money_with_currency_format"; 2737var shopCurrency = 'TWD'; 2738var selectedCurrency = ''; 2739 2740 2741 Currency.convert = function(amount, from, to) { 2742 return amount; 2743 }; 2744 2745 2746if( $.cookie("currency") == null ){ 2747 2748 if( selectedCurrency != false ) { 2749 2750 Currency.convertAll(shopCurrency, selectedCurrency); 2751 jQuery('.selected-currency').text(Currency.currentCurrency); 2752 2753 } 2754 2755} 2756 2757/* Sometimes merchants change their shop currency, let's tell our JavaScript file */ 2758// Currency.moneyFormats[shopCurrency].money_with_currency_format = ""; 2759// Currency.moneyFormats[shopCurrency].money_format = "NT$ {{amount}} "; 2760 2761/* Default currency */ 2762var defaultCurrency = 'TWD'; 2763 2764/* Cookie currency */ 2765var cookieCurrency = Currency.cookie.read(); 2766 2767 cookieCurrency = shopCurrency; 2768 2769$("input[name=current_currency]").val(cookieCurrency); 2770if(cookieCurrency == null){ 2771 cookieCurrency = shopCurrency; 2772 Currency.cookie.write(shopCurrency); 2773} 2774/* Fix for customer account pages */ 2775jQuery('span.money span.money').each(function() { 2776 jQuery(this).parents('span.money').removeClass('money'); 2777}); 2778/* Saving the current price */ 2779jQuery('span.money').each(function() { 2780 jQuery(this).attr('data-currency-TWD', jQuery(this).html()); 2781}); 2782// If there's no cookie. 2783if (cookieCurrency == null) { 2784 if (shopCurrency !== defaultCurrency) { 2785 Currency.convertAll(shopCurrency, defaultCurrency); 2786 } 2787 else { 2788 Currency.currentCurrency = defaultCurrency; 2789 } 2790} 2791// If the cookie value does not correspond to any value in the currency dropdown. 2792else if (jQuery('[name=currencies]').size() && jQuery('[name=currencies] option[value=' + cookieCurrency + ']').size() === 0) { 2793 Currency.currentCurrency = shopCurrency; 2794 Currency.cookie.write(shopCurrency); 2795} 2796else if (cookieCurrency === shopCurrency) { 2797 Currency.currentCurrency = shopCurrency; 2798 Currency.convertAll(shopCurrency, cookieCurrency); 2799} 2800else { 2801 Currency.convertAll(shopCurrency, cookieCurrency); 2802} 2803jQuery('[name=currencies]').val(Currency.currentCurrency).change(function() { 2804 var newCurrency = jQuery(this).val(); 2805 2806 2807 Currency.cookie.write(newCurrency) 2808 if ('app' == 'cart') { 2809 const params = new URLSearchParams(window.location.search); 2810 params.set('delete_cache', 1); 2811 window.location.search = params; 2812 } else { 2813 window.location.reload(); 2814 } 2815 2816}); 2817var original_selectCallback = window.selectCallback; 2818var selectCallback = function(variant, selector) { 2819 var currencies = null; 2820 original_selectCallback(variant, selector); 2821 if(typeof jQuery('[name=currencies]').val() == "undefined"){ 2822 currencies = shopCurrency; 2823 } 2824 else{ 2825 currencies = jQuery('[name=currencies]').val(); 2826 } 2827 Currency.convertAll(shopCurrency, currencies); 2828 jQuery('.selected-currency').text(Currency.currentCurrency); 2829}; 2830$('body').on('ajaxCart.afterCartLoad', function(cart) { 2831 Currency.convertAll(shopCurrency, jQuery('[name=currencies]').val()); 2832 jQuery('.selected-currency').text(Currency.currentCurrency); 2833}); 2834jQuery('.selected-currency').text(Currency.currentCurrency); 2835</script>
2835 2836 2837 2838 2839<!-- Snippet:global/body_end: Product Description Tabs --> 2840<style> 2841 .product-description-tabs{ 2842 color: #000000; 2843 } 2844 .prod-desc-tab-container { 2845 padding: 15px; 2846 margin-right: auto; 2847 margin-left: auto; 2848 background-color: #ffffff; 2849 } 2850 /* Style the list */ 2851 .prod-desc-tab { 2852 list-style-type: none; 2853 margin: 0; 2854 padding: 0; 2855 border-bottom: solid 1px #ddd; 2856 /*overflow: hidden; 2857 border: 1px solid #e6e6e6; 2858 background-color: #fefefe; 2859 border-bottom: 1px solid #ddd;*/ 2860 } 2861 2862 /* Float the list items side by side */ 2863 li.tablinks { 2864 display: inline-block; 2865 border-top: 3px solid transparent; 2866 border-left: 1px solid transparent; 2867 border-right: 1px solid transparent; 2868 margin-bottom: -1px; 2869 margin-right: 3px; 2870 border-radius: 4px 4px 0 0; 2871 background-color: rgba(212,212,212,0.3); 2872 } 2873 2874 /* Style the links inside the list items */ 2875 li.tablinks a { 2876 color: #000000; 2877 cursor: pointer; 2878 margin-right: 2px; 2879 line-height: 1.42857143; 2880 display: block; 2881 padding: 10px 15px; 2882 } 2883 2884 /* Change background color of links on hover */ 2885 li.tablinks:hover { 2886 background-color: #ffffff; 2887 border-bottom-color: transparent; 2888 border-top: 3px solid #ddd; 2889 border-left: 1px solid #ddd; 2890 border-right: 1px solid #ddd; 2891 } /*rgba(212,212,212,0.3)*/ 2892 2893 /* Create an active/current tablink class */ 2894 li.tablinks a:focus, li.tablinks.active{ 2895 border-top: 3px solid #ddd; 2896 border-left: 1px solid #ddd; 2897 border-right: 1px solid #ddd; 2898 background-color: #ffffff; 2899 } 2900 2901 /* Style the tab content */ 2902 .prod-desc-tab-content { 2903 display: none; 2904 padding: 15px 15px; 2905 /*border: 1px solid #ccc;*/ 2906 border-top: none; 2907 clear: both; 2908 -webkit-animation: fadeEffect 1s; 2909 animation: fadeEffect 1s; /* Fading effect takes 1 second */ 2910 } 2911 .prod-desc-tab-content ul{ 2912 list-style-type: disc; 2913 } 2914 2915 /* if user select is_show_title is true, the title will be displayed; if not, hide the title*/ 2916 .prod-desc-tab-content > h2{ 2917 display:none; 2918 } 2919 2920 @-webkit-keyframes fadeEffect { 2921 from {opacity: 0;} 2922 to {opacity: 1;} 2923 } 2924 2925 @keyframes fadeEffect { 2926 from {opacity: 0;} 2927 to {opacity: 1;} 2928 } 2929 2930 .tab_drawer_heading { display: none; } 2931 2932 @media screen and (max-width: 480px) { 2933 .prod-desc-tab { 2934 display: none; 2935 } 2936 2937 2938 .tab_drawer_heading { 2939 background-color: transparent; 2940 color: #000000; 2941 border-bottom: 1px solid #ddd; 2942 margin: 0; 2943 padding: 6px 12px; 2944 display: block; 2945 cursor: pointer; 2946 -webkit-touch-callout: none; 2947 -webkit-user-select: none; 2948 -khtml-user-select: none; 2949 -moz-user-select: none; 2950 -ms-user-select: none; 2951 user-select: none; 2952 position: relative; 2953 } 2954 .tab_drawer_heading:after { 2955 content: ''; 2956 top: 50%; 2957 right: 40px; 2958 position: absolute; 2959 border: solid black; 2960 border-width: 0 3px 3px 0; 2961 display: inline-block; 2962 width: 10px; 2963 height: 10px; 2964 margin-top: -5px; 2965 transform: rotate(45deg); 2966 -webkit-transform: rotate(45deg); 2967 -webkit-transition: all 200ms linear; 2968 -moz-transition: all 200ms linear; 2969 -ms-transition: all 200ms linear; 2970 -o-transition: all 200ms linear; 2971 transition: all 200ms linear; 2972 } 2973 .d_active { 2974 background-color: rgba(212,212,212,0.3); 2975 } 2976 .d_active.tab_drawer_heading:after{ 2977 margin-top: -3px; 2978 transform: rotate(-135deg); 2979 -webkit-transform: rotate(-135deg); 2980 } 2981 } 2982 </style> 2983 2984
2984<script type="text/javascript"> 2985 2986 // If the page has no jquery 2987 // if(typeof jQuery == 'undefined'){ 2988 // console.log(456); 2989 // var script = document.createElement('script'); 2990 // script.type = "text/javascript"; 2991 // script.src = "https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"; 2992 // console.log(script); 2993 // document.getElementsByTagName('head')[0].appendChild(script); 2994 // } 2995 2996 2997 /* if in tab mode */ 2998 $("body").on("click", ".tablinks", function(){ 2999 var id = $(this).data("prod-desc-id"); 3000 3001 // Get all elements with class="prod-desc-tab-content" and hide them 3002 $(".prod-desc-tab-content").hide(); 3003 3004 // Get all elements with class="tablinks" and remove the class "active" 3005 $(".tablinks").removeClass("active"); 3006 3007 // Show the current tab, and add an "active" class to the link that opened the tab 3008 $("#"+id+"_desc_tab_content").show(); 3009 $(this).addClass("active"); 3010 3011 //make mobile view(drawer mode) also in same tab 3012 $(".tab_drawer_heading").removeClass("d_active"); 3013 $(".tab_drawer_heading[data-prod-desc-id='"+id+"']").addClass("d_active"); 3014 3015 }); 3016 /* if in drawer mode */ 3017 $("body").on("click", ".tab_drawer_heading", function() { 3018 var id = $(this).data("prod-desc-id"), 3019 active = $(this).hasClass("d_active") 3020 3021 $(".prod-desc-tab-content").hide(); 3022 $(".tab_drawer_heading").removeClass("d_active"); 3023 3024 if(!active){ 3025 $("#"+id+"_desc_tab_content").show(); 3026 $(this).addClass("d_active"); 3027 window.scroll({ 3028 top: $(this).offset().top - 120, 3029 left: 0, 3030 behavior: 'smooth' 3031 }); 3032 } 3033 3034 $(".tablinks").removeClass("active"); 3035 $(".tablinks[data-prod-desc-id='"+id+"']").addClass("active"); 3036 }); 3037 3038 $(function(){ 3039 var x = $(".product-description").find("h1, h2, h3, h4, h5, h6"); 3040 var title = null; 3041 var body = null; 3042 3043 if(x.length > 1){ 3044 $(".product-description").after("<link href='/assets/css/froala_style.min.css' rel='stylesheet' type='text/css'/><div class='product-description-tabs fr-view'><ul class='prod-desc-tab'></ul><div class='prod-desc-tab-container'></div></div>"); 3045 $(x).each(function(k, v){ 3046 title = $(v).text(); 3047 3048 if(k == 0){ 3049 body = $(x[0]).nextUntil(x[1]).clone(); 3050 $(".prod-desc-tab").append('<li class="tablinks active" data-prod-desc-id="'+k+'"><a>'+title+'</a></li>'); 3051 $(".prod-desc-tab-container").append('<h3 class="tab_drawer_heading d_active" data-prod-desc-id="'+k+'">'+title+'</h3><div id="'+k+'_desc_tab_content" class="prod-desc-tab-content" style="display:block"><h2>'+title+'</h2></div>'); 3052 $("#"+k+"_desc_tab_content h2").after(body); 3053 } 3054 else if(k == x.length){ 3055 body = $(x[k]).nextAll().clone(); 3056 $(".prod-desc-tab").append('<li class="tablinks" data-prod-desc-id="'+k+'"><a>'+title+'</a></li>'); 3057 $(".prod-desc-tab-container").append('<h3 class="tab_drawer_heading" data-prod-desc-id="'+k+'">'+title+'</h3><div id="'+k+'_desc_tab_content" class="prod-desc-tab-content" style="display:none"><h2>'+title+'</h2></div>'); 3058 $("#"+k+"_desc_tab_content h2").after(body); 3059 } 3060 else{ 3061 body = $(x[k]).nextUntil(x[k+1]).clone(); 3062 $(".prod-desc-tab").append('<li class="tablinks" data-prod-desc-id="'+k+'"><a>'+title+'</a></li>'); 3063 $(".prod-desc-tab-container").append('<h3 class="tab_drawer_heading" data-prod-desc-id="'+k+'">'+title+'</h3><div id="'+k+'_desc_tab_content" class="prod-desc-tab-content" style="display:none"><h2>'+title+'</h2></div>'); 3064 $("#"+k+"_desc_tab_content h2").after(body); 3065 } 3066 }); 3067 $(".product-description").hide(); 3068 } 3069 3070 }); 3071 </script>
3071 3072<!-- /Snippet -->
3073<script> 3074 3075 /* 3076 3077 ------ 3078 Events 3079 ------ 3080 3081 pages/viewed 3082 3083 customers/signup 3084 3085 customers/login 3086 3087 products/searched 3088 3089 collections/viewed 3090 3091 products/viewed 3092 3093 products/shared 3094 3095 wishlists/item_added 3096 3097 carts/items_added 3098 3099 carts/viewed 3100 3101 carts/item_removed 3102 3103 checkouts/initiated 3104 3105 checkouts/shipping_info_added 3106 3107 checkouts/payment_info_added 3108 3109 checkouts/completed 3110 3111 orders/placed 3112 3113 orders/purchased 3114 3115 payments/captured 3116 3117 payments/failed 3118 3119 */ 3120 3121 window.__latest_cart = window.__latest_cart || null; 3122 3123 const _selector = document.querySelector.bind(document), 3124 _selectorAll = document.querySelectorAll.bind(document) 3125 3126 document.addEventListener('DOMContentLoaded', (event) => { 3127 3128 const default_currency = getCookie("currency") 3129 const customer_id = window.__st.cid 3130 const template = window.__st.p 3131 3132 onPageView() 3133 3134 //-----------------------// 3135 // Configs // 3136 //-----------------------// 3137 3138 window.dataLayer = window.dataLayer || [] 3139 3140 Array.prototype.last = Array.prototype.last || function() { 3141 return this[this.length - 1] || null 3142 } 3143 3144 Array.prototype.first = Array.prototype.first || function() { 3145 return this[0] || null 3146 } 3147 3148 //----------------------// 3149 // Triggers // 3150 //----------------------// 3151 3152 const XHR = window.XMLHttpRequest 3153 3154 function xhr() { 3155 3156 const xhr = new XHR() 3157 3158 xhr.addEventListener("readystatechange", function() { 3159 3160 if(xhr.readyState != 4) return 3161 3162 try { 3163 3164 const response_url = xhr.responseURL 3165 3166 if (response_url.includes("cart/add")) { 3167 3168 window.__latest_cart = JSON.parse(xhr.response) 3169 3170 onCartItemsAdded() // ok 3171 3172 } 3173 3174 if (response_url.includes("cart/remove_item_quantity")) { 3175 3176 window.__latest_cart = JSON.parse(xhr.response) 3177 3178 onCartItemRemoved() // ok 3179 3180 } 3181 3182 if (response_url.includes("new_cart?retrieve=true")) { 3183 3184 result = JSON.parse(xhr.response) 3185 3186 if (result.cart) { 3187 window.__latest_cart = result.cart 3188 } 3189 3190 } 3191 3192 } catch(e) { 3193 3194 console.error(e) 3195 3196 } 3197 3198 }, false); 3199 3200 return xhr 3201 3202 } 3203 3204 window.XMLHttpRequest = xhr 3205 3206 switch(template) { 3207 3208 case 'cart': onCartView() // ok 3209 break 3210 case 'product': onProductView() // ok 3211 break 3212 case 'collection': onCollectionView() // ok 3213 break 3214 case 'blog': onBlogView() 3215 break 3216 case 'article': onArticleView() 3217 break 3218 case 'payment_completed': onOrderPlace() 3219 break 3220 case 'payment_fail': onPaymentFail() 3221 break 3222 3223 } 3224 3225 // _selector('form[action="/checkout/payments"]').addEventListener("submit", onPaymentInfoAdded(_selector('form[action="/checkout/payments"]'))) 3226 if (_selector('form[action="/checkout/detail"]')) _selector('form[action="/checkout/detail"]').addEventListener("submit", ()=>{onShippingInfoAdded(_selector('form[action="/checkout/detail"]'))}) // ok 3227 if (_selector('form[action="/checkout/shipping"]')) _selector('form[action="/checkout/shipping"]').addEventListener("submit", ()=>{onShippingInfoAdded(_selector('form[action="/checkout/shipping"]'))}) // ok 3228 if (_selector('form[action="/account/register"]')) _selector('form[action="/account/register"]').addEventListener("submit", onSignUp) // ok 3229 if (_selector('form[action="/account/login"]')) _selector('form[action="/account/login"]').addEventListener("submit", onLogin) // ok 3230 if (_selector('form[action="/search"]')) _selector('form[action="/search"]').addEventListener("submit", onProductSearch()) // ok 3231 if (_selector('#line-login-btn')) _selector('#line-login-btn').addEventListener('click', onLineLogin) // ok 3232 if (_selector('#PlaceOrder')) _selector('#PlaceOrder').addEventListener("click", ()=>{onCheckoutComplete(_selector('form[action="/checkout/payments"]'))}); // ok 3233 if (_selector('#add_wishlist')) _selector('#add_wishlist').addEventListener("click", onWishlistItemAdded) // ok 3234 if (_selectorAll('a[href="/account/logout"]')) _selectorAll('a[href="/account/logout"]').forEach(logoutButton => logoutButton.addEventListener("click", onLogout)) // ok 3235 if (_selector('.CartDrawerTrigger.cart-page-link')) _selector('.CartDrawerTrigger.cart-page-link').addEventListener("click", onCartView) // ok 3236 if (_selector('.CartDrawerTrigger.cart-page-link.mobile-cart-page-link')) _selector('.CartDrawerTrigger.cart-page-link.mobile-cart-page-link').addEventListener("click", onCartView) // ok 3237 if (_selectorAll('a[class^="share-"]')) _selectorAll('a[class^="share-"]').forEach(shareButton => shareButton.addEventListener("click", ()=>{onProductShare(shareButton)}) ) // ok 3238 if (_selectorAll('[name$="checkout"]')) _selectorAll('[name$="checkout"]').forEach(checkoutButton => checkoutButton.addEventListener("click", onCheckoutInitiate)) 3239 3240 // For append elements 3241 const bodyMutationObserver = new MutationObserver(() => { 3242 if (_selector('#form__spc #PlaceOrder')) _selector('#form__spc #PlaceOrder').addEventListener("click", onSinglePageCheckout) // ok 3243 if (_selectorAll('[name$="checkout"]')) _selectorAll('[name$="checkout"]').forEach(checkoutButton => checkoutButton.addEventListener("click", onCheckoutInitiate)) 3244 }); 3245 bodyMutationObserver.observe(_selector("body"), {subtree: true, childList: true}); 3246 3247 //------------------------------// 3248 // Event handlers // 3249 //------------------------------// 3250 3251 function onPageView() { 3252 3253 EasyStore.Event.dispatch('pages/viewed', { 3254 page: { 3255 type: template, 3256 title: document.title, 3257 description: _selector('meta[name=description]') ? _selector('meta[name=description]').getAttribute('content') : null, 3258 url: location.href, 3259 } 3260 }) 3261 3262 } 3263 3264 function onSignUp() { 3265 3266 const email_regex = new RegExp(/^[a-zA-Z0-9.!#$%&"*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/) 3267 const phone_regex = new RegExp(/^(\+?6?01)[0-46-9]-*[0-9]{7,8}$/) 3268 3269 const email_or_phone = _selector(`input[name="customer[email_or_phone]"]`).value.replace("+", "").replace(/\s+/, "") 3270 3271 let data = {} 3272 3273 if (email_regex.test(email_or_phone)) { 3274 data.method = 'email' 3275 data.email = email_or_phone 3276 } 3277 3278 if (phone_regex.test(email_or_phone)) { 3279 data.method = "phone" 3280 data.phone = email_or_phone 3281 } 3282 3283 if (!data.method) return 3284 3285 EasyStore.Event.dispatch('customers/signup', data) 3286 3287 } 3288 3289 function onLogin() { 3290 3291 const email_regex = new RegExp(/^[a-zA-Z0-9.!#$%&"*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/) 3292 const phone_regex = new RegExp(/^(\+?6?01)[0-46-9]-*[0-9]{7,8}$/) 3293 3294 const email_or_phone = _selector(`input[name="customer[email_or_phone]"]`).value.replace("+", "").replace(/\s+/, "") 3295 3296 let data = {} 3297 3298 if (email_regex.test(email_or_phone)) { 3299 data.method = 'email' 3300 data.email = email_or_phone 3301 } 3302 3303 if (phone_regex.test(email_or_phone)) { 3304 data.method = "phone" 3305 data.phone = email_or_phone 3306 } 3307 3308 if (!data.method) return 3309 3310 EasyStore.Event.dispatch('customers/login', data) 3311 3312 } 3313 3314 function onLineLogin() { 3315 3316 EasyStore.Event.dispatch('customers/login', { method: 'line' }) 3317 3318 } 3319 3320 function onLogout() { 3321 3322 EasyStore.Event.dispatch('customers/logout', { customer_id }) 3323 3324 } 3325 3326 function onBlogView() { 3327 3328 const blog = "" 3329 3330 EasyStore.Event.dispatch('blogs/viewed', { blog }) 3331 3332 } 3333 3334 function onArticleView() { 3335 3336 const article = "" 3337 3338 EasyStore.Event.dispatch('articles/viewed', { article }) 3339 3340 } 3341 3342 function onProductSearch() { 3343 3344 const query = _selector('input[name=q]').value 3345 3346 if (!query) return 3347 3348 EasyStore.Event.dispatch('products/searched', { query }) 3349 3350 } 3351 3352 function onCollectionView() { 3353 3354 const collection = "" 3355 3356 EasyStore.Event.dispatch('collections/viewed', { collection }) 3357 3358 } 3359 3360 function onProductView() { 3361 3362 const product = "" 3363 3364 EasyStore.Event.dispatch("products/viewed", { product }) 3365 3366 } 3367 3368 function onProductShare(el) { 3369 3370 const product = "" 3371 3372 const channel = el.getAttribute("class").split("-").last() 3373 3374 EasyStore.Event.dispatch('products/shared', { product, channel }) 3375 3376 } 3377 3378 function onWishlistItemAdded() { 3379 3380 let product = "" 3381 const quantity = _selector("#Quantity").value 3382 3383 EasyStore.Event.dispatch('wishlists/item_added', { product }) 3384 3385 } 3386 3387 async function onCartItemsAdded() { 3388 3389 const cart = await getCart() 3390 3391 if(cart && cart.items != undefined && cart.items.length > 0) { 3392 3393 EasyStore.Event.dispatch('carts/item_added', { cart }) 3394 3395 } 3396 3397 } 3398 3399 async function onCartView() { 3400 3401 const cart = await getCart() 3402 3403 EasyStore.Event.dispatch('carts/viewed', { cart }) 3404 3405 } 3406 3407 async function onCartItemRemoved() { 3408 3409 const cart = await getCart() 3410 3411 cart.items = [] 3412 3413 if(cart) { 3414 3415 EasyStore.Event.dispatch('carts/item_removed', { cart }) 3416 3417 } 3418 3419 } 3420 3421 async function onCheckoutInitiate() { 3422 3423 const cart = await getCart() 3424 3425 EasyStore.Event.dispatch('checkouts/initiated', { cart }) 3426 3427 } 3428 3429 async function onShippingInfoAdded(form) { 3430 let checkout = getCheckout() 3431 3432 let form_data = {} 3433 new FormData(form).forEach((value, key) => form_data[key] = value) 3434 3435 let shipping_tier = null 3436 3437 if (form_data.type && form_data.type.startsWith("r_pickup")) { 3438 shipping_tier = `Pickup - ${form_data.pick_location}` 3439 } 3440 3441 if (form_data.s_id) {
3442 shipping_tier = _selector(`input[id='`+form_data.s_id+`']`).getAttribute("data-shipping-name") 3443 } 3444 3445 if (!shipping_tier) return 3446 3447 EasyStore.Event.dispatch('checkouts/shipping_info_added', { checkout, shipping_tier }) 3448 3449 } 3450 3451 async function onPaymentInfoAdded(form) { 3452 3453 let checkout = getCheckout() 3454 3455 let payment_type = new FormData(form).get('payment_method') 3456 3457 EasyStore.Event.dispatch("checkouts/payment_info_added", { checkout, payment_type }) 3458 3459 } 3460 3461 async function onOrderPlace() { 3462 3463 let cart_token = getCookie("cart_js") 3464 let previous_cart_token = getCookie("previous_cart_ga4_js") 3465 3466 if (previous_cart_token && previous_cart_token == cart_token) { 3467 // Prevent duplicate purchase tracking 3468 return 3469 } 3470 3471 let order = getOrder() 3472 3473 EasyStore.Event.dispatch('orders/placed', { order }) 3474 3475 if(order.is_manual_payment) { 3476 3477 EasyStore.Event.dispatch('orders/purchased', { order }) 3478 3479 } 3480 3481 const last_transaction = order.transactions.last() 3482 3483 if (last_transaction.status) { 3484 3485 EasyStore.Event.dispatch('orders/purchased', { order }) 3486 EasyStore.Event.dispatch('payments/captured', { order }) 3487 3488 } 3489 3490 } 3491 3492 async function onPaymentFail() { 3493 3494 const order = getOrder() 3495 3496 EasyStore.Event.dispatch('payments/failed', { order }) 3497 3498 } 3499 3500 async function onCheckoutComplete(form) { 3501 3502 onPaymentInfoAdded(form) 3503 3504 const checkout = getCheckout() 3505 3506 EasyStore.Event.dispatch('checkouts/completed', { checkout }) 3507 3508 } 3509 3510 async function onSinglePageCheckout() { 3511 3512 // let checkout = $("[data-app-checkout]").data("app-checkout") 3513 3514 let checkout = getCheckout() 3515 3516 // const payment_type = _selector("#app_spc_payment_method").find(`[class*="label-content"]`).first().find("b").first().text() 3517 const payment_type = _selector("#app_spc_payment_method").getElementsByClassName('label-content')[0].getElementsByTagName('b')[0].innerHTML 3518 3519 const shipping_method = _selector("#delivery_method").value 3520 3521 let shipping_tier = null 3522 let app_spc_customer_info_label = _selector("#app_spc_customer_info").getElementsByClassName('label-content') 3523 if (shipping_method == "shipping") { 3524 shipping_tier = app_spc_customer_info_label[app_spc_customer_info_label.length - 1].getElementsByTagName('b')[0].innerHTML 3525 } 3526 3527 if (shipping_method == "pickup") { 3528 shipping_tier = app_spc_customer_info_label[0].innerHTML 3529 } 3530 3531 if (shipping_tier) { 3532 3533 EasyStore.Event.dispatch('checkouts/shipping_info_added', { 3534 checkout, 3535 shipping_tier, 3536 }) 3537 3538 } 3539 3540 if (payment_type) { 3541 3542 EasyStore.Event.dispatch('checkouts/payment_info_added', { 3543 checkout, 3544 payment_type, 3545 }) 3546 3547 } 3548 3549 EasyStore.Event.dispatch('checkouts/completed', { checkout }) 3550 3551 } 3552 3553 }) 3554 3555 3556 //-----------------------// 3557 // Functions // 3558 //-----------------------// 3559 3560 function getCookie(name) { 3561 3562 name += "=" 3563 3564 decodedCookie = decodeURIComponent(document.cookie) 3565 3566 ca = decodedCookie.split(";") 3567 3568 for(i = 0; i < ca.length; i++) { 3569 c = ca[i] 3570 while (c.charAt(0) == " ") { 3571 c = c.substring(1) 3572 } 3573 if (c.indexOf(name) == 0) { 3574 return c.substring(name.length, c.length) 3575 } 3576 } 3577 3578 return "" 3579 3580 } 3581 3582 const parsePrice = price => { 3583 if(typeof price === 'string') { 3584 return parseFloat(price.split(',').join('')) 3585 } 3586 3587 return price 3588 } 3589 3590 const requestCart = async (method, data) => { 3591 3592 let response = await fetch('/cart.json', {method: 'GET',headers: {'Content-Type': 'application/json'}}) 3593 result = await response.json() 3594 3595 return result.cart 3596 3597 } 3598 const getCart = async (latest = false) => { 3599 3600 let cart = window.__latest_cart 3601 3602 const cart_invalid = !cart || !cart.items || (cart.total_price > 0 && !cart.items.length) 3603 3604 if(latest || cart_invalid) { 3605 cart = await requestCart() 3606 } 3607 3608 cart.items = cart.items || [] 3609 3610 return mapCart(cart) 3611 3612 } 3613 3614 const getCheckout = async () => { 3615 mapCheckout(window.__latest_cart || await requestCart()) 3616 } 3617 3618 const getOrder = async () => { 3619 mapOrder(window.__latest_cart || await requestCart()) 3620 } 3621 3622 //-----------------------// 3623 // Mappers // 3624 //-----------------------// 3625 3626 const fallbackAttribute = (object, attribute) => { 3627 3628 if(!Array.isArray(attribute)) { 3629 attribute = [attribute] 3630 } 3631 3632 let final_value = null 3633 3634 do { 3635 3636 final_value = object[attribute.shift()] 3637 3638 } while(!final_value && attribute.length) 3639 3640 return final_value 3641 3642 } 3643 3644 const map = (object, mapper) => { 3645 3646 const newObject = {} 3647 3648 for(const key in mapper) { 3649 3650 // Handle different keys between new and old format
3651 newObject[key] = fallbackAttribute(object, mapper[key]) 3652 3653 // Cast price to float 3654 if(newObject[key] && ['price', 'amount', 'discount', 'discounts'].some(x => key.endsWith(x))) { 3655 newObject[key] = parsePrice(newObject[key]) 3656 } 3657 3658 if(newObject[key] === undefined) { 3659 delete newObject[key] 3660 } 3661 3662 } 3663 3664 return newObject 3665 3666 } 3667 3668 const mapCart = cart => { 3669 3670 const oldCart = cart 3671 3672 const mapper = { 3673 id: 'id', 3674 currency: 'currency', 3675 item_count: 'item_count', 3676 items: 'items', 3677 total_price: 'total_price', 3678 latest_items: 'latest_items' 3679 } 3680 3681 cart = map(cart, mapper) 3682 3683 const discounts = (oldCart.storewide_discounts || []).concat((oldCart.voucher_discounts || [])) 3684 3685 cart.discount_applications = discounts.map(discount => ({ 3686 title: discount.voucher_code || null, 3687 value: parsePrice(discount.amount), 3688 })) 3689 3690 cart.original_total_price = cart.items.length 3691 ? cart.items 3692 .map(item => item.original_price) 3693 .reduce((sum, price) => sum + price) 3694 : 0 3695 3696 cart.total_discount = cart.discount_applications.length 3697 ? cart.discount_applications 3698 .map(discount => parsePrice(discount.value)) 3699 .reduce((sum, value) => sum + value) 3700 : 0 3701 3702 cart.items = cart.items.map(item => mapLineItem(item)) 3703 3704 return cart 3705 3706 } 3707 3708 const mapCheckout = checkout => { 3709 3710 const mapper = { 3711 note: 'note', 3712 attributes: 'note_attributes', 3713 billing_address: 'billing_address', 3714 currency: 'currency', 3715 customer_id: 'customer_id', 3716 discounts_amount: 'total_discount', 3717 id: 'id', 3718 line_items: 'order_item', 3719 order_number: 'order_number', 3720 shipping_address: 'shipping_address', 3721 shipping_price: 'shipping_tax', 3722 shipping_method: 'shipping_method_name', 3723 tax_price: 'total_tax', 3724 } 3725 3726 checkout = map(checkout, mapper) 3727 3728 checkout.requires_shipping = checkout.line_items.some(item => item.shipping_required) 3729 3730 checkout.line_items = checkout.line_items.map(item => mapLineItem(item)) 3731 3732 return checkout 3733 3734 } 3735 3736 const mapOrder = order => { 3737 3738 const mapper = { 3739 attributes: 'note_attributes', 3740 billing_address: 'billing_address', 3741 cancelled: 'is_cancelled', 3742 cancelled_at: 'cancelled_at', 3743 created_at: 'created_at', 3744 customer_id: 'customer_id', 3745 // discount_applications: 'discount_applications', 3746 email: 'email', 3747 financial_status: 'financial_status', 3748 fulfillment_status: 'fulfillment_status', 3749 line_items: 'order_item', 3750 note: 'note', 3751 order_number: 'order_number', 3752 phone: 'phone', 3753 shipping_address: 'shipping_address', 3754 shipping_methods: 'shipping_methods', 3755 shipping_price: 'total_shipping', 3756 subtotal_price: 'subtotal_price', 3757 // tax_lines: 'tax_lines', 3758 tax_price: 'total_tax', 3759 total_discounts: 'total_discount', 3760 total_net_amount: 'total_amount_include_transaction', 3761 total_price: 'total_price', 3762 transactions: 'transaction_records', 3763 is_manual_payment: 'is_manual_payment', 3764 } 3765 3766 order.email = order.billing_address.email 3767 order.phone = order.billing_address.phone 3768 order.shipping_method = order.shipping_method_name 3769 3770 order = map(order, mapper) 3771 3772 order.line_items = order.line_items.map(item => mapLineItem(item)) 3773 order.transactions = order.transactions.map(transaction => mapTransaction(transaction)) 3774 3775 return order 3776 3777 } 3778 3779 const mapLineItem = line_item => { 3780 3781 const old_line_item = line_item 3782 3783 const mapper = { 3784 final_price: 'price', 3785 image: 'img_url', 3786 message: 'message', 3787 original_line_price: 'original_line_price', 3788 original_price: 'original_price', 3789 properties: 'properties', 3790 quantity: 'quantity', 3791 requires_shipping: 'shipping_required', 3792 sku: 'sku', 3793 taxable: 'taxable', 3794 title: 'product_name', 3795 product_name: 'product_name', 3796 url: 'url', 3797 product_id: 'product_id', 3798 variant_id: 'variant_id', 3799 id: ['id', 'i_id'], 3800 } 3801 3802 line_item = map(line_item, mapper) 3803 3804 line_item.product_id = line_item.product_id || (old_line_item.product && old_line_item.product.id) || null 3805 line_item.variant_id = line_item.variant_id || (old_line_item.variant && old_line_item.variant.id) || null 3806 line_item.image = line_item.image || (old_line_item.image && old_line_item.image.url) || null 3807 3808 return line_item 3809 3810 } 3811 3812 const mapTransaction = transaction => { 3813 3814 const mapper = { 3815 amount: 'amount', 3816 created_at: 'created_at', 3817 gateway: 'gateway_type', 3818 id: 'id', 3819 status: 'status', 3820 } 3821 3822 transaction = map(transaction, mapper) 3823 3824 return transaction 3825 3826 } 3827 3828 3829</script>
3829 3830 3831</div> 3832 3833 3834 3835<style> 3836 #CartTemplate{ 3837 min-height: 80vh; 3838 } 3839 .cart-drawer .cart__row .small--one-whole, 3840 .cart-drawer .cart-sticky-button-wrapper{ 3841 width: 100%; 3842 } 3843 .cart-drawer .promotion__code-input .input-group{ 3844 margin-top: 20px; 3845 max-width: 100%; 3846 } 3847 .cart-drawer-wrapper{ 3848 display: flex; 3849 flex-wrap: wrap; 3850 flex-direction: row; 3851 } 3852 .cart-drawer-wrapper > div{ 3853 width: 100%; 3854 } 3855 vouchers-modal .vouchers-modal.active , 3856 vouchers-modal #vouchers-modal-backdrop.active{ 3857 z-index: 2147483647; 3858 } 3859</style> 3860 3861<div id="CartDrawer" class="cart-drawer" data-fetch="0"> 3862 3863 3864 <div class="cart-drawer-wrapper"> 3865 <div id="cart-promotion-top"></div> 3866 3867 3868 <div id="CartTemplate"> 3869 3870 3871 3872 3873 3874 <div id="noCartItem" class="cart-drawer-content"> 3875 <div class="cart-drawer-content-wrapper text-center"> 3876 <div class="section-header"> 3877 <span></span> 3878 <span class="CartDrawerTrigger icon icon-x"></span> 3879 </div> 3880 <div class="section-header__title h2">æ¨çè³¼ç©è»ç®åéæ¯ç©ºçã</div> 3881 <a class="btn btn--secondary" href="/collections/all">ç¹¼çºè³¼ç©</a> 3882 </div> 3883 </div> 3884 3885 3886 3887 </div> 3888 3889 <link href="/assets/css/promotion.css?v2.94" rel="stylesheet" type="text/css" media="screen" /> 3890<div id="cart-promotion-section"></div> 3891
3892<script>var shop_money_format = "<span class=money data-ori-price='{{amount}}'>NT$ {{amount}} </span>";</script>
vendor: 1 bytes, line 3892
3892
3893<script src="/assets/js/promotion/promotion.js?v1.11" type="text/javascript"></script>
3893 3894
3895<script> 3896 3897 window.EasyStore = window.EasyStore || {}; 3898 window.EasyStore.Promotion = window.EasyStore.Promotion || {}; 3899 3900 var get_cart_promo_initial = false, 3901 current_template = 'app'; 3902 3903 window.EasyStore.Promotion.updateCartPromotion = function (){ 3904 get_cart_promo_initial = true 3905 $.ajax({ 3906 type: "GET", 3907 dataType: 'json', 3908 url: "/new_cart/promotion", 3909 success: function(response){ 3910 $("#cart-promotion-section").html(response["cart/content_bottom"].trim()); 3911 $("#cart-promotion-top").html(response["cart/content_top"].trim()); 3912 3913 promoVariantDetailInitial() 3914 }, 3915 error: function(xhr){ 3916 } 3917 }); 3918 } 3919 3920 3921 if(current_template == 'cart') { 3922 document.addEventListener("DOMContentLoaded", function() { 3923 window.EasyStore.Promotion.updateCartPromotion() 3924 }); 3925 } 3926 3927</script>
vendor: 1 bytes, line 3927
3927
3928<script> 3929 document.addEventListener('DOMContentLoaded', function () { 3930 window._getVoucherErrorTranslation = Object.assign(window._getVoucherErrorTranslation || {}, { 3931 "condition_not_matched": "åªæ 代碼æ¢ä»¶ä¸å¹é ", 3932 "promotion_unavailable": "æ¤åªæ ç®åä¸å¯ç¨", 3933 "available_on": "å¯å¨ channels 使ç¨", 3934 "available_on_only": "å éå¨ channels 使ç¨", 3935 "available_with_locations": "å¯å¨ channels 使ç¨ï¼å é locationsï¼", 3936 "pos_at_locations": "å é locations éå¸ä½¿ç¨", 3937 "channel_website": "ç¶²ç«", 3938 "channel_mobile": "æç¨ç¨å¼", 3939 "channel_pos": "éå¸" 3940 }); 3941 }); 3942</script>
3942 3943 3944 </div> 3945 3946 3947 3948</div> 3949 3950<div id="toast"><div id="toastContent"></div></div> 3951<style> 3952 .cart-drawer .cart-drawer-content .cart-sticky-button-wrapper a.btn.CartDrawerTrigger{margin-bottom: 10px !important;} 3953 #toastContent a{color: #fff;text-decoration: underline;margin-top: 10px;display: block;} 3954 #toastContent .svg-icon{margin-right: 8px;margin-top: -1px;} 3955</style> 3956
3957<script type="text/javascript"> 3958 $('body').on("submit", "#CartForm", function() { 3959 $(this).find('[type=submit]').addClass('btn--loading'); 3960 }); 3961 3962 $("input[name=current_currency]").val($( "select.currency-picker" ).val()); 3963 $( "select.currency-picker" ).change(function(){ 3964 $("select.currency-picker").val($(this).val()); 3965 url=window.location.href; 3966 newParam="currency=" + $( "select.currency-picker" ).val(); 3967 if(url.indexOf("currency=")===-1){ 3968 separator = (url.indexOf("?")===-1)?"?":"&"; 3969 newUrl= url + separator + newParam; 3970 }else{ 3971 oldParam= new URL(url); 3972 oldParam = oldParam.searchParams.get("currency"); 3973 newParam= $(this).val(); 3974 newUrl=url.replace(oldParam,newParam); 3975 } 3976 $("input[name=current_currency]").val($( "select.currency-picker" ).val()); 3977 // window.location.href =newUrl; 3978 $('#CartDrawer').attr('data-fetch', 0); 3979 }); 3980 3981 $("body").on("click", ".cart__remove", function() { 3982 $('#CartTemplate').addClass('is-loading'); 3983 $.ajax({ 3984 type: 'POST', 3985 url: '/cart/remove_item_quantity', 3986 data: { 3987 variant_id: $(this).data( "variant-id"), 3988 item_id: $(this).data( "item-id"), 3989 quantity: $(this).data( "quantity"), 3990 i_id: $(this).data("i_id"), 3991 }, 3992 dataType: 'json', 3993 success: function(response){ 3994 3995 theme.cartDrawer(response); 3996 $('#CartTemplate').removeClass('is-loading'); 3997 3998 if (window.checkProductProperties !== undefined){ 3999 window.checkProductProperties(); 4000 } 4001 }, 4002 error: function(xhr){ 4003 console.log('error',xhr); 4004 $('#CartTemplate').removeClass('is-loading'); 4005 } 4006 }); 4007 4008 }); 4009 4010 4011 $('body').on("click", "#applycode",function() { 4012 4013 if($("input[name='voucher_code']").val() != '') { 4014 4015 $('#CartTemplate').addClass('is-loading'); 4016 4017 $.ajax({ 4018 type: 'POST', 4019 url: '/new_cart/voucher', 4020 data: { 4021 voucher_code: $("input[name='voucher_code']").val(), 4022 category: 'create' 4023 }, 4024 dataType: 'json', 4025 success: function(response){ 4026 4027 // console.log(response); 4028 4029 if(response.error != undefined){ 4030 4031 if(response.error.message != undefined) popToast(response.error.message); 4032 4033 $("input[name='voucher_code']").val('') 4034 4035 } 4036 4037 if(response.cart_content != undefined) theme.cartDrawer(response); 4038 4039 4040 $('#CartTemplate').removeClass('is-loading'); 4041 4042 }, 4043 error: function(xhr){ 4044 console.log('error',xhr); 4045 $('#CartTemplate').removeClass('is-loading'); 4046 } 4047 }); 4048 4049 } 4050 4051 }); 4052 4053 4054 $("body").on("click", ".remove_voucher_btn", function() { 4055 $('#CartTemplate').addClass('is-loading'); 4056 $.ajax({ 4057 type: 'DELETE', 4058 url: '/new_cart/voucher', 4059 data: { 4060 category: 'remove', 4061 order_discount_id: $(this).data( "discount-id") 4062 }, 4063 dataType: 'json', 4064 success: function(data){ 4065 // console.log(data); 4066 theme.cartDrawer(data); 4067 $('#CartTemplate').removeClass('is-loading'); 4068 }, 4069 error: function(xhr){ 4070 console.log('error',xhr); 4071 $('#CartTemplate').removeClass('is-loading'); 4072 } 4073 }); 4074 4075 }); 4076 4077 4078 theme.cartDrawer = function(data){ 4079 4080 $('#CartDrawer').attr('data-fetch', 1); 4081 $('#CartTemplate').addClass('is-loading'); 4082 4083 4084 if(typeof data.cart_content == 'string'){ 4085 $('#CartTemplate').html(data.cart_content); 4086 } 4087 4088 let cart_item_count = data.item_count || data.cart.item_count; 4089 4090 if(cart_item_count > 0){ 4091 $('.cart-count').removeClass('hidden-count'); 4092 }else{ 4093 $('.cart-count').addClass('hidden-count'); 4094 } 4095 4096 $('.cart-count').text(cart_item_count); 4097 $('#CartTemplate').removeClass('is-loading'); 4098 $(".cart-drawer-content").animate({ scrollTop: 0 }); 4099 4100 if(window.EasyStore != undefined && window.EasyStore.Promotion != undefined && window.EasyStore.Promotion.updateCartPromotion != undefined) window.EasyStore.Promotion.updateCartPromotion() 4101 4102 } 4103 4104 theme.fetchCartDrawer = function(data){ 4105 $('#CartTemplate').addClass('is-loading'); 4106 $.ajax({ 4107 url: '/new_cart?retrieve=true', 4108 type: 'GET', 4109 success: function(data, status) { 4110 // console.log(data); 4111 theme.cartDrawer(data); 4112 4113 $('#CartTemplate').removeClass('is-loading'); 4114 4115 if (window.checkProductProperties !== undefined){ 4116 window.checkProductProperties(); 4117 } 4118 }, 4119 error: function(XMLHttpRequest, textStatus) { 4120 console.log('error',XMLHttpRequest,textStatus); 4121 $('#CartTemplate').removeClass('is-loading'); 4122 } 4123 }); 4124 } 4125 4126 theme.updateCartDrawer = function(data){ 4127 $('#CartTemplate').addClass('is-loading'); 4128 4129 $.ajax({ 4130 url: '/new_cart/update', 4131 type: 'PUT', 4132 dataType: 'json', 4133 data: $('#CartDrawer form').serialize(), 4134 success: function(data, status) { 4135 theme.cartDrawer(data); 4136 4137 if (window.checkProductProperties !== undefined){ 4138 window.checkProductProperties(); 4139 } 4140 }, 4141 error: function(XMLHttpRequest, textStatus) { 4142 console.log('error',XMLHttpRequest,textStatus); 4143 } 4144 }); 4145 } 4146 4147 function debounce(func, wait, immediate) { 4148 var timeout; 4149 return function() { 4150 var context = this, args = arguments; 4151 var later = function() { 4152 timeout = null;
4153 if (!immediate) func.apply(context, args); 4154 }; 4155 var callNow = immediate && !timeout; 4156 clearTimeout(timeout); 4157 timeout = setTimeout(later, wait); 4158 if (callNow) func.apply(context, args); 4159 }; 4160 }; 4161 4162 $('body').on("change", 'input.cart__quantity-selector', function (){ 4163 theme.updateCartDrawer(); 4164 }); 4165 4166 4167 $('#updateCartDrawer').click(function() { 4168 theme.updateCartDrawer(); 4169 }); 4170 4171 $('body').on("click", ".btn-qty-adjust", function() { 4172 4173 var $button = $(this); 4174 var oldValue = $button.parent().find("input.cart__quantity-selector").val(); 4175 4176 if ($button.attr('data-adjust') == 1) { 4177 var newVal = parseFloat(oldValue) + 1; 4178 } else { 4179 // Don't allow decrementing below zero 4180 if (oldValue > 0) { 4181 var newVal = parseFloat(oldValue) - 1; 4182 } else { 4183 newVal = 0; 4184 } 4185 } 4186 4187 $button.parent().find("input").val(newVal); 4188 }); 4189 4190 $('body').on("click", ".btn-qty-adjust", debounce(function() { 4191 theme.updateCartDrawer(); 4192 },350)); 4193 4194 $('button.checkout').click(function() { 4195 $(this).addClass('btn--loading'); 4196 }); 4197 4198 var add_cart_success_html = '<svg class="svg-icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve"> <g> <g> <path d="M383.841,171.838c-7.881-8.31-21.02-8.676-29.343-0.775L221.987,296.732l-63.204-64.893 c-8.005-8.213-21.13-8.393-29.35-0.387c-8.213,7.998-8.386,21.137-0.388,29.35l77.492,79.561 c4.061,4.172,9.458,6.275,14.869,6.275c5.134,0,10.268-1.896,14.288-5.694l147.373-139.762 C391.383,193.294,391.735,180.155,383.841,171.838z"/> </g> </g> <g> <g> <path d="M256,0C114.84,0,0,114.84,0,256s114.84,256,256,256s256-114.84,256-256S397.16,0,256,0z M256,470.487 c-118.265,0-214.487-96.214-214.487-214.487c0-118.265,96.221-214.487,214.487-214.487c118.272,0,214.487,96.221,214.487,214.487 C470.487,374.272,374.272,470.487,256,470.487z"/> </g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> </svg>'; 4199 add_cart_success_html += 'å·²å å ¥è³¼ç©è» <br><a class="CartDrawerTrigger">æ¥çè³¼ç©è»</a>'; 4200 4201 function popToast(content) { 4202 var x = document.getElementById("toast"), 4203 y = document.getElementById("toastContent"); 4204 4205 y.innerHTML = content; 4206 x.className += " show"; 4207 4208 var hideToast = setTimeout(function(){ x.className = x.className.replace(" show", ""); }, 3000); 4209 } 4210 4211</script>
4211 4212 4213<link href="/assets/css/vouchers.css?v1.2" rel="stylesheet" type="text/css" media="screen" /> 4214<link href="/assets/account/vouchers/vouchers.css" rel="stylesheet" type="text/css" media="screen" /> 4215<link href="/assets/account/vouchers/voucher-widget.css" rel="stylesheet" type="text/css" media="screen" />
4216<script src="/assets/js/promotion/vouchers.js?v1.3" type="text/javascript" ></script>
vendor: 1 bytes, line 4216
4216
4217<script src="/assets/account/vouchers/voucher-widget.js" type="text/javascript" ></script>
4217 4218 4219<vouchers-modal> 4220 <div id="vouchers-modal-backdrop" class="vouchers-modal__close"></div> 4221 <div class="vouchers-modal-wrapper page-width"> 4222 <div id="vouchers-modal" class="vouchers-modal focus-inset" aria-modal="true" role="dialog" tabindex="-1"> 4223 <div class="vouchers-modal__header"> 4224 <div class="vouchers-modal__heading">åªæ å¸</div> 4225 <button type="button" class="vouchers-modal__close modal__close-button link link--text focus-inset" aria-label="accessibility.close"> 4226 <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" role="presentation" class="icon icon-close " fill="none" viewBox="0 0 18 17"> 4227 <path d="M.865 15.978a.5.5 0 00.707.707l7.433-7.431 7.579 7.282a.501.501 0 00.846-.37.5.5 0 00-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 10-.707-.708L8.991 7.853 1.413.573a.5.5 0 10-.693.72l7.563 7.268-7.418 7.417z" fill="currentColor"> 4228 </path> 4229 </svg> 4230 </button> 4231 </div> 4232 4233 <discount-input> 4234 <div class="field"> 4235 <input type="text" id="input-discount_code" class="search__input field__input" name="voucher_code" placeholder="ææ£ç¢¼"> 4236 <button type="button" name="apply" class="btn btn--secondary button button--secondary">å¥ç¨</button> 4237 </div> 4238 <div class="form__message hidden" tabindex="-1" autofocus> 4239 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-error " viewBox="0 0 13 13"> 4240 <circle cx="6.5" cy="6.50049" r="5.5" stroke="white" stroke-width="2"></circle> 4241 <circle cx="6.5" cy="6.5" r="5.5" fill="#EB001B" stroke="#EB001B" stroke-width="0.7"></circle> 4242 <path d="M5.87413 3.52832L5.97439 7.57216H7.02713L7.12739 3.52832H5.87413ZM6.50076 9.66091C6.88091 9.66091 7.18169 9.37267 7.18169 9.00504C7.18169 8.63742 6.88091 8.34917 6.50076 8.34917C6.12061 8.34917 5.81982 8.63742 5.81982 9.00504C5.81982 9.37267 6.12061 9.66091 6.50076 9.66091Z" fill="white"></path> 4243 <path d="M5.87413 3.17832H5.51535L5.52424 3.537L5.6245 7.58083L5.63296 7.92216H5.97439H7.02713H7.36856L7.37702 7.58083L7.47728 3.537L7.48617 3.17832H7.12739H5.87413ZM6.50076 10.0109C7.06121 10.0109 7.5317 9.57872 7.5317 9.00504C7.5317 8.43137 7.06121 7.99918 6.50076 7.99918C5.94031 7.99918 5.46982 8.43137 5.46982 9.00504C5.46982 9.57872 5.94031 10.0109 6.50076 10.0109Z" fill="white" stroke="#EB001B" stroke-width="0.7"></path> 4244 </svg> 4245 <div class="js-error-content"></div> 4246 </div> 4247 </discount-input> 4248 <br> 4249 4250 4251 4252 <div class="empty-vouchers_placeholder">ç®åç¡å¯ç¨çåªæ å¸</div> 4253 4254 4255 <!-- For voucher widget --> 4256
4256<script type="text/javascript"> 4257 let settings = {"logo_use_image":"1","logo_img":"https:\/\/cdn.store-assets.com\/s\/263036\/f\/6735266.png?width=1200","footer_logo_img":"https:\/\/cdn.store-assets.com\/s\/263036\/f\/6735337.png?width=1200","nav_below_logo":"","logo_alignment":"center","heading_font_family":["'HelveticaNeue','Helvetica Neue',Helvetica,Arial,sans-serif"],"left_aligned_logo":"0","favicon_enable":"1","favicon_img":"https:\/\/cdn.store-assets.com\/s\/263036\/f\/5642482.jpeg","header_message":"","header_search_enable":true,"topbar_sticky":"1","footer_quicklinks_enable":true,"footer_quicklinks_linklist":"footer","footer_social_enable":"1","footer_show_credit_card_logo":"1","footer_show_methods_of_payment":0,"footer_visa":"1","footer_master":"1","footer_american_express":"1","footer_jcb":"1","footer_diners_club":0,"footer_discover":0,"footer_ssl":"1","show_footer_lines":"1","home_section_1":"highlight-section","home_section_2":"featured-product","home_section_3":"img-text-section","home_section_4":"home-content","home_section_5":"parallax-section","home_section_6":"","featured_title":"","featured_1_img":"","featured_1_text":"","featured_1_link":"","featured_2_img":"https:\/\/cdn.store-assets.com\/s\/263036\/f\/11128395.jpg?width=650&format=webp","featured_2_text":"","featured_2_link":"https:\/\/weedenfashion.easy.co\/collections\/\u5546\u52d9\u7cfb\u5217","featured_3_img":"https:\/\/cdn.store-assets.com\/s\/263036\/f\/11128394.jpg?width=650&format=webp","featured_3_text":"","featured_3_link":"https:\/\/weedenfashion.easy.co\/collections\/\u4f11\u65c5\u6a5f\u80fd","featured_4_img":"https:\/\/cdn.store-assets.com\/s\/263036\/f\/17883844.jpg?width=650&format=webp","featured_4_text":"","featured_4_link":"https:\/\/www.gibbon.com.tw\/collections\/%E4%BF%9D%E6%9A%96%E4%BC%81%E5%8A%83","featured_5_img":"","featured_5_text":"","featured_5_link":"","featured_6_img":"","featured_6_text":"","featured_6_link":"","featured_7_img":"","featured_7_text":"","featured_7_link":"","featured_8_img":"https:\/\/cdn.store-assets.com\/s\/263036\/f\/11128387.jpg?width=650&format=webp","featured_8_text":"","featured_8_link":"https:\/\/weedenfashion.easy.co\/collections\/\u5927\u5c3a\u78bc\u5c08\u5340","parallax_img":"","parallax_mobile_img":"","parallax_title":"","parallax_subtitle":"","parallax_button_text":"","parallax_button_link":"","parallax_full_width":"1","slider_home_auto":"1","slider_home_show_dots":"1","slider_home_rate":"5000","slider_home_transition":"slide","slider_full_screen":"0","slide_1":"1","slide_1_jpg":"https:\/\/cdn.store-assets.com\/s\/263036\/f\/17883830.jpg?width=1500&format=webp","slide_1_mobile_jpg":"https:\/\/cdn.store-assets.com\/s\/263036\/f\/17883831.jpg?width=900&format=webp","slide_1_link":"https:\/\/weedenfashion.easy.co\/collections\/%E6%96%B0%E5%93%81","slide_1_alt":"","slide_1_title":"","slide_1_subtitle":"","slide_1_button_text":"","slide_2":"1","slide_2_jpg":"https:\/\/cdn.store-assets.com\/s\/263036\/f\/6734505.jpeg?width=1200","slide_2_mobile_jpg":"https:\/\/cdn.store-assets.com\/s\/263036\/f\/6734507.jpeg?width=1200","slide_2_link":"https:\/\/weedenfashion.easy.co\/collections\/%E8%A5%AF%E8%A1%AB%E8%A5%BF%E8%A4%B2%E4%BB%BB%E9%81%B82%E4%BB%B679%E6%8A%98","slide_2_alt":"","slide_2_title":"","slide_2_subtitle":"","slide_2_button_text":"","slide_3":"","slide_3_jpg":"https:\/\/cdn.store-assets.com\/s\/263036\/f\/10438416.jpg?width=1500&format=webp","slide_3_mobile_jpg":"https:\/\/cdn.store-assets.com\/s\/263036\/f\/10438427.jpg?width=900&format=webp","slide_3_link":"https:\/\/www.gibbon.com.tw\/collections\/%E4%BC%91%E9%96%92%E9%95%B7%E8%A4%B2","slide_3_alt":"","slide_3_title":"","slide_3_subtitle":"","slide_3_button_text":"","slide_4":"","slide_4_jpg":"https:\/\/cdn.store-assets.com\/s\/263036\/f\/6734531.jpeg?width=1200","slide_4_mobile_jpg":"https:\/\/cdn.store-assets.com\/s\/263036\/f\/6734533.jpeg?width=1200","slide_4_link":"https:\/\/weedenfashion.easy.co\/collections\/\u4f11\u65c5\u6a5f\u80fd","slide_4_alt":"","slide_4_title":"","slide_4_subtitle":"","slide_4_button_text":"","slide_5":"","slide_5_jpg":"","slide_5_mobile_jpg":"","slide_5_link":"","slide_5_alt":"","slide_5_title":"","slide_5_subtitle":"","slide_5_button_text":"","slide_6":"","slide_6_jpg":"","slide_6_mobile_jpg":"","slide_6_link":"","slide_6_alt":"","slide_6_title":"","slide_6_subtitle":"","slide_6_button_text":"","testimonial_slide_img_crop":0,"testimonial_slide_
42571_img":"https:\/\/cdn.store-assets.com\/s\/263036\/f\/6742851.jpeg?width=1500&format=webp","testimonial_slide_1_title":"","testimonial_slide_1_content":"","testimonial_slide_1_text_link":"","testimonial_slide_1_link":"https:\/\/weedenfashion.easy.co\/pages\/%E8%B3%BC%E7%89%A9%E8%AA%AA%E6%98%8E","testimonial_slide_2_img":"","testimonial_slide_2_title":"","testimonial_slide_2_content":"","testimonial_slide_2_text_link":"","testimonial_slide_2_link":"","testimonial_slide_3_img":"","testimonial_slide_3_title":"","testimonial_slide_3_content":"","testimonial_slide_3_text_link":"","testimonial_slide_3_link":"","testimonial_slide_4_img":"","testimonial_slide_4_title":"","testimonial_slide_4_content":"","testimonial_slide_4_text_link":"","testimonial_slide_4_link":"","testimonial_slide_5_img":"","testimonial_slide_5_title":"","testimonial_slide_5_content":"","testimonial_slide_5_text_link":"","testimonial_slide_5_link":"","testimonial_slide_6_img":"","testimonial_slide_6_title":"","testimonial_slide_6_content":"","testimonial_slide_6_text_link":"","testimonial_slide_6_link":"","logo_list_on_footer":0,"logo_list_title":"","logo_list_1_img":"","logo_list_1_link":"","logo_list_2_img":"","logo_list_2_link":"","logo_list_3_img":"","logo_list_3_link":"","logo_list_4_img":"","logo_list_4_link":"","logo_list_5_img":"","logo_list_5_link":"","logo_list_6_img":"","logo_list_6_link":"","logo_list_7_img":"","logo_list_7_link":"","logo_list_8_img":"","logo_list_8_link":"","home_featured_products":"feature-on-homepage","home_featured_products_num":"20","home_featured_products_row_num":"7","home_featured_products_show_heading":"","home_page_content":"home","home_page_show_heading":"0","home_page_add_to_cart":"1","scroll_to_top_button":"on-right","product_quantity_enable":"1","product_image_zoom_type":"lightbox","product_thumbnails_position":"below","product_related_enable":false,"products_per_row":4,"products_list_per_row":"4","product_page_float_btn":"1","product_page_variants_tag":"1","featured_product_title":"\u71b1\u8ce3\u5546\u54c1","product_img_res":"grande","product_img_crop":"product_img-crop ratio_1-1","collections_show_sale_circle":"1","collections_show_sold_out_circle":"1","collections_sort_enable":true,"collections_tags_enable":"0","collections_products_per_row":"3","collections_rows":"6","footer_bar":"1","footer_bar_icon_product_page":"1","footer_bar_icon_1":"https:\/\/cdn.easystore.blue\/s\/201\/f\/5590.png?width=150&format=webp","footer_bar_icon_1_text":"Home","footer_bar_icon_1_link":"\/","footer_bar_icon_2":"https:\/\/cdn.easystore.blue\/s\/201\/f\/5591.png?width=150&format=webp","footer_bar_icon_2_text":"All products","footer_bar_icon_2_link":"\/collections\/all","footer_bar_icon_3":"https:\/\/cdn.easystore.blue\/s\/201\/f\/5592.png?width=150&format=webp","footer_bar_icon_3_text":"Promotions","footer_bar_icon_3_link":"https:\/\/gibbon.com.tw\/collections\/%E7%89%B9%E6%83%A0%E5%96%AE%E5%93%81-5%E6%8A%98%E8%B5%B7","footer_bar_icon_4":"https:\/\/cdn.easystore.blue\/s\/201\/f\/5593.png?width=150&format=webp","footer_bar_icon_4_text":"Account","footer_bar_icon_4_link":"\/account\/login","cart_enable_ajax":"1","social_sharing_products":"1","social_sharing_blog":"1","social_sharing_count":"1","share_facebook":"1","share_twitter":"1","share_line":"1","share_pinterest":"1","facebook_url":"https:\/\/www.facebook.com\/","twitter_url":"","pinterest_url":"","instagram_url":"https:\/\/instagram.com\/","tumblr_url":"","youtube_url":"https:\/\/www.youtube.com\/","vimeo_url":"","wechat_url":"","whatsapp_url":"","line_url":"","featured_blog":"","featured_blog_title":"Blog","articles_handle_1":"","articles_handle_2":"","articles_handle_3":"","use_original_image":0,"promotion_uis":{"primary_color":"#C53333","header_bg_color":"#4089e4","header_text_color":"#fff","recommendation":{"is_show_product_page":true,"is_show_cart_page_top":true,"is_show_cart_page_bottom":true},"voucher_widget":{"primary_color":"#4089e4"}},"show_multiple_currencies":true,"supported_currencies":"TWD ","theme_id":2877,"theme_is_edited":1,"theme_updated_at":"2026-10-07T05:44:19.000Z","phone_account_enabled":false,"line_login_enabled":true,"apple_login_enabled":false,"timezone":"Asia\/Taipei","is_server_side_currency_conversion":true,"is_self_registration_enabled":true,"is_highlight_enabled":false,"is_auto_gen_highlight_enabled":false,"is_common_question_enabled":false,"is_auto_gen_common_question_enabled":false,"highlight_section_title":"Highlights","common_question_section_title":"Frequently asked questions","is_new_promotion_enabled":true} 4258 if (settings.promotion_uis.voucher_widget != null) { 4259 setVoucherTheme(settings.promotion_uis.voucher_widget) 4260 } 4261 var shop = { 4262 money_prefix: "", 4263 format_decimals: "" 4264 }; 4265 var _getEntitlementTranslation = { 4266 "free_shipping": "å éè²»", 4267 "free_of_charge": "å è²»è´å", 4268 } 4269 var _getTargetTypeTranslation = { 4270 "amount_credit": " åé¥é", 4271 "amount_off": " ææ£", 4272 } 4273 var _getPrerequisiteTranslation = { 4274 "min_quantity": "è³å°è³¼è²· formatValue ä»¶åå", 4275 "every_quantity": "æ¯è³¼è²· formatValue ä»¶åå", 4276 "min_amount": "æä½æ¶è²» formatCurrency", 4277 "every_amount": "æ¯æ¶è²» formatCurrency" 4278 } 4279 var _getPrerequisiteConditionTranslation = { 4280 "selected_items": "æå®åå", 4281 "selected_collections": "æå®åé¡", 4282 "storewide": "å ¨åº", 4283 "order_subtotal": "è¨å®éé¡" 4284 } 4285 var _getVoucherButtonTextTranslation = { 4286 "apply": "å¥ç¨", 4287 } 4288 var _getVoucherErrorTranslation = { 4289 "condition_not_matched": "åªæ 代碼æ¢ä»¶ä¸å¹é " 4290 } 4291 </script>
4291 4292 4293 </div> 4294 </div> 4295</vouchers-modal> 4296 4297 4298</body> 4299</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.