PageSourceSearch

https://www.allbest888.com/products/icegrid-polo-woman

html allbest888.com collected 2026-10-08 22:38:08 UTC 389,282 bytes, 6,482 lines download raw bytes

1<!DOCTYPE html>
2<html lang="zh-TW" style="height:100%;">
3  <head>
4      
4<script>
5        window.dataLayer = window.dataLayer || [];
6      </script>
6
7    
8      <!-- CYBERBIZ Google Tag Manager -->
9      
9<script>
vendor: 345 bytes, lines 9-13
9(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
10      new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
11      j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
12      'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
13      })(window,document,'script','cyb','
13GTM-TXD9LVJ
vendor: 3 bytes, line 13
13');
13</script>
13
14      <!-- End CYBERBIZ Google Tag Manager -->
15    
16      
16<script>
17        function getUserFromCookie(){
18          if(localStorage.customer && localStorage.customer != '{"notLogin":true}'){
19            return JSON.parse(localStorage.customer).id;
20          }else{
21            return "";
22          }
23        }
24        cyb = [{
25          'shop': "29668-ALLBEST|",
26          'shop_plan': "enterprise",
27          'userId': getUserFromCookie()
28        }];
29      </script>
29
30    
31      <!-- CYBERBIZ Google Tag Manager -->
32      
32<script>
vendor: 345 bytes, lines 32-36
32(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
33      new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
34      j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
35      'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
36      })(window,document,'script','cyb','
36GTM-P7528MQ
vendor: 3 bytes, line 36
36');
36</script>
36
37      <!-- End CYBERBIZ Google Tag Manager -->
38    
39    <meta charset="utf-8">
40<meta http-equiv="X-UA-Compatible" content="IE=edge">
41<meta name="viewport" content="width=device-width, initial-scale=1">
42<link rel="icon" href="https://cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0Nzg0Mzc5X0xPR08ucG5nLnBuZyJdXQ.png?convert=false&sha=a36c1099a44694fd">
43<link rel="apple-touch-icon" href="https://cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0Nzg0Mzc5X0xPR08ucG5nLnBuZyJdXQ.png?convert=false&sha=a36c1099a44694fd">
44
45<meta property="og:site_name" content="ALLBEST|" />
46
47<!-- og tag -->
48
49
50<!-- og image -->
51
52  <meta property="og:image" content="https://cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L3Byb2R1Y3RzLzU1ODE0ODc0LzE3NTAwNTMyNjhfOWU4ZWU5NjU0N2ZhM2E3YTFhNTguanBlZyJdLFsicCIsInRodW1iIiwiNDgweDQ4MCJdXQ.jpeg?sha=3821eafdba852330" />
53
54
55<title>
56  
57    ALLBEST|一件會呼吸的涼感衣|女款修身POLO衫|冰菱呼吸短袖POLO衫 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 ALLBEST|
58  
59</title>
60
61
62
63<script src='//cdn-general.cybassets.com/frontend/shop/useSettingsData-ec858cfa815323bb.js' type='text/javascript'></script>
63
64
65
66
67  
67<script>
68    window.setSettingsData({"draggable_sections":{"404":[],"index":["1744769970942_0","1744772998982_4","1744861062033_5","1744885148486_5","1744873446634_4","1744869702861_5"],"product":["product_info","product_description","board_comments","related_products"],"combo_product":["combo_product_info","combo_product_desc","board_comments"],"collection":[],"category":[],"blog":[],"article":[],"cart":[],"contact":[],"express_delivery":[],"search":[],"page":["1744769970942_0","1744772998982_4","1744861062033_5","1744885148486_5","1744873446634_4","1744869702861_5"]},"sections":{"navbar":{"type":"navbar","visible":true,"settings":{"navbar_image_logo_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0Nzg0MzUzX0xPR08tMi5wbmcucG5nIl1d.png?sha=f1efaed915a9cf4b","navbar_image_logo_tablet_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0ODgzNjk2X0xPR08tMy5wbmcucG5nIl1d.png?sha=348b1fad190a67b5","navbar_image_logo_mobile_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0ODgzNjk2X0xPR08tMy5wbmcucG5nIl1d.png?sha=348b1fad190a67b5","main_nav":"main-menu","slider_primary_linklist":"main-menu","slider_primary_linklist_set_open":true,"nav_show_three_dimension":true,"search_enabled":true,"display_only_index":false,"dict_header_banner_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0Nzg0MzUzX0xPR08tMi5wbmcucG5nIl1d.png?sha=f1efaed915a9cf4b","dict_header_banner_image_tablet_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0Nzg0MzUzX0xPR08tMi5wbmcucG5nIl1d.png?sha=f1efaed915a9cf4b","dict_header_banner_image_mobile_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0Nzg0MzUzX0xPR08tMi5wbmcucG5nIl1d.png?sha=f1efaed915a9cf4b","dict_header_banner_link":"","display_count_down":false,"navbar_display_style":"rowNav","navbar_background_transparent":false,"header_banner_start":"","header_banner_end":"2025-04-15 17:00:33 +0800","timer_text_color":"#ffffff","timer_bg_color":"#ffffff","menu_display_style":"three_dimension_menu","link_menu_enabled":false,"link_menu":"undefined","display_banner_type":"imageBanner","header_banner_simple_text_size":"14","header_banner_simple_text_color":"#ffffff","header_banner_simple_bg":"#000000"},"custom_name":"導覽列"},"footer":{"type":"footer","visible":true,"settings":{"footer_link":"footer","display_facebook":false,"shop_facebook":"https://www.facebook.com/allbest8","display_instagram":false,"shop_instagram":"https://www.instagram.com/?hl=zh-tw","display_line":true,"shop_line":"https://line.me/zh-hant/","display_youtube":false,"shop_youtube":"https://www.youtube.com/","footer_link_arrangement":"display_y"},"block_order":["default_link_list","1744785463239_0","default_contact_info"],"blocks":{"default_link_list":{"type":"link_list_setting","thumbnail":"list","draggable":true,"visible":true,"settings":{"dict_link_list_block_title":"關於我們","footer_link":"footer"},"custom_name":"選單"},"default_contact_info":{"type":"contact_info_setting","thumbnail":"contactInfo","draggable":true,"visible":true,"settings":{"contact_info_block_title":"聯絡資訊","display_phone":true,"dict_phone_number":"☎ (02)2680-8568 手機0958-329588","display_fax_number":false,"dict_shop_fax_number":"","display_shop_email":true,"dict_shop_email":"[email protected]","display_shop_address":true,"dict_shop_address":"新北市樹林區新興街37å··7號1樓","display_office_time":true,"dict_shop_office_time":"9:00-18:00","dict_contact_info_block_title":"聯絡資訊","display_tax_id":false,"dict_tax_id":"24624499"},"custom_name":"聯絡資訊"},"1744785463239_0":{"type":"link_list_setting","custom_name":"選單","visible":true,"settings":{"dict_link_list_block_title":"會員相關","footer_link":"會員"}}},"custom_name":"頁腳"},"_index_product_banner":{"type":"_index_product_banner","visible":false,"settings":{"dict_link":"","dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0NzY5ODk4XzIwMjUwNDEwLTFf5bel5L2c5Y2A5Z-fIDEuanBnLmpwZWciXV0.jpeg?sha=21c1439565a523d3","dict_tablet_image_url":"","dict_mobile_image_url":"","display_cta_btn":true,"cta_btn_display_style":"bottomPosition","cta_btn_text":"SHOP NOW","cta_btn_bg_color":"#ffffff","cta_btn_text_color":"#000000","margin_x":"0","margin_bottom":"8","mobile_margin_x":"0","mobile_margin_bottom":"12"},"custom_name":"橫幅廣告"},"_index_8_blocks":{"type":"_index_8_blocks","visible":false,"settings":{"dict_title":"新品上市","collection_handle":"下著","limit":"4","margin_x":"0","margin_bottom":"0","mobile_margin_x":"0","mobile_margin_bottom":"0","product_display":"displayAll","product_arrangement":"2","product_alignment":"midPosition","product_text_align":"center"},"custom_name":"商品分類"},"_index_4_blocks":{"type":"_index_4_blocks","visible":false,"blocks":{"display_index_4_block_1":{"type":"image","visible":true,"settings":{"title":"","dict_link":"","dict_image_url":"/theme_src/i18n_walker/default_img/index_4_blocks_1.png","dict_tablet_image_url":"","dict_mobile_image_url":"","block_propotion":"10"},"custom_name":"圖片"},"display_index_4_block_2":{"type":"image","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0NzcwMzkwX-acquWRveWQjS0xLmpwZy5qcGVnIl1d.jpeg?sha=e42ba0e2a6da4d69","dict_tablet_image_url":"","dict_mobile_image_url":"","dict_link":"","block_propotion":"10"},"custom_name":"圖片"},"display_index_4_block_3":{"type":"image","visible":true,"settings":{"dict_image_url":"/theme_src/i18n_walker/default_img/index_4_blocks_3.png","dict_tablet_image_url":"","dict_mobile_image_url":"","dict_link":"","block_propotion":"33.3"},"custom_name":"圖片"}},"block_order":["display_index_4_block_2","display_index_4_block_1","display_index_4_block_3"],"settings":{"margin_x":"0","margin_bottom":"48","mobile_margin_x":"0","mobile_margin_bottom":"40","mobile_columns":1,"margin_block":"10","mobile_margin_block":"10"},"custom_name":"自訂排版設計"},"_index_8_blocks_2":{"type":"_index_8_blocks","visible":false,"settings":{"dict_title":"Womens","collection_handle":"under-peace-men","limit":"4","margin_x":"0","margin_bottom":"50","mobile_margin_x":"0","mobile_margin_bottom":"24","product_display":"displayPartial","product_arrangement":"1","product_alignment":"leftPosition","product_text_align":"center"},"blocks":{},"block_order":[],"custom_name":"商品分類"},"_index_product_banner_2":{"type":"_index_product_banner","visible":false,"settings":{"dict_image_url":"/theme_src/i18n_walker/default_img/index_product_banner_2.png","dict_tablet_image_url":"/theme_src/i18n_walker/default_img/index_product_banner_2_tablet.png","dict_mobile_image_url":"/theme_src/i18n_walker/default_img/index_product_banner_2_mobile.png","dict_link":"","display_cta_btn":true,"cta_btn_display_style":"bottomPosition","cta_btn_text":"Shop Mens →","cta_btn_bg_color":"#ffffff","cta_btn_text_color":"#673131","margin_x":"120","margin_bottom":"32","mobile_margin_x":"0","mobile_margin_bottom":"40"},"blocks":{},"block_order":[],"custom_name":"橫幅廣告"},"_index_product_banner_3":{"type":"_index_product_banner","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0NzY5OTA5XzIwMjUwNDEwLTEtMDQuanBnLmpwZWciXV0.jpeg?sha=c21342f8e469bfee","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0NzY5OTA5XzIwMjUwNDEwLTEtMDQuanBnLmpwZWciXV0.jpeg?sha=c21342f8e469bfee","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0NzY5OTA5XzIwMjUwNDEwLTEtMDQuanBnLmpwZWciXV0.jpeg?sha=c21342f8e469bfee","dict_link":"","display_cta_btn":false,"cta_btn_display_style":"bottomPosition","cta_btn_text":"Shop Womens →","cta_btn_bg_color":"#ffffff","cta_btn_text_color":"#673131","margin_x":"120","margin_bottom":"32","mobile_margin_x":"0","mobile_margin_bottom":"40"},"blocks":{},"block_order":[],"custom_name":"橫幅廣告"},"express_delivery_index_4_blocks":{"type":"_index_4_blocks","visible":false,"blocks":{"express_delivery_display_index_4_block_1":{"type":"image","visible":true,"settings":{"title":"","dict_link":"","dict_image_url":"/theme_src/i18n_walker/default_img/index_4_blocks_1.png","dict_tablet_image_url":"","dict_mobile_image_url":""}}},"block_order":["express_delivery_display_index_4_block_1"]},"custom_text":{"type":"custom_text","visible":true,"settings":{}},"blog":{"type":"blog","visible":true,"settings":{"article_limit_in_blog_page":"6"}},"article":{"type":"article","visible":true,"settings":{"display_blog_menu":true,"dict_blog_tags_title":"文章分類","blog_latest_post_limit":"2"}},"category":{"type":"category","visible":true,"settings":{"category_sidebar_set_open":false,"category_product_block_limit":"4","category_product_swiper_item_limit":"
686","category_product_item_limit":"18"}},"shop_setting":{"type":"shop_setting","visible":true,"settings":{"favicon_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0Nzg0Mzc5X0xPR08ucG5nLnBuZyJdXQ.png?sha=a36c1099a44694fd","og_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ3NzI4Mjg4X-aXpee2rS1BTExCRVNU5pa5TE9HT18xMDAwWDEwMDAuanBnLmpwZWciXV0.jpeg?sha=e793b9c4e2189a0a","shop_title":"穿上即保養 Wear is care","shop_description":"因應氣候極端變化,為世界各地人群,重新構想功能性服裝,打造價格合理且非侵入式--穿的保養品,並致力於先進專利科技與時尚融為一體,在不同情境下,讓身體像風一樣自由-舒適無界。","shop_keywords":"面膜褲,瑜珈褲,涼感T,POLO衫,膠原蛋白,鍺纖維"},"custom_name":"全站設定"},"color_settings":{"type":"color_settings","visible":true,"settings":{"button_color":"#efedea","button_text_color":"#000000","accent_color":"#eb4600","heading_color":"#535353","text_color":"#9A9EA2","price_color":"#eb4600","discount_price_color":"#eb4600","theme_bg_color":"#ffffff","product_border_color":"#9a9ea2","nav_logo_bg_color":"#efedea","nav_menu_bg_color":"#ffffff","nav_menu_text_color":"#000000","nav_menu_icon_color":"#000000","footer_bg_color":"#efedea","footer_text_color":"#000000","checkout_button_color":"#535353","checkout_accent_color":"#eb4600","tips_text_color":"#ff0000"},"custom_name":"顏色設定"},"popup":{"type":"popup","visible":true,"blocks":{"popup_block_1":{"type":"image","visible":false,"settings":{"dict_image_url":"","icon_size":"small"},"custom_name":"圖片"}},"block_order":["popup_block_1"],"settings":{},"custom_name":"彈窗廣告"},"product_info":{"type":"product_info","visible":true,"settings":{"display_product_sku":true,"dict_vip_custom_price_text":"","dict_vip_custom_price_href":""}},"product_description":{"type":"product_description","visible":true},"board_comments":{"type":"board_comments","visible":true,"settings":{},"thumbnail":"list","draggable":false},"related_products":{"type":"related_products","visible":true,"settings":{"display_related_cols":true,"use_custom_related_cols":true,"dict_group_related_cols_related_product":"相關商品","related_products_limit":"4"}},"combo_product_info":{"type":"combo_product_info","visible":true,"settings":{}},"combo_product_desc":{"type":"combo_product_desc","visible":true,"settings":{}},"contact":{"type":"contact","visible":true,"settings":{"show_google_map":true,"show_google_map_iframe":"\u003ciframe src=\"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3613.6479170127777!2d121.56760821400371!3d25.07991984260527!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x3442ac6fbd841bbd%3A0x64e16bcf25e3da31!2zMTE05Y-w5YyX5biC5YWn5rmW5Y2A55Ge5YWJ6LevNTEz5be3MzDomZ8!5e0!3m2!1szh-TW!2stw!4v1485156761267\" width=\"600\" height=\"450\" frameborder=\"0\" style=\"border:0\" allowfullscreen\u003e\u003c/iframe\u003e"}},"collection":{"type":"collection","visible":true,"settings":{"collection_sidebar":"main-menu","collection_sidebar_set_open":false,"collection_pagination_limit":"24","is_infinite_scroll":false},"custom_name":"商品分類設定"},"404":{"type":"404","visible":true,"settings":{"image_url":"/theme_src/i18n_walker/default_img/404_img.png","dict_404_image_url":"/theme_src/i18n_walker/default_img/404_img.png","dict_title_text":"抱歉,此頁面不存在或者已經被移除","dict_btn_text":"返回首頁"}},"blogs_all":{"type":"blogs_all","visible":true,"settings":{}},"bundle_discounts":{"type":"bundle_discounts","visible":true,"settings":{}},"cart":{"type":"cart","visible":true,"settings":{}},"cart_empty":{"type":"cart_empty","visible":true,"settings":{}},"page":{"type":"page","visible":true,"settings":{}},"search":{"type":"search","visible":true,"settings":{"search_link_list":"main-menu"}},"customers/account":{"type":"customers/account","visible":true,"settings":{}},"customers/account_edit":{"type":"customers/account_edit","visible":true,"settings":{}},"customers/activate_account":{"type":"customers/activate_account","visible":true,"settings":{}},"customers/addresses":{"type":"customers/addresses","visible":true,"settings":{}},"customers/bonus_points":{"type":"customers/bonus_points","visible":true,"settings":{}},"customers/cancel":{"type":"customers/cancel","visible":true,"settings":{}},"customers/coupons":{"type":"customers/coupons","visible":true,"settings":{}},"customers/forgot_password":{"type":"customers/forgot_password","visible":true,"settings":{}},"customers/login":{"type":"customers/login","visible":true,"settings":{}},"customers/message":{"type":"customers/message","visible":true,"settings":{}},"customers/messages":{"type":"customers/messages","visible":true,"settings":{}},"customers/modify_password":{"type":"customers/modify_password","visible":true,"settings":{}},"customers/order":{"type":"customers/order","visible":true,"settings":{}},"customers/orders":{"type":"customers/orders","visible":true,"settings":{}},"customers/periodic_order":{"type":"customers/periodic_order","visible":true,"settings":{}},"customers/periodic_orders":{"type":"customers/periodic_orders","visible":true,"settings":{}},"customers/other_valid_orders":{"type":"customers/other_valid_orders","visible":true,"settings":{}},"customers/register":{"type":"customers/register","visible":true,"settings":{}},"customers/reset_password":{"type":"customers/reset_password","visible":true,"settings":{}},"customers/return":{"type":"customers/return","visible":true,"settings":{}},"customers/tracking_items":{"type":"customers/tracking_items","visible":true,"settings":{}},"express_delivery-navbar":{"type":"express_delivery-navbar","visible":true,"settings":{}},"express_delivery-content":{"type":"express_delivery-content","visible":true,"settings":{}},"1744769970942_0":{"type":"_main_slider_custom","custom_name":"輪播素材","visible":true,"settings":{"swiper_delay":"4","margin_x":"0","margin_bottom":"5","image_number":"1","image_space":"0","mobile_margin_x":"0","mobile_margin_bottom":"5","mobile_image_number":"1","mobile_image_space":"0"},"blocks":{"1744769970944_0":{"type":"image","custom_name":"素材","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzUwMDY0ODM3XzIwMjUwNjE2LTE5MjBYNDgwX-W3peS9nOWNgOWfnyAxLmpwZy5qcGVnIl1d.jpeg?sha=69c31f05d64a665f","dict_tablet_image_url":"","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzUwMDY0ODUxXzIwMjUwNjE2LTQ4MFg0ODAt55S3UE9MTy5qcGcuanBlZyJdXQ.jpeg?sha=e7e748f446693503","dict_link":"/collections/短袖polo衫","slide_contents_display":"center","dict_slide_btn_link":"/products/icegrid-polo-man","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff","dict_slide_btn_text":"","main_slider_image_alt":"礦2代一樣穿起來,機能POLO衫全新上市","dict_slide_title_text":""}},"1744769992520_0":{"type":"image","custom_name":"素材","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ3MzkyOTIyX0JBTk5FUi0yMDUwNTE2LmpwZy5qcGVnIl1d.jpeg?sha=b5eafbc406393818","dict_tablet_image_url":"","dict_mobile_image_url":"","dict_link":"","slide_contents_display":"center","dict_slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff"}},"1744770212102_0":{"type":"image","custom_name":"素材","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzUwMDY0ODc0XzIwMjUwNjE2LTE5MjBYNDgwLeWls1BPTE8uanBnLmpwZWciXV0.jpeg?sha=7cc3a2fe1752b29d","dict_tablet_image_url":"","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzUwMDY0ODg0XzIwMjUwNjE2LTQ4MFg0ODAt5aWzUE9MTy5qcGcuanBlZyJdXQ.jpeg?sha=5ccbc8efab01d60c","dict_link":"/collections/短袖polo衫","slide_contents_display":"center","dict_slide_btn_link":"/collections/短袖polo衫","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff","main_slider_image_alt":"會員招募中","link_open_in_new_tab":false}}},"block_order":["1744769970944_0","1744770212102_0","1744769992520_0"]},"1744770582376_6":{"type":"_graphic_introduction","custom_name":"圖文介紹","visible":false,"settings":{"text_display":"leftPosition","graphic_text":"#000000","graphic_bg"
68:"#efedea","margin_x":"0","margin_bottom":"20","mobile_margin_x":"0","mobile_margin_bottom":"8","dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0NzgzNTk0X0Fkb2JlU3RvY2tfODEzMDcyMDAzX1ByZXZpZXcuanBlZy5qcGVnIl1d.jpeg?sha=879a305bc34f4c90","dict_tablet_image_url":"","dict_mobile_image_url":"","btn_display":"leftSide","block_propotion":"45"},"blocks":{"1744770582377_0":{"type":"title","custom_name":"標題","visible":true,"settings":{"dict_rich_text_title":"ALLBEST","dict_size":"24"}},"1744770582378_1":{"type":"text","custom_name":"內文","visible":true,"settings":{"dict_rich_text_content":"\u003cp\u003e「穿上即保養」的獨家面料科技,突破傳統服飾的保養限制,立即探索ALLBEST專屬頁面...\u003c/p\u003e\n","dict_size":"14"}},"1744770582379_2":{"type":"button","custom_name":"按鈕","visible":true,"settings":{"dict_btn_text":"探索衣著黑科技 ∞ 即刻體驗","graphic-button_bg":"#dadada","graphic-button_text":"#000000"}}},"block_order":["1744770582377_0","1744770582378_1","1744770582379_2"]},"1744772998982_4":{"type":"_index_4_blocks","custom_name":"自訂排版設計","visible":true,"settings":{"margin_x":"0","margin_bottom":"83","margin_block":"10","mobile_margin_x":"0","mobile_margin_bottom":"17","mobile_columns":2,"mobile_margin_block":"10"},"blocks":{"1744772998983_0":{"type":"image","custom_name":"圖片","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0NzcxMjM1X-acquWRveWQjS0yLmpwZy5qcGVnIl1d.jpeg?sha=4a436c123dd12641","dict_tablet_image_url":"","dict_mobile_image_url":"","dict_link":"","block_propotion":"50"}},"1744773060344_3":{"type":"html","custom_name":"自訂HTML","visible":true,"settings":{"dict_body_html":"\u003c!DOCTYPE html\u003e\r\n\u003chtml\u003e\r\n\u003chead\u003e\r\n\u003ctitle\u003e彈性文字區塊\u003c/title\u003e\r\n\u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\r\n\u003cstyle\u003e\r\n  /* 基本樣式 (適用於所有裝置) */\r\n  body {\r\n    margin: 0;\r\n    padding: 0;\r\n  }\r\n  table {\r\n    width: 100%;\r\n    border-collapse: collapse;\r\n  }\r\n  td {\r\n    padding: 0;\r\n  }\r\n  .outer-margin {\r\n    width: 100%;\r\n    padding-left: 0;\r\n    box-sizing: border-box;\r\n  }\r\n  .content-container {\r\n    width: 100%;\r\n    text-align: left; /* 預設靠左 */\r\n  }\r\n  .main-title {\r\n    margin: 10px 0;\r\n    color: #000;\r\n    font-family: 'Helvetica', 'Arial', sans-serif;\r\n  }\r\n  .preface-text {\r\n    line-height: 1.6;\r\n    font-family: 'PingFang SC', sans-serif;\r\n    text-align: left; /* 行動裝置保持靠左 */\r\n  }\r\n\r\n  /* 手機版樣式 */\r\n  @media (max-width: 576px) {\r\n    .main-title {\r\n      font-size: 1.8em;\r\n    }\r\n    .preface-text {\r\n      font-size: 0.9em;\r\n    }\r\n    .outer-margin {\r\n      padding: 0 25px;\r\n    }\r\n  }\r\n\r\n  /* 平板版樣式 */\r\n  @media (min-width: 577px) and (max-width: 992px) {\r\n    .main-title {\r\n      font-size: 2.5em;\r\n    }\r\n    .preface-text {\r\n      font-size: 1 em;\r\n    }\r\n    .outer-margin {\r\n      padding: 0 20px;\r\n    }\r\n  }\r\n\r\n  /* 電腦版樣式 */\r\n  @media (min-width: 993px) {\r\n    .main-title {\r\n      font-size: 3em;\r\n      text-align: center; /* 文字置中 */\r\n    }\r\n    .preface-text {\r\n      font-size: 1.8em;\r\n      color: #555;  /* 第三段文字顏色:灰色 */\r\n      text-align: center;  /* 文字置中 */\r\n      margin: 0 auto;\r\n      max-width: 600px;  /* 限制最大寬度 */\r\n      padding: 0 20px; /* 保持左右留白 */\r\n    }\r\n    .outer-margin {\r\n      padding: 0;\r\n      display: flex;\r\n      justify-content: center; /* 讓表格在父層容器中水平居中 */\r\n    }\r\n    .content-container {\r\n      width: auto; /* 寬度根據內容調整 */\r\n    }\r\n  }\r\n\u003c/style\u003e\r\n\u003c/head\u003e\r\n\u003cbody\u003e\r\n  \u003ctable width=\"100%\" cellpadding=\"0\" cellspacing=\"0\"\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd class=\"outer-margin\"\u003e\r\n        \u003ctable width=\"100%\" cellpadding=\"0\" cellspacing=\"0\"\u003e\r\n          \u003ctr\u003e\r\n            \u003ctd class=\"content-container\"\u003e\r\n              \u003ch1 class=\"main-title\" style=\"color:#000;\"\u003e\r\n               穿上即保養 — 輕裝上陣\r\n              \u003c/h1\u003e\r\n              \u003cp class=\"preface-text\" style=\"color:#969697;\"\u003e\r\n              ALLBEST  以科技編織未來衣著哲學,\u003c/br\u003e重新定義人與服裝的新關係。......\r\n              \u003c/p\u003e\r\n            \u003c/td\u003e\r\n          \u003c/tr\u003e\r\n        \u003c/table\u003e\r\n      \u003c/td\u003e\r\n    \u003c/tr\u003e\r\n  \u003c/table\u003e\r\n\u003c/body\u003e\r\n\u003c/html\u003e\r\n"}}},"block_order":["1744773060344_3"]},"1744784503454_0":{"type":"_main_slider_custom","custom_name":"輪播素材","visible":true,"settings":{"swiper_delay":"3","margin_x":"0","margin_bottom":"50","image_number":"1","image_space":"12","mobile_margin_x":"0","mobile_margin_bottom":"50","mobile_image_number":"1","mobile_image_space":"8"},"blocks":{"1744784503456_0":{"type":"image","custom_name":"素材","visible":true,"settings":{"dict_image_url":"/theme_src/i18n_shoestore/default_img/index_4_blocks_1.jpg","dict_tablet_image_url":"","dict_mobile_image_url":"","dict_link":"","slide_contents_display":"left","dict_slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff"}}},"block_order":["1744784503456_0"]},"1744788212425_0":{"type":"_main_slider_custom","custom_name":"輪播素材","visible":false,"settings":{"swiper_delay":"3","margin_x":"0","margin_bottom":"3","image_number":"1","image_space":"12","mobile_margin_x":"0","mobile_margin_bottom":"0","mobile_image_number":"1","mobile_image_space":"8"},"blocks":{"1744788212427_0":{"type":"image","custom_name":"素材","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0Nzg2MTAxXzIwMjUwNDE2LTIuanBnLmpwZWciXV0.jpeg?sha=6757ec78ac9fbe4c","dict_tablet_image_url":"","dict_mobile_image_url":"","dict_link":"","slide_contents_display":"left","dict_slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff"}},"1744788221974_0":{"type":"image","custom_name":"素材","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0Nzg2MTAxXzIwMjUwNDE2LTEuanBnLmpwZWciXV0.jpeg?sha=aa29803338eb56ee","dict_tablet_image_url":"","dict_mobile_image_url":"","dict_link":"","slide_contents_display":"left","dict_slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff"}},"1744788223884_0":{"type":"image","custom_name":"素材","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0Nzg2MTA1XzIwMjUwNDE2LTMuanBnLmpwZWciXV0.jpeg?sha=d8c10aa7350bb844","dict_tablet_image_url":"","dict_mobile_image_url":"","dict_link":"","slide_contents_display":"left","dict_slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff"}}},"block_order":["1744788212427_0","1744788221974_0","1744788223884_0"]},"1744788610063_7":{"type":"_text_editor_section","custom_name":"文字編輯","visible":false,"settings":{"margin_x":"0","margin_bottom":"48","mobile_margin_x":"0","mobile_margin_bottom":"0","dict_advanced_rich_text_content":"\u003cp style=\"text-align:center;\"\u003e\u003cspan style=\"color: rgb(174,156,156);font-size: 14px;\"\u003e◀\u003c/span\u003e \u003cspan style=\"color: rgb(174,156,156);font-size: 20px;\"\u003eSmart Wear, Care Easy\u003c/span\u003e \u003cspan style=\"color: rgb(174,156,156);font-size: 12px;\"\u003e▶\u003c/span\u003e\u003c/p\u003e\n"},"blocks":{},"block_order":[]},"1744789817288_5":{"type":"_custom_html","custom_name":"商品選單-輪播","visible":false,"settings":{"margin_x":"0","margin_bottom":"36","mobile_margin_x":"0","mobile_margin_bottom":"5","dict_body_html":"\u003c!DOCTYPE html\u003e\r\n\u003chtml\u003e\r\n\u003chead\u003e\r\n\u003ctitle\u003e彈性圖片輪播 (內聯樣式)\u003c/title\u003e\r\n\u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\r\n\u003c/head\u003e\r\n\u003cbody\u003e\r\n\r\n\u003cdiv id=\"carousel-container\" style=\"width: 100%; overflow: hidden;\"\u003e\r\n  \u003cdiv id=\"carousel-slide\" style=\"display: flex; transition: transform 0.5s ease-in-out;\"\u003e\r\n    \u003cimg src=\"https://cdn-general.cybassets.com//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0Nzg2MTAxXzIwMjUwNDE2LTIuanBnLmpwZWciXV0.jpeg?sha=6757ec78ac9fbe4c\" alt=\"圖片 1\" style=\"width: 100%; height: auto; flex-shrink: 0;\"\u003e\r\n    \u003cimg src=\"https://cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0Nzg2MTA1XzIwMjUwNDE2LTMuanBnLmpwZWciXV0.jpeg?sha=d8c10aa7350bb844\" alt=\"圖片 2\" style=\"width: 100%; height: auto; flex-shrink: 0;\"\u003e\r\n    \u003cimg src=\"https://cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0Nzg2MTAxXzIwMjUwNDE2LTEuanBnLmpwZWciXV0.jpeg?sha=aa29803338eb56ee\" alt=\"圖片 3\" style=\"width: 100%; height: auto; flex-shrink: 0;\"\u003e\r\n  \u003c/div\u003e\r\n\u003c/div\u003e\r\n\r\n\u003cscript\u003e\r\n  const carouselContainer = document.getElementById('carousel-container');\r\n  const carouselSlide = document.getElementById('carousel-slide');\r\n  const images = carouselSlide.querySelectorAll('img');\r\n  let counter = 0;\r\n  let slideWidth;\r\n  const totalImages = images.length;\r\n\r\n  function updateSlideWidth() {\r\n    slideWidth = carouselContainer.offsetWidth;\r\n  }\r\n\r\n  function nextSlide() {\r\n    counter++;\r\n    if (counter === totalImages) {\r\n      counter = 0;\r\n    }\r\n    carouselSlide.style.transform = `translateX(-${slideWidth * counter}px)`;\r\n  }\r\n\r\n  function adjustContainerWidth() {\r\n    if (window.innerWidth \u003c 768) { // 假設 768px 以下是手機\r\n      carouselContainer.style.width = '115%';\r\n      carouselContainer.style.marginLeft = '-2.5%';\r\n    } else {\r\n      carouselContainer.style.width = '100%';\r\n      carouselContainer.style.marginLeft = '0';\r\n    }\r\n    updateSlideWidth();\r\n  }\r\n\r\n  // 初始調整寬度和計算圖片寬度\r\n  adjustContainerWidth();\r\n  updateSlideWidth();\r\n\r\n  // 在視窗大小改變時重新調整\r\n  window.addEventListener('resize', () =\u003e {\r\n    adjustContainerWidth();\r\n    // 延遲一小段時間後再更新 slideWidth,避免 resize 過程中的抖動\r\n    setTimeout(updateSlideWidth, 100);\r\n  });\r\n\r\n  // 每 5 秒切換圖片\r\n  setInterval(nextSlide, 3000);\r\n\u003c/script\u003e\r\n\r\n\u003c/body\u003e\r\n\u003c/html\u003e\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n"},"blocks":{},"block_order":[]},"1744790257015_0":{"type":"_main_slider_custom","custom_name":"輪播素材","visible":false,"settings":{"swiper_delay":"3","margin_x":"0","margin_bottom":"50","image_number":"1","image_space":"12","mobile_margin_x":"0","mobile_margin_bottom":"50","mobile_image_number":"1","mobile_image_space":"8"},"blocks":{"1744790257016_0":{"type":"image","custom_name":"素材","visible":true,"settings":{"dict_image_url":"/theme_src/i18n_shoestore/default_img/index_4_blocks_1.jpg","dict_tablet_image_url":"","dict_mobile_image_url":"","dict_link":"","slide_contents_display":"left","dict_slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff"}}},"block_order":["1744790257016_0"]},"1744861062033_5":{"type":"_custom_html","custom_name":"4A 圖文介紹","visible":true,"settings":{"margin_x":"0","margin_bottom":"20","mobile_margin_x":"0","mobile_margin_bottom":"-7","dict_body_html":"\u003c!DOCTYPE html\u003e\r\n\u003chtml\u003e\r\n\u003chead\u003e\r\n\u003ctitle\u003e圖片文字區塊\u003c/title\u003e\r\n\u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\r\n\u003c/head\u003e\r\n\u003cbody style=\"margin: 0; padding: 0; background-color: #efedea;\"\u003e\r\n\r\n\u003c!-- 主要區塊 --\u003e\r\n\u003cdiv id=\"main-container\" style=\"display: flex; width: 100%; box-sizing: border-box; background-color:#efedea; flex-wrap: wrap; align-items: stretch;\"\u003e\r\n  \u003cdiv id=\"image-container\" style=\"flex: 0 0 50%; min-width: 300px; overflow: hidden;\"\u003e\r\n    \u003cimg src=\"https://cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ3ODIwMDEyX0ZpcmVmbHkt6LaF5YaZ5a6e5b6u6Led5pGE5b2x77yM5rC05ru05Zyo5biD6Z2i57qk57u06Ze05rm_5ram5omp5pWj55eV6L-577yM5rWF5pmv5rex6Jma5YyW6IOM5pmv77yMLTM4NzAtMy3mi7fosp0uanBnLmpwZWciXV0.jpeg?sha=38fe380bed6bca77\"\r\n         alt=\"照片\" style=\"width: 100%; height: 100%; display: block; object-fit: cover;\"\u003e\r\n  \u003c/div\u003e\r\n\r\n  \u003cdiv id=\"text-container\" style=\"flex: 1; display: flex; flex-direction: column; padding: 20px; align-items: flex-start;\"\u003e\r\n    \u003cdiv id=\"text-content\" style=\"display: flex; flex-direction: column; align-items: flex-start;\"\u003e\r\n      \u003ch3 id=\"subtitle\" style=\"margin: 8px 0 8px 10px; color: #333;\"\u003eALLBEST\u003c/h3\u003e\r\n      \u003ch1 id=\"title\" style=\"margin: 0 0 12px 15px; line-height: 1.3; color: #222;\"\u003e「穿上即保養」\u003c/h1\u003e\r\n      \u003cp id=\"preface\" style=\"margin: 0 0 15px 15px; line-height: 1.6; color: #555;\"\u003e\r\n        把黑科技變成你的日常超能力...\r\n      \u003c/p\u003e\r\n      \u003ca id=\"button\" href=\"https://www.allbest888.com/pages/about-us\" style=\"margin: 10px 0 20px 10px; background-color: black; color: white; text-decoration: none; border-radius: 5px;\"\u003e探索黑科技 ∞ 瞭解更多\u003c/a\u003e\r\n    \u003c/div\u003e\r\n  \u003c/div\u003e\r\n\u003c/div\u003e\r\n\r\n\u003c!-- JS 控制 --\u003e\r\n\u003cscript\u003e\r\nfunction adjustLayout() {\r\n  const container = document.getElementById('main-container');\r\n  const image = document.getElementById('image-container');\r\n  const text = document.getElementById('text-container');\r\n  const content = document.getElementById('text-content');\r\n  const subtitle = document.getElementById('subtitle');\r\n  const title = document.getElementById('title');\r\n  const preface = document.getElementById('preface');\r\n  const button = document.getElementById('button');\r\n  const width = window.innerWidth;\r\n\r\n  if (width \u003c= 576) {\r\n    container.style.flexDirection = 'column';\r\n    image.style.width = '100%';\r\n    image.style.height = 'auto';\r\n    image.style.marginBottom = '15px';\r\n    text.style.padding = '15px';\r\n    content.style.marginTop = '0';\r\n\r\n    subtitle.style.fontSize = '1.0em';\r\n    title.style.fontSize = '1.5em';\r\n    preface.style.fontSize = '0.85em';\r\n    button.style.fontSize = '0.85em';\r\n    button.style.padding = '6px 12px';\r\n  } else if (width \u003c= 992) {\r\n    container.style.flexDirection = 'column';\r\n    image.style.width = '100%';\r\n    image.style.height = 'auto';\r\n    image.style.marginBottom = '20px';\r\n    text.style.padding = '20px';\r\n    content.style.marginTop = '0';\r\n\r\n    subtitle.style.fontSize = '1.1em';\r\n    title.style.fontSize = '1.7em';\r\n    preface.style.fontSize = '0.95em';\r\n    button.style.fontSize = '0.95em';\r\n    button.style.padding = '8px 16px';\r\n  } else {\r\n    container.style.flexDirection = 'row';\r\n    image.style.flexBasis = '50%';\r\n    image.style.height = '100%';\r\n    image.style.marginBottom = '0';\r\n    text.style.padding = '20px';\r\n    content.style.marginTop = '35%';\r\n\r\n    subtitle.style.fontSize = 'clamp(1.2em, 2vw, 1.5em)';\r\n    title.style.fontSize = 'clamp(2.0em, 3vw, 3.0em)';\r\n    preface.style.fontSize = 'clamp(1.0em, 1.5vw, 1.2em)';\r\n    button.style.f
68ontSize = 'clamp(1.0em, 1.2vw, 1.4em)';\r\n    button.style.padding = 'clamp(8px, 1.2vw, 12px) clamp(16px, 2.5vw, 32px)';\r\n  }\r\n}\r\n\r\n// 初始化與監聽\r\nwindow.addEventListener('load', adjustLayout);\r\nwindow.addEventListener('resize', adjustLayout);\r\n\u003c/script\u003e\r\n\r\n\u003c/body\u003e\r\n\u003c/html\u003e\r\n"},"blocks":{},"block_order":[]},"1744869702861_5":{"type":"_custom_html","custom_name":"4 概念需求","visible":false,"settings":{"margin_x":"0","margin_bottom":"40","mobile_margin_x":"-50","mobile_margin_bottom":"20","dict_body_html":"\u003c!DOCTYPE html\u003e\r\n\u003chtml\u003e\r\n\u003chead\u003e\r\n  \u003ctitle\u003e響應式圖片放置\u003c/title\u003e\r\n  \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\r\n\u003c/head\u003e\r\n\u003cbody\u003e\r\n  \u003ctable width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd style=\"width:20%; padding:0; text-align:center;\"\u003e\u003c/td\u003e\r\n      \u003ctd style=\"width:11.25%; padding:0; text-align:center;\"\u003e\r\n        \u003cimg src=\"https://cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ1NTQ4MTE3X3NtYXJ0Y2FyZWFsbGNhcmUtMy5wbmcucG5nIl1d.png?sha=131a44cccecb073a\" alt=\"Image 1\" style=\"max-width:100%; height:auto; display:block; margin:0 auto;\"\u003e\r\n      \u003c/td\u003e\r\n      \u003ctd style=\"width:3.75%; padding:0;\"\u003e\u003c/td\u003e\r\n      \u003ctd style=\"width:11.25%; padding:0; text-align:center;\"\u003e\r\n        \u003cimg src=\"https://cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ1NTQ4MTE3X3NtYXJ0Y2FyZWFsbGNhcmUtMi5wbmcucG5nIl1d.png?sha=d6e2b8e96cae1b49\" alt=\"Image 2\" style=\"max-width:100%; height:auto; display:block; margin:0 auto;\"\u003e\r\n      \u003c/td\u003e\r\n      \u003ctd style=\"width:3.75%; padding:0;\"\u003e\u003c/td\u003e\r\n      \u003ctd style=\"width:11.25%; padding:0; text-align:center;\"\u003e\r\n        \u003cimg src=\"https://cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ1NTQ4MTg2X3NtYXJ0Y2FyZWFsbGNhcmUtMS5wbmcucG5nIl1d.png?sha=cf7dd7f5583b0cc6\" alt=\"Image 3\" style=\"max-width:100%; height:auto; display:block; margin:0 auto;\"\u003e\r\n      \u003c/td\u003e\r\n      \u003ctd style=\"width:3.75%; padding:0;\"\u003e\u003c/td\u003e\r\n      \u003ctd style=\"width:11.25%; padding:0; text-align:center;\"\u003e\r\n        \u003cimg src=\"https://cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ1NTQ4MTE3X3NtYXJ0Y2FyZWFsbGNhcmUtNC5wbmcucG5nIl1d.png?sha=5bf890fac4dac8da\" alt=\"Image 4\" style=\"max-width:100%; height:auto; display:block; margin:0 auto;\"\u003e\r\n      \u003c/td\u003e\r\n      \u003ctd style=\"width:20%; padding:0;\"\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n  \u003c/table\u003e\r\n\u003c/body\u003e\r\n\u003c/html\u003e\r\n"},"blocks":{},"block_order":[]},"1744872046638_4":{"type":"_index_4_blocks","custom_name":"自訂排版設計","visible":false,"settings":{"margin_x":"0","margin_bottom":"50","margin_block":"10","mobile_margin_x":"0","mobile_margin_bottom":"50","mobile_columns":1,"mobile_margin_block":"10"},"blocks":{"1744872046640_0":{"type":"image","custom_name":"sapce","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0ODcxMTc4X3NhcGFjZS5wbmcucG5nIl1d.png?sha=629b40a7a0ec84eb","dict_tablet_image_url":"","dict_mobile_image_url":"","dict_link":"","block_propotion":"20"}},"1744872046642_1":{"type":"video","custom_name":"影片","visible":true,"settings":{"dict_video_link":""}},"1744872837249_0":{"type":"image","custom_name":"01","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0ODY5NzUzX3NtYXJ0Y2FyZWFsbGNhcmUtMS5wbmcucG5nIl1d.png?sha=85f361ff52cac740","dict_tablet_image_url":"","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0ODc0NzQ0X3NtYXJ0Y2Fy
68ZWFsbGNhcmUtMS0xLnBuZy5wbmciXV0.png?sha=3e384a16a19d52f5","dict_link":"","block_propotion":"11.25"}},"1744872840023_0":{"type":"image","custom_name":"space","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0ODcxMTc4X3NhcGFjZS5wbmcucG5nIl1d.png?sha=629b40a7a0ec84eb","dict_tablet_image_url":"","dict_mobile_image_url":"","dict_link":"","block_propotion":"3.75"}},"1744872843517_0":{"type":"image","custom_name":"02","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0ODY5NzUzX3NtYXJ0Y2FyZWFsbGNhcmUtMi5wbmcucG5nIl1d.png?sha=dc6ce71a1d76c2c5","dict_tablet_image_url":"","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0ODc0NzYyX3NtYXJ0Y2FyZWFsbGNhcmUtMi0yLnBuZy5wbmciXV0.png?sha=f754849407f63fae","dict_link":"","block_propotion":"11.25"}},"1744872845192_0":{"type":"image","custom_name":"space","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0ODcxMTc4X3NhcGFjZS5wbmcucG5nIl1d.png?sha=629b40a7a0ec84eb","dict_tablet_image_url":"","dict_mobile_image_url":"","dict_link":"","block_propotion":"3.75"}},"1744872866735_0":{"type":"image","custom_name":"03","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0ODY5NzUzX3NtYXJ0Y2FyZWFsbGNhcmUtMy5wbmcucG5nIl1d.png?sha=68c8534051c00d79","dict_tablet_image_url":"","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0ODc0Nzc0X3NtYXJ0Y2Fy
68ZWFsbGNhcmUtMy0zLnBuZy5wbmciXV0.png?sha=e8fbb2b2739e45ee","dict_link":"","block_propotion":"11.25"}},"1744872986079_0":{"type":"image","custom_name":"space","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0ODcxMTc4X3NhcGFjZS5wbmcucG5nIl1d.png?sha=629b40a7a0ec84eb","dict_tablet_image_url":"","dict_mobile_image_url":"","dict_link":"","block_propotion":"3.75"}},"1744873005177_0":{"type":"image","custom_name":"04","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0ODY5NzUyX3NtYXJ0Y2FyZWFsbGNhcmUtNC5wbmcucG5nIl1d.png?sha=aa0ac095e3726b9b","dict_tablet_image_url":"","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0ODc0NzgzX3NtYXJ0Y2FyZWFsbGNhcmUtNC00LnBuZy5wbmciXV0.png?sha=a17b4e628491a758","dict_link":"","block_propotion":"11.25"}},"1744873016231_0":{"type":"image","custom_name":"space","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0ODcxMTc4X3NhcGFjZS5wbmcucG5nIl1d.png?sha=629b40a7a0ec84eb","dict_tablet_image_url":"","dict_mobile_image_url":"","dict_link":"","block_propotion":"20"}}},"block_order":["1744872046640_0","1744872837249_0","1744872840023_0","1744872843517_0","1744872845192_0","1744872866735_0","1744872986079_0","1744873005177_0","1744873016231_0"]},"1744873446634_4":{"type":"_index_4_blocks","custom_name":"自訂排版設計","visible":false,"settings":{"margin_x":"0","margin_bottom":"50","margin_block":"10","mobile_margin_x":"0","mobile_margin_bottom":"10","mobile_columns":1,"mobile_margin_block":"10"},"blocks":{"1744873456469_3":{"type":"html","custom_name":"自訂HTML","visible":true,"settings":{"dict_body_html":"\u003c!DOCTYPE html\u003e\r\n\u003chtml\u003e\r\n\u003chead\u003e\r\n    \u003ctitle\u003e彈性文字區塊\u003c/title\u003e\r\n    \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\r\n    \u003cstyle\u003e\r\n      /* 基本樣式 (適用於所有裝置) */\r\n      body {\r\n        margin: 0;\r\n        padding: 0;\r\n      }\r\n      table {\r\n        width: 100%;\r\n        border-collapse: collapse; /* 合併表格邊框 */\r\n      }\r\n      td {\r\n        padding: 0;\r\n      }\r\n      .outer-margin {\r\n        width: 100%;\r\n      }\r\n      .content-container {\r\n        width: 100%;\r\n        text-align: center; /* 將文字置中 */\r\n      }\r\n      .main-title {\r\n        margin: 10px 0;\r\n        color: #838383; /* 文字顏色設為灰色 */\r\n        font-family: 'Helvetica', 'Arial', sans-serif;\r\n        font-size: 3vw; /* 使用 vw 單位,使文字大小相對於視窗寬度 */\r\n      }\r\n      .preface-text {\r\n        line-height: 1.6;\r\n        color: #aeacac;  /* 文字顏色設為灰色 */\r\n        font-family: 'PingFang SC', sans-serif;\r\n        text-align: justify;\r\n        font-size: 2vw; /* 使用 vw 單位,使文字大小相對於視窗寬度 */\r\n      }\r\n\r\n      /* 手機版樣式 (最大寬度 576px) */\r\n      @media (max-width: 576px) {\r\n        .main-title {\r\n          font-size: 4.5vw; /* 手機版主標題字體大小 */\r\n        }\r\n        .preface-text {\r\n          font-size: 3.5vw; /* 手機版前言字體大小 */\r\n        }\r\n        .outer-margin {\r\n            padding-left: 25px;  /* 手機版外層邊距 */\r\n            padding-right: 25px;\r\n        }\r\n      }\r\n\r\n      /* 平板版樣式 (最小寬度 577px,最大寬度 992px) */\r\n      @media (min-width: 577px) and (max-width: 992px) {\r\n        .main-title {\r\n          font-size: 4vw; /* 平板版主標題字體大小 */\r\n        }\r\n        .preface-text {\r\n          font-size: 3vw; /* 平板版前言字體大小 */\r\n         }\r\n        .outer-margin {\r\n            padding-left: 20px;  /* 平板外層邊距 */\r\n            padding-right: 20px;\r\n        }\r\n      }\r\n\r\n      /* 電腦版樣式 (最小寬度 993px) */\r\n      @media (min-width: 993px) {\r\n        .main-title {\r\n          font-size: 2vw; /* 電腦版主標題字體大小 */\r\n        }\r\n        .preface-text {\r\n          font-size: 2vw; /* 電腦版前言字體大小 */\r\n        }\r\n        .outer-margin {\r\n            padding-left: 100px;  /* 電腦版外層邊距 */\r\n            padding-right: 100px;\r\n        }\r\n      }\r\n\u003c/style\u003e\r\n\u003c/head\u003e\r\n\u003cbody\u003e\r\n    \u003ctable width=\"100%\" cellpadding=\"0\" cellspacing=\"0\"\u003e\r\n      \u003ctr\u003e\r\n        \u003ctd class=\"outer-margin\"\u003e\r\n          \u003ctable width=\"100%\" cellpadding=\"0\" cellspacing=\"0\"\u003e\r\n            \u003ctr\u003e\r\n              \u003ctd class=\"content-container\"\u003e\r\n                \u003ch1 class=\"main-title\"\u003e\r\n                  ◀ Smart Wear, Care Easy ▶\r\n                \u003c/h1\u003e\r\n                \u003c/p\u003e\r\n              \u003c/td\u003e\r\n            \u003c/tr\u003e\r\n          \u003c/table\u003e\r\n        \u003c/td\u003e\r\n      \u003c/tr\u003e\r\n    \u003c/table\u003e\r\n\u003c/body\u003e\r\n\u003c/html\u003e\r\n"}}},"block_order":["1744873456469_3"]},"1744883906580_2":{"type":"_index_8_blocks","custom_name":"商品分類","visible":false,"settings":{"dict_title":"網站預設模版","collection_handle":"下著","limit":"4","product_arrangement":"1","product_alignment":"leftPosition","product_text_align":"center","margin_x":"0","margin_bottom":"50","mobile_margin_x":"0","mobile_margin_bottom":"24","product_display":"displayDefault"},"blocks":{},"block_order":[]},"1744885148486_5":{"type":"_custom_html","custom_name":"商品輪播2","visible":true,"settings":{"margin_x":"0","margin_bottom":"-40","mobile_margin_x":"0","mobile_margin_bottom":"-40","dict_body_html":"\u003c!DOCTYPE html\u003e\r\n\u003chtml lang=\"zh-Hant\"\u003e\r\n\u003chead\u003e\r\n  \u003cmeta charset=\"UTF-8\" /\u003e\r\n  \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" /\u003e\r\n  \u003ctitle\u003e商品輪播區塊\u003c/title\u003e\r\n  \u003cstyle\u003e\r\n    body {\r\n      margin: 0;\r\n      font-family: Arial, sans-serif;\r\n      background-color: #f9f9f9;\r\n    }\r\n\r\n    .carousel-container {\r\n      position: relative;\r\n      overflow: hidden;\r\n      width: 100%;\r\n      padding: 20px;\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    .carousel-wrapper {\r\n      display: flex;\r\n      overflow-x: scroll;\r\n      scroll-snap-type: x mandatory;\r\n      scroll-behavior: smooth;\r\n      padding-bottom: 30px;\r\n    }\r\n\r\n    .carousel-wrapper::-webkit-scrollbar {\r\n      display: none;\r\n    }\r\n\r\n    .carousel-item {\r\n      flex: 0 0 auto;\r\n      border-radius: 8px;\r\n      background-color: #fff;\r\n      box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);\r\n      scroll-snap-align: start;\r\n      display: flex;\r\n      flex-direction: column;\r\n      align-items: center;\r\n      padding: 0px;\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    .product-image {\r\n      position: relative;\r\n      width: 100%;\r\n      border-radius: 0px;\r\n      margin-bottom: 10px;\r\n      overflow: hidden;\r\n      height: 600px;\r\n    }\r\n\r\n    .product-image img {\r\n      width: 100%;\r\n      height: 100%;\r\n      padding-left:-20px;\r\n      padding-right:0px;\r\n      object-fit: cover;\r\n      display: block;\r\n    }\r\n\r\n    .product-info {\r\n      position: absolute;\r\n      bottom: 0;\r\n      left: 0;\r\n      width: 100%;\r\n      color: white;\r\n      padding: 10px;\r\n      text-align: left;\r\n      border-bottom-left-radius: 8px;\r\n      border-bottom-right-radius: 8px;\r\n      box-sizing: border-box;\r\n    }
68\r\n\r\n    .product-title {\r\n      font-size: 1.2rem;\r\n      margin-bottom: 5px;\r\n    }\r\n\r\n    .product-description {\r\n      font-size: 0.9rem;\r\n      line-height: 1.4;\r\n      margin-bottom: 5px;\r\n    }\r\n\r\n    .product-price {\r\n      font-size: 2.1rem;\r\n      font-weight: bold;\r\n    }\r\n\r\n    .nav-button {\r\n      position: absolute;\r\n      top: 50%;\r\n      transform: translateY(-50%);\r\n      border: none;\r\n      padding: 10px;\r\n      border-radius: 50%;\r\n      cursor: pointer;\r\n      font-size: 1.5rem;\r\n      color: #34495e;\r\n      background-color: rgba(255, 255, 255, 0.7);\r\n      width: 40px;\r\n      height: 40px;\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      z-index: 1;\r\n    }\r\n\r\n    .nav-button:hover {\r\n      background-color: rgba(255, 255, 255, 0.9);\r\n    }\r\n\r\n    .nav-button.prev {\r\n      left: 10px;\r\n    }\r\n\r\n    .nav-button.next {\r\n      right: 10px;\r\n    }\r\n\r\n    .view-more-button {\r\n      position: absolute;\r\n      bottom: 10px;\r\n      right: 10px;\r\n      background-color: rgba(0, 0, 0, 0.7);\r\n      color: white;\r\n      padding: 8px 16px;\r\n      border-radius: 4px;\r\n      font-size: 0.9rem;\r\n      cursor: pointer;\r\n      transition: background-color 0.3s ease;\r\n      z-index: 2;\r\n    }\r\n\r\n    .view-more-button:hover {\r\n      background-color: rgba(0, 0, 0, 0.9);\r\n    }\r\n\r\n    .scroll-bar {\r\n      position: relative;\r\n      height: 4px;\r\n      background-color: #ccc;\r\n      width: 60%;\r\n      margin: 0 auto;\r\n      border-radius: 2px;\r\n    }\r\n\r\n    .scroll-thumb {\r\n      position: absolute;\r\n      top: 0;\r\n      left: 0;\r\n      height: 100%;\r\n      background-color: #666;\r\n      border-radius: 2px;\r\n      width: 30%;\r\n    }\r\n  \u003c/style\u003e\r\n\u003c/head\u003e\r\n\u003cbody\u003e\r\n\r\n  \u003cdiv class=\"carousel-container\"\u003e\r\n    \u003cbutton class=\"nav-button prev\" onclick=\"scrollCarousel(-1)\"\u003e\u0026#8249;\u003c/button\u003e\r\n    \u003cdiv class=\"carousel-wrapper\"\u003e      \r\n      \u003cdiv class=\"carousel-item\"\u003e\r\n        \u003cdiv class=\"product-image\"\u003e\r\n         \u003ca href=\"https://www.allbest888.com/products/icegrid-polo-woman\" title=\"女款修身POLO衫\"\u003e\r\n          \u003cimg src=\"https://cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ3OTcyNDk0XzIwMjUwNTIzLTIuanBnLmpwZWciXV0.jpeg?sha=00322200a2911d7a\" alt=\"商品2\"\u003e\r\n           \u003c/a\u003e\r\n          \u003cdiv class=\"product-info\"\u003e\r\n            \u003cdiv class=\"product-title\"\u003e女款修身POLO衫\u003c/div\u003e\r\n            \u003cdiv class=\"product-description\"\u003e新材質  透氣  合身  「流汗不狼狽」  \u003c/div\u003e\r\n            \u003c/div\u003e\r\n        \u003c/div\u003e\r\n      \u003c/div\u003e\r\n      \u003cdiv class=\"carousel-item\"\u003e\r\n        \u003cdiv class=\"product-image\"\u003e\r\n          \u003ca href=\"https://www.allbest888.com/products/icegrid-polo-man\" title=\"男款修身POLO衫\"\u003e\r\n          \u003cimg src=\"https://cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ4MzQyNTg2XzIwMjUwNTI3LTIuanBnLmpwZWciXV0.jpeg?sha=6938b351a3b3cd13\"  alt=\"男POLO\"\u003e\r\n          \u003c/a\u003e\r\n          \u003cdiv class=\"product-info\"\u003e\r\n            \u003cdiv class=\"product-title\"\u003e男款修身POLO衫\u003c/div\u003e\r\n            \u003cdiv class=\"product-description\"\u003e乾淨 舒適 簡單 \u003c/div\u003e\r\n            \u003c/div\u003e\r\n        \u003c/div\u003e\r\n      \u003c/div\u003e\r\n      \r\n\r\n        \u003cbutton class=\"nav-button next\" onclick=\"scrollCarousel(1)\"\u003e\u0026#8250;\u003c/button\u003e\r\n        \u003cdiv class=\"scroll-bar\"\u003e\r\n            \u003cdiv class=\"scroll-thumb\"\u003e\u003c/div\u003e\r\n        \u003c/div\u003e\r\n    \u003c/div\u003e\r\n      \r\n  \u003cscript\u003e\r\n    function adjustItemWidth() {\r\n      const deviceWidth = window.innerWidth;\r\n      const carouselItems = document.querySelectorAll('.carousel-item');\r\n      const scrollBar = document.querySelector('.scroll-bar');\r\n      const container = document.querySelector('.carousel-container');\r\n\r\n      let itemWidthPercentage = 60;\r\n      let marginLeft = 0;\r\n      let marginRight = 20;\r\n      let scrollBarWidth = 60;\r\n      let padding = 20;\r\n\r\n      if (deviceWidth \u003c 768) {\r\n        itemWidthPercentage = 100;\r\n        marginLeft = 15;\r\n        marginRight = 15;\r\n        scrollBarWidth = 80;\r\n        padding = 10;\r\n      } else if (deviceWidth \u003c 992) {\r\n        itemWidthPercentage = 70;\r\n        marginLeft = 2;\r\n        marginRight = 2;\r\n        scrollBarWidth = 70;\r\n        padding = 20;\r\n      }
68\r\n\r\n      carouselItems.forEach(item =\u003e {\r\n        item.style.width = `${itemWidthPercentage}%`;\r\n        item.style.marginLeft = `${marginLeft}px`;\r\n        item.style.marginRight = `${marginRight}px`;\r\n      });\r\n\r\n      scrollBar.style.width = `${scrollBarWidth}%`;\r\n      container.style.paddingLeft = `${padding}px`;\r\n      container.style.paddingRight = `${padding}px`;\r\n\r\n      updateScrollBar();\r\n    }\r\n\r\n    function scrollCarousel(direction) {\r\n      const carouselWrapper = document.querySelector('.carousel-wrapper');\r\n      const item = document.querySelector('.carousel-item');\r\n      const scrollAmount = item.offsetWidth + parseFloat(getComputedStyle(item).marginRight);\r\n      carouselWrapper.scrollBy({ left: scrollAmount * direction, behavior: 'smooth' });\r\n    }\r\n\r\n    function updateScrollBar() {\r\n      const carouselWrapper = document.querySelector('.carousel-wrapper');\r\n      const scrollThumb = document.querySelector('.scroll-thumb');\r\n      const scrollPercentage = (carouselWrapper.scrollLeft / (carouselWrapper.scrollWidth - carouselWrapper.clientWidth)) * 100;\r\n      const thumbWidth = (carouselWrapper.clientWidth / carouselWrapper.scrollWidth) * 100;\r\n      scrollThumb.style.width = `${thumbWidth}%`;\r\n      scrollThumb.style.left = `${scrollPercentage}%`;\r\n    }\r\n\r\n    window.addEventListener('resize', adjustItemWidth);\r\n    window.addEventListener('load', adjustItemWidth);\r\n    document.querySelector('.carousel-wrapper').addEventListener('scroll', updateScrollBar);\r\n  \u003c/script\u003e\r\n\r\n\u003c/body\u003e\r\n\u003c/html\u003e\r\n"},"blocks":{},"block_order":[]},"announcement_bar":{"type":"announcement_bar","visible":true,"blocks":{"announcement_bar_block_1":{"type":"image","visible":true,"settings":{"display_only_index":false,"display_period":"limited","dict_link":"","link_open_in_new_tab":false,"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0Nzg0MzUzX0xPR08tMi5wbmcucG5nIl1d.png?sha=f1efaed915a9cf4b","dict_image_tablet_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0Nzg0MzUzX0xPR08tMi5wbmcucG5nIl1d.png?sha=f1efaed915a9cf4b","dict_image_mobile_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0Nzg0MzUzX0xPR08tMi5wbmcucG5nIl1d.png?sha=f1efaed915a9cf4b","image_alt":"","dict_content":"","text_size":"14","text_color":"#ffffff","bg_color":"#000000","timer_text_color":"#ffffff","timer_bg_color":"#ffffff","migrated_from_navbar":true}}},"block_order":["announcement_bar_block_1"],"settings":{"display_mode":"vertical","carousel_interval":"3"}}},"navbar_image_logo":true,"show_default_all_products":true,"one_dimension_limit":"6","two_dimension_limit":"10","header_banner_display":true,"header_banner_link":"/","display_main_slider":true,"display_phone":true,"phone_number":"0912345678","display_fax_number":true,"shop_fax_number":"0222345678","display_shop_email":true,"shop_email":"[email protected]","display_shop_address":true,"shop_address":"測試地址","display_office_time":true,"shop_office_time":"10:00-17:00","index_event_slider_display":true,"index_event_slider_item_1_display":true,"dict_index_event_slider_item_1_link":"#","index_event_slider_item_2_display":true,"dict_index_event_slider_item_2_title":"2019秋季鞋款新品上市","dict_index_event_slider_item_2_link":"#","index_event_slider_item_3_display":true,"dict_index_event_slider_item_3_title":"全館任選三件結帳再享折扣!!8折!!","dict_index_event_slider_item_3_link":"#","index_event_slider_item_4_display":true,"dict_index_event_slider_item_4_title":"FINAL SALE/夏天熱銷百搭鞋款補貨到店","dict_index_event_slider_item_4_link":"#","index_event_slider_item_5_display":true,"dict_index_event_slider_item_5_title":"熱賣倒數","dict_index_event_slider_item_5_link":"#","index_event_slider_item_6_display":true,"dict_index_event_slider_item_6_title":"現在註冊會員即可享折扣金$50(現折)","dict_index_event_slider_item_6_link":"#","index_event_slider_item_7_display":false,"dict_index_event_slider_item_7_title":"","dict_index_event_slider_item_7_link":"","
68index_event_slider_item_8_display":false,"dict_index_event_slider_item_8_title":"","dict_index_event_slider_item_8_link":"#","index_event_slider_item_9_display":false,"dict_index_event_slider_item_9_title":"","dict_index_event_slider_item_9_link":"#","index_event_slider_item_10_display":false,"dict_index_event_slider_item_10_title":"","dict_index_event_slider_item_10_link":"#","index_4_slider_display":true,"dict_index_4_slider_title":"Instagram","index_4_slider_item_1_display":true,"dict_index_4_slider_item_1_link":"#","index_4_slider_item_2_display":true,"dict_index_4_slider_item_2_link":"#","index_4_slider_item_3_display":true,"dict_index_4_slider_item_3_link":"#","index_4_slider_item_4_display":true,"dict_index_4_slider_item_4_link":"#","index_4_slider_item_5_display":true,"dict_index_4_slider_item_5_link":"#","index_4_slider_item_6_display":false,"dict_index_4_slider_item_6_link":"#","index_4_slider_item_7_display":false,"dict_index_4_slider_item_7_link":"#","index_4_slider_item_8_display":false,"dict_index_4_slider_item_8_link":"#","index_video_blocks_display":true,"dict_index_video_blocks_title":"Youtube","dict_index_video_blocks_video_link":"https://www.youtube.com/watch?v=3bI4IUIVjCk","collection_sidebar":"main-menu","collection_sidebar_set_open":false,"collection_pagination_limit":"24","product_slogan_display":false,"display_product_total_sold":false,"display_periodic_order_label":false,"cart_quantity_limit":"0","is_empty_clickable":true,"is_first_selected":false,"display_product_images_color":false,"discount_product_images_color_expand":false,"display_product_discounts_list":true,"display_discount_price_name":false,"discount_price_slogan_url":"","dict_discount_price_name":"","display_discount_price_suggestion_name":false,"dict_discount_price_suggestion_name":"","display_product_section_description":true,"dict_product_section_description":"商品介紹","description_section_spec_setting":true,"dict_product_description_section_spec":"規格說明","description_section_shipping_setting":true,"dict_product_description_section_shipping":"運送方式","vip_custom_price_visible":false,"display_global_event_1":false,"dict_show_global_event_1_link":"#","display_global_event_2":false,"dict_show_global_event_2_link":"#","display_global_event_3":false,"dict_show_global_event_3_link":"#","display_contact_address":true,"dict_contact_address":"測試地址","show_google_map":true,"show_google_map_iframe":"\u003ciframe src=\"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3613.6479170127777!2d121.56760821400371!3d25.07991984260527!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x3442ac6fbd841bbd%3A0x64e16bcf25e3da31!2zMTE05Y-w5YyX5biC5YWn5rmW5Y2A55Ge5YWJ6LevNTEz5be3MzDomZ8!5e0!3m2!1szh-TW!2stw!4v1485156761267\" width=\"600\" height=\"450\" frameborder=\"0\" style=\"border:0\" allowfullscreen\u003e\u003c/iframe\u003e","display_selected_blog":true,"selected_blog":"news","product_scale":"three_to_four_scale","display_inventory_policy":true,"display_product_vendor":true,"google_font":"{'ja':{'value':'Noto Sans JP'},'zh-TW':{'value':'Noto Sans TC'},'en':{'value':'Noto Sans TC'},'zh-CN':{'value':'Noto Sans TC'}}","product_text_align":"start","styled_shop_menu":"dropDownType","product_video_display_location":"before","product_labels":{"items":[{"id":"sale_label","kind":"system","title":"特價標籤","display":false,"type":"text","dict_text":{},"image":"","image_size":"large"},{"id":"out_of_stock_label","kind":"system","title":"缺貨標籤","display":false,"type":"text","dict_text":{},"image":"","image_size":"small"},{"id":"periodic_event_label","kind":"system","title":"定期定額標籤","display":false,"type":"text","dict_text":{},"image":"","image_size":"small"},{"id":"5525ff6e-4845-4642-912d-62594ddef6cf","kind":"custom","title":"自定義標籤 1","tag":"","display":false,"type":"text","dict_text":{},"image":"","image_size":"small"},{"id":"7d721990-31df-45b9-9ab1-2bd1079b40c1","kind":"custom","title":"自定義標籤 2","tag":"","display":false,"type":"text","dict_text":{},"image":"","image_size":"small"},{"id":"8ff2dfe8-c3de-4dd3-8795-c9f90b2ce713","kind":"custom","title":"自定義標籤 3","tag":"","display":false,"type":"text","dict_text":{},"image":"","image_size":"small"},{"id":"38254b0a-a6c9-4346-bb45-e1f8634faa59","kind":"custom","title":"自定義標籤 4","tag":"","display":false,"type":"text","dict_text":{},"image":"","image_size":"small"},{"id":"61bab00b-39ab-4b22-89eb-4c87a0871c57","kind":"custom","title":"自定義標籤 5","tag":"","display":false,"type":"text","dict_text":{},"image":"","image_size":"small"}]}});
69  </script>
69
70
71
72
73
74
75
76
77
78
79
80    <!-- for vendor -->
81    <!-- cyb_snippet _bootstrap start -->
82
83<!-- cyb_snippet _bootstrap end -->
84    <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/vendor-ec858cfa815323bb.css' rel='stylesheet' type='text/css' media='all' />
85
86    <!-- common css rulesets -->
87    <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/common-ec858cfa815323bb.css' rel='stylesheet' type='text/css' media='all' />
88
89    <!-- for navbar -->
90    <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/navbar-ec858cfa815323bb.css' rel='stylesheet' type='text/css' media='all' />
91
92    <!-- for footer -->
93    <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/footer-ec858cfa815323bb.css' rel='stylesheet' type='text/css' media='all' />
94
95    <!-- theme assets -->
96    <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/main-ec858cfa815323bb.css' rel='stylesheet' type='text/css' media='all' />
97
98    <!-- for vendor -->
99    
99<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/vendor-ec858cfa815323bb.js' type='text/javascript'></script>
99
100
101            
101<script>
102          window.sci = "eyJzaG9wX2lkIjoyOTY2OCwic2hvcF9wbGFuIjoiZW50ZXJwcmlzZSIsImRp\nbV9hZmZpbGlhdGUiOm51bGwsImN1c3RvbWVyX2lkIjpudWxsLCJjdXN0b21l\ncl9uYW1lIjpudWxsLCJzaG9wX25hbWUiOiJBTExCRVNU772cIiwic2hhcmVf\nYXR0cmlidXRpb25fZW5hYmxlZCI6ZmFsc2V9\n";
103        </script>
103
104
105
106<meta name="csrf-param" content="authenticity_token" />
107<meta name="csrf-token" content="8McSAp9H-3vnWuuiqRxpANEF2KmZMha1AdZdHkuXG8lKAI6sd4ORFWiiD4ba7hr1tkPEijUWJjwAN18FXJ45Zg" />
108<script>(function () {
109  window.gaConfigurations = {"useProductIdInProductEvents":false};
110})();
111</script>
vendor: 1 bytes, line 111
111
112<script>(function () {
113  window.CYBERBIZ_PageContext = {"page_type":"product"};
114})();
115</script>
115
116<link href="//cdn-general.cybassets.com/frontend/shop/quark-ec858cfa815323bb.css" rel="stylesheet" type="text/css" media="all" />
117        
117<script>
118          window.shopScriptHelper = {
119            i18nLocale: "zh-TW",
120            i18nLocaleDefault: "zh-TW",
121            availableCurrencies: ["AED","AMD","ARS","AUD","AZN","BDT","BGN","BND","BRL","BWP","BYN","CAD","CDF","CHF","CLP","CNY","COP","CZK","DKK","EGP","ETB","EUR","GBP","GEL","GHS","HKD","IDR","ILS","INR","ISK","JPY","KES","KRW","KWD","KZT","LAK","LKR","LSL","MAD","MGA","MMK","MVR","MXN","MYR","MZN","NGN","NOK","NPR","NZD","OMR","PEN","PHP","PKR","QAR","RON","RSD","RUB","SAR","SEK","SGD","THB","TRY","TWD","UAH","UGX","USD","VND","XAF","XOF","ZAR","ZMW"],
122            defaultCurrency: "TWD",
123            currenciesInfo: [{"html_unit":"NT${{amount_no_decimals}}","email_unit":"NT${{amount_no_decimals}}","trailing_zeros":false,"name":"新台幣 (TWD)","html":"NT${{amount_no_decimals}}","unit":"","decimal_precision":0,"money_format":"%u%n","format":"NT${{amount_no_decimals}}","code":"TWD","email":"NT${{amount_no_decimals}}","symbol":"NT$"}],
124            vueOverrideTranslations: {"zh-TW":{"vue":{"bonus_mall":{"add_to_cart":"加入購物車","already_added_to_cart":"已加入購物車","available_bonus_and_used":"目前紅利點數 {customerRemainPoints} 點,使用 {usedBonusPoints} 點","bonus_points":"{points} 點","bonus_points_verbose":"紅利{points}點","bonus_price":"紅利點數","bonus_price_asc":"依紅利點數小到大排序","bonus_price_desc":"依紅利點數大到小排序","bonus_redemption_price":"紅利 {price}","countdown":"開賣倒數","days":"日","default_sort":"預設排序","exceed_buy_limit":"超出購買數量限制","exceed_stock_quantity":"超出庫存數量","hours":"時","insufficient_points":"點數不足","loading_error":"載入商城購物車資料錯誤","minutes":"分","need_to_buy_something":"數量不得少於1","not_on_sale_yet":"尚未開賣","points":"點數","proceed_to_checkout":"前往結帳","product_count":"共 {totalCount} 件商品","quantity":"數量","recent_days_sold_asc":"依近期銷售量小到大","recent_days_sold_desc":"依近期銷售量大到小","seconds":"秒","select_itmes_count":"已選購 {quantity} 件紅利商品","sell_from_asc":"上市日期舊到新","sell_from_desc":"上市日期新到舊","sold_out":"已售完","subtotal":"小計","upcoming_product":"開賣時間","wrong_quantity":"數量輸入錯誤"},"common":{"add_to_cart":"加入購物車","buy_at_least_one":"購買數量不可小於1","buy_now":"立即購買","cancel":"取消","confirm_submit":"送出","contact_merchant":"聯絡店家","corona":{"confirm_no":"取消","confirm_yes":"確認","default_sort":"預設排序","price_asc":"價格由低到高","price_desc":"價格由高到低","price_filter":"價格","recent_days_sold_desc":"本週熱賣","select_page":"選擇頁碼","select_sort_by":"選擇排序方式","sell_from_asc":"上市日期舊到新","sell_from_desc":"上市日期新到舊","suggested_range":"建議區間:"},"default_sort":"預設排序","exceed_stock_quantity":"超過庫存數量","exceed_upper_limit":"超過購買上限","failed_to_update_cart":"更新購物車失敗","onsale":"特價","periodic_order_label":"定期定額","pre_order":"預購商品","price_asc":"價格由低到高","price_desc":"價格由高到低","price_label":"建議售價","product_sold":"已銷售:{productSold}","recent_days_sold_desc":"本週熱賣","return":"返回","see_more":"查看更多","sell_from_asc":"上市日期舊到新","sell_from_desc":"上市日期新到舊","sold_out":"已售完","subtotal":"小計","system_busy_try_again":"系統忙碌,請稍後再試","theme":{"choose_specification":"請選擇規格","wrong_date":"日期錯誤"},"video_not_supported":"你的瀏覽器不支援 HTML 5 video","wrong_quantity":"數量輸入錯誤"},"eticket_orders":{"category_all":"所有票券","category_available":"可使用","category_pending":"未付款","category_used":"使用完畢","eticket_orders_branch_stores_address":"門市地址","eticket_orders_branch_stores_name":"門市名稱","eticket_orders_branch_stores_phone":"門市電話","eticket_orders_branch_stores_show":"顯示可核銷門市","eticket_orders_cancel_order":"取消訂單","eticket_orders_cancel_order_announcement":"本人同意發票作廢或「營業人銷貨退回進貨退出貨或折讓證明單」將全權由順立智慧股份有限公司處理,以利加速退款作業。如有退貨/折讓,將直接開立折讓單上傳至財政部電子發票整合服務平台存證。","eticket_orders_cancel_order_cancel":"取消操作","eticket_orders_cancel_order_title":"你確定要取消這筆訂單?","eticket_orders_canceled":"已取消","eticket_orders_discounted_price":"折扣價","eticket_orders_eticket_notice":"票券注意事項","eticket_orders_go_to_payments":"前往付款","eticket_orders_invoice_infos":"發票資訊","eticket_orders_invoice_number":"發票號碼","eticket_orders_invoice_status":"發票狀態","eticket_orders_order_date":"訂購日期","eticket_orders_order_details":"訂單明細","eticket_orders_order_established":"訂單成立","eticket_orders_order_no_query_records":"訂單目前沒有問答紀錄","eticket_orders_order_notes":"訂單備註","eticket_orders_order_number":"訂單編號","eticket_orders_order_query_records":"詢問紀錄","eticket_orders_payment_infos":"付款資訊","eticket_orders_payment_method":"付款方式","eticket_orders_payment_status":"付款狀態","eticket_orders_qrcode_download":"下載","eticket_orders_qrcode_not_used":"未核銷","eticket_orders_qrcode_quantity":"數量:{ quantity }","eticket_orders_qrcode_ticket_number":"票號:{ ticket_number }","eticket_orders_qrcode_used":"已核銷","eticket_orders_qrcode_used_status":"已使用:{ used } / 尚未使用:{ not_used }","eticket_orders_quantity":"數量:{ quantity }","eticket_orders_send_etickets":"寄送電子票券","eticket_orders_send_message_to_shop":"發訊息給店家","eticket_orders_separate_etickets":"分票","eticket_orders_separate_etickets_cancel":"取消操作","eticket_orders_separate_etickets_confirm":"確認分票","eticket_orders_separate_etickets_description":"請注意,您即將進行分票程序。分票後每張票會有獨立核銷碼 QR Code(原本核銷碼 QR Code 將無法使用),您可以將不同核銷碼截圖分享多人使用,此操作不可回復。","eticket_orders_submit":"送出","eticket_orders_subtotal":"小計","eticket_orders_title":"電子票券訂單查詢","eticket_orders_total_price":"總金額","eticket_orders_unused":"未使用:{ quantity }","eticket_orders_usage_status":"使用狀態","eticket_orders_used":"已使用:{ quantity }","eticket_orders_view_order_details":"查看訂單詳情","eticket_term_of_service":"CYBERBIZ 電子票券服務使用說明","failed_to_send_message":"發送訊息失敗","order_empty_note":"無任何資訊","payment_status_failed":"付款失敗,請聯絡客服","payment_status_pending":"等待請款","payment_status_success":"付款成功","show_eticket_button_qr_code":"顯示票券 QR code","show_eticket_button_used":"票券已使用","usage_status_partial_used":"部分使用","usage_status_used":"使用完畢"},"express_delivery":{"add_to_cart":"加入購物車","add_to_cart_error":"加入購物車失敗","address_incomplete":"輸入之地址不完整","address_incomplete_hint":"您的地址不完整,請輸入正確地址再加購物車","back_to_product_list":"返回商品列表","business_hours":"營業時間","cancel":"取消","change":"變更","change_address":"變更地址","choose_store":"選擇外送門市","cyberbiz_now":"快速到貨","default_sort":"預設排序","delivery_address":"外送地址","delivery_address_detail":"樓層或房號","delivery_address_detail_hint":"請輸入樓層或房號","delivery_address_hint":"請輸入外送地址","delivery_address_separate_tips":"請另外填寫樓層或房號資訊","empty_collection":"此分類目前沒有商品","exit":"離開","exit_prompt":"您確認要離開快速到貨?","express_delivery":"CYBERBIZ NOW 快速到貨","get_position_error_internal":"錯誤:請開啟瀏覽器存取位置權限","get_position_error_no_permission":"錯誤:請開啟您的網頁定位服務","get_position_error_require_https":"錯誤:需要https","get_position_error_timeout":"錯誤:超過請求時間","more_info":"更多資訊","not_search_stores_yet":"請點擊搜尋門市","phone":"聯絡電話","please_select_specifications":"請選擇規格","pre_order":"預購商品","price_asc":"價格由低到高","price_desc":"價格由高到低","product_count":"共 {totalCount} 件商品","recent_days_sold_desc":"本週熱賣","sales_start_info":"{time} 開賣","sales_start_info_verbose":"{day} {time} 開賣","search_failed":"搜尋門市失敗","search_product_count":"您搜尋{selectedStoreName}的商品共 {count} 項","search_stores":"搜尋門市","sell_from_asc":"上市日期舊到新","sell_from_desc":"上市日期新到舊","service_description":"CYBERBIZ NOW 快速到貨 服務說明:","service_description_detail":"此購物服務由 CYBERBIZ 系統提供,我們與第三方合作夥伴配合提供外送服務,提供您更快速的購物體驗。","service_hours":"接單時間:{day} {time}","service_is_available":"您輸入的地址支援「CYBERBIZ NOW 快速到貨」","service_not_available_in_the_region":"很抱歉,您目前所在區域不支援「CYBERBIZ NOW 快速到貨」。","sold_out":"已售完","store_address":"門市地址","store_address_info":"門市地址:{address}","store_is_closed":"目前不接受服務","view_products":"查看商品"},"express_delivery_with_regularly_used_address":{"address":"外送地址","address_incomplete_hint":"請輸入完整的外送地址","address_invali
124d_content":"外送地址為必填","address_placeholder":"請輸入外送地址","button_create":"新增地址","button_save":"儲存","button_save_as_regular":"儲存為常用","cancel":"取消","create_address":"新增一筆常用地址","delete":"刪除","delete_failed":"刪除失敗","delete_hint":"移除地址後將無法復原。","delete_message":"您確定要刪除此地址嗎?","delete_success":"成功刪除","edit":"編輯","empty_lists":"無常用外送地址","empty_lists_hint":"您目前尚無地址,請點擊新增來建立常用地址。","limit_hint":"常用地址最多儲存 5 組,系統將自動移除最早儲存的地址","name":"名稱","name_invalid_content":"名稱為必填","name_placeholder":"請輸入名稱","return":"保留","save_as_regular":"儲存為常用","save_success":"成功儲存","search_failed":"此地址沒有可外送門市,請改用其他外送地址","select_address":"選擇常用外送地址","site":"地址","site_invalid_content":"地址為必填","site_placeholder":"請輸入地址","title_address_lists":"已儲存常用地址","title_delete_address":"確認要刪除此地址?","title_edit_address":"編輯外送地址","title_save_as_regular":"儲存為常用外送地址"},"i18n_setting":{"currency":"幣別","language":"語言","language_currency_setting":"語言及幣別設定"},"line_group_buy":{"add_to_cart":"加入購物車","go_checkout":"前往結賬","product_description":"商品介紹","product_shipping":"運送方式","product_spec":"規格說明"},"menu":{"fourDimensionMenu":{"account":"我的帳戶","cart":"購物車","help":"聯絡我們","locator":"銷售據點","wishlist":"收藏清單"}},"omniauth_mobile":{"check_account":"為了確認是您本人,請輸入手機號碼進行驗證","confirm_account_information":"請確認以下是否為您的會員資料","confirm_submit":"送出","enter_mobile_number":"請輸入您的手機號碼","merge":"是,請合併會員","mobile_number":"手機號碼","phone_validation":"手機驗證","reconfirm":"否,重新驗證","registered":"我已經有會員帳號了?","resend":"重新發送","resend_with_timer":"({ timer }秒)重新發送","retry_later_error":"達系統操作上限,請重新整理並再試一次","return_login":"回登入頁面","send_confirmation_token":"已將簡訊寄送至手機","send_message":"發送簡訊驗證碼","submit_btn":"加入會員","verification_code":"4 位數簡訊驗證碼"},"repurchase":{"alcohol_all_cannot_repurchase":"此訂單商品無法再次詢價","all_cannot_repurchase":"此訂單商品無法再次購買","comma":",","lense_all_cannot_repurchase":"此訂單商品無法再次配送","partial_cannot_repurchase":"{ reasonList }實際請以購物車為主","quote_product_name":"「{ productName }」","reason_combo_product_changed":"組合品內容異動","reason_exceed_the_stock":"庫存不足商品","reason_product_is_discontinued":"已下架商品","reason_product_not_found":"已刪除商品","separator":"、"},"theme_pages":{"branch_store":{"get_store_empty":"無可用門市資料","get_store_error":"載入門市資料發生錯誤","options_all_cities":"所有縣市","search_stores":"搜尋","store_address":"地址: { address }","store_open_time":"營業時間: { openingHours }","store_phone":"電話: { phone }"},"collection":{"all_filters":"所有篩選條件","filter_button":"篩選","filter_no_result":"很抱歉,無商品符合篩選條件","not_on_sale_yet":"尚未開賣","please_reselect":"請重新輸入篩選","product_sold_out":"商品已售完","products_total":"共 { totalProductCounts } 件商品","reset_all_filters":"清除所有篩選","reset_filter_button":"清除篩選","suggested_range":"建議區間:","upcoming_product":"開賣時間","view_product":"查看商品"},"combo_product":{"add_cart_error_try_again":"加入購物車有誤,請重新嘗試","arrive_soon":"即將到貨","contact_shop":"聯絡店家","discount_bonus":"此商品 「 最高 」可折抵紅利","has_stock":"尚有庫存 ","insufficient_selected_quantity":"請選擇組合商品款式,尚差 { count } ä»¶","inventory_status":"供貨狀況","less_than_count":"數量不得少於 { count }","limit_reached":"已達上限","no_stock":"庫存不足","notification_enabled":"已登記補貨通知","notify_me_when_stock_arrives":"已售完,貨到通知我","over_cart_limit":"數量超過購買上限","over_stock_quantity":"超過庫存數量","point_equal":"約","points":"點","pre_order":"預購商品","quantity_over_combo_product_limit":"數量已超過組合商品上限","related_item_name":"款式名稱","related_item_quantity":"數量","select_optional_combo_product_items":"選擇組合品款式","selectable_count":"全部可選擇 { count } 項,","selected_count":"已選 { count } 項"},"contact":{"contact_form":"聯絡我們","email":"電子郵件","email_placeholder":"請輸入您的電子郵件,例:[email protected]","fail_operation":"操作失敗!","invali
124d_email":"這不是有效的電子郵件","invalid_name":"姓名為必填","invalid_phone_number":"聯絡電話為必填","invalid_question_content":"問題內容為必填","name":"姓名","name_placeholder":"請輸入您的姓名","phone_number":"聯絡電話","phone_number_placeholder":"請輸入聯絡電話","question_content":"問題內容","question_content_placeholder":"請輸入問題內容","question_submit_fail":"發生問題,請稍後再試","question_submit_success":"問題已成功送出,我們將盡快與您聯繫","question_type":"問題類型","success_operation":"操作成功!"},"customer_coupon":{"customer_coupons_product_name":"兌換商品","customers_coupons_available_used":"可使用 / 已使用","customers_coupons_available_used_already_used":"{ availableUsed }次 / { alreadyUsed }次","customers_coupons_coupon":"優惠券","customers_coupons_days":"天","customers_coupons_discount":"折","customers_coupons_end_date":"使用期限","customers_coupons_end_date_msg_1":"從{ start_date }開始無限期","customers_coupons_end_date_msg_2":"即日起至{ end_date }","customers_coupons_end_date_msg_3":"尚未啟用,因店家尚未結案訂單{ name }","customers_coupons_end_date_msg_4":"無限期","customers_coupons_expired":"已失效","customers_coupons_free_shipping":"免運","customers_coupons_gift_coupon":"贈品券","customers_coupons_left":"剩","customers_coupons_list_div":"、","customers_coupons_lookup_suit_product":"查看適用商品","customers_coupons_method":"使用方式","customers_coupons_no_coupons_msg":"您的帳號目前沒有可用的優惠券","customers_coupons_no_end_date":"無期限","customers_coupons_no_start_use":"尚未啟用","customers_coupons_not_suit":"不適用","customers_coupons_product_deleted":"贈送商品已刪除","customers_coupons_serial_number":"序號","customers_coupons_still_available":"還可使用 { timesLeft } 次","customers_coupons_suit_any_discount":"適用所有活動","customers_coupons_suit_any_product":"適用所有商品","customers_coupons_suit_discount":"適用活動","customers_coupons_suit_product":"適用商品","customers_coupons_unlimited":"還可使用無限次","customers_coupons_unlimited_already_used":"無限次 / { alreadyUsed }次","threshold_hint":"滿 { price } 可用"},"order_return":{"account_name":"戶名","address1":"詳細退貨地址:路/å··/弄/樓","all_return":"全部退貨","apply_fail":"申請失敗","apply_return":"退貨申請","apply_return_success":"您的退貨申請已成立","apply_success":"申請成功","bank_account":"銀行帳號","bank_branch_name":"分行名稱","bonus_redemption":"紅利換購","check_account_length":"請檢查銀行帳號長度","check_order":"訂單查詢","choose_branch_bank":"請選擇分行","choose_return_reason":"請選擇退貨原因","city":"城市","confirm_return":"申請退貨","country_placeholder":"請選擇國家","coupon_free_shipping":"免運券折抵","deliver_error":"寄送商品錯誤","discount_detail":"折扣明細","enter_account_name":"請輸入戶名","enter_return_reason":"請填寫退貨原因...","estimated_refund_amount":"預計退款金額","free":"免費","gift_price":"加購價","gift_purchase":"滿額/件贈","include_discount_and_shipping_fee":"含優惠折扣與運費","keep_shopping":"繼續購物","keyin_address1":"請填寫詳細退貨地址:路/å··/弄/樓","keyin_city":"請輸入城市","keyin_zip":"請輸入郵遞區號","line_item_quantity":"數量:{ lineItemQuantity }","literal_points":"點","new_product_defect":"新品瑕疵","order_date":"訂購日期","order_number":"訂單編號","order_retrun_confirm":"您確認要申請退貨?","others":"其他","please_choose_bank":"請選擇銀行","please_select_country":"請選擇退款銀行國家","price_includes_tax":"(內含消費稅:{ tax })","product_content_defect":"商品內容不全","product_defect":"商品有缺陷","refund":"退款金額","refund_account":"退款帳戶","refund_info":"退款資訊","refund_instruction":"不含優惠折扣與運費,實際退款金額將以系統金額為主。","refund_invoice_check":"本人同意發票作廢或「營業人銷貨退回進貨退出貨或折讓證明單」將全權由{ envoiceCompanyName }處理,以利加速退款作業。如有退貨/折讓,將直接開立折讓單上傳至財政部電子發票整合服務平台存證。","related_item":"{ name } x{ quantity }","return_address":"退貨地址","return_email_notification":"退貨申請信已寄至您的信箱","return_info":"退貨資訊","return_instruction":"退貨說明","return_item_error":"請至少選擇一件商品進行退貨","return_msg_Japan":"1. 如收到商品後,發現有瑕疵或破損,需要申請換貨或退款,請盡速至【我的帳戶】,點擊【訂單查詢】,在選擇欲申請退貨的訂單中,點擊【申請退貨】。\u003cbr\u003e 2. 收到退貨申請後,我們會聯繫您,並啟動退貨流程。如果您有任何退貨問題,您可以在【訂單查詢】,在選擇欲申請退貨的訂單明細,留下問答紀錄。 請不要自行退貨。\u003cbr\u003e 3. 退換貨時,請保持原包裝完整(包括購買的商品、配件、贈品等)。\u003cbr\u003e 4. 符合退貨資格後,商店會再依照您的付款方式退款。\u003cbr\u003e 5. 詳細的退貨規定與流程說明,請參閱本店的退貨政策。\u003cbr\u003e","return_msg_Japan_to_Taiwan":"1. 如收到商品後,發現有瑕疵或破損,需要申請換貨或退款,請盡速至【我的帳戶】,點擊【訂單查詢】,在選擇欲申請退貨的訂單中,點擊【申請退貨】。\u003cbr\u003e 2. 收到退貨申請後,我們會聯繫您,並啟動退貨流程。如果您有任何退貨問題,您可以在【訂單查詢】,在選擇欲申請退貨的訂單明細,留下問答紀錄。 請不要自行退貨。\u003cbr\u003e 3. 退換貨時,請保持原包裝完整(包括購買的商品、配件、贈品等)。\u003cbr\u003e 4. 符合退貨資格後,商店會再依照您的付款方式退款。\u003cbr\u003e 5. 詳細的退貨規定與流程說明,請參閱本店的退貨政策。\u003cbr\u003e","return_msg_Malaysia":"1. 如收到商品後,發現有瑕疵或破損,需要申請換貨或退款,請盡速至【我的帳戶】,點擊【訂單查詢】,在選擇欲申請退貨的訂單中,點擊【申請退貨】。如需詳細資訊和指導,請參閱商店的退貨政策。\u003cbr\u003e 2. 退貨或換貨時,請確保原包裝完好無損,包括所購商品、配件、贈品等。\u003cbr\u003e 3. 在收到您的退款申請後,我們會與您聯繫安排取回商品。如有任何退貨問題,請在「我的訂單」頁面點擊「聯繫商家」。請勿自行退回商品。\u003cbr\u003e 4. 打印此申請表並隨退貨商品一同寄回。\u003cbr\u003e 一旦收到並檢查您的退貨商品後,退款將退回至您的原支付方式或銀行帳戶ã€
124‚退款可能需要7至14天顯示於您的銀行對帳單。","return_msg_SEA":"1. 如收到商品後,發現有瑕疵或破損,需要申請換貨或退款,請盡速至【我的帳戶】,點擊【訂單查詢】,在選擇欲申請退貨的訂單中,點擊【申請退貨】。\u003cbr\u003e 2. 收到退貨申請後,我們會聯繫您,並啟動退貨流程。如果您有任何退貨問題,您可以在【訂單查詢】,在選擇欲申請退貨的訂單明細,留下問答紀錄。 請不要自行退貨。\u003cbr\u003e 3. 退換貨時,請保持原包裝完整(包括購買的商品、配件、贈品等)。\u003cbr\u003e 4. 符合退貨資格後,商店會再依照您的付款方式退款。\u003cbr\u003e 5. 詳細的退貨規定與流程說明,請參閱本店的退貨政策。\u003cbr\u003e","return_msg_Taiwan":"1. 收到商品後如有發現瑕疵或破損狀況,需要辦理或換貨,請於收到貨後7天內登入『我的帳戶』頁面點選『申請退貨』。\u003cbr\u003e 2. 收到商品後可享有7天免費鑑賞期(含例假日)。退換貨時請保持原包裝商品的完整(包含購買商品,附件,贈品等)。\u003cbr\u003e 3. 收到申請後,我們將與您聯繫取回商品。若有任何退貨問題,您可以在『訂單明細』中,點選『我要詢問』,請勿自行寄回商品。\u003cbr\u003e 4. 當你申請退貨後,請列印本申請單隨商品一起寄回。\u003cbr\u003e 5. 收到您的退貨商品並審查通過後,將於7個工作天內退款至你的退款帳戶。\u003cbr\u003e","return_msg_USA":"1. 如收到商品後,發現有瑕疵或破損,需要申請換貨或退款,請盡速至【我的帳戶】,點擊【訂單查詢】,在選擇欲申請退貨的訂單中,點擊【申請退貨】。\u003cbr\u003e 2. 收到退貨申請後,我們會聯繫您,並啟動退貨流程。如果您有任何退貨問題,您可以在【訂單查詢】,在選擇欲申請退貨的訂單明細,留下問答紀錄。 請不要自行退貨。\u003cbr\u003e 3. 退換貨時,請保持原包裝完整(包括購買的商品、配件、贈品等)。\u003cbr\u003e 4. 符合退貨資格後,商店會再依照您的付款方式退款。\u003cbr\u003e 5. 詳細的退貨規定與流程說明,請參閱本店的退貨政策。\u003cbr\u003e","return_product":"退貨商品","return_quantity":"退貨數量","return_reason":"退貨原因","shipping_fee":"運費","state_placeholder":"請選擇州/省","tax":"稅額","total_bonus_redemption":"總紅利換購點數","tw_city_placeholder":"請選擇縣市","tw_district_placeholder":"請選擇鄉鎮市區","vip_shipping_free":"VIP免運費","zip":"郵遞區號"},"product_collection":{"check_product":"查看商品"},"product_list":{"must_confirmed":"需先\u003ca href=\"/account\"\u003e驗證您的帳號\u003c/a\u003e才能開始結帳","must_sign_up":"需先\u003ca href=\"/account/login?{ path }\"\u003e登入\u003c/a\u003e或\u003ca href=\"/account/signup?{ path }\"\u003e註冊\u003c/a\u003e才能開始結帳"},"search":{"articles_total":"共 { totalArticleCounts } 篇文章","continue_reading":"繼續閱讀","search_article_label":"文章搜尋結果 ({ totalArticleCounts })","search_no_result":"很抱歉,找不到 { queryString } 請重新輸入搜尋。","search_product_label":"商品搜尋結果 ({ totalProductCounts })","search_total":"搜尋 { queryString } 結果共 { totalSearchCount } 筆"},"special_collection":{"already_choose_and_buy_more":"已選購 { quantity } 件,再買 { quantity_more } ä»¶","buy_more_promotion":"買越多省越多喔!","buy_quatity":"è²· { quantity } 件,","need_diopter":"請先前往會員頁補填資料","need_login":"請先登入","not_choose_items_yet":"尚未選購商品","not_choose_yet":"尚未選購","origin_price":"原價","over_cart_limit":"數量超過購買上限","over_stock":"數量超過庫存","sales_price":"優惠價","select":"選購","selected":"已選購","special_collection_discount_per":"享每個折扣 { price }","special_collection_discount_pirce":"享折扣 { price }","special_collection_discount_quatity1":"即可享 { quantity } ä»¶ { price }","special_collection_divided_by_ten":"享 { percentage } 折優惠"}},"validation":{"check_email_immediately":"點擊查看信箱","click_to_resend_validate_email":"沒有收到電子郵件?請查看垃圾郵件或","click_to_resend_validate_sms":"沒有收到簡訊?請點擊重新發送","go_to_member":"前往會員","resend_too_frequently":"發送過於頻繁,請稍後一分鐘後再試","resend_validation_email_success":"已重新寄送帳號驗證信","resend_validation_msg_failed":"重新寄送帳號驗證訊息失敗,請稍後再試","resend_validation_sms_success":"已重新寄送帳號驗證簡訊","second":"秒","send_valid_email_again":"重新發送","send_validation_email1":"已發送郵件至您信箱{ customerEmail }","send_validation_email2":"請按照郵件提示完成帳號啟用","send_validation_sms1":"已送簡訊至您手機{ customerMobile }","send_validation_sms2":"請按照簡訊提示完成帳號啟用","validate_your_account":"還差一步,完成驗證即可啟用帳號","wait_to_send_valid_email":"({ seconds })重新發送"}}}},
125            hasI18nInContextEditing: false,
126            shopMultipleCurrenciesCheckout: false,
127            hasLocalizedShopPriceFormat: true,
128          }
129        </script>
129
130
131        
132        
132<script
133          src="//cdn-general.cybassets.com/frontend/shop/tolgeeIntegration-ec858cfa815323bb.js">
134        </script>
134
135        
135<script defer>
136          /*
137          * Enable in-context translation for Liquid part on the page.
138          * This must be executed last to prevent conflicts with other Vue apps.
139          * So put it to `onload`, which will be executed after DOM ready's app mount
140          */
141          window.onload = function() {
142            if (
143              window.shopScriptHelper &&
144              window.shopScriptHelper.hasI18nInContextEditing
145            ) {
146              window.initTolgeeForLiquid()
147            }
148          }
149        </script>
149
150
151<script> var google_con_event_labels = []</script>
vendor: 1 bytes, line 151
151
152<script src="//cdn-general.cybassets.com/frontend/shop/pageEventHandler-ec858cfa815323bb.js"></script>
vendor: 1 bytes, line 152
152
153<script src="//cdn-general.cybassets.com/frontend/shop/globalAnalysis-e4c650eb0b.js"></script>
153
154        
154<script>
155          window.c12t = {"customer_id":null,"product":{"id":55814874,"name":"免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維","price":1380.0,"brand":"ALLBEST|"}};
156        </script>
156
157
158        <meta name="request-id" content="1398F53EFA8C0A98369BB9EE317B74CD"/>
159
160<link rel="canonical" href="https://www.allbest888.com/products/icegrid-polo-woman">
161<script src="//cdn-general.cybassets.com/frontend/shop/carousel-ec858cfa815323bb.js"></script>
161
162          
162<script>
163            window.parent.postMessage({ type: 'previewShopInit', currentUrl: window.location.href }, '*');
164          </script>
164
165
166<script src="//cdn-general.cybassets.com/frontend/appStoreSDK/main.2798231628aa7fab87a9.js"></script>
vendor: 1 bytes, line 166
166
167<script>window.CYBERBIZ_AppScriptSettings = {"shop_add_ons":"W3sidmVuZG9yX3R5cGUiOiJDWUJFUkJJWiBHb29nbGUgQW5hbHl0aWNzIDQi\nLCJhcHBfaWQiOiJRVWo1WnFvZUlPUjlaM2JaS2trMG44N3l5a0FpOWU0NURE\naDJ0YlFnaUJBIiwic2V0dGluZ3MiOnsiZ3RhZ19pZCI6IkctVDZSUFJTSjlG\nVywgRy00QjdSSzdGSFdIIn19LHsidmVuZG9yX3R5cGUiOiJHb29nbGUgQW5h\nbHl0aWNzIDQiLCJhcHBfaWQiOiJSYkpWMTVFcVZWOHJ1Umo3NVlmV3Z1RUlD\nRm90Q0FPZm0xSDZtZ3hyNkZBIiwic2V0dGluZ3MiOnsiZ3RhZ19pZCI6Ikct\nTEJCNTlYOEoxRSJ9fSx7InZlbmRvcl90eXBlIjoiQ2hhdCBCb3giLCJhcHBf\naWQiOiJjOWQ4M2YwOTk2MTc0ZmJiYTg2ZWJhMDQxYWU4OThhMiIsInNldHRp\nbmdzIjp7IndpZGdldF9rZXkiOiIwajhRWU5YT2QzVHJFWjlPIn19XQ==\n"}
168</script>
vendor: 1 bytes, line 168
168
169<script src="https://cdn.cybassets.com/appmarket/api/common/attachments/entrypoint/9d6f4550aad572e9f70abb70ae5a6552482cf617ea5e4d5a32ed4ebbb5d60d54.js"></script>
vendor: 1 bytes, line 169
169
170<script src="https://cdn.cybassets.com/appmarket/api/common/attachments/entrypoint/a810ec58aab67d16f8de1c4adf06fc7cc9f4477ec503b9cb1a998741bc692652.js"></script>
vendor: 1 bytes, line 170
170
171<script src="https://cdn.cybassets.com/appmarket/api/common/attachments/entrypoint/8766542902afa60f4adda3c555c06025d2c27771ea85a6fc657a91cddbe5c59f.js"></script>
vendor: 1 bytes, line 171
171
172<script>window.CYBERBIZ.initializeSDK.initialize();</script>
vendor: 1 bytes, line 172
172
173<script src="//cdn-general.cybassets.com/frontend/shop/setAffliateCookie-ec858cfa815323bb.js"></script>
173
174
175
176
177
178
179<meta name="title" content="ALLBEST|一件會呼吸的涼感衣|女款修身POLO衫|冰菱呼吸短袖POLO衫 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維">
180<meta property="og:title" content="ALLBEST|一件會呼吸的涼感衣|女款修身POLO衫|冰菱呼吸短袖POLO衫 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維">
181<meta name="description" content="ALLBEST一件會呼吸的涼感衣,女款修身POLO衫,獨家織造工藝創造,採用多孔隙纖維鎖住水分子的花蓮豐田玉,8%萊卡彈性纖維,耐洗持久不變形,原紗製作防曬UPF50+最安心,貴婦專櫃級海藻精華+天然抑菌鋅,讓你流汗不黏膩、異味不過夜,雙核抗臭技術|運動員汗腺暴走也能擺脫尷尬">
182<meta property="og:description" content="ALLBEST一件會呼吸的涼感衣,女款修身POLO衫,獨家織造工藝創造,採用多孔隙纖維鎖住水分子的花蓮豐田玉,8%萊卡彈性纖維,耐洗持久不變形,原紗製作防曬UPF50+最安心,貴婦專櫃級海藻精華+天然抑菌鋅,讓你流汗不黏膩、異味不過夜,雙核抗臭技術|運動員汗腺暴走也能擺脫尷尬">
183<meta name="keywords" content="女款POLO衫,涼感衣,豐田玉,萊卡彈性纖維,防曬UPF50">
184<meta property="og:url" content="https://www.allbest888.com/products/icegrid-polo-woman">
185<meta property="og:type" content="og:product">
186<script type="application/ld+json">{"@context":"https://schema.org/","@type":"Product","name":"免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維","image":"https://cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L3Byb2R1Y3RzLzU1ODE0ODc0LzE3NTAwNTMyNjhfOWU4ZWU5NjU0N2ZhM2E3YTFhNTguanBlZyJdLFsicCIsInRodW1iIiwiNDgweDQ4MCJdXQ.jpeg?sha=3821eafdba852330","description":"✅獨家織造工藝創造|採用多孔隙纖維鎖住水分子的花蓮豐田玉\n✅8%萊卡彈性纖維|耐洗持久不變形,原紗製作防曬UPF50+最安心\n✅貴婦專櫃級海藻精華+天然抑菌鋅|讓你流汗不黏膩、異味不過夜\n✅雙核抗臭技術|運動員汗腺暴走也能擺脫尷尬","brand":"ALLBEST|","sku":"","productId":55814874,"offers":{"@type":"Offer","url":"https://www.allbest888.com/products/icegrid-polo-woman","priceCurrency":"TWD","price":"1380.0","priceValidUntil":"","availability":"InStock"}}</script>
186
187
188      
188<script>
189        document.addEventListener("DOMContentLoaded", function() {
190          gtag('event', 'view_item', {"items":[{"id":67176978,"name":"免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維","price":1380.0},{"id":67176979,"name":"免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維","price":1380.0},{"id":67176980,"name":"免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維","price":1380.0},{"id":67176982,"name":"免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維","price":1380.0},{"id":67176983,"name":"免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維","price":1380.0},{"id":67176984,"name":"免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維","price":1380.0},{"id":67176986,"name":"免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維","price":1380.0},{"id":67176987,"name":"免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維","price":1380.0},{"id":67176988,"name":"免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維","price":1380.0},{"id":67176990,"name":"免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維","price":1380.0},{"id":67176991,"name":"免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維","price":1380.0},{"id":67176992,"name":"免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維","price":1380.0}],"send_to":["cyberbiz","dynamic_remarketing"]});
191        })
192      </script>
192
193    
194
195      
195<script>
196        document.addEventListener("DOMContentLoaded", function() {
197          try {
198            var productData = [{"id":null,"product_id":55814874,"variant_id":67176978,"sku":null,"name":"免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維","price":1380.0,"compare_at_price":1680.0,"currency":"TWD","inventory_quantity_status":"safety","category":null,"categories":["短袖POLO衫,玉石涼感系列"],"properties":[{"name":"顏色","value":"丈青"},{"name":"尺碼","value":"M"}],"list_name":""},{"id":null,"product_id":55814874,"variant_id":67176979,"sku":null,"name":"免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維","price":1380.0,"compare_at_price":1680.0,"currency":"TWD","inventory_quantity_status":"safety","category":null,"categories":["短袖POLO衫,玉石涼感系列"],"properties":[{"name":"顏色","value":"丈青"},{"name":"尺碼","value":"L"}],"list_name":""},{"id":null,"product_id":55814874,"variant_id":67176980,"sku":null,"name":"免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維","price":1380.0,"compare_at_price":1680.0,"currency":"TWD","inventory_quantity_status":"safety","category":null,"categories":["短袖POLO衫,玉石涼感系列"],"properties":[{"name":"顏色","value":"丈青"},{"name":"尺碼","value":"XL"}],"list_name":""},{"id":null,"product_id":55814874,"variant_id":67176982,"sku":null,"name":"免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維","price":1380.0,"compare_at_price":1680.0,"currency":"TWD","inventory_quantity_status":"safety","category":null,"categories":["短袖POLO衫,玉石涼感系列"],"properties":[{"name":"顏色","value":"月光白"},{"name":"尺碼","value":"M"}],"list_name":""},{"id":null,"product_id":55814874,"variant_id":67176983,"sku":null,"name":"免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維","price":1380.0,"compare_at_price":1680.0,"currency":"TWD","inventory_quantity_status":"safety","category":null,"categories":["短袖POLO衫,玉石涼感系列"],"properties":[{"name":"顏色","value":"月光白"},{"name":"尺碼","value":"L"}],"list_name":""},{"id":null,"product_id":55814874,"variant_id":67176984,"sku":null,"name":"免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維","price":1380.0,"compare_at_price":1680.0,"currency":"TWD","inventory_quantity_status":"safety","category":null,"categories":["短袖POLO衫,玉石涼感系列"],"properties":[{"name":"顏色","value":"月光白"},{"name":"尺碼","value":"XL"}],"list_name":""},{"id":null,"product_id":55814874,"variant_id":67176986,"sku":null,"name":"免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維","price":1380.0,"compare_at_price":1680.0,"currency":"TWD","inventory_quantity_status":"safety","category":null,"categories":["短袖POLO衫,玉石涼感系列"],"properties":[{"name":"顏色","value":"淺灰"},{"name":"尺碼","value":"M"}],"list_name":""},{"id":null,"product_id":55814874,"variant_id":67176987,"sku":null,"name":"免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維","price":1380.0,"compare_at_price":1680.0,"currency":"TWD","inventory_quantity_status":"safety","category":null,"categories":["短袖POLO衫,玉石涼感系列"],"properties":[{"name":"顏色","value":"淺灰"},{"name":"尺碼","value":"L"}],"list_name":""},{"id":null,"product_id":55814874,"variant_id":67176988,"sku":null,"name":"免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維","price":1380.0,"compare_at_price":1680.0,"currency":"TWD","inventory_quantity_status":"safety","category":null,"categories":["短袖POLO衫,玉石涼感系列"],"properties":[{"name":"顏色","value":"淺灰"},{"name":"尺碼","value":"XL"}],"list_name":""},{"id":null,"product_id":55814874,"variant_id":67176990,"sku":null,"name":"免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維","price":1380.0,"compare_at_price":1680.0,"currency":"TWD","inventory_quantity_status":"safety","category":null,"categories":["短袖POLO衫,玉石涼感系列"],"properties":[{"name":"顏色","value":"玫瑰粉"},{"name":"尺碼","value":"M"}],"list_name":""},{"id":null,"product_id":55814874,"variant_id":67176991,"sku":null,"name":"免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維","price":1380.0,"compare_at_price":1680.0,"currency":"TWD","inventory_quantity_status":"safety","category":null,"categories":["短袖POLO衫,玉石涼感系列"],"properties":[{"name":"顏色","value":"玫瑰粉"},{"name":"尺碼","value":"L"}],"list_name":""},{"id":null,"product_id":55814874,"variant_id":67176992,"sku":null,"name":"免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維","price":1380.0,"compare_at_price":1680.0,"currency":"TWD","inventory_quantity_status":"safety","category":null,"categories":["短袖POLO衫,玉石涼感系列"],"properties":[{"name":"顏色","value":"玫瑰粉"},{"name":"尺碼","value":"XL"}],"list_name":""}];
199
200            if (document.referrer.indexOf('collection') !== -1 || document.referrer.indexOf('products') !== -1) {
201              for (var i = 0; i < productData.length; i++) {
202                productData[i].list_name = sessionStorage.getItem("viewedCollection");
203              }
204            }
205
206            window.CYBERBIZ.eventSDK.callEvent("viewItem", productData)
207
208            window.addEventListener("beforeunload", function(event) {
209              var collection = "相關商品";
210              sessionStorage.setItem("viewedCollection", collection);
211            });
212
213          } catch (error) {
214            console.error('Exception catched in appMarketViewItemEvent')
215          }
216        })
217      </script>
217
218    
219
220<script src="//cdn-general.cybassets.com/frontend/shop/gallery-ec858cfa815323bb.js"></script>
220
221
222    <style id="color_settings">
223  :root {
224    
225      --button: #efedea;
226    
227
228    
229      --button_text: #000000;
230    
231
232    
233      --accent: #eb4600;
234    
235
236    
237      --heading: #535353;
238    
239
240    
241      --text: #9A9EA2;
242    
243
244    
245      --price: #eb4600;
246    
247
248    
249      --discount_price: #eb4600;
250    
251
252    
253      --theme_bg: #ffffff;
254    
255
256    
257      --nav_logo_bg: #efedea;
258    
259
260    
261      --nav_menu_bg: #ffffff;
262    
263
264    
265      --nav_menu_text: #000000;
266    
267
268    
269      --nav_menu_icon: #000000;
270    
271
272    
273      --footer_bg: #efedea;
274    
275
276    
277      --footer_text: #000000;
278    
279
280    
281      --checkout_button: #535353;
282    
283
284    
285      --checkout_accent: #eb4600;
286    
287
288    
289      --product_border: #9a9ea2;
290    
291
292    
293      --tips_text: #ff0000;
294    
295
296    
297
298    
299  }
300</style>
301
302
303
304
305  
306        <!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 74 bytes, lines 306-307
306
307          <script async src="https://www.googletagmanager.com/gtag/js?id=
307G-T6RPRSJ9FW
vendor: 22 bytes, lines 307-308
307"></script>
308          
308<script>
309            window.dataLayer = window.dataLayer || [];
310            function gtag(){dataLayer.push(arguments);}
311            gtag('js', new Date());
312            gtag('config', 'G-T6RPRSJ9FW', {"groups":"cyberbiz","custom_map":{"dimension1":"shop_id","dimension2":"customer_id","dimension3":"infinite_scroll","dimension4":"dim_affiliate"},"shop_id":29668,"dim_affiliate":null});
313            gtag('config', 'UA-64017614-1', {"groups":"cyberbiz","custom_map":{"dimension1":"shop_id","dimension2":"customer_id","dimension3":"infinite_scroll","dimension4":"dim_affiliate"},"shop_id":29668,"dim_affiliate":null});
314      </script>
314
315      
315<script>
316        (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
317        (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
318        m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
319        })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
320
321        ga('create', '', 'auto', {'name': 'cyberbiz'});
322        ga('cyberbiz.require', 'displayfeatures');
323        ga('cyberbiz.set', 'dimension1', '29668');
324        ga('cyberbiz.require', 'ec');
325        ga('cyberbiz.send', 'pageview');
326      </script>
326
327    </head>
328
329  <body style="display: flex; flex-direction: column;">
vendor: 74 bytes, lines 329-331
329
330      <noscript><iframe
331      src="//www.googletagmanager.com/ns.html?id=
331GTM-TXD9LVJ
vendor: 186 bytes, lines 331-338
331"
332      height="0"
333      width="0"
334      style="display:none;visibility:hidden">
335      </iframe></noscript>
336    
337      <noscript><iframe
338      src="//www.googletagmanager.com/ns.html?id=
338GTM-P7528MQ
vendor: 117 bytes, lines 338-344
338"
339      height="0"
340      width="0"
341      style="display:none;visibility:hidden">
342      </iframe></noscript>
343    
344    
344<!-- Navigation -->
345    <!-- cyb_snippet liquid_helper start -->
346<script>
347	function getDiscountPriceName() {
348		return "false" === "true" ? "" : "";
349	}
350
351	function getDiscountPriceSuggestionName() {
352		return "false" === "true" ? "" : "";
353	}
354
355  document.addEventListener('DOMContentLoaded', function() {
356    const languageHandle = Cookies.get("language");
357    const defaultLanguage = {"handle":"zh-TW","title":"繁體中文","currency_code":"TWD"};
358    const languages = [];
359    const currency = window.shopScriptHelper.defaultCurrency;
360    const currencies = window.shopScriptHelper.currenciesInfo;
361		window.liquidHelper = {
362			shopInternational: false,
363			defaultLanguage: defaultLanguage,
364			language: languages.find(function(l) {
365				return l.handle === languageHandle;
366			}) || defaultLanguage,
367      shopMultipleCurrenciesCheckout: false,
368			shopMultipleCurrencies: false,
369			defaultCurrencyFormat: "NT${{amount_no_decimals}}",
370			defaultCurrency: currency,
371			getCurrency: function() {
372        const currencyValue = Cookies.get("currencyValue") || currency;
373        return currencies.find(function(c) { return c.code === currencyValue; }
374      )},
375      getDefaultCurrency: function() { return currencies.find(function(c) {
376				return c.code === currency;
377			})},
378      getAvailableCurrencies: function() { return currencies.map(c => c.code) },
379      getCurrencyFormatInfo: function(currency) {
380        const currencyInfo = currencies.find(c => c.code === currency)
381        return _.pick(currencyInfo, [
382          'decimal_precision',
383          'symbol',
384          'money_format',
385          'unit',
386          'trailing_zeros',
387          'html_unit',
388          'code',
389        ]);
390      },
391			cartQuantityLimit: (function() {
392        const limit = Number("0" || undefined);
393        return limit <= 0 || isNaN(limit) ? Number.POSITIVE_INFINITY : limit;
394      })(),
395			isFirstVariantSelected:  false ,
396			isImageColorsUsed:  false ,
397			isEmptyClickable:  true ,
398			hasAddBuyProduct: '' !== "" ? true : false,
399			hasPriceWithDiscountPlugin: 'true' ? true : false,
400      conversionBonus: 1,
401      hasLocalizedShopPriceFormat: true,
402      hasCustomerCartPlugin: true,
403      isCartEnabled: true,
404      cdnHost: '//cdn-general.cybassets.com',
405      hasShopCustomPasswordRulePlugin: false,
406      hasDisableProductQuantityValidation: false,
407      hasBreadcrumbReferrerEnabled: false,
408		};
409	});
410</script>
410
411
412<!-- cyb_snippet liquid_helper end -->
413
414<script src='//cdn-general.cybassets.com/frontend/shop/navbarSection-ec858cfa815323bb.js' type='text/javascript'></script>
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431<style>
432  
433    #navbar {
434      --navbar-pc-title-scale: 0.9;
435      --navbar-pc-body-scale: 1.0;
436      --navbar-mobile-title-scale: 0.9;
437      --navbar-mobile-body-scale: 1.0;
438    }
439  
440
441  
442
443  
444</style>
445
446
447  <span id="navbar" class="drawer drawer--left font-size-setting-enabled">
448    <header id="header" class="qk-w--100vw qk-pos--fixed qk-t--0 qk-l--0">
449      
450
451      
452        <div id="announcement-bar"></div>
453      
454
455      
456      
457        
458
459        <div class="computer_nav row_nav qk-hidden--mobile ">
460          <div class="header_logo qk-bg--nav_logo_bg">
461            <div class="qk-pos--rel">
462              <div class="qk-text--center qk-display--flex">
463                <!-- logo start -->
464                
465                
466                  <nav class="logo qk-display--il_bk">
467                    <a href="/" class="qk-w--100">
468                      <img
469                        src="//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0Nzg0MzUzX0xPR08tMi5wbmcucG5nIl1d.png?sha=f1efaed915a9cf4b"
470                        class="qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--pc_logo qk-hidden--mobile"
471                        style="width: auto; height: 52px;"
472                        alt=""
473                        height="52"
474                        width="auto"
475                      >
476                    </a>
477                  </nav>
478                
479                <!-- logo end -->
480                
481                  <div class="header_nav qk-flex--1">
482                    <div class="qk-pos--relative center qk-pd_r--1 qk-w--100">
483                      <!-- main-nav start -->
484                      <nav class="main_nav qk-display--init">
485                        <!-- cyb_snippet _main_nav_skeleton start --><ul
486    class="main_nav_skeleton link_shelf_top qk-display--flex qk-flex--row qk-flex--wrap qk-justify--center qk-align--center qk-body"
487    style="justify-content: start; visibility: hidden;"
488    aria-hidden="true"
489  ><span>
490        <li class="dropdown qk-dropdown_wrapper qk-pos--rel"><span class="qk-display--bk qk-fs--body qk-text--nav_menu_text qk-text--accent_hover qk-cursor--default">系列商品</span></li>
491      </span><span>
492        <li class="dropdown qk-dropdown_wrapper qk-pos--rel"><a href="/collections/parts" class="qk-display--bk qk-fs--body qk-text--nav_menu_text qk-text--accent_hover qk-cursor--pointer">配件</a></li>
493      </span><span>
494        <li class="dropdown qk-dropdown_wrapper qk-pos--rel"><a href="/blogs/stories" class="qk-display--bk qk-fs--body qk-text--nav_menu_text qk-text--accent_hover qk-cursor--pointer">BLOG/好友推薦</a></li>
495      </span><span>
496        <li class="dropdown qk-dropdown_wrapper qk-pos--rel"><a href="/pages/about-us" class="qk-display--bk qk-fs--body qk-text--nav_menu_text qk-text--accent_hover qk-cursor--pointer">核心理念</a></li>
497      </span><span>
498        <li class="dropdown qk-dropdown_wrapper qk-pos--rel"><a href="https://lin.ee/XbJeVKl" class="qk-display--bk qk-fs--body qk-text--nav_menu_text qk-text--accent_hover qk-cursor--pointer"><a href="https://lin.ee/19dlRo3"><img src="https://scdn.line-apps.com/n/line_add_friends/btn/zh-Hant.png" alt="加入好友" height="36" border="0"></a></a></li>
499      </span></ul><!-- cyb_snippet _main_nav_skeleton end -->
500                      </nav>
501                      <!-- main-nav end -->
502                    </div>
503                  </div>
504                
505                <!-- tool-nav start -->
506                
507                  <div style="display: flex; align-items: center; position: relative; top: -12px;">
508                    <!-- cyb_snippet tool_nav start -->
509
510
511
512
513
514
515<nav class="tool-nav qk-pos--rel qk-float--r qk-display--flex">
516  <ul class="link_shelf_top qk-display--flex qk-flex--row qk-justify--end qk-align--center qk-pos--abs qk-r--0">
517    
518    
519    <!-- member -->
520    
521      <li class="customer_account qk-pos--rel qk-pd--05">
522        <div class="dropdown qk-pos--static">
523          <div class="qk-cursor--pointer" data-toggle="dropdown">
524            <div data-icon-type="custom_icon_type_account"></div>
525            <span class="text"></span>
526          </div>
527          <div class="member qk-dropdown_menu dropdown-menu qk-pos--abs qk-r--0 qk-bd--default qk-bd--product_border qk-bg--theme_bg" role="menu">
528            <ul id="customer-logined-menu" style="display: none">
529              <li>
530                <div class="qk-fs--body qk-text--heading">
531                  <p class="customer-name qk-whitespace-break-spaces"></p>
532                  <p>您好!</p>
533                </div>
534              </li>
535            </ul>
536            <ul id="customer-not-login-menu">
537              <li class="button qk-text--center">
538                <a href="/account/login" class="btn-login qk-btn qk-btn--lg qk-btn--primary qk-w--100">會員登入</a>
539              </li>
540              <li class="button qk-text--center">
541                <a href="/account/signup" class="btn-orders qk-btn qk-btn--lg qk-btn--secondary qk-w--100 qk-bg--transparent">註冊新會員</a>
542              </li>
543            </ul>
544            <span class="menu-bd qk-bd_t--default qk-bd--product_border"></span>
545            <ul class="member-menu qk-bd_t--default qk-bd--product_border">
546              <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg">
547                <a href="/account/index" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">我的帳戶</a>
548              </li>
549              <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg">
550                <a href="/account/orders" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">訂單查詢</a>
551              </li>
552              <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg">
553                <a href="/account/coupons" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">專屬優惠券</a>
554              </li>
555              <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg">
556                <a href="/account/tracking_items" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">收藏清單</a>
557              </li>
558              <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg customer-logout-li" style="display: none">
559                <a href="/account/logout" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">會員登出</a>
560              </li>
561            </ul>
562          </div>
563        </div>
564      </li>
565    
566    <!-- for money symbol -->
567    <div id="money-symbol" data-money-symbol="NT${{amount_no_decimals}}" hidden></div>
568    <!-- cart -->
569    
570      <li class="cart qk-pos--rel qk-pd--05">
571        <!--電腦版的購物車選單-->
572        <div class="dropdown qk-pos--static">
573          <div data-toggle="dropdown" class="shopcart qk-cursor--pointer" >
574            <div data-icon-type="custom_icon_type_cart"></div>
575            <span class="global-cart-count qk-circle qk-circle--sm qk-bg--accent qk-text--white qk-vert--mid qk-pos--abs qk-bd" style="display: none;">0</span>
576            <span class="global-cart-loading"></span>
577          </div>
578          <div class="qk-dropdown_menu dropdown-menu qk-pos--abs qk-r--0 qk-bd--default qk-bd--product_border qk-bg--theme_bg" role="menu">
579            <div class="cart_list global-cart-item-list custom-scrollbar qk-of_x--hidden qk-of_y--scroll qk-of_y--overlay qk-display--flex qk-flex--column qk-justify--between three_to_four_scale"></div>
580            <p class="cart_empty qk-fs--body qk-text--heading qk-text--center">目前的購物車是空的!</p>
581            <ul>
582              <li class="button qk-text--center">
583                <a class="btn-checkout qk-btn qk-btn--lg qk-btn--primary qk-w--100" href="/cart" style="display: none">立即購買</a>
584                <a class="btn-tracking qk-btn qk-btn--lg qk-btn--secondary qk-w--100 qk-bg--transparent" href="/account/tracking_items">前往收藏清單</a>
585              </li>
586            </ul>
587          </div>
588        </div>
589      </li>
590    
591    <!-- search -->
592    
593      <li class="search qk-pos--rel qk-pd--05" id="search-icon">
594        <div class="dropdown qk-pos--static">
595          <div class="qk-cursor--pointer" data-toggle="dropdown">
596            <div data-icon-type="custom_icon_type_search"></div>
597          </div>
598          <div class="qk-dropdown_menu dropdown-menu qk-pos--abs qk-r--0 qk-bd--default qk-bd--product_border qk-bg--theme_bg" role="menu">
599            <div class="search-area qk-display--flex qk-flex--row qk-justify--start qk-align--center qk-vert--mid">
600              <form action="/search" class="form-inline qk-search_form qk-display--flex qk-justfify--between qk-align--center qk-flex--1">
601                <input class="search-input form-control qk-inputbox qk-inputbox--lg qk-flex--1 qk-w--100 qk-bg--trans
601parent qk-text--heading" type="search" placeholder="搜尋" aria-label="Search" name="q" value="" />
602                <button class="search-btn qk-btn qk-btn--lg qk-btn--primary qk-pd--0" type="submit">搜尋</button>
603              </form>
604            </div>
605          </div>
606        </div>
607      </li>
608    
609    <!-- express delivery -->
610    
611  </ul>
612</nav>
613
614<!-- cyb_snippet tool_nav end -->
615                  </div>
616                
617                
618                <!-- tool-nav end -->
619              </div>
620            </div>
621          </div>
622        </div>
623      
624      <div class="qk-hidden--pc  ">
625        <!-- mobile-nav start -->
626        <nav class="mobile-nav qk-bg--nav_logo_bg">
627          <ul class="qk-display--flex qk-flex--row qk-justify--between qk-align--center qk-pd_x--05 qk-pd_y--0">
628            <!-- menu -->
629            
630              <li class="sidebar-menu-icon drawer-toggle qk-text--center qk-pd_x--05 qk-pd_y--0 qk-display--flex qk-align--center">
631                <div data-icon-type="custom_icon_type_menu"></div>
632              </li>
633            
634            <!-- logo -->
635            
636              <li class="logo qk-mg_r--auto qk-pd_x--05 qk-pd_y--0">
637                
638                  <a href="/" class="qk-display--il_flex qk-align--center qk-h--100 qk-hidden--phone">
639                    <img
640                      src="//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0ODgzNjk2X0xPR08tMy5wbmcucG5nIl1d.png?sha=348b1fad190a67b5"
641                      height="25"
642                      width="auto"
643                      alt=""
644                    >
645                  </a>
646                
647                
648                  <a href="/" class="qk-display--il_flex qk-align--center qk-h--100 qk-hidden--tablet">
649                    <img
650                      src="//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0ODgzNjk2X0xPR08tMy5wbmcucG5nIl1d.png?sha=348b1fad190a67b5"
651                      height="25"
652                      width="auto"
653                      alt=""
654                    >
655                  </a>
656                
657              </li>
658            
659            
660              <!-- search -->
661              
662                <li class="search qk-text--center qk-pd_x--05 qk-pd_y--0 qk-display--flex qk-align--center ">
663                  <div class="dropdown qk-pos--static qk-text--center">
664                    <div class="qk-cursor--pointer" data-toggle="dropdown">
665                      <div data-icon-type="custom_icon_type_search"></div>
666                    </div>
667                    <div
668                      class="qk-dropdown_menu dropdown-menu qk-w--100vw qk-bg--theme_bg qk-bd--default qk-bd--product_border qk-mg--0"
669                      role="menu"
670                    >
671                      <div class="search-area qk-display--flex qk-flex--row qk-justify--start qk-align--center qk-sp_bt--5 qk-w--100">
672                        <form action="/search" class="form-inline qk-display--flex qk-justfify--center qk-flex--1">
673                          <div class="form-inline qk-search_form qk-display--flex qk-justfify--center qk-align--center qk-flex--1">
674                            <input
675                              class="form-control qk-flex--1 qk-inputbox qk-inputbox--lg qk-bg--transparent qk-text--heading"
676                              type="search"
677                              placeholder="搜尋"
678                              aria-label="Search"
679                              name="q"
680                              value=""
681                            >
682                            <button class="search-btn qk-btn qk-btn--lg qk-btn--primary qk-pd--0" type="submit">
683                              搜尋
684                            </button>
685                          </div>
686                        </form>
687                      </div>
688                    </div>
689                  </div>
690                </li>
691              
692              <!-- express delivery -->
693              
694            
695          </ul>
696        </nav>
697        <!-- mobile-nav end -->
698      </div>
699      
700    </header>
700<script>
701      (function () {
702        var isNavbarTransparent = false;
703
704        function measureHeaderOffset() {
705          var header = document.getElementById('header');
706          if (!header) return null;
707
708          var headerHeight = header.getBoundingClientRect().height;
709
710          if (isNavbarTransparent && window.matchMedia('(min-width: 992px)').matches) {
711            var computerNav = document.querySelector('.computer_nav');
712            if (computerNav) {
713              headerHeight -= computerNav.getBoundingClientRect().height;
714            }
715          }
716
717          var floatFilter = document.getElementById('float-filter');
718          var floatFilterHeight = floatFilter
719            ? floatFilter.getBoundingClientRect().height
720            : 0;
721
722          return headerHeight - floatFilterHeight;
723        }
724
725        window.measureHeaderOffset = measureHeaderOffset;
726
727        var offset = measureHeaderOffset();
728        if (offset !== null) {
729          document.body.style.paddingTop = offset + 'px';
730        }
731      })();
732    </script>
732
733    
734      <!-- Sidebar -->
735      <nav class="drawer-nav drawer-nav_width qk-bg--nav_menu_bg " role="navigation">
736        <div class="drawer-menu">
737          <!-- cyb_snippet side_menu start -->
738
739
740<ul id="index_sidebar_shelf_top" class="sidebar qk-pd_b--1">
741  
742    <li class="logo qk-pos--rel qk-bg--nav_logo_bg qk-pd_x--1 qk-pd_y--05">
743      <a href="/" class="qk-pd--0">
744        <img src="//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0Nzg0MzUzX0xPR08tMi5wbmcucG5nIl1d.png?sha=f1efaed915a9cf4b" height="32" width="auto" alt="logo">
745      </a>
746      <button class="drawer-toggle qk-pos--abs qk-bg--transparent qk-pd--0"></button>
747    </li>
748  
749  
750    
751
752    
753      <!-- cyb_snippet components/side_menu/menu start -->
754
755  <li class="category_title qk-fs--breadcrumb qk-bd--nav_menu_text qk-text--nav_menu_text qk-bd_b--default qk-fw--500">主選單</li>
756
757
758  
759  
760  
761    <li class="qk-pos--rel qk-pd--0">
762      <button class="linklist bt-toggle qk-fw--bold  qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-text--nav_menu_text qk-bg--nav_menu_bg qk-pos--rel" data-toggle="collapse" data-target=".collapse_index_sidebar_1" aria-expanded=" true ">
763        
764          <span class="qk-cursor--pointer qk-text--nav_menu_text"> 系列商品 </span>
765        
766      </button>
767      <ul id="index_sidebar_shelf_second_1" class="collapse_index_sidebar_1 collapse shelf_second  show  qk-pd--0">
768        
769          
770          
771          
772            <li class="qk-pos--rel qk-pd--0">
773              
774                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/collections/all">
775                  全系列
776                </a>
777              
778            </li>
779          
780        
781          
782          
783          
784            <li class="qk-pos--rel qk-pd--0">
785              <button class="qk-fw--500 linklist bt-toggle  qk-display--il_bk qk-w--100 qk-text--left qk-text--nav_menu_text qk-fs--body qk-bg--nav_menu_bg qk-pos--rel" data-toggle="collapse" data-target=".collapse_index_sidebar_1_2" aria-expanded=" true ">
786                
787                  <a class="qk-text--nav_menu_text" href="/collections/jade"> ❄️玉石涼感系列 </a>
788                
789              </button>
790              <ul class="collapse_index_sidebar_1_2 collapse shelf_third qk-pd--0 show  qk-bd--nav_menu_text">
791                
792                  
793                  <li class="qk-pos--rel qk-pd--0">
794                    
795                      <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-bg--nav_menu_bg qk-fs--body qk-text--nav_menu_text" href="/collections/短袖polo衫">
796                        短袖POLO衫
797                      </a>
798                    
799                  </li>
800                
801                  
802                  <li class="qk-pos--rel qk-pd--0">
803                    
804                      <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-bg--nav_menu_bg qk-fs--body qk-text--nav_menu_text" href="/collections/短袖t恤">
805                        短袖T恤
806                      </a>
807                    
808                  </li>
809                
810                  
811                  <li class="qk-pos--rel qk-pd--0">
812                    
813                      <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-bg--nav_menu_bg qk-fs--body qk-text--nav_menu_text" href="/collections/短馬褲運動短褲">
814                        短馬褲、運動短褲
815                      </a>
816                    
817                  </li>
818                
819                  
820                  <li class="qk-pos--rel qk-pd--0">
821                    
822                      <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-bg--nav_menu_bg qk-fs--body qk-text--nav_menu_text" href="/collections/防曬抗uv外套">
823                        防曬抗UV外套
824                      </a>
825                    
826                  </li>
827                
828              </ul>
829            </li>
830          
831        
832          
833          
834          
835            <li class="qk-pos--rel qk-pd--0">
836              <button class="qk-fw--500 linklist bt-toggle  qk-display--il_bk qk-w--100 qk-text--left qk-text--nav_menu_text qk-fs--body qk-bg--nav_menu_bg qk-pos--rel" data-toggle="collapse" data-target=".collapse_index_sidebar_1_3" aria-expanded=" true ">
837                
838                  <a class="qk-text--nav_menu_text" href="/collections/balance"> 🔥蓄暖衡溫系列 </a>
839                
840              </button>
841              <ul class="collapse_index_sidebar_1_3 collapse shelf_third q
841k-pd--0 show  qk-bd--nav_menu_text">
842                
843                  
844                  <li class="qk-pos--rel qk-pd--0">
845                    
846                      <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-bg--nav_menu_bg qk-fs--body qk-text--nav_menu_text" href="/collections/長袖polo衫">
847                        長袖POLO衫
848                      </a>
849                    
850                  </li>
851                
852                  
853                  <li class="qk-pos--rel qk-pd--0">
854                    
855                      <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-bg--nav_menu_bg qk-fs--body qk-text--nav_menu_text" href="/collections/長袖t恤">
856                        長袖T恤
857                      </a>
858                    
859                  </li>
860                
861                  
862                  <li class="qk-pos--rel qk-pd--0">
863                    
864                      <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-bg--nav_menu_bg qk-fs--body qk-text--nav_menu_text" href="/collections/瑜珈褲">
865                        瑜珈褲
866                      </a>
867                    
868                  </li>
869                
870                  
871                  <li class="qk-pos--rel qk-pd--0">
872                    
873                      <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-bg--nav_menu_bg qk-fs--body qk-text--nav_menu_text" href="/collections/小喇叭褲">
874                        小喇叭褲
875                      </a>
876                    
877                  </li>
878                
879                  
880                  <li class="qk-pos--rel qk-pd--0">
881                    
882                      <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-bg--nav_menu_bg qk-fs--body qk-text--nav_menu_text" href="/collections/圍巾圍脖">
883                        圍巾、圍脖
884                      </a>
885                    
886                  </li>
887                
888                  
889                  <li class="qk-pos--rel qk-pd--0">
890                    
891                      <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-bg--nav_menu_bg qk-fs--body qk-text--nav_menu_text" href="/collections/護膝">
892                        護膝
893                      </a>
894                    
895                  </li>
896                
897                  
898                  <li class="qk-pos--rel qk-pd--0">
899                    
900                      <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-bg--nav_menu_bg qk-fs--body qk-text--nav_menu_text" href="/collections/襪子">
901                        襪子
902                      </a>
903                    
904                  </li>
905                
906                  
907                  <li class="qk-pos--rel qk-pd--0">
908                    
909                      <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-bg--nav_menu_bg qk-fs--body qk-text--nav_menu_text" href="/collections/棉被">
910                        棉被、毯子
911                      </a>
912                    
913                  </li>
914                
915              </ul>
916            </li>
917          
918        
919      </ul>
920    </li>
921  
922
923  
924  
925  
926    <li class="qk-pos--rel qk-pd--0">
927      <button class="linklist bt-toggle qk-fw--bold  qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-text--nav_menu_text qk-bg--nav_menu_bg qk-pos--rel" data-toggle="collapse" data-target=".collapse_index_sidebar_2" aria-expanded=" true ">
928        
929          <a class="qk-text--nav_menu_text" href="/collections/parts"> 配件 </a>
930        
931      </button>
932      <ul id="index_sidebar_shelf_second_2" class="collapse_index_sidebar_2 collapse shelf_second  show  qk-pd--0">
933        
934          
935          
936          
937            <li class="qk-pos--rel qk-pd--0">
938              
939                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/collections/護膝">
940                  護膝
941                </a>
942              
943            </li>
944          
945        
946          
947          
948          
949            <li class="qk-pos--rel qk-pd--0">
950              
951                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/collections/圍巾圍脖">
952                  圍巾、圍脖
953                </a>
954              
955            </li>
956          
957        
958          
959          
960          
961            <li class="qk-pos--rel qk-pd--0">
962              
963                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/collections/襪子">
964                  襪子
965                </a>
966              
967            </li>
968          
969        
970          
971          
972          
973            <li class="qk-pos--rel qk-pd--0">
974              
975                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/collections/棉被">
976                  棉被、毯子
977                </a>
978              
979            </li>
980          
981        
982      </ul>
983    </li>
984  
985
986  
987  
988  
989    <li class="qk-pos--rel qk-pd--0">
990      
991        <a class="qk-fw--bold qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/blogs/stories">BLOG/好友推薦</a>
992      
993    </li>
994  
995
996  
997  
998  
999    <li class="qk-pos--rel qk-pd--0">
1000      
1001        <a class="qk-fw--bold qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/pages/about-us">核心理念</a>
1002      
1003    </li>
1004  
1005
1006  
1007  
1008  
1009    <li class="qk-pos--rel qk-pd--0">
1010      
1011        <a class="qk-fw--bold qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="https://lin.ee/XbJeVKl"><a href="https://lin.ee/19dlRo3">
1011<img src="https://scdn.line-apps.com/n/line_add_friends/btn/zh-Hant.png" alt="加入好友" height="36" border="0"></a></a>
1012      
1013    </li>
1014  
1015
1016
1017<script>
1018  $('button a').on('click', function(e) {e.stopPropagation()});
1019</script>
1019
1020
1021<!-- cyb_snippet components/side_menu/menu end -->
1022    
1023  
1024  
1025    
1026      <li class="category_account-title qk-bd--nav_menu_text qk-fs--breadcrumb qk-text--nav_menu_text qk-bd_y--default qk-fw--500">帳戶</li>
1027      <li class="qk-pos--rel qk-pd--0">
1028        <div class="customer-logined-menu qk-display--il_bk qk-w--100 qk-text--left" style="display: none">
1029          <a href="/account/index" class="qk-text--nav_menu_text qk-fw--bold qk-fs--body">我的帳戶</a>
1030        </div>
1031      </li>
1032      <li class="qk-pos--rel qk-pd--0">
1033        <div class="customer-logined-menu qk-display--il_bk qk-w--100 qk-text--left" style="display: none">
1034          <a href="/account/orders" class="qk-text--nav_menu_text qk-fw--bold qk-fs--body">訂單查詢</a>
1035        </div>
1036      </li>
1037      <li class="qk-pos--rel qk-pd--0">
1038        <div class="customer-logined-menu qk-display--il_bk qk-w--100 qk-text--left" style="display: none">
1039          <a href="/account/logout" class="qk-text--nav_menu_text qk-fw--bold qk-fs--body">會員登出</a>
1040        </div>
1041      </li>
1042      <li class="qk-pos--rel qk-pd--0">
1043        <a href="/account/login">
1044          <div class="customer-not-login-menu qk-bd--nav_menu_text qk-bg--nav_menu_text customer-not-login-menu_login qk-display--il_flex qk-justify--center qk-align--center qk-w--100 qk-text--center ">
1045            <span class="qk-text--nav_menu_bg qk-fw--500 qk-fs--body">
1046              會員登入
1047            </span>
1048          </div>
1049        </a>
1050      </li>
1051      <li class="qk-pos--rel qk-pd--0">
1052        <a href="/account/signup">
1053          <div class="customer-not-login-menu qk-bd--nav_menu_text customer-not-login-menu_signup qk-display--il_flex qk-justify--center qk-align--center qk-w--100 qk-text--center qk-bd--nav_menu_text qk-bd--default">
1054            <span class="qk-text--nav_menu_text qk-fs--body qk-fw--500">
1055              註冊新會員
1056            </span>
1057          </div>
1058        </a>
1059      </li>
1060    
1061    
1062    
1063    
1064  
1065</ul>
1066
1067<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/sidebar-ec858cfa815323bb.css' rel='stylesheet' type='text/css' media='all' />
1068
1069<script>
1070  $(document).ready(function(){
1071    // 側邊選單
1072    if ($('.drawer').length){
1073      $('.drawer').drawer();
1074      $('.bt-toggle').click(function(){
1075        setTimeout(function(){
1076          $('.drawer')[0].iScroll.refresh()
1077        },500)
1078      })
1079    }
1080  });
1081</script>
1081
1082
1083
1084<!-- cyb_snippet side_menu end -->
1085
1086        </div>
1087      </nav>
1088      <!-- Bottombar -->
1089      
1090    
1091  </span>
1092
1093<div id="index-popular-tags"></div>
1094
1095<style id="timer_color">
1096  :root {
1097    
1098      --timer_text: #ffffff;
1099    
1100
1101    
1102      --timer_bg: #ffffff;
1103    
1104  }
1105</style>
1106
1107<script>
1108  window.language = {"account_name":"戶名","add_cart_error_try_again":"加入購物車有誤,請重新嘗試","add_to_cart":"加入購物車","addcart_rate_limit_desc":"秒後可再試一次,建議您停留在此頁面。","address1":"詳細退貨地址:路/å··/弄/樓","all_filters":"所有篩選條件","apply_fail":"申請失敗","apply_return":"退貨申請","apply_return_success":"您的退貨申請已成立","apply_success":"申請成功","arrive_soon":"即將到貨","articles_total":"共 {{ totalArticleCounts }} 篇文章","bank_account":"銀行帳號","bank_branch_name":"分行名稱","bonus_redemption":"紅利換購","cancel":"取消","cart_price_total":"結帳金額約","check_order":"訂單查詢","choose_branch_bank":"請選擇分行","choose_return_reason":"請選擇退貨原因","city":"城市","common_price":"定價: ","comply_group_number":"符合 {{comply_group_number}} 組優惠,","confirm":"確認","confirm_return":"申請退貨","confirm_submit":"送出","congratulations_for_verify_mobile_success":"恭喜,您已成功驗證您的手機!","contact_form":"聯絡我們","continue_reading":"繼續閱讀","country_placeholder":"請選擇國家","coupon_free_shipping":"免運券折抵","coupon_items":"優惠券折扣項目","date_error":"日期錯誤","default_sort":"預設排序","deliver_error":"寄送商品錯誤","discount_detail":"折扣明細","email":"電子郵件","email_placeholder":"請輸入您的電子郵件,例:[email protected]","enter_account_name":"請輸入戶名","enter_bank_account":"請輸入銀行帳號","enter_return_reason":"請填寫退貨原因...","error_message":"驗證簡訊發生錯誤,請稍後再試。","fail_operation":"操作失敗!","filter_button":"篩選","filter_no_result":"很抱歉,無商品符合篩選條件","free":"免費","gift_price":"加購價","gift_purchase":"滿額/件贈","go_check_email":"請至信箱收取信件","group_percent_discount":"組合內商品打{{discount}}折","has_stock":"尚有庫存 ","include_discount_and_shipping_fee":"含優惠折扣與運費","invalid_email":"這不是有效的電子郵件","invalid_name":"姓名為必填","invalid_phone_number":"聯絡電話為必填","invalid_question_content":"問題內容為必填","keep_shopping":"繼續購物","keyin_address1":"請填寫詳細退貨地址:路/å··/弄/樓","keyin_city":"請輸入城市","keyin_zip":"請輸入郵遞區號","less_then_one":"數量不得少於1","line_item_quantity":"數量:{{ lineItemQuantity }}","literal_points":"點","login_btn":"會員登入","mail_send_fail":"信件寄送失敗","message_confirmation_token_error":"簡訊驗證碼有誤","messenger_error_please_try_again":"簡訊寄送發生錯誤,請稍後再試。","mobile_number_error":"手機號碼有誤","name":"姓名","name_placeholder":"請輸入您的姓名","new_password_is_sent":"已送出新密碼","new_product_defect":"新品瑕疵","nn_collection_save_more_money_title":"可享,買 {{quantity}} ä»¶ {{price}} 元優惠","no_stock":"庫存不足","notification_enabled":"已登記補貨通知","notify_me_when_stock_arrives":"已售完,貨到通知我","onsale":"特價","order_date":"訂購日期","order_number":"訂單編號","order_retrun_confirm":"您確認要申請退貨?","ori_price":"原價","others":"其他","over_cart_limit":"數量超過購買上限","over_product_quantity":"數量超過庫存","over_stock_count":"商品庫存剩餘 {{ count }} ä»¶","over_stock_quantity":"超過庫存數量","phone_number":"聯絡電話","phone_number_placeholder":"請輸入聯絡電話","piece":"{{quantity}} ä»¶","please_choose_bank":"請選擇銀行","please_choose_product":"請選擇商品款式","please_choose_variant":"請選擇商品款式","please_enter_number":"請輸入數字","please_reselect":"請重新輸入篩選","please_send_and_confirm_verify_code":"請先發送並確認簡訊驗證碼","pre_order":"預購商品","price_asc":"價格由低到高","price_desc":"價格由高到低","price_filter":"價格","price_includes_tax":"(內含消費稅:{{ tax }})","product_content_defect":"商品內容不全","product_defect":"商品有缺陷","product_limit_buy":"此商品限購 {{ count }} ä»¶","product_rate_limit_btn":"重新進入商品頁","product_rate_limit_desc":"秒後可重新進入商品頁,建議您停留在此頁面。","product_rate_limit_title":"目前搶購人潮眾多,請耐心等候","product_rate_limit_warn":"若離開此頁面,可能會延長等待時間。","product_sold":"已銷售:{{ productSold }}","products_total":"共 {{ totalProductCounts }} 件商品","quantity":"數量:","quantity_over_product_stock":"數量超過商品庫存","question_content":"問題å
1108…§å®¹","question_content_placeholder":"請輸入問題內容","question_submit_fail":"發生問題,請稍後再試","question_submit_success":"問題已成功送出,我們將盡快與您聯繫","question_type":"問題類型","reached_favorable":"已達優惠","recent_days_sold_desc":"本週熱賣","reenter_password_still_error":"重複輸入密碼有誤","refund":"退款金額","refund_account":"退款帳戶","refund_info":"退款資訊","refund_invoice_check":"本人同意發票作廢或「營業人銷貨退回進貨退出貨或折讓證明單」將全權由{{ envoiceCompanyName }}處理,以利加速退款作業。如有退貨/折讓,將直接開立折讓單上傳至財政部電子發票整合服務平台存證。","resend_verify_code":"重發驗證碼","reset_all_filters":"清除所有篩選","reset_filter_button":"清除篩選","return":"返回","return_address":"退貨地址","return_email_notification":"退貨申請信已寄至您的信箱","return_info":"退貨資訊","return_instruction":"退貨說明","return_msg_Australia":"1. 如收到商品後,發現有瑕疵或破損,需要申請換貨或退款,請盡速至【我的帳戶】,點擊【訂單查詢】,在選擇欲申請退貨的訂單中,點擊【申請退貨】。\u003cbr\u003e 2. 收到退貨申請後,我們會聯繫您,並啟動退貨流程。如果您有任何退貨問題,您可以在【訂單查詢】,在選擇欲申請退貨的訂單明細,留下問答紀錄。 請不要自行退貨。\u003cbr\u003e 3. 退換貨時,請保持原包裝完整(包括購買的商品、配件、贈品等)。\u003cbr\u003e 4. 符合退貨資格後,商店會再依照您的付款方式退款。\u003cbr\u003e 5. 詳細的退貨規定與流程說明,請參閱本店的退貨政策。\u003cbr\u003e","return_msg_Japan":"1. 如收到商品後,發現有瑕疵或破損,需要申請換貨或退款,請盡速至【我的帳戶】,點擊【訂單查詢】,在選擇欲申請退貨的訂單中,點擊【申請退貨】。\u003cbr\u003e 2. 收到退貨申請後,我們會聯繫您,並啟動退貨流程。如果您有任何退貨問題,您可以在【訂單查詢】,在選擇欲申請退貨的訂單明細,留下問答紀錄。 請不要自行退貨。\u003cbr\u003e 3. 退換貨時,請保持原包裝完整(包括購買的商品、配件、贈品等)。\u003cbr\u003e 4. 符合退貨資格後,商店會再依照您的付款方式退款。\u003cbr\u003e 5. 詳細的退貨規定與流程說明,請參閱本店的退貨政策。\u003cbr\u003e","return_msg_Japan_to_Taiwan":"1. 如收到商品後,發現有瑕疵或破損,需要申請換貨或退款,請盡速至【我的帳戶】,點擊【訂單查詢】,在選擇欲申請退貨的訂單中,點擊【申請退貨】。\u003cbr\u003e 2. 收到退貨申請後,我們會聯繫您,並啟動退貨流程。如果您有任何退貨問題,您可以在【訂單查詢】,在選擇欲申請退貨的訂單明細,留下問答紀錄。 請不要自行退貨。\u003cbr\u003e 3. 退換貨時,請保持原包裝完整(包括購買的商品、配件、贈品等)。\u003cbr\u003e 4. 符合退貨資格後,商店會再依照您的付款方式退款。\u003cbr\u003e 5. 詳細的退貨規定與流程說明,請參閱本店的退貨政策。\u003cbr\u003e","return_msg_SEA":"1. 如收到商品後,發現有瑕疵或破損,需要申請換貨或退款,請盡速至【我的帳戶】,點擊【訂單查詢】,在選擇欲申請退貨的訂單中,點擊【申請退貨】。\u003cbr\u003e 2. 收到退貨申請後,我們會聯繫您,並啟動退貨流程。如果您有任何退貨問題,您可以在【訂單查詢】,在選擇欲申請退貨的訂單明細,留下問答紀錄。 請不要自行退貨。\u003cbr\u003e 3. 退換貨時,請保持原包裝完整(包括購買的商品、配件、贈品等)。\u003cbr\u003e 4. 符合退貨資格後,商店會再依照您的付款方式退款。\u003cbr\u003e 5. 詳細的退貨規定與流程說明,請參閱本店的退貨政策。\u003cbr\u003e","return_msg_Taiwan":"1. 收到商品後如有發現瑕疵或破損狀況,需要辦理或換貨,請於收到貨後7天內登入『我的帳戶』頁面點選『申請退貨』。\u003cbr\u003e 2. 收到商品後可享有7天免費鑑è³
1108žæœŸï¼ˆå«ä¾‹å‡æ—¥ï¼‰ã€‚退換貨時請保持原包裝商品的完整(包含購買商品,附件,贈品等)。\u003cbr\u003e 3. 收到申請後,我們將與您聯繫取回商品。若有任何退貨問題,您可以在『訂單明細』中,點選『我要詢問』,請勿自行寄回商品。\u003cbr\u003e 4. 當你申請退貨後,請列印本申請單隨商品一起寄回。\u003cbr\u003e 5. 收到您的退貨商品並審查通過後,將於7個工作天內退款至你的退款帳戶。\u003cbr\u003e","return_msg_USA":"1. 如收到商品後,發現有瑕疵或破損,需要申請換貨或退款,請盡速至【我的帳戶】,點擊【訂單查詢】,在選擇欲申請退貨的訂單中,點擊【申請退貨】。\u003cbr\u003e 2. 收到退貨申請後,我們會聯繫您,並啟動退貨流程。如果您有任何退貨問題,您可以在【訂單查詢】,在選擇欲申請退貨的訂單明細,留下問答紀錄。 請不要自行退貨。\u003cbr\u003e 3. 退換貨時,請保持原包裝完整(包括購買的商品、配件、贈品等)。\u003cbr\u003e 4. 符合退貨資格後,商店會再依照您的付款方式退款。\u003cbr\u003e 5. 詳細的退貨規定與流程說明,請參閱本店的退貨政策。\u003cbr\u003e","return_product":"退貨商品","return_reason":"退貨原因","save_more_money_discount":"可享 {{discount}} 折優惠","save_more_money_dollar":"可省 {{dollar}}","search_article_label":"文章搜尋結果 ({{ totalArticleCounts }})","search_no_result":"很抱歉,找不到 {{ queryString }} 請重新輸入搜尋。","search_product_label":"商品搜尋結果 ({{ totalProductCounts }})","search_total":"搜尋 {{ queryString }} 結果共 {{ totalSearchCount }} 筆","select_sort_by":"選擇排序方式","sell_from_asc":"上市日期舊到新","sell_from_desc":"上市日期新到舊","send_too_many_times_try_again_later":"發送次數過多,請稍後再試","sending_msg_few_minutes_get":"簡訊發送中,幾分鐘後您將收到驗證碼","shipping_fee":"運費","sold_out":"已售完","state_placeholder":"請選擇州/省","submit":"送出","subtotal":"小計","success_operation":"操作成功!","successfully_copy_tracking_number":"已成功複製你的物流單號","system_busy_try_again":"系統忙碌,請稍後再試","tax":"稅額","thanks_for_advise":"謝謝您的å¯
1108¶è²´æ„è¦‹","thanks_you_have_signed_up":"謝謝您已註冊","total_bonus_redemption":"總紅利換購點數","tw_city_placeholder":"請選擇縣市","tw_district_placeholder":"請選擇鄉鎮市區","unreach_favorable":"未達優惠","verification_error_please_correct":"驗證有誤請修正","verify_success":"驗證碼確認成功","view_product":"查看商品","vip_shipping_free":"VIP免運費","zip":"郵遞區號"}
1109  $(document).ready(function(){
1110    if(window.location.pathname != '' && window.location.pathname != '/' ){
1111      document.getElementById('index-popular-tags').style.display = 'none'
1112    }
1113    // 倒數計時
1114    
1115
1116    function adjustContentTop() {
1117      const offset = window.measureHeaderOffset();
1118      if (offset === null) return;
1119      $("body").css({ "padding-top": offset + "px" });
1120    }
1121
1122    window.adjustContentTop = adjustContentTop;
1123
1124    // navbar設定透明
1125    
1126
1127    // Call it first once DOM is ready to prevent CLS
1128    adjustContentTop();
1129
1130    // 延遲初始化,等待 app banner 初始化完成
1131    $(window).on("resize", adjustContentTop);
1132
1133    // 使用 setTimeout 確保 banner 狀態已經確定
1134    $(window).on("load", function() {
1135      setTimeout(function() {
1136        adjustContentTop();
1137      }, 200); // 給 banner 足夠時間初始化
1138    });
1139
1140    $('img.header_banner').on('load', adjustContentTop);
1141
1142    window.renderNavbarSection('.main_nav', {
1143        navbarCollections: null,
1144        navbarItems: [{"id":1606721,"title":"系列商品","url":"","item_type":"linklist","subtitle":null,"icon_image_url":null,"menuItems":[{"id":1665618,"title":"全系列","url":"/collections/all","item_type":"collections_all","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1665818,"title":"❄️玉石涼感系列","url":"/collections/jade","item_type":"smart_collection","subtitle":null,"icon_image_url":null,"menuItems":[{"id":1665646,"title":"短袖POLO衫","url":"/collections/短袖polo衫","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1665647,"title":"短袖T恤","url":"/collections/短袖t恤","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1665648,"title":"短馬褲、運動短褲","url":"/collections/短馬褲運動短褲","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1665672,"title":"防曬抗UV外套","url":"/collections/防曬抗uv外套","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null}]},{"id":1665676,"title":"🔥蓄暖衡溫系列","url":"/collections/balance","item_type":"smart_collection","subtitle":null,"icon_image_url":null,"menuItems":[{"id":1665677,"title":"長袖POLO衫","url":"/collections/長袖polo衫","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1665678,"title":"長袖T恤","url":"/collections/長袖t恤","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1665679,"title":"瑜珈褲","url":"/collections/瑜珈褲","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1665680,"title":"小喇叭褲","url":"/collections/小喇叭褲","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1665681,"title":"圍巾、圍脖","url":"/collections/圍巾圍脖","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1665682,"title":"護膝","url":"/collections/護膝","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1665683,"title":"襪子","url":"/collections/襪子","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1665684,"title":"棉被、毯子","url":"/collections/棉被","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null}]}]},{"id":1665722,"title":"配件","url":"/collections/parts","item_type":"smart_collection","subtitle":null,"icon_image_url":null,"menuItems":[{"id":1665724,"title":"護膝","url":"/collections/護膝","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1665723,"title":"圍巾、圍脖","url":"/collections/圍巾圍脖","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1665725,"title":"襪子","url":"/collections/襪子","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1665726,"title":"棉被、毯子","url":"/collections/棉被","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null}]},{"id":1635076,"title":"BLOG/好友推薦","url":"/blogs/stories","item_type":"blog","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1662603,"title":"核心理念","url":"/pages/about-us","item_type":"page","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1447784,"title":"\u003ca href=\"https://lin.ee/19dlRo3\"\u003e\u003cimg src=\"https://scdn.line-apps.com/n/line_add_friends/btn/zh-
1144Hant.png\" alt=\"加入好友\" height=\"36\" border=\"0\"\u003e\u003c/a\u003e","url":"https://lin.ee/XbJeVKl","item_type":"http","subtitle":null,"icon_image_url":null,"menuItems":null}],
1145        settings: {
1146          menuDisplayStyle: "three_dimension_menu",
1147          pcLogoImgUrl: "//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0Nzg0MzUzX0xPR08tMi5wbmcucG5nIl1d.png?sha=f1efaed915a9cf4b",
1148          mobileLogoImgUrl: "//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L2F0dGFjaGVkX3Bob3Rvcy8xNzQ0ODgzNjk2X0xPR08tMy5wbmcucG5nIl1d.png?sha=348b1fad190a67b5",
1149          navbarDisplayStyle: "rowNav",
1150        }
1151      }
1152    );
1153
1154
1155    // for link menu
1156    const linkMenuElement = document.querySelector('.link-nav');
1157    const data = []
1158    data.forEach((item) => {
1159      const wrapper = document.createElement('a');
1160      const link = document.createElement('ul');
1161
1162      wrapper.href = item.url;
1163      link.textContent = item.title;
1164      link.classList.add('link-item');
1165
1166      wrapper.appendChild(link);
1167      linkMenuElement.appendChild(wrapper);
1168    });
1169
1170    // for safe-area space on iOS devices
1171    const userAgent = navigator.userAgent;
1172    const isIOS = /iPad|iPhone|iPod/.test(userAgent) && !window.MSStream;
1173    const isLiff = /Line\/[\d.]+/i.test(userAgent);
1174    const $mobileBottomBar = $('#mobile-bottom-bar');
1175
1176    if ($mobileBottomBar.length && isIOS && isLiff) {
1177      $mobileBottomBar.addClass('is-ios-liff');
1178    }
1179  });
1180  document.addEventListener('DOMContentLoaded', function() {
1181    window.getCartAmount = function() {
1182      return parseInt($('.global-cart-count').html());
1183    };
1184  });
1185</script>
1185
1186
1187<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/navbar-ec858cfa815323bb.js' type='text/javascript'></script>
vendor: 1 bytes, line 1187
1187
1188<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/currencies-ec858cfa815323bb.js' type='text/javascript'></script>
1188
1189<!-- cyb_snippet i18n_modal start -->
1190
1191
1192<!-- cyb_snippet i18n_modal end -->
1193<!-- cyb_snippet _load_fonts start -->
1194<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/load_fonts-ec858cfa815323bb.js' type='text/javascript'></script>
vendor: 1 bytes, line 1194
1194
1195<script>
1196  document.addEventListener('DOMContentLoaded', function() {
1197    window.loadFontSetting("{'ja':{'value':'Noto Sans JP'},'zh-TW':{'value':'Noto Sans TC'},'en':{'value':'Noto Sans TC'},'zh-CN':{'value':'Noto Sans TC'}}")
1198  })
1199</script>
1199
1200
1201<!-- cyb_snippet _load_fonts end -->
1202<!-- cyb_snippet _custom_icon start -->
1203<script src='//cdn-general.cybassets.com/frontend/shop/navIcon-ec858cfa815323bb.js' type='text/javascript'></script>
1203
1204
1205<script>
1206  (function() {
1207    const iconUrlMap = new Map([
1208      ['custom_icon_type_home', null],
1209      ['custom_icon_type_tracking_items', null],
1210      ['custom_icon_type_account', null],
1211      ['custom_icon_type_cart', null],
1212      ['custom_icon_type_search', null],
1213      ['custom_icon_type_menu', null]
1214    ]);
1215    const elements = document.querySelectorAll('[data-icon-type]');
1216    elements.forEach((element, index) => {
1217      const iconAttributes = element.getAttribute('data-icon-type');
1218
1219      const uniqueId = `icon_${iconAttributes}_${index}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
1220      element.id = uniqueId;
1221      window.renderNavCustomIcon(`#${uniqueId}`, {
1222        navIconStyle: "icon_type_default",
1223        customIconUrl: iconUrlMap.get(iconAttributes) || '',
1224        iconAttributes: iconAttributes,
1225        currentTemplate: "product",
1226      });
1227    });
1228  })();
1229</script>
1229
1230
1231<!-- cyb_snippet _custom_icon end -->
1232
1233
1234
1235    
1236  
1237    
1237<script src='//cdn-general.cybassets.com/frontend/shop/announcementBar-ec858cfa815323bb.js' type='text/javascript'></script>
1237
1238
1239    
1240
1241    
1242
1243    
1243<script>
1244      $(document).ready(function() {
1245        window.renderAnnouncementBar('#announcement-bar', {
1246          sectionId: "announcement_bar",
1247          isIndex: false,
1248        });
1249      });
1250    </script>
1250
1251  
1252
1253
1254
1255
1256
1257    <!-- template -->
1258    <div id="template" style="flex:1 0 auto; background-color: var(--theme_bg);">
1259      <!-- cyb_snippet breadcrumb start -->
1260
1261<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/breadcrumb-ec858cfa815323bb.css' rel='stylesheet' type='text/css' media='all' />
1262
1263
1264<div id="site_path" class="qk-bd_b--default qk-bd--product_border">
1265  <!-- mobile: toggle button (hidden on PC) -->
1266  <div class="qk-container qk-hidden--pc">
1267    <div class="breadcrumb qk-bg--theme_bg qk-pd_x--0 qk-mg--0 qk-fs--breadcrumb">
1268      <button
1269        class="bt-toggle qk-bg--theme_bg qk-pd_x--0 qk-w--100 qk-text--left qk-bd--none qk-pos--rel collapsed"
1270        data-toggle="collapse"
1271        data-target=".breadcrumb-content"
1272      >
1273        <a href="/" class="qk-text--text">
1274          <i class="fas fa-home"></i>
1275        </a>
1276      </button>
1277    </div>
1278  </div>
1279  <!-- breadcrumb nav: single DOM, PC always visible, mobile as collapse dropdown -->
1280  <div class="breadcrumb-content qk-bg--theme_bg collapse">
1281    <div class="qk-container">
1282      <!-- cyb_snippet breadcrumb_nav start -->
1283<!-- 主題版型麵包屑 -->
1284<nav aria-label="breadcrumb">
1285  <ol
1286    class="breadcrumb qk-bg--theme_bg qk-pd_x--0 qk-mg--0 qk-fs--breadcrumb"
1287    itemscope
1288    itemtype="http://schema.org/BreadcrumbList"
1289  >
1290    
1291      <li
1292        class="breadcrumb-item
1293        
1294        "
1295        itemprop="itemListElement"
1296        itemscope itemtype="http://schema.org/ListItem">
1297        <!-- home -->
1298        
1299          <a href="/" class="qk-text--text" itemprop="item">
1300            <i class="fas fa-home"></i>
1301            <span class="qk-display--none" itemprop="name">首頁</span>
1302          </a>
1303        <!-- account -->
1304        
1305        <meta itemprop="position" content="1"/>
1306      </li>
1307    
1308      <li
1309        class="breadcrumb-item
1310        
1311        "
1312        itemprop="itemListElement"
1313        itemscope itemtype="http://schema.org/ListItem">
1314        <!-- home -->
1315        
1316          
1317            <a href="#" itemprop="item" style="display: none;">
1318              <span itemprop="name">商品</span>
1319            </a>
1320          
1321          
1322            <span class="qk-text--text" data-breadcrumb-links>
1323              <a href='/collections/jade' class='qk-text--text' itemprop='item'><span itemprop='name'>玉石涼感系列</span></a>, <a href='/collections/短袖polo衫' class='qk-text--text' itemprop='item'><span itemprop='name'>短袖POLO衫</span></a>
1324            </span>
1325          
1326        <!-- product -->
1327        
1328        <meta itemprop="position" content="2"/>
1329      </li>
1330    
1331      <li
1332        class="breadcrumb-item
1333        
1334         active "
1335        itemprop="itemListElement"
1336        itemscope itemtype="http://schema.org/ListItem">
1337        <!-- home -->
1338        
1339          <a href="/products/icegrid-polo-woman" class="qk-text--text" itemprop="item">
1340            <span itemprop="name">免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維</span>
1341          </a>
1342        <!-- search -->
1343        
1344        <meta itemprop="position" content="3"/>
1345      </li>
1346    
1347  </ol>
1348</nav>
1349<script>
1350  $(document).ready(function () {
1351    if (!window.liquidHelper || !window.liquidHelper.hasBreadcrumbReferrerEnabled) return;
1352
1353    var $collections = $('[data-breadcrumb-links]');
1354    if (!$collections.length) return;
1355
1356    var refMatch = document.referrer.match(/\/collections\/([^/?#]+)/);
1357    if (!refMatch || refMatch[1] === 'all') return;
1358
1359    var referrerHandle = decodeURIComponent(refMatch[1]);
1360
1361    function getCollectionHandle(url) {
1362      if (!url) return null;
1363      try {
1364        var pathname = new URL(url, location.origin).pathname;
1365        var parts = pathname.split('/');
1366        var idx = parts.indexOf('collections');
1367        if (idx === -1 || !parts[idx + 1]) return null;
1368        return decodeURIComponent(parts[idx + 1]);
1369      } catch (e) {
1370        return null;
1371      }
1372    }
1373
1374    var $link = $collections.find('a').filter(function () {
1375      return getCollectionHandle(this.href) === referrerHandle;
1376    });
1377
1378    if ($link.length) {
1379      $collections.siblings('a.qk-text--accent[href="#"]').remove();
1380      $collections.empty().append($link);
1381    }
1382  });
1383</script>
1383
1384
1385<!-- cyb_snippet breadcrumb_nav end -->
1386    </div>
1387  </div>
1388</div>
1389
1390
1391<!-- cyb_snippet breadcrumb end -->
1392
1393<div id="img"></div>
1394
1395
1396
1397
1398
1399<script>
1400  var gallery_img = undefined;
1401  document.addEventListener("DOMContentLoaded", function(){
1402    gallery_img = renderGallery(
1403      '#img',
1404      {
1405        urls: ["//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L3Byb2R1Y3RzLzU1ODE0ODc0LzE3NTAwNTMyNjhfOWU4ZWU5NjU0N2ZhM2E3YTFhNTguanBlZyJdLFsicCIsInRodW1iIiwiMjA0OHgyMDQ4Il1d.jpeg?sha=3765a26439b2d103","//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L3Byb2R1Y3RzLzU1ODE0ODc0LzE3NDk3MTc0NDlfMmZiMDdmMDNiMjNjYTBlN2EzOGIuanBlZyJdLFsicCIsInRodW1iIiwiMjA0OHgyMDQ4Il1d.jpeg?sha=48eec07bcc04cb3c","//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L3Byb2R1Y3RzLzU1ODE0ODc0LzE3NDk3MTc0NDlfNjI2NDJlNWYwYjM0MGE0Njg1NWEuanBlZyJdLFsicCIsInRodW1iIiwiMjA0OHgyMDQ4Il1d.jpeg?sha=d431c0ffc3476d36","//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L3Byb2R1Y3RzLzU1ODE0ODc0LzE3NDk3MTc0NDlfODhkNDhlY2Y3ODFmMmQ4NTdiZWMuanBlZyJdLFsicCIsInRodW1iIiwiMjA0OHgyMDQ4Il1d.jpeg?sha=01eb4d8287282c53","//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L3Byb2R1Y3RzLzU1ODE0ODc0LzE3NDk3MTc0NDlfODRlZGUwODRjN2Y0NDNhOTM3NzAuanBlZyJdLFsicCIsInRodW1iIiwiMjA0OHgyMDQ4Il1d.jpeg?sha=447704b8c0b8d4b5"],
1406        onSwiperGalleryChange: function (payload) {
1407          var eventPayload = Object.assign({ galleryName: "img" }, payload);
1408          $(document).trigger('swiper-gallery-change', [eventPayload]);
1409        },
1410      },
1411    );
1412  });
1413</script>
1413
1414
1415<div id="product" class="product">
1416  <div class="qk-container">
1417    
1418
1419
1420
1421
1422
1423
1424 
1425
1426<div id="product_info" class="product_info qk-display--grid" data-purchase-eligibility='{"required":false,"eligible":true,"status":"eligible"}' data-hide-price="false" data-sales-mode-purchasable="true">
1427  <!-- product image start -->
1428  <div id="variant_photos" class="variant_photos">
1429    
1430    
1431    
1432    
1433    <variant-photos-block
1434      :product-photos-json="'[{\'id\':27627702,\'imageUrl\':\'//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L3Byb2R1Y3RzLzU1ODE0ODc0LzE3NTAwNTMyNjhfOWU4ZWU5NjU0N2ZhM2E3YTFhNTguanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=69c299b01d909442\',\'imageMaxUrl\':\'//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L3Byb2R1Y3RzLzU1ODE0ODc0LzE3NTAwNTMyNjhfOWU4ZWU5NjU0N2ZhM2E3YTFhNTguanBlZyJdLFsicCIsInRodW1iIiwiMjA0OHgyMDQ4Il1d.jpeg?sha=3765a26439b2d103\'}, {\'id\':27565034,\'imageUrl\':\'//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L3Byb2R1Y3RzLzU1ODE0ODc0LzE3NDk3MTc0NDlfMmZiMDdmMDNiMjNjYTBlN2EzOGIuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=b9051bf969e75a96\',\'imageMaxUrl\':\'//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L3Byb2R1Y3RzLzU1ODE0ODc0LzE3NDk3MTc0NDlfMmZiM
1434DdmMDNiMjNjYTBlN2EzOGIuanBlZyJdLFsicCIsInRodW1iIiwiMjA0OHgyMDQ4Il1d.jpeg?sha=48eec07bcc04cb3c\'}, {\'id\':27565035,\'imageUrl\':\'//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L3Byb2R1Y3RzLzU1ODE0ODc0LzE3NDk3MTc0NDlfNjI2NDJlNWYwYjM0MGE0Njg1NWEuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=c652b992d1a89a61\',\'imageMaxUrl\':\'//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L3Byb2R1Y3RzLzU1ODE0ODc0LzE3NDk3MTc0NDlfNjI2NDJlNWYwYjM0MGE0Njg1NWEuanBlZyJdLFsicCIsInRodW1iIiwiMjA0OHgyMDQ4Il1d.jpeg?sha=d431c0ffc3476d36\'}, {\'id\':27565036,\'imageUrl\':\'//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L3Byb2R1Y3RzLzU1ODE0ODc0LzE3NDk3MTc0NDlfODhkNDhlY2Y3ODFmMmQ4NTdiZWMuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=9a2a1ac4ad244dcd\',\'imageMaxUrl\':\'//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L3Byb2R1Y3RzLzU1ODE0ODc0LzE3NDk3MTc0NDlfODhkNDhlY2Y3ODFmMmQ4NTdiZWMuanBlZyJdLFsicCIsInRodW1iIiwiMjA0OHgyMDQ4Il1d.jpeg?sha=01eb4d8287282c53\'}, {\'id\':27565037,\'imageUrl\':\'//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L3Byb2R1Y3RzLzU1ODE0ODc0LzE3NDk3MTc0NDlfODRlZGUwODRjN2Y0NDNhOTM3NzAuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=4b98484a15bb2e3d\',\'imageMaxUrl\':\'//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L3Byb2R1Y3RzLzU1ODE0ODc0LzE3NDk3MTc0NDlfODRlZGUwODRjN2Y0NDNhOTM3NzAuanBlZyJdLFsicCIsInRodW1iIiwiMjA0OHgyMDQ4Il1d.jpeg?sha=447704b8c0b8d4b5\'}]'"
1435      :display-product-images-color=false
1436      :product-id="55814874"
1437      product-title="免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維"
1438      
1439        :product-video={"id":null,"url":null}
1440        video-display-location="before"
1441      
1442    />
1443  </div>
1444  <!-- product image end -->
1445  <!-- product content start -->
1446  <div id="product_content" class="product_content qk-display--flex" data-tracking-variant-ids="null">
1447    
1448    <!-- 標題 -->
1449    <div class="product_title">
1450      <h1 class="qk-text--heading qk-fs--hd1 qk-fw--bold qk-mg--0">免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維</h1>
1451    </div>
1452    
1453    <!-- ç°¡è¿° -->
1454    
1455      <div class="product_brief qk-text--text qk-fs--body">
1456        ✅獨家織造工藝創造|採用多孔隙纖維鎖住水分子的花蓮豐田玉<br>✅8%萊卡彈性纖維|耐洗持久不變形,原紗製作防曬UPF50+最安心<br>✅貴婦專櫃級海藻精華+天然抑菌鋅|讓你流汗不黏膩、異味不過夜<br>✅雙核抗臭技術|運動員汗腺暴走也能擺脫尷尬
1457      </div>
1458    
1459    <!-- 廠商,標語 -->
1460    <div class="product_vendor_slogan qk-display--il_bk qk-align--center">
1461      
1462      
1463        <span class="product_slogan qk-text--heading qk-fs--body">礦物涼感+千孔透氣結構,不讓汗水黏答答</span>
1464      
1465    </div>
1466    <!-- 商品售價 -->
1467    
1468    
1469    
1470    <div
1471      class="product_price"
1472      id="price_title"
1473      data-discount-price-name=""
1474      data-discount-price-suggestion-name="">
1475      <!-- 價格title -->
1476      
1477        
1478      
1479
1480      <!-- 商品價格 -->
1481      <div class="qk-display--il_bk">
1482        <span class="qk-text--discount_price price qk-fs--hd1 qk-fw--bold qk-display--il_bk qk-vert--mid"><span class="money_tag" data-currency-from="TWD" data-amount="1380.0">NT$1,380</span></span>
1483      </div>
1484      <del class="qk-text--text qk-fs--body qk-pd_l--05 qk-display--il_bk qk-vert--mid"><span class="money_tag" data-currency-from="TWD" data-amount="1680.0">NT$1,680</span></del>
1485
1486      <!--會員可見價-->
1487      
1488    </div>
1489    
1490    <!-- 商品sku -->
1491    
1492      <div class="product_sku qk-text--heading qk-fs--body">
1493        <span>商品編號:
1494        </span>
1495        <span class="val"></span>
1496      </div>
1497    
1498    <!-- 供貨狀況 -->
1499    
1500      <div class="product_inventory_policy qk-text--heading qk-fs--body">
1501        <span>供貨狀況:
1502        </span>
1503        <span class="val">尚有庫存</span>
1504      </div>
1505    
1506
1507    <!-- 商品款式 -->
1508    <div id="variant_options" class="variant_options">
1509      <variant-options-block
1510        :product-api-url="'/products/icegrid-polo-woman'"
1511        :sku="sku"
1512        :auto-select-variant-by-sku="true"
1513        :hide-other-variants-by-sku="false"
1514        :hide-single-variant-options="false"
1515        :sales-mode-purchasable="true"
1516        default-price="NT$1,380"
1517        default-compare-price="NT$1,680"
1518        :default-discounted="true"
1519        @set-choose="getSelectedDatas"
1520        @get-option-image="getCurrentImage"></variant-options-block>
1521    </div>
1522
1523    <div id="product-tags"></div>
1524
1525    <!-- product discounts_list start -->
1526    <div class="product_discounts_list force-show-scrollbar hide qk-bd--default qk-bd--product_border qk-pd--1 qk-of_y--auto qk-of_x--hidden  hide ">
1527      <div class="list_block custom-scrollbar qk-of_x--hidden">
1528        <p class="qk-text--heading qk-fs--body qk-mg_b--05">此商品參與的優惠活動</p>
1529        
1530          
1531        
1532      </div>
1533    </div>
1534    <!-- product discounts_list end -->
1535
1536    <!-- 規格,數量 -->
1537    
1538      <div class="product_variant_quantity">
1539        <span class="product_quantity">
1540          <div
1541            class="btn-group"
1542            role="group"
1543            aria-label="First group">
1544            <button class="btn add-down qk-bd--product_border" type="button"></button>
1545            <input
1546              class="btn item-quantity qk-text--heading qk-bd--product_border"
1547              type="text"
1548              name="quantity"
1549              value="1"
1550              data-old-value="1">
1551            <button class="btn add-up qk-bd--product_border" type="button"></button>
1552          </div>
1553        </span>
1554      </div>
1555
1556    <!-- 購買按鈕 -->
1557      <div class="product_button qk-display--flex qk-hidden--mobile">
1558        <!-- cyb_snippet _product_info_button start -->
1559<button class="btn addToCart btn_to_cart qk-btn qk-text--button qk-bd--button qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button"
1560  data-brand=""
1561  data-id="55814874"
1562  data-category=""
1563  data-list="單產品細覽"
1564  data-name="免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維"
1565  data-quantity="1"
1566  data-position="全頁"
1567  
1568  data-ga-custom-dimension=""
1569  data-ga-custom-value=""
1570  data-sku="">加入購物車</button>
1571<button class="btn addToCart btn-quick_buy qk-btn qk-btn--primary qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button" data-buy="quick_buy"
1572  data-brand=""
1573  data-id="55814874"
1574  data-category=""
1575  data-list="單產品細覽"
1576  data-name="免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維"
1577  data-quantity="1"
1578  data-position="全頁"
1579  
1580  data-ga-custom-dimension=""
1581  data-ga-custom-value=""
1582  data-sku=""><span>立即購買</span></button>
1583
1584<!-- cyb_snippet _product_info_button end -->
1585        <!-- cyb_snippet _product_info_status_button start -->
1586<button class="btn btn_not_sale hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button">
1587  尚未開賣
1588</button>
1589<button class="btn btn_login_to_view hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button">
1590  登入查看資格
1591</button>
1592<button class="btn btn_not_eligible hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button">
1593  購買資格不符
1594</button>
1595<!-- cyb_snippet _product_info_status_button end -->
1596        
1597          <button class="btn btn_notice hidden qk-btn qk-btn--primary qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button">
1598            已售完,貨到通知我
1599          </button>
1600        
1601        <button class="btn btn_soldout hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button">
1602          已售完
1603        </button>
1604        <button
1605          class="btn buy-together hidden qk-btn qk-text--button qk-bd--button qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title"
1606          type="button"
1607          data-brand=""
1608          data-id="55814874"
1609          data-category=""
1610          data-list="單產品細覽"
1611          data-name="免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維"
1612          data-quantity="1"
1613          data-position="全頁"
1614          
1615          data-ga-custom-dimension=""
1616          data-ga-custom-value=""
1617          data-sku="">同時加購物車</button>
1618        <button
1619          class="btn buy-together hidden qk-btn qk-btn--primary qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title"
1620          type="button"
1621          data-buy="quick_buy"
1622          data-brand=""
1623          data-id="55814874"
1624          data-category=""
1625          data-list="單產品細覽"
1626          data-name="免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維"
1627          data-quantity="1"
1628          data-position="全頁"
1629          
1630          data-ga-custom-dimension=""
1631          data-ga-custom-value=""
1632          data-sku="">同時購買</button>
1633      </div>
1634    
1635      <div class="product_button_mobile qk-display--flex qk-align--center qk-hidden--pc">
1636        <span class="product_love_mobile qk-display--il_bk">
1637          <input
1638            type="hidden"
1639            class="product-variant-id"
1640            value="67176978"
1641            data-sku=""
1642            
1643              data-price="1380.0"
1644              data-compare_at_price="1680.0"
1645            
1646            data-variant="丈青 / M"
1647            data-inventory_quantity="50">
1648          <a
1649            class="btn_love scupio-add-wishlist qk-text--text qk-fs--body qk-cursor--pointer"
1650            data-itemid=""
1651            
1652          >
1653          <div data-icon-type="custom_icon_type_tracking_items" ></div>
1654
1655          </a>
1656        </span>
1657        
1658          <div class="cart qk-text--center qk-pd_x--05 qk-pd_y--0">
1659            <a href="/cart" class="qk-display--il_flex qk-flex--row qk-justify--center qk-align--center qk-vert--mid qk-pos--rel">
1660              <div data-icon-type="custom_icon_type_cart" ></div>
1661
1662              <span class="number global-cart-count qk-circle qk-circle--sm qk-bg--accent qk-text--white qk-text--center qk-vert--mid qk-pos--abs" style="display: none;">0</span>
1663            </a>
1664          </div>
1665          <!-- cyb_snippet _product_info_button_mobile start -->
1666<button
1667  class="btn addToCart_mobile btn_to_cart_mobile open_product_modal qk-btn qk-flex--1 qk-fs--title qk-text-truncate qk-bd--button qk-text--button"
1668  data-handle="icegrid-polo-woman">
1669  加入購物車</button>
1670<button
1671  class="btn addToCart_mobile btn_quick_buy_mobile open_quick_buy_modal qk-btn qk-btn--primary qk-flex--1 qk-fs--title qk-text-truncate"
1672  data-handle="icegrid-polo-woman">
1673  立即購買</button>
1674
1675<!-- cyb_snippet _product_info_button_mobile end -->
1676          <!-- cyb_snippet _product_info_status_button start -->
1677<button class="btn btn_not_sale hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button">
1678  尚未開賣
1679</button>
1680<button class="btn btn_login_to_view hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button">
1681  登入查看資格
1682</button>
1683<button class="btn btn_not_eligible hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button">
1684  購買資格不符
1685</button>
1686<!-- cyb_snippet _product_info_status_button end -->
1687          
1688            <button class="btn btn_notice btn_notice_mobile hidden qk-btn qk-btn--primary qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button">
1689              已售完,貨到通知我
1690            </button>
1691          
1692          <button class="btn btn_soldout hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button">
1693            已售完
1694          </button>
1695          <button
1696            class="btn buy-together hidden qk-btn qk-flex--1 qk-fs--title qk-bd--button qk-text--button"
1697            type="button"
1698            data-brand=""
1699            data-id="55814874"
1700            data-category=""
1701            data-list="單產品細覽"
1702            data-name="免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維"
1703            data-quantity="1"
1704            data-position="全頁"
1705            
1706            data-sku="">同時加購物車</button>
1707          <button
1708            class="btn buy-together hidden qk-btn qk-btn--primary qk-flex--1 qk-fs--title"
1709            type="button"
1710            data-buy="quick_buy"
1711            data-brand=""
1712            data-id="55814874"
1713            data-category=""
1714            data-list="單產品細覽"
1715            data-name="免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維"
1716            data-quantity="1"
1717            data-position="全頁"
1718            
1719            data-sku="">同時購買</button>
1720        
1721      </div>
1722      
1723      
1724      
1725      
1726      
1727    <!-- 加入最愛,銷售數量,紅利折抵 -->
1728    <div class="product_others qk-display--flex qk-flex--wrap qk-align--center">
1729      <span class="product_love qk-display--il_bk qk-hidden--phone">
1730        <input
1731          type="hidden"
1732          class="product-variant-id"
1733          value="67176978"
1734          data-sku=""
1735          
1736            data-price="1380.0"
1737            data-compare_at_price="1680.0"
1738          
1739          data-variant="丈青 / M"
1740          data-inventory_quantity="50">
1741        <a
1742          class="btn_love scupio-add-wishlist qk-text--text qk-fs--body qk-bd--default qk-bd--product_border qk-cursor--pointer qk-display--flex qk-align--center"
1743          data-itemid=""
1744          
1745        >
1746          <svg
1747            width="15"
1748            height="15"
1749            viewBox="0 0 24 24"
1750            fill="none"
1751            xmlns="http://www.w3.org/2000/svg">
1752            <path
1753              d="M21.3899 4.54287C20.8146 4.01265 20.1366 3.60344 19.3969 3.34002C18.6572 3.0766 17.8711 2.96444 17.0863 3.01034C16.5593 3.01219 16.0362 3.09923 15.5375 3.26802C15.0194 3.44412 14.5265 3.68572 14.071 3.98682C13.6676 4.25092 13.2787 4.53613 12.906 4.84124C12.5762 5.09996 12.2648 5.38092 11.974 5.6821C11.6833 5.38092 11.3719 5.09996 11.042 4.84124C10.6516 4.53452 10.2443 4.24928 9.82221 3.98682C9.3967 3.69278 8.93642 3.45138 8.45163 3.26802C7.93995 3.0948 7.40254 3.0077 6.86175 3.01034C6.07688 2.96365 5.2906 3.07544 4.55076 3.3389C3.81091 3.60236 3.13296 4.01199 2.55813 4.54287C2.02401 5.11052 1.61146 5.77922 1.3453 6.50873C1.07914 7.23825 0.964875 8.01351 1.00937 8.78786C1.01359 9.36893 1.11073 9.94569 1.29719 10.4967C1.45989 11.0166 1.68054 11.517 1.95507 11.9886C2.20373 12.4073 2.47838 12.8104 2.77742 13.1956C3.09266 13.5889 3.32566 13.8601 3.46271 14.0093C3.56921 14.1255 3.6837 14.2343 3.80536 14.3348L11.4395 21.7669C11.5066 21.8412 11.5891 21.9002 11.6813 21.94C11.7736 21.9798 11.8734 21.9994 11.974 21.9975C12.0836 22.0067 12.1938 21.9906 12.296 21.9506C12.3983 21.9106 12.4898 21.8477 12.5634 21.7669L20.1838 14.3484C21.8272 12.9359 22.8376 10.9363 22.9935 8.78786C23.0307 8.0097 22.9078 7.23217 22.6321 6.50246C22.3565 5.77274 21.9339 5.10606 21.3899 4.54287V4.54287Z"
1754              stroke="currentColor"
1755              stroke-width="2"
1756              stroke-linecap="round"
1757              stroke-linejoin="round" />
1758          </svg>
1759          加入最愛
1760        </a>
1761      </span>
1762      
1763      <span
1764        class="product_bonus qk-text--text qk-fs--body qk-display--il_bk"
1765        >
1766        此商品 「 最高 」可以折抵紅利
1767        <span class="val">0</span>
1768        點
1769        
1770        (約等於 <span class="money_tag" data-currency-from="TWD" data-amount="0">NT$0</span> )
1771      </span>
1772    </div>
1773  </div>
1774  <!-- product content end -->
1775</div>
1776<div class="add-buy-products-container">
1777  <!-- cyb_snippet add_buy_products start -->
1778
1779
1780
1781
1782<!-- cyb_snippet add_buy_products end -->
1783
1784</div>
1785
1786<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/cart-ec858cfa815323bb.js' type='text/javascript'></script>
vendor: 1 bytes, line 1786
1786
1787<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/product_variant-ec858cfa815323bb.js' type='text/javascript'></script>
1787
1788<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/product-ec858cfa815323bb.css' rel='stylesheet' type='text/css' media='all' />
1789<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/product_info-ec858cfa815323bb.js' type='text/javascript'></script>
1789
1790
1791<!-- cyb_snippet new_addcart_modal start -->
1792<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/vue_product_modal-ec858cfa815323bb.css' rel='stylesheet' type='text/css' media='all' />
1793
1794<div id="new-addcart-modal" class="container">
1795  <transition name="modal">
1796    <product-modal
1797      v-if="showProductModal"
1798      :only-description="onlyDescription"
1799      :product-url="popProductUrl"
1800      :color="color"
1801      :is-collection="isCollection"
1802      :is-show-description="isShowDescription"
1803      :is-quick-buy="isQuickBuy"
1804      :selected-variant-id="selectedVariantId"
1805      :categories="categories"
1806      :call-back="checkoutAddToCartCallback"
1807      ref="productModal"
1808    >
1809    </product-modal>
1810  </transition>
1811</div>
1812
1813<!-- cyb_snippet components/product_modal/product_modal start -->
1814<script type="text/x-template" id="product-modal">
1815  <div class="modal-mask qk-h--100 qk-w--100 qk-l--0 qk-t--0 qk-pos--fixed" @click="closeModal">
1816    <div class="modal-content qk-bd--none qk-center qk-bg--theme_bg" :class="{'only-description': onlyDescription}" @click.stop>
1817      <button class="btn-close qk-circle qk-circle--md qk-pos--abs qk-op--100 qk-bg--theme_bg qk-text--heading qk-bd--product_border qk-bd--default" @click="closeModal"></button>
1818      <div class="modal-body custom-scrollbar qk-w--100">
1819        <div v-if="!isLoading">
1820          <div id="checkout-product" class="row">
1821            <div class="col-sm-6 col-xs-4">
1822              <photo-swiper
1823                :mediaItems="swiperItems"
1824                :current-image-index="currentImageIndex"
1825                :current-variant="currentVariant"
1826                :video-after-image="videoAfterImage"
1827              ></photo-swiper>
1828            </div>
1829            <div class="col-sm-6 col-xs-8">
1830              <h4 class="qk-fs--hd2 qk-fw--bold qk-text--heading qk-mg--0" v-html="product.title"></h4>
1831              <p class="product_brief qk-text--text qk-fs--body" v-html="product.brief"></p>
1832              <p class="product_slogan qk-text--heading qk-fs--body" v-html="product.slogan"></p>
1833              <div class="swiper_thumbnails" style="margin-bottom: 10px;">
1834                <swiper-thumbnails
1835                  :mediaItems="swiperItems"
1836                  :current-image-index="currentImageIndex"
1837                  :title="product.title"
1838                  @update-current-image-index="(thumbnailIndex) => { currentImageIndex = thumbnailIndex }"
1839                ></swiper-thumbnails>
1840              </div>
1841              
1842              <div v-if="!hidePrice" style="margin-bottom: 10px;">
1843                
1844                <span class="price-title qk-fs--body qk-fw--500 qk-text--heading">${ priceTitleTag }</span>
1845                
1846                <div>
1847                  <span v-html="variantPrice" class="variant-price qk-fs--hd1 qk-fw--bold" :class="[isDiscountPrice ? 'qk-text--discount_price' : 'qk-text--price']"></span>
1848                  <del v-html="marketPrice" class="variant-del-price qk-fs--body qk-fw--500 qk-text--text"></del>
1849                </div>
1850              </div>
1851              <div v-if="!onlyDescription" class="controls">
1852                <div class="variant-quantity qk-display--flex qk-flex--column">
1853                  <div v-if="hasVariant" class="product-variant-options">
1854                    <div v-for="(option, index) in optionInfo" class="product-variant-option" :class="{'product-variant-option--hidden': shouldHideSingleVariantOptions}">
1855                      <div class="advance variant-select-option" v-if="styledShopMenu==='dropDownType'">
1856                      
1857                        <label>${option.name}</label>
1858                        <svg height="20" width="20" viewBox="0 0 20 20" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"><path d="M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"> </path></svg>
1859                        <select class="qk-bg--theme_bg" :class="{'select_placeholder-color': currentOption[`option${index + 1}`] === null}" v-show="!isMobileSize" :value="String(currentOption[`option${index + 1}`])" @change="setOption(`option${index + 1}`, $event.target.value, option.types )" @click="onClickSelectModal(option,`option${index + 1}`)">
1860                          <option value="null" class="select_option-hidden">請選擇${option.name}</option>
1861                          <option :style="{ visibility : isMobileSize ? 'hidden' : 'visible' }" v-for="(types) in option.types" :disabled="!types.isValid" :value="types.name">${types.name}</option>
1862                        </select>
1863                        <span class="select_placeholder-color" v-if="currentOption[`option${index + 1}`] === null" v-show="isMobileSize" @click="onClickSelectModal(option,`option${index + 1}`)">請選擇${option.name}</span>
1864                        <span v-else :value="currentOption[`option${index + 1}`]" v-show="isMobileSize" @click="onClickSelectModal(option,`option${index + 1}`)" v-html="currentOption[`option${index + 1}`]"></span>
1865                      </div>
1866                      <advance-option v-else :option-key="'option' + (index + 1)" :option="option" :current-option="currentOption" :toggle-current-option="toggleCurrentOption"/>
1867                    </div>
1868                  </div>
1869                  <div class="product_discounts_list qk-bg--theme_bg qk-bd--default qk-bd--product_border qk-pd--1 qk-mg_b--1" v-show="displayProductDiscountsList && ((displayPeriodicSalesPages && product.showableSalesPages.length > 0) || !!discountsList)">
1870                    <div class="list_block custom-scrollbar qk-of_x--hidden">
1871                      <h4 class="qk-text--heading qk-fs--body">此商品參與的優惠活動
1872                      </h4>
1873                      <template v-if="displayPeriodicSalesPages">
1874                        <div v-for="salesPage in product.showableSalesPages" class="discount-list">
1875                          <span class="discount-label qk-fs--breadcrumb qk-bd--default qk-bd--accent qk-bg--white qk-display--il_bk qk-text--accent">定期定額
1876                          </span>
1877                          <a class="discount-title qk-text--accent qk-fs--body" :href="salesPage.path">${ salesPage.title }</a>
1878                        </div>
1879                      </template>
1880                      <template v-for="discounts in discountsList">
1881                        <div v-for="discount in discounts" class="discount-list">
1882                          <a v-if="discount.url" :href="discount.url" class="discount-title qk-text--accent qk-fs--body">
1883                            ${ discount.title }
1884                          </a>
1885                          <span v-else class="discount-title qk-text--accent qk-fs--body">${ discount.title }</span>
1886                        </div>
1887                      </template>
1888                    </div>
1889                  </div>
1890                  <div v-if="showPurchaseControls" class="product-quantity qk-bd--product_border" v-show="!isMobileSize">
1891                    <div class="btn-group qk-w--100" role="group" aria-label="First group">
1892                      <button class="btn add-down qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityDecrease">-</button>
1893                      <input class="btn item-quantity qk-bd--default qk-bd--border qk-w--100 qk-text--heading" type="text" name="quantity" :value="quantity" @change="quantityChange">
1894                      <button class="btn add-up qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityIncrease">+</button>
1895                    </div>
1896                  </div>
1897                </div>
1898                <div v-if="showPurchaseControls" class="add-button-wrapper">
1899                  <!-- cyb_snippet _product_modal_button start -->
1900<button
1901  class="btn btn-default add-button qk-cursor--pointer qk-w--100 qk-btn--primary"
1902  :class="{selected: isChoose, adding: adding || isHideAddCartBtn, secondary: isSecondaryBtn, 'qk-btn--disabled': isHideAddCartBtn && isNewNnCollection, 'qk-bd--none': isHideAddCartBtn && isNewNnCollection}"
1903  type="button"
1904  :disabled="isHideAddCartBtn"
1905  @click="addProduct"
1906>
1907  ${ addCartText }
1908</button>
1909
1910<!-- cyb_snippet _product_modal_button end -->
1911                </div>
1912                <div class="product-others qk-fs--body">
1913                  <span class="product-love">
1914                    <a class="btn-love qk-text--text qk-bg--theme_bg qk-bd--default qk-bd--product_border qk-display--il_bk qk-text--center qk-cursor--pointer qk-tst qk-tst_timing--ease_io qk-tst_dur--15" @click="addWishList">
1915                      <svg
1916                        width="15"
1917                        height="15"
1918                        viewBox="0 0 24 24"
1919                        fill="none"
1920                        xmlns="http://www.w3.org/2000/svg">
1921                        <path
1922                          d="M21.3899 4.54287C20.8146 4.01265 20.1366 3.60344 19.3969 3.34002C18.6572 3.0766 17.8711 2.96444 17.0863 3.01034C16.5593 3.01219 16.0362 3.09923 15.5375 3.26802C15.0194 3.44412 14.5265 3.68572 14.071 3.98682C13.6676 4.25092 13.2787 4.53613 12.906 4.84124C12.5762 5.09996 12.2648 5.38092 11.974 5.6821C11.6833 5.38092 11.3719 5.09996 11.042 4.84124C10.6516 4.53452 10.2443 4.24928 9.82221 3.98682C9.3967 3.69278 8.93642 3.45138 8.45163 3.26802C7.93995 3.0948 7.40254 3.0077 6.86175 3.01034C6.07688 2.96365 5.2906 3.07544 4.55076 3.3389C3.81091 3.60236 3.13296 4.01199 2.55813 4.54287C2.02401 5.11052 1.61146 5.77922 1.3453 6.50873C1.07914 7.23825 0.964875 8.01351 1.00937 8.78786C1.01359 9.36893 1.11073 9.94569 1.29719 10.4967C1.45989 11.0166 1.68054 11.517 1.95507 11.9886C2.20373 12.4073 2.47838 12.8104 2.77742 13.1956C3.09266 13.5889 3.32566 13.8601 3.46271 14.0093C3.56921 14.1255 3.6837 14.2343 3.80536 14.3348L11.4395 21.7669C11.5066 21.8412 11.5891 21.9002 11.6813 21.94C11.7736 21.9798 11.8734 21.9994 11.974 21.9975C12.0836 22.0067 12.1938 21.9906 12.296 21.9506C12.3983 21.9106 12.4898 21.8477 12.5634 21.7669L20.1838 14.3484C21.8272 12.9359 22.8376 10.9363 22.9935 8.78786C23.0307 8.0097 22.9078 7.23217 22.6321 6.50246C22.3565 5.77274 21.9339 5.10606 21.3899 4.54287V4.54287Z"
1923                          stroke="currentColor"
1924                          stroke-width="2"
1925                          stroke-linecap="round"
1926                          stroke-linejoin="round" />
1927                      </svg>
1928                      加入最愛
1929                    </a>
1930                  </span>
1931                  <span class="product_sold qk-text--text" v-if="false">
1932                    <span>已銷售:
1933                      ${ product.totalSold }
1934                      ä»¶
1935                    </span>
1936                  </span>
1937                  <span class="product_bonus qk-text--text" v-if="true">
1938                    此商品 「 最高 」可以折抵紅利
1939                    <span class="val qk-fw--600 qk-fs--hd2" v-if="currentVariant">${currentVariant.maxUsableBonus}</span>
1940                    <span class="val qk-fw--600 qk-fs--hd2" v-else>${maxUsableBonus}</span>
1941                    點
1942                    <span v-html="bonusToPrice"/>
1943                  </span>
1944                </div>
1945                <div class='product_limit_buy qk-fs--body' v-show="product.minBuy > 0 || product.limitBuy > 0">
1946                  ${limitBuyText}
1947                </div>
1948              </div>
1949            </div>
1950          </div>
1951          <div v-if="isShowDescription" class="row">
1952            <div class="col-sm-12">
1953              
1954                <div v-if="product.bodyHtml">
1955                  <h5 class="section-heading qk-bd--heading qk-fs--hd2 qk-text--heading">
1956                    商品介紹
1957                  </h5>
1958                  <div class="ckeditor">
1959                    <div v-html="product.bodyHtml"></div>
1960                  </div>
1961                </div>
1962              
1963              
1964                <div v-if="otherDescriptions['product_description_section_spec']">
1965                  <h5 class="section-heading qk-bd--heading qk-fs--hd2 qk-text--heading">
1966                    規格說明
1967                  </h5>
1968                  <div class="ckeditor">
1969                    <div v-html="otherDescriptions['product_description_section_spec']"></div>
1970                  </div>
1971                </div>
1972              
1973              
1974                <div v-if="otherDescriptions['product_description_section_shipping']">
1975                  <h5 class="section-heading qk-bd--heading qk-fs--hd2 qk-text--heading">
1976                    運送方式
1977                  </h5>
1978                  <div class="ckeditor">
1979                    <div v-html="otherDescriptions['product_description_section_shipping']"></div>
1980                  </div>
1981                </div>
1982              
1983            </div>
1984          </div>
1985        </div>
1986        <div v-show="isLoading" style="text-align: center; padding-bottom: 20px;">
1987          <i class="fas fa-spinner fa-spin fa-fw fa-2x"></i>
1988        </div>
1989      </div>
1990        <!-- cyb_snippet _product_modal_button_mobile start -->
1991 <div
1992  v-if="showPurchaseControls"
1993  v-show="isMobileSize"
1994  class="mobile_footer"
1995  :class="{'mobile_footer-z': variantSize > 1 }">
1996        <div class="product-quantity">
1997          <div class="btn-group qk-w--100" role="group" aria-label="First group">
1998            <button class="btn add-down qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityDecrease">-</button>
1999            <input class="btn item-quantity qk-bd--default qk-bd--border qk-w--100 qk-text--heading" type="text" name="quantity" :value="quantity" @change="quantityChange">
2000            <button class="btn add-up qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityIncrease">+</button>
2001          </div>
2002        </div>
2003        <button
2004          v-if="!isLoading && !onlyDescription"
2005          class="btn btn-mobile add-button qk-btn qk-btn--primary qk-btn--lg"
2006          :class="{selected: isChoose, adding: adding || isHideAddCartBtn, 'qk-btn--disabled': isHideAddCartBtn && isNewNnCollection, 'qk-bd--none': isHideAddCartBtn && isNewNnCollection}"
2007          type="button"
2008          :disabled="isHideAddCartBtn"
2009          @click="addProduct">
2010            ${ addCartText }
2011        </button>
2012</div>
2013<div
2014  class="mobile-modal"
2015  :class="{ 'modal-open': isModalSelectShow && isMobileSize }">
2016        <div class="mobile_modal-content">
2017          <div class="modal_close-button">
2018            <button class="btn-close qk-circle qk-circle--md qk-pos--abs qk-op--100  qk-text--heading qk-bd--product_border qk-bd--default" @click="onChangeModalSelect(false,true)"></button>
2019          </div>
2020          
2021          <p>請選擇${modalOption.name}</p>
2022          <div class="modal_select-templete qk-display--flex qk-of_y--auto qk-w--100">
2023            <div class="options-container">
2024              <label :class="{'seleced-option': currentOption && currentOption[selectOption] === data.name, 'avoid-clicks':!data.isValid}" v-for="data in modalOption.types" @click="setOption(selectOption, data.name, modalOption.types)">${data.name}</label>
2025            </div>
2026          </div>
2027          <div v-if="variantSize > 1" class="modal_select_footer qk-display--flex">
2028            <button type="button" class="modal_cancel qk-bd--default qk-btn--secondary qk-bd--button qk-text--button" @click="onChangeModalSelect(false,false)">取消</button>
2029            <button type="button" class="qk-btn qk-btn--primary qk-btn--lg qk-fs--body qk-bd--button qk-test--button_text" @click="onChangeModalSelect(false,true)">完成</button>
2030          </div>
2031        </div>
2032</div>
2033
2034<!-- cyb_snippet _product_modal_button_mobile end -->
2035    </div>
2036  </div>
2037</script>
2037
2038
2039<!-- cyb_snippet components/product_modal/color_image_option start -->
2040<script id="color-image-option" type="text/x-template">
2041  <div class="color-image qk-display--flex qk-flex--wrap qk-align--center">
2042    <div class="title">顏色</div>
2043    <div
2044      v-for="(imageColor, index) in imageColors"
2045      :class="{
2046        'focus': !currentOption[optionKey] === option.types[index].name && currentImageIndex === index,
2047        'selected': currentOption[optionKey] === option.types[index].name,
2048        'disabled': !option.types[index].isValid
2049      }"
2050      class="image-option img-flex qk-bd--default qk-bd--transparent qk-display--block qk-pos--rel"
2051      @mouseleave="setCurrentImageIndex(index)"
2052      @mouseover="getOptionImageIndex(index)"
2053      @click="setOption(optionKey, index)"
2054    >
2055      <img v-if="imageColor !== 'noColorImage'" :src="imageColor.large" alt="image">
2056      <img v-else src="/assets/no-image-large.png" alt="image">
2057    </div>
2058  </div>
2059</script>
2059
2060
2061<script type="text/javascript">
2062  $(document).ready(function() {
2063    window.themeHelper.productModalComponents['color-image-option'] = {
2064      template: '#color-image-option',
2065      delimiters: ['${', '}'],
2066      props: {
2067        optionKey: String,
2068        option: Object,
2069        product: Object,
2070        imageColors: Array,
2071        isChoose: Boolean,
2072        currentImageIndex: Number,
2073        setCurrentImageIndex: Function,
2074        getOptionImageIndex: Function,
2075        currentOption: Object,
2076        toggleCurrentOption: Function,
2077      },
2078      methods: {
2079        setOption: function(optionKey, index) {
2080          const type = this.option.types[index];
2081          if(type.isValid){
2082            this.toggleCurrentOption(optionKey, type.name);
2083          }
2084        }
2085      }
2086    };
2087  });
2088</script>
2088
2089
2090<!-- cyb_snippet components/product_modal/color_image_option end -->
2091<!-- cyb_snippet components/product_modal/advance_option start -->
2092<script id="advance-option" type="text/x-template">
2093  <div class="advance">
2094    <div class="title qk-text--heading qk-fs--body">${option.name}</div>
2095    <div
2096      v-for="type in option.types"
2097      :class="{
2098        'selected': currentOption[optionKey] === type.name,
2099        'disabled': !type.isValid
2100      }"
2101      @click="setOption(optionKey, type)"
2102      class="option qk-btn  qk-bd--button qk-text--button qk-pd_x--1"
2103    >
2104      ${type.name}
2105    </div>
2106  </div>
2107</script>
2107
2108
2109<script type="text/javascript">
2110  $(document).ready(function() {
2111    window.themeHelper.productModalComponents['advance-option'] = {
2112      template: '#advance-option',
2113      delimiters: ['${', '}'],
2114      props: {
2115        optionKey: String,
2116        option: Object,
2117        product: Object,
2118        currentOption: Object,
2119        toggleCurrentOption: Function,
2120      },
2121      methods: {
2122        setOption: function(optionKey, type) {
2123          if(type.isValid){
2124            this.toggleCurrentOption(optionKey, type.name);
2125          }
2126        }
2127      }
2128    };
2129  });
2130</script>
2130
2131
2132<!-- cyb_snippet components/product_modal/advance_option end -->
2133
2134<!-- cyb_snippet components/product_modal/photo_swiper start -->
2135
2136
2137<script id="photo-swiper" type="text/x-template">
2138  <div ref="photoSwiper" id="photo_swiper" class="photos swiper swiper-container">
2139    <div class="swiper-wrapper">
2140      <template v-if="hasImage">
2141        <div v-for="(item, index) in mediaItems" :key="index" class="photo swiper-slide qk-align--center qk-display--flex qk-justify--center qk-vert--text_top three_to_four_scale">
2142          <video-player v-if="item.url" :video="item"
2143            :video-poster=" !!mediaItems[firstImageIndex] ? mediaItems[firstImageIndex].large : '//cdn-general.cybassets.com/img_loading.svg' "
2144          >
2145          </video-player>
2146          <img v-else class="qk-center" :src="item.large" alt="image"/>
2147        </div>
2148      </template>
2149      <div v-else class="photo swiper-slide qk-align--center qk-display--flex qk-justify--center qk-vert--text_top three_to_four_scale">
2150        <img src="//cdn-general.cybassets.com/assets/no-image-large-2b95ea56c455be9ce081d81c14eded925df68bf8fa38809e46f6af8fcdd5f9bc.png" alt="image" />
2151      </div>
2152    </div>
2153    <div v-show="showBtn" class="photo-prev qk-swiper_btn--prev  qk-hidden--mobile qk-swiper_btn qk-swiper_btn--lg qk-swiper_btn--v2 qk-mg_l--05"></div>
2154    <div v-show="showBtn" class="photo-next qk-swiper_btn--next  qk-hidden--mobile qk-swiper_btn qk-swiper_btn--lg qk-swiper_btn--v2 qk-mg_l--05"></div>
2155
2156    <div class="photo-pagination qk-bd--default qk-bd--body qk-text--center qk-text--body qk-fs--breadcrumb qk-visible-sm">
2157        <span class="current-index qk-text--default_dark">${currentImageIndex +1 }</span><span class="pagination-slash">/</span>
2158        <span>${mediaItems.length}</span>
2159      </div>
2160  </div>
2161</script>
2161
2162
2163<script>
2164  $(document).ready(function () {
2165    window.themeHelper.productModalComponents['photo-swiper'] = {
2166      template: '#photo-swiper',
2167      delimiters: ['${', '}'],
2168      props: {
2169        mediaItems: Array,
2170        currentImageIndex: Number,
2171        currentVariant: Object,
2172        videoAfterImage: Boolean,
2173      },
2174      data: function () {
2175        return {
2176          swiper: {},
2177          swiperOption: {
2178            preventInteractionOnTransition: true,
2179            rewind: true,
2180            spaceBetween: 5,
2181            slidesPerView: 1,
2182            navigation: {
2183              nextEl: '.photo-next',
2184              prevEl: '.photo-prev'
2185            }
2186          },
2187          showBtn: true,
2188          isVariantReposition: false,
2189        }
2190      },
2191      mounted: function() {
2192        this.swiper = new Swiper('#photo_swiper', this.swiperOption);
2193        this.swiper.on('slideChange', this.slideOnChange);
2194      },
2195      watch: {
2196        currentImageIndex: function() {
2197          this.slideToIndex();
2198        },
2199        currentVariant: {
2200          immediate: true,
2201          handler: function() {
2202            this.showBtn = this.mediaItems.length > 1;
2203            this.isVariantReposition = true;
2204            this.$nextTick(() => {
2205              if (this.swiper) {
2206                this.swiper.update();
2207                this.swiper.slideToLoop(this.initialItemIndex)
2208                this.slideOnChange();
2209                this.isVariantReposition = false;
2210              }
2211            });
2212          },
2213        },
2214      },
2215      computed: {
2216        hasImage: function() {
2217          return this.mediaItems.length > 0;
2218        },
2219        hasVideo: function() {
2220          return this.mediaItems.findIndex(item => !!item.url) !== -1;
2221        },
2222        variantPhotos: function() {
2223          if (this.currentVariant?.photos?.length) {
2224            return this.currentVariant.photos;
2225          } else  {
2226            return null;
2227          }
2228        },
2229        initialItemIndex: function() {
2230          if (this.hasVideo && !this.videoAfterImage) {
2231            // Focus on photo if "variant with photos" selected, video otherwise
2232            return this.variantPhotos?.length ? 1 : 0;
2233          } else {
2234            // Focus on first photo
2235            return 0;
2236          }
2237        },
2238      },
2239      methods: {
2240        slideOnChange: function() {
2241          themeHelper.EventBus.$emit('photoOnChange', this.swiper.realIndex, this.isVariantReposition);
2242        },
2243        slideToIndex: function() {
2244          if(this.swiper.realIndex != this.currentImageIndex) {
2245            this.swiper.slideToLoop(this.currentImageIndex);
2246            this.swiper.update();
2247          }
2248        },
2249      }
2250    };
2251  });
2252</script>
2252
2253
2254
2255<!-- cyb_snippet components/product_modal/video_player start -->
2256<script id="video-player" type="text/x-template">
2257  <div class="videoPlayer__wrapper" @click="handleVideoClick">
2258    <video 
2259      id='modal-video'
2260      class="videoPlayer__video qk-cursor--pointer qk-center" 
2261      :poster="videoPoster"
2262      loop defaultMuted muted playsinline webkit-playsinline autoplay
2263    >
2264      <source :src="videoUrl" type="video/mp4">
2265      <p>你的瀏覽器不支援 HTML 5 video</p>
2266    </video>
2267    <button id="modal-video-button" class="videoPlayer__pauseButton"></button>
2268  </div>
2269</script>
2269
2270
2271<script>
2272  $(document).ready(function () {
2273    window.themeHelper.productModalComponents['video-player'] = {
2274      template: '#video-player',
2275      delimiters: ['${', '}'],
2276      props: {
2277        video: Object,
2278        videoPoster: String,
2279      },
2280      data: function() {
2281        return {
2282          videoElement: null,
2283          buttonElement: null,
2284        };
2285      },
2286      mounted: function() {
2287        this.videoElement = $('#modal-video')[0];
2288        this.buttonElement = $('#modal-video-button');
2289        this.setVideoVolumeZero();
2290        this.videoElement.addEventListener('canplay', (event) => {
2291          this.sendGtag('play');
2292        }, { once: true });
2293      },
2294      computed: {
2295        videoUrl: function() {
2296          return this.video.url;
2297        }
2298      },
2299      methods: {
2300        sendGtag: function(action) {
2301          window.productVideoView && productVideoView(action);
2302        },
2303        setVideoVolumeZero: function() {
2304          this.videoElement.volume = 0;
2305        },
2306        handleVideoClick: function() {
2307          if (this.videoElement.paused){
2308            this.videoElement.play();
2309            this.sendGtag('play');
2310          } else {
2311            this.videoElement.pause();
2312            this.sendGtag('paused');
2313          }
2314          this.handleVideoButtonDisplay(this.buttonElement, this.videoElement);
2315        },
2316        handleVideoButtonDisplay: function(button, video) {
2317          button.toggleClass('videoPlayer__playButton', video.paused);
2318          button.toggleClass('videoPlayer__pauseButton', !video.paused);
2319        },
2320      }
2321    };
2322  });
2323</script>
2323
2324
2325<!-- cyb_snippet components/product_modal/video_player end -->
2326
2327<!-- cyb_snippet components/product_modal/photo_swiper end -->
2328<!-- cyb_snippet components/product_modal/swiper_thumbnails start -->
2329<script id="swiper-thumbnails" type="text/x-template">
2330  <div
2331    v-for="(thumbnail, index) in allThumbnails"
2332    :key="index"
2333    class="product-thumbnail img-flex qk-of--hidden qk-display--il_bk qk-cursor--pointer qk-bd--default qk-bd--transparent three_to_four_scale"
2334    :class="{ focus: index === currentImageIndex }"
2335    @mouseover="updateCurrentImageIndex(index)"
2336  >
2337    <template v-if="thumbnail.isVideo">
2338      <video class="qk-w--100 qk-h--100" :src="thumbnail.url" defaultMuted playsinline></video>
2339      <button class="videoPlayer__playButton"></button>
2340    </template>
2341    <img v-else :src="thumbnail.url" :alt="title" class="qk-w--100 qk-h--100">
2342  </div>
2343</script>
2343
2344
2345<script type="text/javascript">
2346  $(document).ready(function () {
2347    window.themeHelper.productModalComponents['swiper-thumbnails'] = {
2348      template: '#swiper-thumbnails',
2349      delimiters: ['${', '}'],
2350      props: {
2351        title: String,
2352        mediaItems: Array,
2353        currentImageIndex: Number,
2354      },
2355      emits: ['updateCurrentImageIndex'],
2356      methods: {
2357        updateCurrentImageIndex: function(thumbnailIndex) {
2358          if (thumbnailIndex !== this.currentImageIndex ) {
2359            this.$emit('updateCurrentImageIndex', thumbnailIndex);
2360          }
2361        },
2362      },
2363      mounted() {
2364        // can be removed after replacing video thumbnail with img
2365        const thumbnailVideo = $('.product-thumbnail video')[0];
2366        if (!!thumbnailVideo) {
2367          thumbnailVideo.volume = 0;
2368          const promise = thumbnailVideo.play();
2369          promise.then(() => {
2370            thumbnailVideo.pause();
2371          })
2372        }
2373      },
2374      computed: {
2375        allThumbnails: function() {
2376          return this.mediaItems.map(item => ({
2377            isVideo: !!item.url,
2378            url: item.url || item.medium
2379          }));
2380        },
2381      },
2382      watch: {
2383        allThumbnails: {
2384          handler(){
2385            this.updateCurrentImageIndex(this.currentImageIndex);
2386          }
2387        }
2388      }
2389    };
2390  });
2391</script>
2391
2392
2393<!-- cyb_snippet components/product_modal/swiper_thumbnails end -->
2394
2395
2396<!-- cyb_snippet _product_modal_js start -->
2397<script type="text/javascript">
2398  $(document).ready(function() {
2399    var categoryLevels = [];
2400    var productCategoryLevels = ["玉石涼感系列,短袖POLO衫"];
2401    var pageMainProductId = 55814874;
2402    window.themeHelper.productModalComponents['product-modal'] = {
2403      template: '#product-modal',
2404      delimiters: [
2405        '${', '}'
2406      ],
2407      props: {
2408        onlyDescription: Boolean,
2409        cartItems: Array,
2410        groupId: Number,
2411        productUrl: String,
2412        color: String, // unused
2413        collectionId: Number,
2414        categories: Array,
2415        // 判斷是否有色票展開
2416        isCollection: {
2417          type: Boolean,
2418          required: false,
2419          default: false,
2420        },
2421        // 判斷加入購物車的方法
2422        isNnCollection: Boolean,
2423        isNewNnCollection: Boolean,
2424        isBundleDiscount: Boolean,
2425
2426        // 判斷是否顯示商品描述
2427        isShowDescription: {
2428          type: Boolean,
2429          default: true
2430        },
2431
2432        // 判斷是否為立即購買
2433        isQuickBuy: {
2434          type: Boolean,
2435          default: false
2436        },
2437        selectedVariantId: Number,
2438        callBack: Function
2439      },
2440      data: function() {
2441        return {
2442          styledShopMenu: "dropDownType",
2443          selectOption: '',
2444          selectCurrentStr:'',
2445          isModalSelectShow: false,
2446          modalOption: {},
2447          adding: false,
2448          currentImageIndex: 0,
2449          _navState: { variantId: null, photoIndex: 0 },
2450          currentOption: {
2451            option1: null,
2452            option2: null,
2453            option3: null
2454          },
2455          currentVariant: null,
2456          variantNotifications: null,
2457          currentVariantIndex: null,
2458          product: {},
2459          isChoose: false,
2460          isLoading: true,
2461          isEmptyClickable: liquidHelper.isEmptyClickable,
2462          quantity: 1,
2463          maxUsableBonus: 0,
2464          isDiscountPrice: false,
2465          displayProductDiscountsList: true,
2466          displayPeriodicSalesPages:true,
2467          discountsList: null,
2468          hasVideoPlugin: true,
2469          videoDisplayLocation: "before",
2470          hasStockNotificationPlugin: true,
2471          isDisplayPriceRange: null,
2472          hasVariantPriceRangePlugin: true,
2473          hasHideSingleVariantOptionsPlugin: false,
2474        }
2475      },
2476      mounted: function() {
2477        this.getProductDetail();
2478        $('.custom-scrollbar').addCustomScrollbar();
2479        themeHelper.EventBus.$on('photoOnChange', this.photoOnChange);
2480      },
2481      beforeUnmount: function() {
2482        themeHelper.EventBus.$off('photoOnChange', this.photoOnChange);
2483      },
2484      computed: {
2485        photoUrls: function() {
2486          return this.product.photoUrls.length > 0
2487            ? this.product.photoUrls
2488            : [this.featuredImage];
2489        },
2490        photoUrlsMap: function() {
2491          var map = {};
2492          var urls = this.product.photoUrls;
2493          this.product.photos.forEach(function(photo, index) {
2494            map[photo.photo.id] = urls[index];
2495          });
2496
2497          return map;
2498        },
2499        featuredImage: function() {
2500          return this.product.featuredImage;
2501        },
2502        swiperPhotos: function() {
2503          if (!this.photoUrls.length) {
2504            return [this.featuredImage];
2505          }
2506
2507          if (this.currentVariant && this.currentVariant.photos.length) {
2508            var map = this.photoUrlsMap;
2509            return this.currentVariant.photos.map(function(p) {
2510              return map[p.id];
2511            });
2512          }
2513
2514          return this.photoUrls;
2515        },
2516        productVideo: function() {
2517          return this.product.video;
2518        },
2519        videoAfterImage: function() {
2520          return this.videoDisplayLocation === 'after';
2521        },
2522        swiperItems: function() {
2523          const media = [...this.swiperPhotos];
2524          if (
2525            this.hasVideoPlugin && this.productVideo.url
2526          ) {
2527            this.videoAfterImage
2528              ? media.push(this.productVideo)
2529              : media.unshift(this.productVideo);
2530          }
2531          return media;
2532        },
2533        firstImageIndex: function() {
2534          return this.hasVideoPlugin && this.productVideo.url && !this.videoAfterImage
2535            ? 1
2536            : 0
2537        },
2538        otherDescriptions: function() {
2539          var descriptions = {};
2540          this.product.otherDescriptions.forEach(function(od) {
2541            descriptions[od.settingName] = od.bodyHtml;
2542          })
2543          return descriptions
2544        },
2545        variantOptions: function() {
2546          return themeHelper.variantOptions(this.product);
2547        },
2548        firstValidVariant: function() {
2549          var self = this;
2550          var result = this.product.variants.find(function(variant) {
2551            // 增加 product modal 聯絡店家 property
2552            variant.imgUrl = "";
2553            variant.productTitle = "";
2554
2555            return variant.available;
2556          });
2557
2558          return result
2559            ? result
2560            : null;
2561        },
2562        selectedValidVariant: function() {
2563          var self = this;
2564          var result = this.variantOptions.find(function(variant) {
2565            return variant.id === self.selectedVariantId;
2566          });
2567
2568          return result
2569            ? result
2570            : null;
2571        },
2572        totalInventoryQuantity: function(product) {
2573          return themeHelper.totalInventoryQuantity(this.product)
2574        },
2575        addCartText: function() {
2576          var variants = parseInt("2");
2577          let isRegisteredNotification = this.currentVariant && this.variantNotifications && this.variantNotifications[this.currentVariant.id]
2578          if (this.isNnCollection || this.isBundleDiscount) {
2579            if (this.currentVariant && !themeHelper.variantIsAvailable(this.currentVariant)) {
2580              if (this.currentVariant.inventoryPolicy === 'continue') {
2581                if (this.isNnCollection) {
2582                  return this.isChoose && !this.isNewNnCollection
2583                    ? '已預購'
2584                    : '預購商品';
2585                }
2586              } else {
2587                return '已售完';
2588              }
2589            }
2590            if (this.totalInventoryQuantity === 0) {
2591              return '已售完';
2592            }
2593            return this.isChoose && !this.isNewNnCollection
2594              ? '已選購'
2595              : '選購';
2596          } else {
2597            if (this.isQuickBuy) {
2598              if (this.currentVariant && !themeHelper.variantIsAvailable(this.currentVariant)) {
2599                if (this.currentVariant.inventoryPolicy === 'continue'){
2600                  return '立即預購'
2601                }
2602                return this.hasStockNotificationPlugin
2603                  ? (isRegisteredNotification
2604                    ? '已登記補貨通知'
2605                    : '已售完,貨到通知我')
2606                  : '聯絡店家'
2607              }
2608              return '立即購買';
2609            } else {
2610              if (this.currentVariant) {
2611                if (!themeHelper.variantIsAvailable(this.currentVariant)) {
2612                  if (this.currentVariant.inventoryPolicy === 'continue'){
2613                    return '預購商品'
2614                  }
2615                  return this.hasStockNotificationPlugin
2616                    ? (isRegisteredNotification
2617                      ? '已登記補貨通知'
2618                      : '已售完,貨到通知我')
2619                    : '聯絡店家'
2620                }
2621              } else {
2622                if (this.totalInventoryQuantity === 0) {
2623                  return '已售完';
2624                }
2625              }
2626              return '加入購物車';
2627            }
2628          }
2629        },
2630        cartItem: function() {
2631          if (!this.currentVariant) {
2632            return null
2633          }
2634          return {
2635            id: this.currentVariant.id,
2636            groupId: this.groupId,
2637            productId: this.product.id,
2638            title: this.product.title,
2639            photo: this.currentVariant.imgUrl || this.featuredImage.large,
2640            quantity: this.quantity,
2641            price: this.currentVariant.price,
2642            variant: this.currentVariant,
2643            product: this.product
2644          }
2645        },
2646        options: function() {
2647          return this.product.options;
2648        },
2649        optionTypes: function() {
2650
2651          // 先根據設定的variants來排序
2652          var self = this;
2653
2654          var option1 = [];
2655          var option2 = [];
2656          var option3 = [];
2657          this.product.variants.forEach(function(item) {
2658            if (item.option1 !== null) {
2659              option1.push(item.option1);
2660            }
2661            if (item.option2 !== null) {
2662              option2.push(item.option2);
2663            }
2664            if (item.option3 !== null) {
2665              option3.push(item.option3);
2666            }
2667          })
2668          var filteredOptionTypes = [];
2669          this.product.optionTypes.forEach(function(item, index) {
2670            filteredOptionTypes.push(self.getUniqueVariant(eval('option' + (
2671              index + 1
2672            ))).join(','));
2673          });
2674          return filteredOptionTypes;
2675        },
2676        optionInfo: function() {
2677          var self = this;
2678
2679          return self.options.map(function(option, index) {
2680            return {
2681              name: option,
2682              types: self.getOptions('option' + (
2683                index + 1
2684              ), self.optionTypes[index].split(','))
2685            }
2686          });
2687        },
2688        hasVariant: function() {
2689          return this.product.options.length > 0;
2690        },
2691        shouldHideSingleVariantOptions: function() {
2692          return this.hasHideSingleVariantOptionsPlugin &&
2693                 this.product.variants &&
2694                 this.product.variants.length <= 1;
2695        },
2696        variantSize: function() {
2697          if(this.product.options){
2698          return this.product.options.length;
2699          }
2700        },
2701        firstVariant: function() {
2702          return this.product.variants[0];
2703        },
2704        firstCheapestVariant: function() {
2705          return this.product.variants.find((v)=> (v.price === this.priceStats.minPrice));
2706        },
2707        priceStats: function() {
2708          return this.product.variants.reduce(function(acc, variant) {
2709            return {
2710              minPrice: variant.price < acc.minPrice ? variant.price : acc.minPrice,
2711              maxPrice: variant.price > acc.maxPrice ? variant.price : acc.maxPrice,
2712            };
2713          }, {
2714            minPrice: this.firstVariant.price,
2715            maxPrice: this.firstVariant.price,
2716          });
2717        },
2718        hidePrice: function() {
2719          return this.product && this.product.hidePrice === true;
2720        },
2721        salesModePurchasable: function() {
2722          return !(this.product && this.product.salesModePurchasable === false);
2723        },
2724         // - 任選折扣/紅配綠:「選擇」只是加進試算清單,不會直接下單,故只擋藏價商品
2725        // - 其他情境(商品頁、群組頁、多層級分類、搜尋、首頁商品區塊):不可購買(含藏價)就整組收掉
2726        showPurchaseControls: function() {
2727          if (this.isNnCollection || this.isBundleDiscount) {
2728            return !this.hidePrice;
2729          }
2730          return this.salesModePurchasable;
2731        },
2732        variantPrice: function() {
2733          if (this.hidePrice) {
2734            return '';
2735          }
2736          var from = liquidHelper.defaultCurrency;
2737          if (this.currentVariant) {
2738            return moneySymbol(this.currentVariant.price, from);
2739          }
2740          if (this.product.variants.length === 1) {
2741            return moneySymbol(this.firstVariant.price, from);
2742          }
2743
2744          var minPrice = this.priceStats.minPrice;
2745          var maxPrice = this.priceStats.maxPrice;
2746
2747          if (minPrice !== maxPrice && (!this.hasVariantPriceRangePlugin || this.isDisplayPriceRange)) {
2748            this.isDiscountPrice = false;
2749            return moneySymbol(minPrice, from) + '~' + moneySymbol(maxPrice, from);
2750          } else {
2751            return moneySymbol(minPrice, from);
2752          }
2753        },
2754        marketPrice: function() {
2755          if (this.hidePrice) {
2756            this.isDiscountPrice = false;
2757            return;
2758          }
2759          var from = liquidHelper.defaultCurrency;
2760          if (this.currentVariant) {
2761            this.isDiscountPrice = false;
2762            if (this.currentVariant.compareAtPrice && this.currentVariant.compareAtPrice > this.currentVariant.price) {
2763              this.isDiscountPrice = true;
2764              return moneySymbol(this.currentVariant.compareAtPrice, from);
2765            }
2766          } else {
2767            if (!_.includes(this.variantPrice, '~')) {
2768              const price =  Number(this.variantPrice.replace(/[^0-9.
2768-]/g, ""))
2769              // 未選擇款式也不顯示區間時,顯示第一個最便宜的款式的定價
2770              if (this.firstCheapestVariant.compareAtPrice && this.firstCheapestVariant.compareAtPrice > price){
2771                this.isDiscountPrice = true;
2772                return moneySymbol(this.firstCheapestVariant.compareAtPrice, from);
2773              }
2774              // 未選擇款式時要改回一般價格顏色
2775              this.isDiscountPrice = false;
2776            }
2777          }
2778        },
2779        isShowDropdownList: function() {
2780          if (this.product.options.length > 0) {
2781            return true;
2782          }
2783          return this.product.variants.length > 1
2784        },
2785        priceTitleTag: function() {
2786          return this.marketPrice
2787            ? getDiscountPriceName()
2788            : getDiscountPriceSuggestionName();
2789        },
2790        isHideAddCartBtn: function() {
2791          if (this.addCartText === '已售完') {
2792            return true;
2793          }
2794          return false;
2795        },
2796        isSecondaryBtn: function() {
2797          if (this.addCartText === '聯絡店家') {
2798            return true;
2799          }
2800          return false;
2801        },
2802        variantsMaxUsableBonus: function() {
2803          var variants = this.product.variants;
2804          var maxUsableBonusArray = variants.map(function(item) {
2805            return item.maxUsableBonus
2806          });
2807          return Math.max.apply(null, maxUsableBonusArray);
2808        },
2809        bonusToPrice: function() {
2810          const bonus = this.currentVariant
2811            ? this.currentVariant.maxUsableBonus
2812            : this.maxUsableBonus;
2813          const price = Math.floor(bonus / window.liquidHelper.conversionBonus);
2814          const priceWithMoney = window.themeHelper.productDisplayCurrencyBlock(price);
2815          return "(約等於 value )".replace('value', priceWithMoney);
2816        },
2817        isMobileSize: function() {
2818          return window.innerWidth <= 580
2819        },
2820        limitBuyText: function () {
2821          const minCount = this.product.minBuy;
2822          const maxCount = this.product.limitBuy;
2823          if (minCount > 0 && maxCount > 0) {
2824            return '此商品每筆訂單最少需購買 minCount 件,最多可購買 maxCount 件'.replace('minCount', minCount).replace('maxCount', maxCount);
2825          }
2826          if (minCount > 0) {
2827            return '此商品每筆訂單最少需購買 minCount 件'.replace('minCount', minCount);
2828          }
2829          if (maxCount > 0) {
2830            return '此商品每筆訂單最多可購買 maxCount 件'.replace('maxCount', maxCount);
2831          }
2832          return '';
2833        }
2834      },
2835      methods: {
2836        onClickSelectModal: function(objData, selectOptionStr) {
2837          this.isModalSelectShow = true;
2838          this.modalOption = objData;
2839          this.selectOption = selectOptionStr
2840          this.selectCurrentStr = this.currentOption && (String(this.currentOption[selectOptionStr]) || null)
2841        },
2842        onChangeModalSelect: function(flag, isSelect) {
2843          if(!isSelect){
2844            this.setOption(this.selectOption,this.selectCurrentStr,this.modalOption.types)
2845          }
2846          this.isModalSelectShow = flag;
2847        },
2848        setOption: function(optionKey, type, dataArr) {
2849          let flag = true
2850          dataArr.forEach(item => {
2851            if (item.name === type) {
2852              flag = item.isValid
2853            }
2854          })
2855          if (flag) {
2856            this.toggleCurrentOption(optionKey, type)
2857          }
2858        },
2859        addToWishListEvent: function() {
2860          try {
2861            if (appMarketAddToWishListEvent) {
2862              var product = this.product;
2863              var currentVariant = this.currentVariant
2864              var element = $(`.btn[data-id=${product.id}]`);
2865              var index;
2866              var listName;
2867              if (element) {
2868                index = element.data('position')
2869                listName = element.data('list')
2870              }
2871              // sku_properties:選中款式的 option pairs(當前語系),類型名 zip 值
2872              var optionValues = [currentVariant.option1, currentVariant.option2, currentVariant.option3];
2873              var properties = [];
2874              (product.options || []).forEach(function(optionName, i) {
2875                if (optionName && optionValues[i]) {
2876                  properties.push({ name: optionName, value: optionValues[i] });
2877                }
2878              });
2879              var dataSet = {
2880                name: product.title,
2881                category: product.productType,
2882                categories: (this.categories && this.categories.length) ? this.categories : (categoryLevels.length ? categoryLevels : (product.id === pageMainProductId ? productCategoryLevels : undefined)),
2883                sku: currentVariant.sku,
2884                price: currentVariant.price,
2885                compare_at_price: currentVariant.compareAtPrice,
2886                properties: properties,
2887                quantity: currentVariant.inventoryQuantity,
2888                variant: currentVariant.title,
2889                listName: listName || null,
2890                productId: product.id,
2891                variantId: currentVariant.id,
2892                index: Number(index) || 0,
2893              }
2894              appMarketAddToWishListEvent(dataSet)
2895            }
2896          } catch (e) {
2897            console.error(e)
2898          }
2899        },
2900        addWishList: function() {
2901          if (this.currentVariant === null) {
2902            window.msg('請選擇商品款式', 'warning').show();
2903            return;
2904          }
2905          var productVariantId = this.currentVariant.id;
2906          var addToWishListEvent = this.addToWishListEvent
2907          $.ajax({
2908            method: 'POST',
2909            url: '/tracking_items',
2910            dataType: 'json',
2911            data: {
2912              product_variant_id: productVariantId
2913            },
2914            success: function(response) {
2915              if (response.message) {
2916                window.msg(response.message, 'success').show();
2917                addToWishListEvent()
2918              }
2919
2920              if (response.error) {
2921                window.msg(response.error, 'error').show();
2922
2923              }
2924              if (response.info) {
2925                window.msg(response.info, 'info').show();
2926              }
2927              if (response.success === false) {
2928                if (window.liquidHelper && window.liquidHelper.language && window.liquidHelper.language.handle) {
2929                  window.location = "/" + window.liquidHelper.language.handle + "/account/login";
2930                } else {
2931                  window.location = "/account/login";
2932                }
2933              }
2934            }
2935          });
2936        },
2937        setChoose: function(currentVariant) {
2938          this.maxUsableBonus = 0;
2939          var quantity = 1;
2940          var cartItem = null;
2941          if (!this.isNnCollection && this.cartItems) {
2942            cartItem = this.normalGetChoosenItem(currentVariant);
2943          }
2944          if (this.isNnCollection) {
2945            cartItem = this.nnCollectionGetChoosenItem(currentVariant);
2946          }
2947          this.isChoose = !! cartItem;
2948          if (this.isNewNnCollection) {
2949            return
2950          }
2951          this.quantity = cartItem
2952            ? cartItem.quantity
2953            : this.quantity;
2954
2955          // product modal 聯絡店家情境
2956          if (currentVariant) {
2957            var photoIndex = 0;
2958            if (! currentVariant.imgUrl) {
2959              currentVariant.imgUrl = this.swiperPhotos.length > 0
2960                ? (this.swiperPhotos[photoIndex] && this.swiperPhotos[photoIndex].large)
2961                : this.featuredImage.large;
2962            }
2963            currentVariant.productTitle = this.product.title + ' - ' + this.currentVariant.title;
2964          }
2965        },
2966        normalGetChoosenItem: function(currentVariant) {
2967          return this.cartItems.find(function(cartItem) {
2968            return currentVariant && cartItem.id === currentVariant.id;
2969          });
2970        },
2971        nnCollectionGetChoosenItem: function(currentVariant) {
2972          var isSelected = null;
2973          if (! currentVariant) {
2974            return isSelected;
2975          }
2976          if (this.isNewNnCollection) {
2977            var cart = store.get(`SpecialCollectionCart_${this.collectionId}`);
2978            isSelected = cart && cart.find((item) => item.variant_id == currentVariant.id) || null;
2979          } else {
2980            store.each(function(value, key) {
2981              var productId = _.includes(key, 'Pro' + currentVariant.productId);
2982              var variantID = _.includes(key, 'Var' + currentVariant.id);
2983              if (productId && variantID) {
2984                isSelected = store.get(key);
2985              }
2986            });
2987          }
2988
2989          return isSelected;
2990        },
2991        // get product detail
2992        getProductDetail: function() {
2993          var self = this;
2994
2995          $.ajax({
2996            url: self.productUrl + '.json',
2997            type: 'GET',
2998            timeout: 30000,
2999            beforeSend: function() {
3000              self.isLoading = true;
3001            },
3002            error: function(xhr) {
3003              self.closeModal();
3004              if (xhr.status === 429) {
3005                window.showAddCartRateLimitModal(5);
3006                return;
3007              }
3008              window.msg('網路連線異常,請重新整理', 'error').show();
3009            }
3010          }).done(function(data) {
3011            if (data.id) {
3012              var productData = [themeHelper.toCamelCase(data)];
3013              self.product = themeHelper.priceWithDiscount(productData, liquidHelper.hasPriceWithDiscountPlugin)[0];
3014              self.maxUsableBonus = self.variantsMaxUsableBonus;
3015              if (self.product.variants.length === 1 || liquidHelper.isFirstVariantSelected || self.selectedVariantId) {
3016                self.currentVariant = self.firstValidVariant;
3017                // 如果已經自選商品,則商品頁下滑加入購物車顯示自選商品
3018                if (self.selectedVariantId) {
3019                  self.currentVariant = self.selectedValidVariant;
3020                }
3021                if (self.currentVariant) {
3022                  self.setChoose(self.currentVariant);
3023                  self.setDefaultOption();
3024                }
3025              }
3026              if (self.displayProductDiscountsList) {
3027                self.setUpDiscountsTag(data);
3028              }
3029              self.isLoading = false;
3030              if (self.product && self.product.variants) {
3031                self.product.variants.forEach(function(discountedVariant) {
3032                  var rawVariant = data.variants.find(function(v) { return v.id === discountedVariant.id; });
3033                  if (rawVariant) { rawVariant.price = discountedVariant.price; }
3034                });
3035              }
3036              viewItem && viewItem(data, { collectionId: '', collectionName: null, categories: (self.categories && self.categories.length) ? self.categories : (categoryLevels.length ? categoryLevels : (data.id === pageMainProductId ? productCategoryLevels : undefined)) });
3037
3038              (function() {
3039                // Read login status from cacheable, skip GET /pv_notification if not login.
3040                if (window.store && window.store.get('customer')) {
3041                  var cacheableCustomer = window.store.get('customer');
3042                  if (cacheableCustomer.notLogin) {
3043                    return;
3044                  }
3045                }
3046                $.ajax({
3047                  url: '/pv_notification',
3048                  method: 'GET',
3049                  dataType: 'json',
3050                  data: {
3051                    product_id: parseInt(data.id)
3052                  },
3053                  success: function(response) {
3054                    self.variantNotifications = response.variants;
3055                  }
3056                })
3057              })();
3058            } else {
3059              window.msg('網路連線異常,請重新整理', 'error').show();
3060              self.closeModal()
3061            }
3062          })
3063        },
3064        // product image btn
3065        photoOnChange: function(photoIndex, isVariantReposition) {
3066          var visiblePhotos = (this.currentVariant && this.currentVariant.photos.length)
3067            ? this.currentVariant.photos
3068            : this.product.photos.map(function(p) { return p.photo; });
3069          var result = themeHelper.buildNavigateItemImagePayload(this._navState, {
3070            product: this.product,
3071            currentVariant: this.currentVariant,
3072            visiblePhotos: visiblePhotos,
3073            slideIndex: photoIndex,
3074            videoOffset: this.firstImageIndex,
3075          });
3076          this._navState = result.nextState;
3077          if (result.payload && !isVariantReposition) {
3078            window.navigateItemImage(result.payload);
3079          }
3080          this.currentImageIndex = photoIndex;
3081        },
3082        toggleCurrentOption: function(key, value) {
3083          this.currentOption[key] =
3084            (this.currentOption[key] === value || value === 'null') ? null : value;
3085          var variantIndex = this.getVariantIndex();
3086          if (variantIndex !== -1) {
3087            this.currentVariant = this.product.variants[variantIndex];
3088          } else {
3089            this.currentVariant = null;
3090          }
3091          this.setChoose(this.product.variants[variantIndex]);
3092          if (this.currentOption[key] !== null) {
3093            var optionIndex = parseInt(key.replace('option', '')) - 1;
3094            appStoreSelectItemEvent(this.product, this.product.options[optionIndex], this.currentOption[key], this.currentVariant);
3095          }
3096        },
3097        toggleNotification: function() {
3098          var self = this;
3099          var variantId = this.currentVariant.id;
3100
3101          $.ajax({
3102            url: '/toggle_pv_notification',
3103            method: 'POST',
3104            dataType: 'json',
3105            data: {
3106              product_variant_id: variantId
3107            },
3108            success: function(response) {
3109              self.variantNotifications[variantId] = response.notice;
3110              window.msg(response.message, "success").show();
3111            },
3112            error: function(xhr) {
3113              var response = xhr.responseJSON;
3114              var msg = response && response.error || "網路連線異常,請重新整理";
3115              window.msg(msg, "error").show();
3116            }
3117          })
3118        },
3119        getOptionImageIndex: function(index) {
3120          this.currentImageIndex = index;
3121        },
3122        quantityDecrease: function() {
3123          if (this.cartItem) {
3124            themeHelper.EventBus.$emit('quantityDecrease', this.cartItem, false);
3125            this.quantity = this.cartItem.quantity
3126          } else {
3127            window.msg("請選擇商品款式", 'warning').show();
3128          }
3129        },
3130        quantityIncrease: function() {
3131          if (this.cartItem) {
3132            themeHelper.EventBus.$emit('quantityIncrease', this.cartItem, false);
3133            this.quantity = this.cartItem.quantity
3134          } else {
3135            window.msg("請選擇商品款式", 'warning').show();
3136          }
3137        },
3138        quantityChange: function(el) {
3139          if (this.cartItem) {
3140            themeHelper.EventBus.$emit('quantityChange', parseInt(el.target.value), this.cartItem, false);
3141            this.quantity = this.cartItem.quantity;
3142            el.target.value = this.cartItem.quantity;
3143          } else {
3144            window.msg("請選擇商品款式", 'warning').show();
3145          }
3146        },
3147        addProduct: function() {
3148          if (this.addCartText === '聯絡店家') {
3149            $('#messagebuy-Modal').data('variant', this.currentVariant);
3150            $('#messagebuy-Modal').modal('show');
3151            $('#messagebuy-Modal').css("background-color", "rgba(0, 0, 0, .6)");
3152          } else if (
3153            this.addCartText === '已登記補貨通知' ||
3154            this.addCartText === '已售完,貨到通知我'
3155          ) {
3156              this.toggleNotification();
3157          } else {
3158            if (this.cartItem) {
3159              try {
3160                if (this.isChoose) {
3161                  themeHelper.EventBus.$emit('updateStore', 'update', this.cartItem, this.callBack)
3162                } else {
3163                  themeHelper.EventBus.$emit('updateStore', 'add', this.cartItem, this.callBack)
3164                }
3165
3166                this.adding = true;
3167                this.closeModal();
3168              } catch (e) {
3169                window.msg("商品款式異常", 'error').show();
3170              }
3171            } else {
3172              window.msg("請選擇商品款式", 'warning').show();
3173            }
3174          }
3175        },
3176        closeModal: function() {
3177          themeHelper.EventBus.$emit('closeProductModal');
3178        },
3179        setDefaultOption: function() {
3180          var self = this;
3181          Object.keys(self.currentOption).map(function(optionKey) {
3182            self.currentOption[optionKey] = self.currentVariant[optionKey];
3183          });
3184        },
3185        getVariantIndex: function() {
3186          var self = this;
3187          return self.product.variants.findIndex(function(variant, index) {
3188            var isVariant = true;
3189            Object.keys(self.currentOption).forEach(function(option) {
3190              if (variant[option] !== self.currentOption[option]) {
3191                isVariant = false;
3192              }
3193            });
3194            return isVariant;
3195          });
3196        },
3197
3198        // 篩選重複品項
3199        getUniqueVariant: function(variants) {
3200          return variants.filter(function(value, index, self) {
3201            return self.indexOf(value) === index;
3202          });
3203        },
3204        groupBy(xs, key) {
3205          return xs.reduce(function(rv, x) {
3206            (rv[x[key]] = rv[x[key]] || []).push(x);
3207            return rv;
3208          }, {});
3209        },
3210        setUpDiscountsTag(data) {
3211          var self = this;
3212          var languagePrefix = '/' + ((window.shopScriptHelper && window.shopScriptHelper.i18nLocale) || 'zh-TW');
3213          $.ajax({
3214            url: languagePrefix + self.productUrl + '/discounts_list',
3215            method: 'GET',
3216            success: function(result) {
3217              if (result.length > 0) {
3218                var discounts_list = self.groupBy(result, 'campaign_type');
3219                self.discountsList = discounts_list;
3220              } else {
3221                self.discountsList = null;
3222              }
3223            }
3224          });
3225        },
3226        getOptions: function(optionKey, optionTypes) {
3227          var self = this;
3228          return optionTypes.map(function(optionType, index) {
3229            var isValid = true;
3230
3231            // 選出包含目前type的variant
3232            var matchVariants = self.product.variants.filter(function(variant) {
3233              return variant[optionKey] === optionType;
3234            });
3235
3236            // 篩選已勾選type
3237            Object.keys(self.currentOption).forEach(function(currentOptionKey) {
3238              if (currentOptionKey !== optionKey) {
3239                matchVariants = matchVariants.filter(function(variant) {
3240                  if (self.currentOption[currentOptionKey]) {
3241                    return variant[currentOptionKey] === self.currentOption[currentOptionKey]
3242                  } else {
3243                    return true;
3244                  }
3245                });
3246              }
3247            });
3248            if (matchVariants.length === 0) {
3249              isValid = false;
3250            }
3251            if (! self.isEmptyClickable) {
3252              isValid = false;
3253              matchVariants.find(function(item) {
3254                if (item.inventoryQuantity === null || item.inventoryQuantity > 0 || item.inventoryPolicy === 'continue') {
3255                  isValid = true;
3256                }
3257              });
3258            }
3259            return {name: optionType, isValid: isValid}
3260          });
3261        }
3262      }
3263    };
3264  });
3265</script>
3265
3266
3267<!-- cyb_snippet _product_modal_js end -->
3268
3269<!-- cyb_snippet components/product_modal/product_modal end -->
3270
3271<!-- cyb_snippet messagebuy_modal start -->
3272
3273
3274<!-- cyb_snippet messagebuy_modal end -->
3275<!-- cyb_snippet components/rate_limit_modal start -->
3276<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/rate_limit_modal-ec858cfa815323bb.css' rel='stylesheet' type='text/css' media='all' />
3277
3278<div class="modal fade" id="rate-limit-modal" tabindex="-1" role="dialog" aria-hidden="true" data-backdrop="static" data-keyboard="false">
3279  <div class="modal-dialog modal-dialog-centered" role="document">
3280    <div class="modal-content">
3281      <div class="modal-body">
3282        <div class="qk-text--default_dark rate-limit-text">
3283          <p id="rate-limit-title">目前搶購人潮眾多,請耐心等候</p>
3284          <p class="qk-fs--body qk-fw--500 rate-limit-message">
3285            <span class="qk-text--error" id="rate-limit-countdown"></span>
3286            <span id="rate-limit-desc"></span>
3287          </p>
3288          <p class="qk-fs--body qk-fw--500 rate-limit-message" id="rate-limit-warn">若離開此頁面,可能會延長等待時間。</p>
3289        </div>
3290        <button id="rate-limit-btn" class="btn qk-btn qk-btn--primary" disabled>重新進入商品頁</button>
3291      </div>
3292    </div>
3293  </div>
3294</div>
3295
3296<script>
3297  window.showRateLimitModal = function(countdownSec) {
3298    var countdown = countdownSec || 5;
3299    var $modal = $('#rate-limit-modal');
3300    var $btn = $modal.find('#rate-limit-btn');
3301    var $countdownEl = $modal.find('#rate-limit-countdown');
3302
3303    $btn.show();
3304    $modal.find('#rate-limit-desc').text(language["product_rate_limit_desc"]);
3305    $countdownEl.text(countdown);
3306    $btn.prop('disabled', true);
3307    $modal.modal('show');
3308
3309    var timer = setInterval(function() {
3310      countdown--;
3311      $countdownEl.text(countdown);
3312      if (countdown <= 0) {
3313        clearInterval(timer);
3314        $btn.prop('disabled', false);
3315      }
3316    }, 1000);
3317
3318    $btn.off('click').on('click', function() {
3319      location.reload();
3320    });
3321  }
3322
3323  window.showAddCartRateLimitModal = function(countdownSec) {
3324    var countdown = countdownSec || 5;
3325    var $modal = $('#rate-limit-modal');
3326    var $countdownEl = $modal.find('#rate-limit-countdown');
3327
3328    $modal.find('#rate-limit-btn').hide();
3329    $modal.find('#rate-limit-desc').text(language["addcart_rate_limit_desc"]);
3330    $countdownEl.text(countdown);
3331    $modal.modal('show');
3332
3333    var timer = setInterval(function() {
3334      countdown--;
3335      $countdownEl.text(countdown);
3336      if (countdown <= 0) {
3337        clearInterval(timer);
3338        $modal.modal('hide');
3339      }
3340    }, 1000);
3341  }
3342</script>
3342
3343
3344<!-- cyb_snippet components/rate_limit_modal end -->
3345
3346<script>
3347  $(document).ready(function() {
3348    const shouldSkipQuantityCheck = false;
3349    const newAddCartModalApp = new window.themeHelper.LiquidVueHandler({
3350      componentNames: Object.keys(window.themeHelper.productModalComponents),
3351      mountSelector: '#new-addcart-modal',
3352      autoMount: false,
3353    });
3354
3355    newAddCartModalApp.createApp({
3356      el: '#new-addcart-modal',
3357      delimiters: ['${', '}'],
3358      data() {
3359        return {
3360          collectionId: 0,
3361          categories: [],
3362          color: '', // unused
3363          isCollection: true,
3364          productQuantity: 0,
3365          onlyDescription: false,
3366          showProductModal: false,
3367          popProductUrl: '',
3368          loading: false,
3369        };
3370      },
3371      mounted: function() {
3372        themeHelper.EventBus.$on('closeProductModal',this.closeProductModal);
3373        themeHelper.EventBus.$on('updateStore', this.addProduct);
3374        themeHelper.EventBus.$on('quantityDecrease', this.quantityDecrease);
3375        themeHelper.EventBus.$on('quantityIncrease', this.quantityIncrease);
3376        themeHelper.EventBus.$on('quantityChange', this.quantityChange);
3377      },
3378      methods: {
3379        addProduct: function(actionType, productData, checkoutAddToCartCallback){
3380          var self = this;
3381          var pageViewId = window.CYBERBIZ && window.CYBERBIZ.dis && window.CYBERBIZ.dis.pageViewId;
3382          $.ajax({
3383            method: 'POST',
3384            url: '/cart/add',
3385            headers: pageViewId ? { 'X-Cyb-Page-View-Id': pageViewId } : {},
3386            data: {
3387              id: productData.id,
3388              quantity: productData.quantity,
3389            },
3390            dataType: 'json',
3391            beforeSend: function() {
3392              self.loading = true;
3393              themeHelper.ajaxLoadingMsg('loading');
3394              $('.shopcart').dropdown('hide')
3395              $('.global-cart-count').hide();
3396              $('.global-cart-loading').show();
3397              $('.global-cart-loading').html('<i class="fa fa-spinner fa-pulse" style="vertical-align: middle;"></i>');
3398            },
3399            error: function(xhr) {
3400              $('.global-cart-loading').hide();
3401              $('.global-cart-count').show();
3402              self.loading = false;
3403              if (xhr.status === 429) {
3404                themeHelper.ajaxLoadingMsg('hide', 0);
3405                self.closeProductModal();
3406                window.showAddCartRateLimitModal(5);
3407                return;
3408              }
3409              themeHelper.ajaxLoadingMsg('fail', 2000);
3410            }
3411          }).done(function(data, status, request){
3412            // product modal 立即購買按鈕
3413            window.sendAddToCartEvent && sendAddToCartEvent({
3414              price: productData.price,
3415              quantity: productData.quantity,
3416              id: productData.product.id,
3417              name: productData.product.title,
3418              category: productData.product.productType,
3419              brand: productData.product.vendor,
3420              qc: productData.variant.qc,
3421              variant: {
3422                id: productData.variant.id,
3423                title: productData.variant.title,
3424                sku: productData.variant.sku,
3425                price: productData.variant.price,
3426                qc: productData.variant.qc,
3427              },
3428              position: "商品彈出視窗",
3429              request,
3430            })
3431            if (self.isQuickBuy) {
3432              if (window.liquidHelper && window.liquidHelper.language && window.liquidHelper.language.handle) {
3433                window.location = "/" + window.liquidHelper.language.handle + "/cart";
3434              } else {
3435                window.location = "/cart";
3436              }
3437            } else {
3438              themeHelper.ajaxLoadingMsg('success');
3439              pullNavCart();
3440              $('.shopcart').dropdown('show')
3441              $('.global-cart-loading').hide();
3442              self.loading = false;
3443            }
3444            if(typeof checkoutAddToCartCallback === 'function'){
3445              var callbackData = {
3446                id: productData.id,
3447                quantity: productData.quantity,
3448                title: productData.product ? productData.product.title : productData.title || ''
3449              };
3450              checkoutAddToCartCallback(callbackData)
3451            }
3452            peh.emit('product:add_to_cart', [{
3453              variantId: productData.id,
3454              quantity: productData.quantity
3455            }], self.collectionId);
3456          }).fail(function(e){
3457            if (e.status === 429) {
3458              return;
3459            }
3460            let err_msg = e.responseJSON.err_msg;
3461            err_msg && err_msg.length > 0 ?
3462              window.msg(e.responseJSON.err_msg, 'warning').show():
3463              window.msg("加入購物車有誤,請重新嘗試", 'warning').show();
3464          })
3465        },
3466        quantityDecrease: function(cartItem, isAdded){
3467          if (cartItem.quantity > 1) {
3468            cartItem.quantity -= 1;
3469          } else {
3470            window.msg("數量不得為低於 1", 'warning').show();
3471          }
3472        },
3473        quantityIncrease: function(cartItem, isAdded){
3474          const limitQuantity = cartItem.variant.inventoryQuantity;
3475          const limitBuy = cartItem.product.limitBuy
3476          if (limitBuy && cartItem.quantity >= limitBuy) {
3477            product_limit_buy = "此商品限購 limitBuy 件".replace('limitBuy', limitBuy)
3478            window.msg(product_limit_buy, 'warning').show();
3479            return;
3480          } else if (cartItem.quantity >= liquidHelper.cartQuantityLimit) {
3481            window.msg("數量超過購買上限", 'warning').show();
3482          } else if ( cartItem.quantity < limitQuantity || limitQuantity === null ||
3483            cartItem.variant.inventoryPolicy == "continue" || shouldSkipQuantityCheck) {
3484            cartItem.quantity += 1;
3485          } else {
3486            this.showInventoryMessage(limitQuantity);
3487          }
3488        },
3489        quantityChange: function(quantity, cartItem, isAdded){
3490          const limitBuy = cartItem.product.limitBuy
3491          var limitQuantity = cartItem.variant.inventoryQuantity;
3492          var inventoryPolicy = cartItem.variant.inventoryPolicy;
3493          if (Number.isInteger(quantity)) {
3494            if (quantity >= 1) {
3495              if (limitBuy && quantity >= limitBuy) {
3496                product_limit_buy = "此商品限購 limitBuy 件".replace('limitBuy', limitBuy)
3497                window.msg(product_limit_buy, 'warning').show();
3498              } else if (quantity > liquidHelper.cartQuantityLimit) {
3499                window.msg("數量超過購買上限", 'warning').show();
3500              } else if (quantity <= limitQuantity || limitQuantity === null || inventoryPolicy == "continue" || shouldSkipQuantityCheck) {
3501                cartItem.quantity = quantity;
3502              } else {
3503                cartItem.quantity = limitQuantity;
3504                this.showInventoryMessage(limitQuantity);
3505              }
3506            } else {
3507              window.msg("數量不得為低於 1", 'warning').show();
3508            }
3509          } else {
3510            window.msg("數量輸入錯誤", 'warning').show();
3511          }
3512        },
3513        popModal: function(productUrl, collectionId, color, isCollection, isShowDescription, isQuickBuy, variantId, checkoutAddToCartCallback, categories){
3514          this.showProductModal = true;
3515          this.collectionId = collectionId;
3516          this.categories = categories || [];
3517          this.popProductUrl = productUrl;
3518          this.color = color || ''; // unused
3519          this.isCollection = isCollection || false;
3520          this.isShowDescription = isShowDescription != false;
3521          this.isQuickBuy = isQuickBuy || false;
3522          this.selectedVariantId = parseInt(variantId) || undefined;
3523          this.checkoutAddToCartCallback = checkoutAddToCartCallback;
3524          document.body.style.overflow = "hidden";
3525        },
3526        closeProductModal: function() {
3527          this.showProductModal = false;
3528          document.body.style.overflow = "";
3529        },
3530        showInventoryMessage: function(inventoryQuantity) {
3531          const stockMessage = "商品庫存剩餘 count 件".replace('count', inventoryQuantity || 0);
3532          window.msg(stockMessage, 'warning').show();
3533        },
3534      }
3535    });
3536
3537    for (const componentName in window.themeHelper.productModalComponents) {
3538      newAddCartModalApp.component(
3539        componentName,
3540        window.themeHelper.productModalComponents[componentName],
3541      );
3542    }
3543
3544    window.new_addcart_modal = newAddCartModalApp.mount();
3545  });
3546</script>
3546
3547
3548<!-- cyb_snippet new_addcart_modal end -->
3549<!-- cyb_snippet components/variant_options/variant_photos_block start -->
3550<script type="text/x-template" id="variant-photos-block">
3551  <div class="product_photos qk-w--100">
3552    <!-- 有色票 -->
3553    <div class="product_photo img-flex qk-text--center" v-if="displayProductImagesColor">
3554      <img id="photo_with_images_color" class="img-lazy" :src="imgLoadingImage" data-src="//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L3Byb2R1Y3RzLzU1ODE0ODc0LzE3NTAwNTMyNjhfOWU4ZWU5NjU0N2ZhM2E3YTFhNTguanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=69c299b01d909442" alt="免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維" width="450" height="450">
3555    </div>
3556    <!-- 沒色票 -->
3557    <div class="swiper swiper-container product_img_swiper" v-else>
3558      <ul class="swiper-wrapper qk-pd--0 qk-mg--0">
3559        <video-display
3560          v-if="shouldShowVideo && !videoAfterImage"
3561          :poster="!!showPhotos.length ? showPhotos[0].imageUrl : imgLoadingImage"
3562          :videoUrl="videoUrl"
3563        ></video-display>
3564        <li class="swiper-slide product_photo img-flex qk-text--center qk-of--hidden three_to_four_scale"
3565          v-for="photo in showPhotos"
3566          :key="photo.id"
3567        >
3568          <img
3569            :data-src="photo.imageUrl"
3570            width="450"
3571            height="450"
3572            class="swiper-lazy"
3573            alt="免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維"
3574            @click="onEnlargePhotos()"
3575          />
3576          <div class="swiper-lazy-preloader"></div>
3577        </li>
3578        <li v-if="showDefault" class="swiper-slide product_photo img-flex qk-text--center qk-of--hidden three_to_four_scale">
3579          <img :src="imgLoadingImage" data-src="//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L3Byb2R1Y3RzLzU1ODE0ODc0LzE3NTAwNTMyNjhfOWU4ZWU5NjU0N2ZhM2E3YTFhNTguanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=69c299b01d909442" alt="免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維" width="450" height="450" class="swiper-lazy">
3580        </li>
3581        <video-display
3582          v-if="shouldShowVideo && videoAfterImage"
3583          :poster="!!showPhotos.length ? showPhotos[0].imageUrl : imgLoadingImage"
3584          :videoUrl="videoUrl"
3585        ></video-display>
3586      </ul>
3587      <!-- Add Arrows -->
3588      <div class="photo-swiper-next qk-swiper_btn qk-swiper_btn--lg qk-swiper_btn--v1 qk-swiper_btn--next qk-hidden--mobile"></div>
3589      <div class="photo-swiper-prev qk-swiper_btn qk-swiper_btn--lg qk-swiper_btn--v1 qk-swiper_btn--prev qk-hidden--mobile"></div>
3590      <div class="photo-pagination qk-bd--default qk-bd--body qk-text--center qk-text--body qk-fs--breadcrumb qk-visible-sm">
3591        <span class="current-index qk-text--default_dark">${activePhotoIndex + 1}</span><span class="pagination-slash">/</span>
3592        <span>${shouldShowVideo ? (showPhotos.length ? showPhotos.length + 1 : 2) : showPhotos.length || 1}</span>
3593      </div>
3594    </div>
3595    <!-- 圖片頁碼 -->
3596    <div v-if="showThumbnails" class="thumb qk-of--auto qk-hidden--phone">
3597      <ul class="thumb-container qk-display--il_flex">
3598        <video-thumbnail
3599          v-if="shouldShowVideo && !videoAfterImage"
3600          :active="isVideoActive"
3601          :video-url="videoUrl"
3602          @click="onClickThumbnail(videoIndex)"
3603        ></video-thumbnail>
3604        <li class="img-flex qk-bd--default qk-bd--border qk-cursor--pointer qk-of--hidden qk-display--il_flex"
3605          :class="{active: (shouldShowVideo && !videoAfterImage ? index + 1 : index) === activePhotoIndex}"
3606          v-for="(photo, index) in showPhotos"
3607          :key="photo.id"
3608          @click="onClickThumbnail(shouldShowVideo && !videoAfterImage ? index + 1 : index)"
3609        >
3610          <img class="img-lazy" :src="imgLoadingImage" :data-src="photo.imageUrl" alt="免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維" width="50" height="50">
3611        </li>
3612        <li v-if="showDefault"
3613          class="img-flex qk-bd--default qk-bd--border qk-of--hidden qk-display--il_flex"
3614          :class="{active: (shouldShowVideo && !videoAfterImage ? 1 : 0) === activePhotoIndex}"
3615        >
3616          <img class="img-lazy" :src="imgLoadingImage" data-src="//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L3Byb2R1Y3RzLzU1ODE0ODc0LzE3NTAwNTMyNjhfOWU4ZWU5NjU0N2ZhM2E3YTFhNTguanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=69c299b01d909442" alt="免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維" width="50" height="50">
3617        </li>
3618        <video-thumbnail
3619          v-if="shouldShowVideo && videoAfterImage"
3620          :active="isVideoActive"
3621          :video-url="videoUrl"
3622          @click="onClickThumbnail(videoIndex)"
3623        ></video-thumbnail>
3624      </ul>
3625    </div>
3626  </div>
3627</script>
3627
3628
3629<script type="text/javascript">
3630  $(document).ready(function() {
3631    var autoSelectVariantBySku = true;
3632
3633    themeHelper.variantPhotosBlock.component('variant-photos-block', {
3634      template: '#variant-photos-block',
3635      delimiters: ['${', '}'],
3636      data: function() {
3637        return {
3638          variantPhotos: null,
3639          productPhotosMap: {},
3640          productPhotos: [],
3641          manualSelectedVariant: false,
3642          activePhotoIndex: 0,
3643          _navState: { variantId: null, photoIndex: 0 },
3644          suppressNavigateEvent: false,
3645          currentVariantForEvent: null,
3646          swiperPhotos: null,
3647          swiperGalleryChangeHandler: null,
3648          showDefault: true,
3649          videoUrl: '',
3650          videoAfterImage: false,
3651          imgLoadingImage:"//cdn-general.cybassets.com/img_loading.svg",
3652          thumbScrollHandler: null,
3653          thumbScrollTimeout: null,
3654          showThumbnails: false,
3655        }
3656      },
3657      props: {
3658        displayProductImagesColor: Boolean,
3659        productPhotosJson: String,
3660        productVideo: Object,
3661        videoDisplayLocation: String,
3662        productId: [String, Number],
3663        productTitle: String,
3664      },
3665      mounted: async function() {
3666        this.productPhotos = JSON.parse(this.productPhotosJson.replace(/'/g, '"'));
3667        this.productPhotosMap =
3668          this.productPhotos.reduce((acc, cur) => {
3669            acc[cur.id] = cur;
3670            return acc;
3671          }, {});
3672        this.videoUrl = !!this.productVideo && this.productVideo.url;
3673        this.showDefault = !this.showPhotos.length;
3674        this.videoAfterImage = this.videoDisplayLocation === 'after';
3675        themeHelper.EventBus.$on('updatePhotos', this.onUpdatePhotos);
3676        this.swiperGalleryChangeHandler = (_event, payload) => this.onSwiperGalleryChange(payload);
3677        $(document).on('swiper-gallery-change', this.swiperGalleryChangeHandler);
3678
3679        var sku = window.getURLParameter('sku');
3680
3681        if (sku && autoSelectVariantBySku) {
3682          themeHelper.EventBus.$on('skuReady', this.onSkuReady);
3683        } else {
3684          this.showThumbnails = true;
3685          await this.initPhotosUI();
3686        }
3687      },
3688      beforeUnmount: function() {
3689        this.removeThumbScrollListener();
3690        if (this.swiperGalleryChangeHandler) {
3691          $(document).off('swiper-gallery-change', this.swiperGalleryChangeHandler);
3692        }
3693      },
3694      methods: {
3695        navigateItemImagePayload: function(state, slideIndex, videoOffset) {
3696          return themeHelper.buildNavigateItemImagePayload(state, {
3697            product: { id: this.productId, title: this.productTitle },
3698            currentVariant: this.currentVariantForEvent,
3699            visiblePhotos: this.showPhotos,
3700            slideIndex: slideIndex,
3701            videoOffset: videoOffset,
3702          });
3703        },
3704        initPhotosUI: async function() {
3705          await this.$nextTick();
3706          this.initSwiper();
3707
3708          this._navState = this.navigateItemImagePayload(this._navState, this.initialItemIndex, this.videoOffset).nextState;
3709
3710          // 初始化縮圖滾動監聽
3711          this.initThumbScrollListener();
3712
3713          const videoElement = $('.product_video.swiper-slide-active video')[0];
3714          if (videoElement) {
3715            videoElement.addEventListener('canplay', (event) => {
3716              this.sendGtag('play');
3717            }, { once: true });
3718          }
3719        },
3720        onSkuReady: async function() {
3721          await this.initPhotosUI();
3722          this.showThumbnails = true;
3723          await this.$nextTick();
3724          imgLazyLoad.update();
3725          themeHelper.EventBus.$emit('skuPhotosReady');
3726        },
3727        initThumbScrollListener: function() {
3728          const thumbScrollContainer = this.$el.querySelector('.thumb');
3729
3730          if (thumbScrollContainer) {
3731            this.removeThumbScrollListener();
3732            this.thumbScrollHandler = () => {
3733              clearTimeout(this.thumbScrollTimeout);
3734              this.thumbScrollTimeout = setTimeout(() => {
3735                if (window.imgLazyLoad) {
3736                  imgLazyLoad.update();
3737                }
3738              }, 100);
3739            };
3740            thumbScrollContainer.addEventListener('scroll', this.thumbScrollHandler);
3741          }
3742        },
3743        removeThumbScrollListener: function() {
3744          const thumbScrollContainer = this.$el.querySelector('.thumb');
3745
3746          if (thumbScrollContainer && this.thumbScrollHandler) {
3747            thumbScrollContainer.removeEventListener('scroll', this.thumbScrollHandler);
3748            clearTimeout(this.thumbScrollTimeout);
3749            this.thumbScrollHandler = null;
3750          }
3751        },
3752        sendGtag: function(action){
3753          window.productVideoView && productVideoView(action);
3754        },
3755        handleVideoClick: function() {
3756          const video = $('.product_video.swiper-slide-active video')[0];
3757          const button = $('.product_video.swiper-slide-active button');
3758          if (video.paused){
3759            video.play();
3760            this.sendGtag('play');
3761          } else {
3762            video.pause();
3763            this.sendGtag('paused');
3764          }
3765          this.handleVideoButtonDisplay(button, video);
3766        },
3767        handleVideoButtonDisplay: function(button, video) {
3768          button.toggleClass('videoPlayer__playButton', video.paused);
3769          button.toggleClass('videoPlayer__pauseButton', !video.paused);
3770        },
3771        onUpdatePhotos: async function(currentVariant) {
3772          this.suppressNavigateEvent = true;
3773          this.currentVariantForEvent = currentVariant && currentVariant.variant
3774            ? { id: currentVariant.variant.id, sku: currentVariant.variant.sku }
3775            : null;
3776          if (this.swiperPhotos) {
3777            this.swiperPhotos.destroy(true, true);
3778          }
3779          $('.product_img_swiper .swiper-slide-duplicate').remove();
3780          $('.product_img_swiper .swiper-lazy-loading').removeClass('swiper-lazy-loading');
3781          this.manualSelectedVariant = currentVariant ? currentVariant.withSpecificVariant : false;
3782          if (currentVariant && currentVariant.photos.length) {
3783            this.variantPhotos = currentVariant.photos.map(p => this.productPhotosMap[p.id]);
3784          } else  {
3785            this.variantPhotos = null;
3786          }
3787
3788          this.activePhotoIndex = this.initialItemIndex;
3789
3790          this._navState = this.navigateItemImagePayload(this._navState, this.activePhotoIndex, this.videoOffset).nextState;
3791          await this.$nextTick();
3792          imgLazyLoad.update();
3793          this.initSwiper();
3794          this.suppressNavigateEvent = false;
3795        },
3796        onEnlargePhotos: function() {
3797          gallery_img.updateImgs(this.maxPhotos);
3798          gallery_img.toggleGallery(true, {
3799            index: this.swiperPhotos.realIndex - this.videoOffset
3800          });
3801        },
3802        onSwiperGalleryChange: function(payload) {
3803          if (!payload || payload.galleryName !== 'img') return;
3804
3805          var result = this.navigateItemImagePayload(
3806            {
3807              variantId: this.currentVariantForEvent ? this.currentVariantForEvent.id : null,
3808              photoIndex: payload.fromIndex,
3809            },
3810            payload.toIndex,
3811            0
3812          );
3813
3814          if (result.payload && !this.suppressNavigateEvent) {
3815            window.navigateItemImage(result.payload);
3816          }
3817        },
3818        onClickThumbnail: function(index) {
3819          this.activePhotoIndex = index;
3820          this.swiperPhotos.slideTo(index + 1, 500);
3821        },
3822        setVideosVolumeZero: function() {
3823          // video duplication because of swiper loop mode
3824          const videos = $('.product_video video');
3825          videos.each((_index, el)=> {
3826              el.volume = 0;
3827          });
3828        },
3829        initSwiper: function() {
3830          var self = this;
3831          this.swiperPhotos = new Swiper('.product_img_swiper', {
3832            preloadImages: false,
3833            lazy: {
3834              loadPrevNext: true,
3835            },
3836            loop: true,
3837            navigation: {
3838              nextEl: '.photo-swiper-next',
3839              prevEl: '.photo-swiper-prev',
3840            },
3841            initialSlide: this.initialItemIndex,
3842          });
3843          if (self.videoUrl) {
3844            self.setVideosVolumeZero();
3845          }
3846          this.swiperPhotos.on('touchEnd', function () {
3847            setTimeout(function() {
3848              self.activePhotoIndex = self.swiperPhotos.realIndex;
3849            }, 300);
3850          });
3851          this.swiperPhotos.on('activeIndexChange', function() {
3852            self.activePhotoIndex = self.swiperPhotos.realIndex;
3853          });
3854          this.swiperPhotos.on('click', function () {
3855            if (self.isVideoActive) {
3856              self.handleVideoClick()
3857            }
3858          });
3859          this.swiperPhotos.on('transitionEnd', function () {
3860            if (self.isVideoActive) {
3861              const video = $('.product_video.swiper-slide-active video')[0];
3862              const button = $('.product_video.swiper-slide-active button');
3863              self.handleVideoButtonDisplay(button, video);
3864            }
3865          });
3866        }
3867      },
3868      computed: {
3869        shouldShowVideo: function() {
3870          return !!this.videoUrl;
3871        },
3872        initialItemIndex: function() {
3873          if (this.shouldShowVideo && !this.videoAfterImage) {
3874            // Focus on photo if "variant with photos" selected, video otherwise
3875            return (this.manualSelectedVariant && !!this.variantPhotos?.length) ? 1 : 0;
3876          } else {
3877            // Focus on first photo
3878            return 0;
3879          }
3880        },
3881        isVideoActive: function() {
3882          return this.shouldShowVideo && this.activePhotoIndex === this.videoIndex;
3883        },
3884        showPhotos: function() {
3885          return this.variantPhotos || this.productPhotos;
3886        },
3887        maxPhotos: function() {
3888          return this.showPhotos.map(p => p.imageMaxUrl);
3889        },
3890        videoIndex: function(){
3891          return this.videoAfterImage
3892            ? this.manualSelectedVariant && !!this.variantPhotos?.length
3893              ? this.variantPhotos?.length
3894              : this.showPhotos.length || 1
3895            : 0
3896        },
3897        videoOffset: function() {
3898          return (this.shouldShowVideo && !this.videoAfterImage) ? 1 : 0;
3899        },
3900      },
3901      watch: {
3902        activePhotoIndex: function(newIndex) {
3903          var result = this.navigateItemImagePayload(this._navState, newIndex, this.videoOffset);
3904          this._navState = result.nextState;
3905          if (result.payload && !this.suppressNavigateEvent) {
3906            window.navigateItemImage(result.payload);
3907          }
3908        },
3909      }
3910    });
3911  })
3912</script>
3912
3913
3914<!-- cyb_snippet components/variant_options/video_display start -->
3915<script type="text/x-template" id="video-display">
3916  <li
3917    class="swiper-slide product_video img-flex qk-text--center qk-of--hidden three_to_four_scale">
3918    <div class="videoPlayer__wrapper qk-of--hidden">
3919      <video
3920        class="videoPlayer__video qk-cursor--pointer"
3921        :poster="poster"
3922        loop defaultMuted muted playsinline webkit-playsinline autoplay
3923      >
3924        <source :src="videoUrl" type="video/mp4">
3925        <p>你的瀏覽器不支援 HTML 5 video</p>
3926      </video>
3927      <button class="videoPlayer__pauseButton"></button>
3928    </div>
3929  </li>
3930</script>
3930
3931
3932<script type="text/javascript">
3933  $(document).ready(function() {
3934    themeHelper.variantPhotosBlock.component('video-display', {
3935      template: '#video-display',
3936      delimiters: ['${', '}'],
3937      data: function() {
3938        return {
3939          imgLoadingImage:"//cdn-general.cybassets.com/img_loading.svg",
3940        }
3941      },
3942      props: {
3943        poster: String,
3944        showPhotos: Object,
3945        videoUrl: String,
3946      },
3947    });
3948  })
3949</script>
3949
3950
3951<!-- cyb_snippet components/variant_options/video_display end -->
3952<!-- cyb_snippet components/variant_options/video_thumbnail start -->
3953<script type="text/x-template" id="video-thumbnail">
3954  <li
3955    :class="{active}"
3956    class="img-flex qk-bd--default qk-bd--border qk-cursor--pointer qk-of--hidden qk-display--il_flex"
3957    @click="click"
3958  >
3959    <video width="50" height="50">
3960      <source :src="videoUrl" type="video/mp4">
3961    </video>
3962    <button class="videoPlayer__playButton"></button>
3963  </li>
3964</script>
3964
3965
3966<script type="text/javascript">
3967  $(document).ready(function() {
3968    themeHelper.variantPhotosBlock.component('video-thumbnail', {
3969      template: '#video-thumbnail',
3970      delimiters: ['${', '}'],
3971      props: {
3972        active: Boolean,
3973        click: Function,
3974        videoUrl: String,
3975      },
3976    });
3977  })
3978</script>
3978
3979
3980<!-- cyb_snippet components/variant_options/video_thumbnail end -->
3981
3982<!-- cyb_snippet components/variant_options/variant_photos_block end -->
3983<!-- cyb_snippet components/variant_options/variant_options_block start -->
3984<script type="text/x-template" id="variant-options-block">
3985  <div>
3986    <div v-for="(option, index) in optionInfo" class="product-variant-option" :class="{'product-variant-option--hidden': shouldHideSingleVariantOptions}">
3987        <p></p>
3988        <color-option
3989          v-if="isImageColor && option.name === '顏色'"
3990          :option-key="'option' + (index + 1)"
3991          :option="option"
3992          :image-colors="imageColors"
3993          :current-image-index="currentImageIndex"
3994          :set-current-image-index="setCurrentImageIndex"
3995          :get-option-image-index="getOptionImageIndex"
3996          :current-option="currentOption"
3997        />
3998        <div class="advance variant-select-option" v-else-if="styledShopMenu==='dropDownType'">
3999          
4000          <label>${option.name}</label>
4001          <svg height="20" width="20" viewBox="0 0 20 20" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"><path d="M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"> </path></svg>
4002          <select v-show="!isMobileSize" class="qk-bg--theme_bg" :class="{'select_placeholder-color': currentOption[`option${index + 1}`] === null}" :value="String(currentOption[`option${index + 1}`])" @change="setOption(`option${index + 1}`, $event.target.value, option.types )" >
4003            <option value="null" class="select_option-hidden">請選擇${option.name}</option>
4004            <option  v-for="(types) in option.types" :disabled="!types.isValid" :value="types.name">${types.name}</option>
4005          </select>
4006          <span class="select_placeholder-color" v-if="currentOption[`option${index + 1}`] === null" v-show="isMobileSize" @click="onClickSelectModal(option,`option${index + 1}`)">請選擇${option.name}</span>
4007          <span v-else :value="currentOption[`option${index + 1}`]" v-show="isMobileSize" @click="onClickSelectModal(option,`option${index + 1}`)" v-html="currentOption[`option${index + 1}`]"></span>
4008        </div>
4009        <advance-variant-option
4010          v-else
4011          :option-key="'option' + (index + 1)"
4012          :option="option"
4013          :current-option="currentOption"
4014        />
4015      </div>
4016    <div class="mobile-modal" :class="{ 'modal-open': isModalSelectShow && isMobileSize }">
4017        <div class="mobile_modal-content">
4018          
4019          <div class="modal_close-button">
4020            <button class="btn-close qk-circle qk-circle--md qk-pos--abs qk-op--100  qk-text--heading qk-bd--product_border qk-bd--default" @click="onChangeModalSelect(false,true)"></button>
4021          </div>
4022          <p>請選擇${modalOption.name}</p>
4023          <div class="modal_select-templete qk-display--flex qk-of_y--auto qk-w--100">
4024            <div class="options-container">
4025              <label :class="{'seleced-option': currentOption && currentOption[selectOption] === data.name, 'avoid-clicks':!data.isValid}" v-for="data in modalOption.types" @click="setOption(selectOption, data.name, modalOption.types)">${data.name}</label>
4026            </div>
4027          </div>
4028          <div v-if="isCartEnabled && salesModePurchasable" class="modal_select_footer qk-display--flex qk-hidden--pc">
4029            <div v-show="variantSize === 1" class="qk-display--flex qk-w--100">
4030              <div class="product_variant_quantity">
4031                <span class="product_quantity">
4032                  <div v-if="isModalSelectShow && isMobileSize" class="btn-group" role="group" aria-label="First group">
4033                    <button class="btn add-down qk-bd--product_border" type="button" @click="quantityChange(false)" ></button>
4034                    <input class="btn item-quantity qk-text--heading qk-bd--product_border" type="text" name="quantity" value="1" data-old-value="1">
4035                    <button class="btn add-up qk-bd--product_border" type="button" @click="quantityChange(true)"></button>
4036                  </div>
4037                </span>
4038              </div>
4039              <button
4040                class="btn addToCart_mobile btn_to_cart_mobile open_product_modal qk-btn qk-btn--secondary qk-flex--1 qk-fs--breadcrumb qk-text-truncate"
4041                data-handle="icegrid-polo-woman">
4042                加入購物車</button>
4043            </div>
4044            <div v-show="variantSize > 1" class="qk-display--flex qk-w--100">
4045              <button type="button" class="modal_cancel qk-w--50 qk-bd--default qk-btn--secondary qk-bd--button qk-text--button" @click="onChangeModalSelect(false,false)">取消</button>
4046              <button type="button" class="qk-btn qk-w--50 qk-btn--primary qk-btn--lg qk-fs--body qk-bd--button qk-test--button_text" @click="onChangeModalSelect(false,true)">完成</button>
4047            </div>
4048          </div>
4049        </div>
4050    </div>
4051  </div>
4052</script>
4052
4053
4054<!-- cyb_snippet components/variant_options/color_image_option start -->
4055<script id="color-option" type="text/x-template">
4056  <div class="option color_option">
4057    <span class="title qk-text--heading">商品顏色:</span>
4058    <label
4059      v-for="(imageColor, index) in imageColors"
4060      :class="{
4061        'image-option': true,
4062        'selected': selectedClass(index),
4063        'disabled': disabledClass(index),
4064      }"
4065      @mouseleave="setCurrentImageIndex(index)"
4066      @mouseover="getOptionImageIndex(index)"
4067      @click="setOption(optionKey, index)"
4068      class="qk-bd--default qk-bd--border"
4069    >
4070      <span class="img-flex qk-display--il_bk">
4071        <img v-if="imageColor !== 'noColorImage'" :src="imageColor.large" alt="image">
4072        <img v-else src="/assets/no-image-large.png" alt="image">
4073      </span>
4074    </label>
4075  </div>
4076</script>
4076
4077
4078<script type="text/javascript">
4079  $(document).ready(function () {
4080    themeHelper.variantOptionsBlock.component('color-option', {
4081      template: '#color-option',
4082      delimiters: ['${', '}'],
4083      props: {
4084        optionKey: String,
4085        option: Object,
4086        imageColors: Array,
4087        setCurrentImageIndex: Function,
4088        getOptionImageIndex: Function,
4089        currentOption: Object,
4090      },
4091      methods: {
4092        setOption: function(optionKey, index) {
4093          var type = this.option.types[index];
4094          if (type.isValid) {
4095            themeHelper.EventBus.$emit('toggleCurrentOption', optionKey, type.name);
4096          }
4097        },
4098        selectedClass: function(index) {
4099          return this.currentOption[this.optionKey] === this.option.types[index].name;
4100        },
4101        disabledClass: function(index) {
4102          return !this.option.types[index].isValid;
4103        },
4104      },
4105    });
4106  });
4107</script>
4107
4108
4109<!-- cyb_snippet components/variant_options/color_image_option end -->
4110<!-- cyb_snippet components/variant_options/advance_option start -->
4111<script id="advance-variant-option" type="text/x-template">
4112  <div class="advance">
4113    <div class="option_title qk-text--heading">${option.name}</div>
4114    <label
4115      v-for="type in option.types"
4116      :class="{
4117        'selected': selectedClass(type),
4118        'disabled': disabledClass(type),
4119      }"
4120      @click="setOption(optionKey, type)"
4121      class="option qk-btn qk-btn--md qk-bd--button qk-text--button qk-text--center qk-pd_x--1"
4122    >
4123      <span class="text">${type.name}</span>
4124    </label>
4125  </div>
4126</script>
4126
4127
4128<script type="text/javascript">
4129  $(document).ready(function() {
4130    themeHelper.variantOptionsBlock.component('advance-variant-option', {
4131      template: '#advance-variant-option',
4132      delimiters: ['${', '}'],
4133      props: {
4134        optionKey: String,
4135        option: Object,
4136        currentOption: Object,
4137      },
4138      methods: {
4139        setOption: function(optionKey, type) {
4140          if(type.isValid){
4141            themeHelper.EventBus.$emit('toggleCurrentOption', optionKey, type.name);
4142          }
4143        },
4144        selectedClass: function(type) {
4145          return this.currentOption[this.optionKey] === type.name;
4146        },
4147        disabledClass: function(type) {
4148          return !type.isValid;
4149        },
4150      }
4151    });
4152  });
4153</script>
4153
4154
4155<!-- cyb_snippet components/variant_options/advance_option end -->
4156
4157
4158<!-- cyb_snippet _variant_options_block_js start -->
4159<script type="text/javascript">
4160  $(document).ready(function() {
4161    themeHelper.variantOptionsBlock.component('variant-options-block', {
4162      template: '#variant-options-block',
4163      delimiters: ['${', '}'],
4164      props: {
4165        productApiUrl: String,
4166        sku: String,
4167        autoSelectVariantBySku: Boolean,
4168        hideOtherVariantsBySku: Boolean,
4169        hideSingleVariantOptions: Boolean,
4170        salesModePurchasable: Boolean,
4171        defaultPrice: String,
4172        defaultComparePrice: String,
4173        defaultDiscounted: Boolean,
4174      },
4175      data: function() {
4176        return {
4177          styledShopMenu: "dropDownType",
4178          currentImageIndex: 0,
4179          isModalSelectShow: false,
4180          selectOption: '',
4181          selectCurrentStr:'',
4182          modalOption: {},
4183          currentOption: {
4184            option1: null,
4185            option2: null,
4186            option3: null,
4187          },
4188          currentVariant: null,
4189          product: {},
4190          isLoading: true,
4191          isImageColorsUsed: liquidHelper.isImageColorsUsed,
4192          isEmptyClickable: liquidHelper.isEmptyClickable,
4193          hasPriceWithDiscountPlugin: liquidHelper.hasPriceWithDiscountPlugin,
4194          isCartEnabled: liquidHelper.isCartEnabled,
4195        }
4196      },
4197      mounted: function() {
4198        this.getProductDetail();
4199        themeHelper.EventBus.$on('toggleCurrentOption',this.toggleCurrentOption);
4200      },
4201      computed: {
4202        imageColors: function() {
4203          //色票一定成對
4204          var self = this;
4205          var images = this.photoUrls.slice(0);
4206          var imageColorNum = this.colorOption.length;
4207          for(var i = imageColorNum; i < imageColorNum * 2; i++) {
4208            if(!images[i]) {
4209              images.push('noColorImage');
4210            }
4211          }
4212          return images.slice(imageColorNum, imageColorNum * 2);
4213        },
4214        photoUrls: function() {
4215          return this.product.photoUrls.length > 0 ? this.product.photoUrls : [this.featuredImage];
4216        },
4217        featuredImage: function() {
4218          return this.product.featuredImage;
4219        },
4220        swiperPhotos: function() {
4221          if(this.isImageColor) {
4222            return this.photoUrls.slice(0, this.colorOption.length);
4223          }
4224          return this.photoUrls.length > 0 ? this.photoUrls : [this.featuredImage];
4225        },
4226        firstValidVariant: function() {
4227          var self = this;
4228          var result = this.product.variants.find(function(variant) {
4229            return variant.available;
4230          });
4231
4232          return result ? result : null;
4233        },
4234        shouldHideOtherVariants: function() {
4235          return this.hideOtherVariantsBySku &&
4236                 this.sku &&
4237                 this.currentVariant &&
4238                 this.currentVariant.sku === this.sku;
4239        },
4240        shouldHideSingleVariantOptions: function() {
4241          return this.hideSingleVariantOptions &&
4242                 this.product.variants &&
4243                 this.product.variants.length <= 1;
4244        },
4245        options: function() {
4246          return this.product.options;
4247        },
4248        optionTypes: function() {
4249          // 先根據設定的variants來排序
4250          var self = this;
4251
4252          var option1 = [];
4253          var option2 = [];
4254          var option3 = [];
4255          this.product.variants.forEach(function(item) {
4256            if (item.option1 !== null) option1.push(item.option1);
4257            if (item.option2 !== null) option2.push(item.option2);
4258            if (item.option3 !== null) option3.push(item.option3);
4259          })
4260
4261          var filteredOptionTypes = [];
4262          this.product.optionTypes.forEach(function(item, index) {
4263            filteredOptionTypes.push(self.getUniqueVariant(eval('option' + (index + 1))).join(','));
4264          });
4265
4266          return filteredOptionTypes;
4267        },
4268        optionInfo: function() {
4269          var self = this;
4270
4271          if (self.options) {
4272            return self.options.map(function(option, index) {
4273              return {
4274                name: option,
4275                types: self.getOptions('option' + (index + 1), self.optionTypes[index].split(','))
4276              }
4277            });
4278          }
4279        },
4280        colorOptionIndex: function() {
4281          return this.options.findIndex(function(option) {
4282            return option === '顏色';
4283          });
4284        },
4285        colorOption: function() {
4286          var optionIndex = this.colorOptionIndex
4287          return optionIndex === -1 ? null : this.optionTypes[optionIndex].split(',');
4288        },
4289        isImageColor: function() {
4290          return this.isImageColorsUsed && _.includes(this.product.options, '顏色');
4291        },
4292        isMobileSize: function() {
4293          return window.innerWidth <= 580
4294        },
4295        variantSize: function() {
4296          if(this.product.options){
4297          return this.product.options.length;
4298          }
4299        },
4300        isAutoSelectVariantBySku: function() {
4301          return this.sku && this.autoSelectVariantBySku;
4302        },
4303      },
4304      methods: {
4305        onClickSelectModal: function(objData, selectOptionStr) {
4306          this.isModalSelectShow = true;
4307          this.modalOption = objData;
4308          this.selectOption = selectOptionStr
4309        },
4310        onChangeModalSelect: function(flag, isSelect) {
4311          if(!isSelect){
4312            this.setOption(this.selectOption,this.selectCurrentStr,this.modalOption.types)
4313          }
4314          this.isModalSelectShow = flag;
4315        },
4316        setOption: function(optionKey, type, dataArr) {
4317          let flag = true
4318          dataArr.forEach(item => {
4319            if (item.name === type) {
4320              flag = item.isValid
4321            }
4322          })
4323          if (flag) {
4324            this.toggleCurrentOption(optionKey, type)
4325          }
4326        },
4327        setChoose: function(currentVariant) {
4328          var currentVariantData = {};
4329          if (currentVariant) {
4330            currentVariantData = {
4331              id: this.currentVariant.id,
4332              bonus: this.currentVariant.maxUsableBonus,
4333              name: this.currentVariant.title,
4334              inventoryPolicy: this.currentVariant.inventoryPolicy,
4335              compareAtPrice: this.currentVariant.compareAtPrice,
4336              imgUrl: this.currentVariant.imgUrl,
4337              inventoryQuantity: this.currentVariant.inventoryQuantity,
4338              option1: this.currentVariant.option1,
4339              option2: this.currentVariant.option2,
4340              option3: this.currentVariant.option3,
4341              price: this.currentVariant.price,
4342              productId: this.currentVariant.productId,
4343              sku: this.currentVariant.sku,
4344              qc: this.currentVariant.qc,
4345              hidePrice: this.product.hidePrice === true,
4346            };
4347          } else {
4348            currentVariantData = {
4349              price: this.defaultPrice,
4350              compareAtPrice: this.defaultComparePrice,
4351              isDiscounted: this.defaultDiscounted,
4352              hidePrice: this.product.hidePrice === true,
4353            }
4354          }
4355          const isUpcomingProduct = this.isSellTimeAfterNow(this.product.sellFrom);
4356          this.$emit('set-choose', currentVariantData, isUpcomingProduct);
4357        },
4358        onError: function() {
4359          window.msg("", 'error').show();
4360        },
4361        showRateLimitPopup: function() {
4362          showRateLimitModal(5);
4363        },
4364
4365        // get product detail
4366        getProductDetail: function() {
4367          var self = this;
4368          $.ajax({
4369            url: self.productApiUrl + '.json',
4370            type: 'GET',
4371            timeout: 30000,
4372            beforeSend: function() {
4373              self.isLoading = true;
4374            },
4375            error: function(xhr){
4376              if (xhr.status === 429) {
4377                self.isLoading = false;
4378                self.showRateLimitPopup();
4379              } else {
4380                self.onError();
4381              }
4382            }
4383          }).done(function(data){
4384            if (!data.id) {
4385              self.onError();
4386              return;
4387            }
4388
4389            var productData = [themeHelper.toCamelCase(data)];
4390            self.product = themeHelper.priceWithDiscount(productData, self.hasPriceWithDiscountPlugin)[0];
4391
4392            var shouldSkipAutoSelected = false;
4393
4394            if (self.isAutoSelectVariantBySku) {
4395              var skuVariant = self.product.variants.find(function(variant) {
4396                return variant.sku === self.sku;
4397              });
4398
4399              if (skuVariant) {
4400                if (self.isEmptyClickable ||
4401                  skuVariant.inventoryPolicy === "continue" ||
4402                  skuVariant.inventoryQuantity > 0) {
4403                  self.applyVariant(skuVariant, true);
4404                  themeHelper.EventBus.$emit('skuReady');
4405                  self.isLoading = false;
4406                  return;
4407                } else {
4408                  // 若 sku 存在但不可購買,則跳過第一個款式選擇
4409                  shouldSkipAutoSelected = true;
4410                }
4411              } else {
4412                // 若 sku 不存在,則跳過第一個款式選擇
4413                shouldSkipAutoSelected = true;
4414              }
4415              themeHelper.EventBus.$emit('skuReady');
4416            }
4417
4418            if (
4419              !shouldSkipAutoSelected && (
4420              self.product.variants.length === 1 ||
4421              liquidHelper.isFirstVariantSelected
4422            )) {
4423              var variant = self.product.variants.length === 1 ? self.product.variants[0] : self.firstValidVariant;
4424              if (!variant) {
4425                self.isLoading = false;
4426                return;
4427              }
4428
4429              if (
4430                !self.isEmptyClickable &&
4431                variant.inventoryPolicy === "deny" &&
4432                variant.inventoryQuantity === 0
4433              ) {
4434                self.isLoading = false;
4435                return;
4436              }
4437
4438              self.applyVariant(variant, false);
4439              if (self.isImageColorsUsed) { // 若有顯示色票且有預選第一個款式的更換圖片
4440                var firstValidColorIndex = self.colorOption.findIndex(function(item) {
4441                  return item === variant.option1
4442                });
4443                self.$emit('get-option-image', self.photoUrls[firstValidColorIndex].grande);
4444              }
4445            }
4446
4447            self.isLoading = false;
4448          })
4449        },
4450        applyVariant: function(variant, waitPhotosReady) {
4451          var self = this;
4452          this.currentVariant = variant;
4453          this.setChoose(variant);
4454          this.setDefaultOption();
4455
4456          if (waitPhotosReady) {
4457            themeHelper.EventBus.$on('skuPhotosReady', function () {
4458              if (variant.photos && variant.photos.length > 0) {
4459                self.setVariantPhotos();
4460              }
4461            });
4462          } else {
4463            this.setVariantPhotos();
4464          }
4465        },
4466        toggleCurrentOption: function(key, value) {
4467          if (this.product.variants.length === 1) {
4468            return;
4469          }
4470
4471          if (this.shouldHideOtherVariants) {
4472            return;
4473          }
4474
4475          this.currentOption[key] =
4476            (this.currentOption[key] === value || value === 'null') ? null : value;
4477          var variantIndex = this.getVariantIndex();
4478          if(variantIndex !== -1) {
4479            this.currentVariant = this.product.variants[variantIndex];
4480          } else {
4481            this.currentVariant = null;
4482          }
4483          this.setChoose(this.product.variants[variantIndex]);
4484          if (this.currentOption[key] !== null) {
4485            var optionIndex = parseInt(key.replace('option', '')) - 1;
4486            appStoreSelectItemEvent(this.product, this.product.options[optionIndex], this.currentOption[key], this.currentVariant);
4487          }
4488          if (Object.values(this.currentOption).every(v => v === null) || this.currentVariant) {
4489            this.setVariantPhotos();
4490          }
4491        },
4492        setCurrentImageIndex: function(index) {
4493          this.currentImageIndex = this.getSelectedColorIndex();
4494          if (this.currentImageIndex > -1) {
4495            var currentImageIndex = this.currentImageIndex;
4496          } else {
4497            var currentImageIndex = 0;
4498          }
4499
4500          this.$emit('get-option-image', this.photoUrls[currentImageIndex].grande);
4501        },
4502        getOptionImageIndex: function(index) {
4503          this.currentImageIndex = index;
4504          this.$emit('get-option-image', this.photoUrls[index].grande);
4505        },
4506        setDefaultOption: function() {
4507          var self = this;
4508          Object.keys(self.currentOption).forEach(function(optionKey) {
4509            self.currentOption[optionKey] = self.currentVariant[optionKey];
4510          });
4511        },
4512        getVariantIndex: function() {
4513          var self = this;
4514          return self.product.variants.findIndex(function(variant, index) {
4515            var isVariant = true;
4516            Object.keys(self.currentOption).forEach(function(option) {
4517              if(variant[option] !== self.currentOption[option]){
4518                isVariant = false;
4519              }
4520            });
4521            return isVariant;
4522          });
4523        },
4524        // 篩選重複品項
4525        getUniqueVariant: function(variants) {
4526          return variants.filter(function(value, index, self) {
4527            return self.indexOf(value) === index;
4528          });
4529        },
4530        // 取得已選取的color index
4531        getSelectedColorIndex: function() {
4532          var self = this;
4533          var optionIndex = _.indexOf(self.options, '顏色') + 1;
4534          var color = self.currentOption['option' + optionIndex];
4535
4536          return _.indexOf(self.colorOption, color);
4537        },
4538        getOptions: function(optionKey, optionTypes) {
4539          var self = this;
4540
4541          // 透過 sku 預選且有對應的 variant,則只顯示該 variant 的 option
4542          if (this.shouldHideOtherVariants) {
4543            var currentOptionValue = this.currentVariant[optionKey];
4544            var isValid = true;
4545
4546            if (!this.isEmptyClickable) {
4547              isValid = this.currentVariant.inventoryQuantity === null ||
4548                        this.currentVariant.inventoryQuantity > 0 ||
4549                        this.currentVariant.inventoryPolicy === 'continue';
4550            }
4551
4552            return [{
4553              name: currentOptionValue,
4554              isValid: isValid
4555            }];
4556          }
4557
4558          return optionTypes.map(function(optionType, index) {
4559            var isValid = true;
4560
4561            // 選出包含目前type的variant
4562            var matchVariants = self.product.variants.filter(function(variant) {
4563              return variant[optionKey] === optionType;
4564            });
4565            // 篩選已勾選type
4566            Object.keys(self.currentOption).forEach(function(currentOptionKey) {
4567              if(currentOptionKey !== optionKey){
4568                matchVariants = matchVariants.filter(function(variant) {
4569                  if(self.currentOption[currentOptionKey]) {
4570                    return variant[currentOptionKey] === self.currentOption[currentOptionKey]
4571                  } else {
4572                    return true;
4573                  }
4574                });
4575              }
4576            });
4577            // 無variant代表此type不可選
4578            if(matchVariants.length === 0) {
4579              isValid = false;
4580            }
4581
4582            if (!self.isEmptyClickable) {
4583              isValid = false;
4584              matchVariants.find(function(item) {
4585                if (item.inventoryQuantity === null || item.inventoryQuantity > 0 || item.inventoryPolicy === 'continue') {
4586                  isValid = true;
4587                }
4588              });
4589            }
4590
4591            return {
4592              name: optionType,
4593              isValid: isValid
4594            }
4595          });
4596        },
4597        getVariantPhotos: function() {
4598          if (!this.currentVariant) {
4599            return null;
4600          }
4601
4602          if (!this.currentVariant.photos || this.currentVariant.photos.length === 0) {
4603            return {
4604              withSpecificVariant: !!this.currentVariant.option1,
4605              photos: [],
4606              variant: {
4607                id: this.currentVariant.id,
4608                sku: this.currentVariant.sku
4609              },
4610            };
4611          }
4612
4613          var sortedPhotos = this.currentVariant.photos.sort(function(prev, next) {
4614            return prev.position - next.position;
4615          });
4616
4617          return {
4618            withSpecificVariant: !!this.currentVariant.option1,
4619            photos: sortedPhotos,
4620            variant: {
4621              id: this.currentVariant.id,
4622              sku: this.currentVariant.sku
4623            },
4624          };
4625        },
4626        setVariantPhotos: function() {
4627          themeHelper.EventBus.$emit('updatePhotos', this.getVariantPhotos());
4628        },
4629        cartQuantityCheck({quantity, limitQuantity, cartLimit, inventoryPolicy}){
4630          if(quantity < 1){
4631            return 'less_then_1';
4632          }
4633          if(quantity > limitQuantity && limitQuantity !== null && inventoryPolicy !== "continue") {
4634            return 'over_product_quantity';
4635          }
4636          if(quantity > cartLimit){
4637            return 'over_cart_limit';
4638          }
4639          if(isNaN(quantity)){
4640            return 'not_a_number';
4641          }
4642          return '';
4643        },
4644        changeQuantity({elType, errType, quantity, addToCart, quantityInput, limitQuantity, cartLimit}){
4645          if(errType === ''){
4646            if(elType === 'btn'){
4647              quantityInput.val(quantity);
4648              quantityInput.trigger('change');
4649            }
4650            var old = quantityInput.data("old-value");
4651            if(quantity === old){
4652              quantityInput.data("old-value", quantity);
4653            }
4654            // for GA
4655            addToCart.data("quantity", quantity);
4656          } else {
4657            var old_value = quantityInput.data("old-value");
4658            if(elType === 'input'){
4659              switch(errType){
4660                case 'less_then_1':
4661                  quantityInput.val(1);
4662                  break;
4663                case 'over_product_quantity':
4664                  quantityInput.val(limitQuantity);
4665                  break;
4666                case 'over_cart_limit':
4667                  quantityInput.val(cartLimit);
4668                  break;
4669                default:
4670                  quantityInput.val(old_value);
4671                  break;
4672              }
4673            }
4674            this.cartQuantityMessage(errType)
4675          }
4676        },
4677        cartQuantityMessage(errType) {
4678          switch(errType){
4679            case 'less_then_1':
4680              window.msg(language["less_then_one"], 'warning').show();
4681              break;
4682            case 'over_product_quantity':
4683              window.msg(language["over_product_quantity"], 'warning').show();
4684              break;
4685            case 'over_cart_limit':
4686              window.msg(language["over_cart_limit"], 'warning').show();
4687              break;
4688            case 'not_a_number':
4689              window.msg(language["please_enter_number"], 'warning').show();
4690              break;
4691            default:
4692              break;
4693          }
4694        },
4695        quantityChange(isPluSquantity){
4696          if (!this.findVariant()) {
4697            return;
4698          }
4699          let errType           = '';
4700          let el                = $('#product');
4701          let cartLimit         = this.getCartQuantityLimit(el);
4702          let limitQuantity     = selectedVariant.inventoryQuantity;
4703          let inventoryPolicy   = selectedVariant.inventoryPolicy;
4704          let quantityInput     = el.find(".product_quantity input");
4705          let quantity          = parseInt($(quantityInput).val());
4706          let addToCart         = el.find('.addToCart');
4707          isPluSquantity ? quantity += 1: quantity -= 1
4708          errType = this.cartQuantityCheck({quantity, limitQuantity, cartLimit, inventoryPolicy});
4709          this.changeQuantity({ elType: 'btn', errType, quantity, addToCart, quantityInput, limitQuantity, cartLimit});
4710        },
4711        findVariant() {
4712          if (typeof selectedVariant === 'undefined' || !$.isNumeric(selectedVariant.id)) {
4713            window.msg(language["please_choose_product"], 'info').show();
4714            return false;
4715          } else {
4716            return true;
4717          }
4718        },
4719        getCartQuantityLimit(el) {
4720          return el.data('cart_quantity_limit');
4721        },
4722        isSellTimeAfterNow(sellTime) {
4723          if (!sellTime) return false;
4724          const saleTime = new Date(sellTime);
4725          const now = new Date();
4726          return saleTime > now;
4727        },
4728      }
4729    });
4730  });
4731</script>
4731
4732
4733<!-- cyb_snippet _variant_options_block_js end -->
4734
4735<!-- cyb_snippet components/variant_options/variant_options_block end -->
4736<!-- cyb_snippet _custom_icon start -->
4737<script src='//cdn-general.cybassets.com/frontend/shop/navIcon-ec858cfa815323bb.js' type='text/javascript'></script>
4737
4738
4739<script>
4740  (function() {
4741    const iconUrlMap = new Map([
4742      ['custom_icon_type_home', null],
4743      ['custom_icon_type_tracking_items', null],
4744      ['custom_icon_type_account', null],
4745      ['custom_icon_type_cart', null],
4746      ['custom_icon_type_search', null],
4747      ['custom_icon_type_menu', null]
4748    ]);
4749    const elements = document.querySelectorAll('[data-icon-type]');
4750    elements.forEach((element, index) => {
4751      const iconAttributes = element.getAttribute('data-icon-type');
4752
4753      const uniqueId = `icon_${iconAttributes}_${index}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
4754      element.id = uniqueId;
4755      window.renderNavCustomIcon(`#${uniqueId}`, {
4756        navIconStyle: "icon_type_default",
4757        customIconUrl: iconUrlMap.get(iconAttributes) || '',
4758        iconAttributes: iconAttributes,
4759        currentTemplate: "product",
4760      });
4761    });
4762  })();
4763</script>
4763
4764
4765<!-- cyb_snippet _custom_icon end -->
4766
4767<script>
4768  // 設定款式資訊/顯示款式資訊
4769  function getURLParameter(name) {
4770    return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search) || [null, ''])[1].replace(/\+/g, '%20')) || null;
4771  }
4772  // sku_properties:各款式的 option pairs(當前語系,後端 drop 已翻譯),事件用 variantId 查表
4773  var variantProperties = {
4774    "67176978": [{"name":"顏色","value":"丈青"},{"name":"尺碼","value":"M"}],"67176979": [{"name":"顏色","value":"丈青"},{"name":"尺碼","value":"L"}],"67176980": [{"name":"顏色","value":"丈青"},{"name":"尺碼","value":"XL"}],"67176982": [{"name":"顏色","value":"月光白"},{"name":"尺碼","value":"M"}],"67176983": [{"name":"顏色","value":"月光白"},{"name":"尺碼","value":"L"}],"67176984": [{"name":"顏色","value":"月光白"},{"name":"尺碼","value":"XL"}],"67176986": [{"name":"顏色","value":"淺灰"},{"name":"尺碼","value":"M"}],"67176987": [{"name":"顏色","value":"淺灰"},{"name":"尺碼","value":"L"}],"67176988": [{"name":"顏色","value":"淺灰"},{"name":"尺碼","value":"XL"}],"67176990": [{"name":"顏色","value":"玫瑰粉"},{"name":"尺碼","value":"M"}],"67176991": [{"name":"顏色","value":"玫瑰粉"},{"name":"尺碼","value":"L"}],"67176992": [{"name":"顏色","value":"玫瑰粉"},{"name":"尺碼","value":"XL"}]
4775  };
4776  function addToWishListEvent(id, data) {
4777    try {
4778      if (appMarketAddToWishListEvent && data) {
4779        var dataSet = {
4780          name: "免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維",
4781          category: null,
4782          categories: ["玉石涼感系列,短袖POLO衫"],
4783          sku: data.sku,
4784          price: data.price,
4785          compare_at_price: data.compare_at_price,
4786          properties: variantProperties[id] || [],
4787          quantity: data.inventory_quantity,
4788          variant: data.variant,
4789          listName: "單產品細覽" || null,
4790          productId: 55814874,
4791          variantId: id,
4792        }
4793        appMarketAddToWishListEvent(dataSet)
4794      }
4795    } catch (e) {
4796      console.error(e);
4797    }
4798  }
4799  function removeFromWishListEvent(id, data) {
4800    try {
4801      if (appMarketRemoveFromWishListEvent && data) {
4802        var dataSet = {
4803          name: "免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維",
4804          category: null,
4805          categories: ["玉石涼感系列,短袖POLO衫"],
4806          sku: data.sku,
4807          price: data.price,
4808          compare_at_price: data.compare_at_price,
4809          properties: variantProperties[id] || [],
4810          quantity: data.inventory_quantity,
4811          variant: data.variant,
4812          listName: "單產品細覽" || null,
4813          productId: 55814874,
4814          variantId: id,
4815        }
4816        appMarketRemoveFromWishListEvent(dataSet)
4817      }
4818    } catch (e) {
4819      console.error(e);
4820    }
4821  }
4822  function isSellTimeAfterNow(sellTime) {
4823    if (!sellTime) return false;
4824    const saleTime = new Date(sellTime);
4825    const now = new Date();
4826    return saleTime > now;
4827  }
4828  $(document).ready(function() {
4829  var ProductInfoObject =  new ProductInfo()
4830    ProductInfoObject.init({
4831      additionalPrice: "加購價",
4832      sellFrom: "2025-05-22T00:00:00+08:00" ,
4833      productId:"55814874",
4834      productTitle: "免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維",
4835      productPreOrder: "預購商品",
4836      productExistingVariantsFirstId: '67176978',
4837      productNotificationEnabled: '已登記補貨通知',
4838      productNotifyMeWhenStockArrives: '已售完,貨到通知我',
4839      productOptionsSize: "2",
4840      productPleaseChooseProduct: "請選擇商品款式",
4841      generalInternetError: "網路連線異常,請重新整理",
4842      productVariantsInfo: "67176978,,1380.0,50,1680.0,deny,0.0,丈青 / M,免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 丈青 / M,cyberbiz,5|67176979,,1380.0,50,1680.0,deny,0.0,丈青 / L,免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 丈青 / L,cyberbiz,5|67176980,,1380.0,48,1680.0,deny,0.0,丈青 / XL,免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 丈青 / XL,
4842cyberbiz,5|67176982,,1380.0,50,1680.0,deny,0.0,月光白 / M,免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 月光白 / M,cyberbiz,5|67176983,,1380.0,50,1680.0,deny,0.0,月光白 / L,免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 月光白 / L,cyberbiz,5|67176984,,1380.0,50,1680.0,deny,0.0,月光白 / XL,免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 月光白 / XL,cyberbiz,5|67176986,,1380.0,50,1680.0,deny,0.0,淺灰 / M,免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 淺灰 / M,cyberbiz,5|67176987,,1380.0,50,1680.0,deny,0.0,淺灰 / L,免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 淺灰 / L,cyberbiz,5|67176988,,1380.0,50,1680.0,deny,0.0,淺灰 / XL,免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 淺灰 / XL,cyberbiz,5|67176990,,1380.0,50,1680.0,deny,0.0,玫瑰粉 / M,免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 玫瑰粉 / M,cyberbiz,5|67176991,,1380.0,50,1680.0,deny,0.0,玫瑰粉 / L,免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 玫瑰粉 / L,cyberbiz,5|67176992,,1380.0,50,1680.0,deny,0.0,玫瑰粉 / XL,免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 玫瑰粉 / XL,cyberbiz,5",
4843      productLimitBuy:  null,
4844      purchaseEligibility: {"required":false,"eligible":true,"status":"eligible"},
4845      salesModePurchasable: true,
4846    });
4847    // 商品款式
4848    var isUpcomingProduct = isSellTimeAfterNow("2025-05-22T00:00:00+08:00") && null;
4849    // 初始化,取得消費者所有品項的通知設定
4850    var variantNotifications = {};
4851    
4852      ProductInfoObject.initVariantNotifications();
4853    
4854    // 初始化,檢查所有商品的庫存,判斷購物車按鈕和庫存顯示狀態
4855    ProductInfoObject.checkButtonStatus(isUpcomingProduct);
4856    // 加入購物車 open product modal
4857    ProductInfoObject.initOpenProductModal();
4858    // 立即購買 mobile product modal
4859    ProductInfoObject.initMobileProductModal()
4860    // 聯絡商家
4861    ProductInfoObject.initContactTheMerchant()
4862    // 貨到通知
4863    ProductInfoObject.initGoodsArrivalNotification();
4864    ProductInfoObject.checkInWishList(window.$('.product-variant-id').val())
4865    
4866      ProductInfoObject.setUpDiscountsTag();
4867    
4868    
4869    })
4870
4871    const userAgent = navigator.userAgent;
4872    const isIOS = /iPad|iPhone|iPod/.test(userAgent) && !window.MSStream;
4873    const isLiff = /Line\/[\d.]+/i.test(userAgent);
4874    const $productButtonMobile = $('.product_button_mobile');
4875
4876    if ($productButtonMobile.length && isIOS && isLiff) {
4877      $productButtonMobile.addClass('is-ios-liff');
4878    }
4879</script>
4879
4880
4881
4882<div id="product_description" class="product_description">
4883  <div class="desc_sections">
4884    <ul class="qk-bg--theme_bg qk-display--flex qk-mg--0 qk-pd--0 qk-bd--default qk-bd--product_border qk-bd_r--none">
4885      <!-- 商品介紹 -->
4886      
4887        <li class="qk-flex--1">
4888          <a href="#desc_section_1" class="scroll active qk-text--text qk-fs--title qk-display--il_bk qk-text--center qk-w--100 qk-vert--bottom">
4889            商品介紹
4890          </a>
4891        </li>
4892      
4893      <!-- 規格說明 -->
4894      
4895        <li class="qk-flex--1 qk-bd--product_border">
4896          <a href="#desc_section_2" class="scroll qk-text--text qk-fs--title qk-display--il_bk qk-text--center qk-w--100 qk-vert--bottom">
4897            <div>規格說明</div>
4898          </a>
4899        </li>
4900      
4901      <!-- 運送方式 -->
4902      
4903        <li class="qk-flex--1 qk-bd--product_border">
4904          <a href="#desc_section_3" class="scroll qk-text--text qk-fs--title qk-display--il_bk qk-text--center qk-w--100 qk-vert--bottom">
4905            <div>運送方式</div>
4906          </a>
4907        </li>
4908      
4909      <!-- 票券注意事項 -->
4910      
4911      <!-- 加入購物車modal -->
4912      
4913        <li class="add-to-cart-container qk-flex--1 qk-bd--product_border">
4914          <a
4915            href="#"
4916            id="add_to_cart"
4917            class="open_product_modal qk-btn qk-btn--primary qk-btn--lg qk-pos--abs qk-r--0 qk-display--il_bk qk-text--center qk-w--100"
4918            data-id="55814874"
4919            data-handle="icegrid-polo-woman">
4920            <div>加入購物車</div>
4921          </a>
4922          <button class="btn btn_not_sale hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-fs--title qk-pos--abs qk-r--0" type="button">
4923            尚未開賣
4924          </button>
4925          <button class="btn btn_login_to_view hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-fs--title qk-pos--abs qk-r--0" type="button">
4926            登入查看資格
4927          </button>
4928          <button class="btn btn_not_eligible hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-fs--title qk-pos--abs qk-r--0" type="button">
4929            購買資格不符
4930          </button>
4931          
4932            <a
4933              href="#"
4934              id="notice_to_buy"
4935              class="btn_notice qk-btn qk-btn--primary qk-btn--lg qk-pos--abs qk-r--0 qk-display--il_bk qk-text--center qk-w--100">
4936              <div>已售完,貨到通知我</div>
4937            </a>
4938          
4939        </li>
4940      
4941    </ul>
4942  </div>
4943  <div class="desc_body">
4944    <div id="ckeditor">
4945      
4946        <div id="desc_section_1" class="desc_section qk-pd_t--2">
4947          <h5 class="section-heading qk-text--heading qk-fs--hd2 qk-bd_l--default qk-bd--heading qk-pd_l--05">商品介紹</h5>
4948          <div class="ckeditor qk-mg_t--1"><p style="text-align: center;"><img alt="一件會呼吸的涼感衣" src="//cdn-general.cybassets.com/s/files/29668/ckeditor/pictures/content_368962b6-b603-4337-a41d-bfde8a0678bf.jpg"><br>
4949<img alt="如何度過炎熱的夏天?" src="//cdn-general.cybassets.com/s/files/29668/ckeditor/pictures/content_46b34c1f-ab3c-44d0-b1df-23fcc7e223f5.jpg"><br>
4950<img alt="台灣的豐田玉" src="//cdn-general.cybassets.com/s/files/29668/ckeditor/pictures/content_eecf4674-d9cc-4864-b1bc-908c6deb721d.jpg"><br>
4951<img alt="涼感玉3.0+藻深肽雙核科技,雙重抑菌,減少異味" src="//cdn-general.cybassets.com/s/files/29668/ckeditor/pictures/content_cb75bf5e-b270-48bc-a6ae-25d9e21fc2f5.jpg"><br>
4952<img alt="每平方公分2800個透氣孔,持續吸熱降溫,透氣輕薄,敏感肌膚的最愛" src="//cdn-general.cybassets.com/s/files/29668/ckeditor/pictures/content_0f455db4-5619-4bf7-b407-cacebb0afce8.jpg"><br>
4953<img alt="別人買的那叫排汗衫,您穿的才是防曬涼感衣" src="//cdn-general.cybassets.com/s/files/29668/ckeditor/pictures/content_b764fe1c-c6b3-4cc9-9fc6-186c56a84bd3.jpg"></p>
4954
4955<p style="text-align: center;"><strong><span style="font-size:20px;">\實際測試💧吸水效果/</span></strong></p>
4956
4957<table align="center" border="0" cellpadding="0" cellspacing="0" style="max-width: 800px;width: 100%;">
4958	<tbody>
4959		<tr>
4960			<td>
4961			<div class="youtube-embed-wrapper" style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden"><iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/rGAnlE5py4k?rel=0" style="position:absolute;top:0;left:0;width:100%;height:100%"></iframe></div>
4962			</td>
4963		</tr>
4964	</tbody>
4965</table>
4966
4967<h2 style="text-align: center;"><strong><span style="font-size:20px;">
4967\實際測試☀️抗UV效果/</span></strong></h2>
4968
4969<table align="center" border="0" cellpadding="0" cellspacing="0" style="max-width: 800px;width: 100%;">
4970	<tbody>
4971		<tr>
4972			<td>
4973			<div class="youtube-embed-wrapper" style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden"><iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/0YA1hrh6v-Q?rel=0" style="position:absolute;top:0;left:0;width:100%;height:100%"></iframe></div>
4974			</td>
4975		</tr>
4976	</tbody>
4977</table>
4978
4979<p>&nbsp;</p>
4980
4981<p style="text-align: center;"><img alt="原紗防曬科技與塗層型、助劑型的比較,更持久高效耐水洗" src="//cdn-general.cybassets.com/s/files/29668/ckeditor/pictures/content_f9cb96b0-5348-4bde-9eb3-e97b67990415.jpg"><br>
4982<img alt="Lycar認證,8%以上萊卡纖維高彈力、耐水洗" src="//cdn-general.cybassets.com/s/files/29668/ckeditor/pictures/content_f7a358fc-809c-441a-8143-0f6e34edd7d4.jpg"><br>
4983<img alt="菱格紋布料與常見布料比較,玉冷礦、原紗防曬、萊卡纖維、海藻精華、修身剪裁" src="//cdn-general.cybassets.com/s/files/29668/ckeditor/pictures/content_438a377e-f0f3-49fd-ab8c-3431772ddbb0.jpg"></p>
4984
4985<h2 style="text-align: center;"><strong><span style="font-size:20px;">|Q&amp;A💡常見問題|</span></strong></h2>
4986
4987<table align="center" border="0" style="max-width: 800px;width: 100%;font-size:18px;">
4988	<tbody>
4989		<tr>
4990			<td style="padding: 5px;"><strong>𝙌𝟭:如何清潔保養衣物?</strong><br>
4991			𝘼𝟭:手洗或洗衣機皆可,機洗請單獨放入洗衣袋內,加入一般中性清潔劑即可;建議不要使用化學清潔劑、漂白水及衣物柔軟精,避免化學成分覆蓋機能纖維。</td>
4992			<td>&nbsp;</td>
4993		</tr>
4994		<tr>
4995			<td style="padding: 5px;"><strong>𝙌𝟮:產品纖維中的豐田玉礦石、海藻精華、原紗抗UV效果,經過多次洗滌是否會不見?</strong><br>
4996			𝘼𝟮:我們的機能性纖維都是抽紗捻織成,不是浸泡方式,功能不受清洗次數影響。</td>
4997			<td>&nbsp;</td>
4998		</tr>
4999		<tr>
5000			<td style="padding: 5px;"><strong>𝙌𝟯:可以使用烘乾機嗎?</strong><br>
5001			𝘼𝟯:不可以使用烘乾機,建議放進洗衣袋用洗衣機脫水後晾乾即可。</td>
5002			<td>&nbsp;</td>
5003		</tr>		
5004	</tbody>
5005</table>
5006
5007<p>&nbsp;</p>
5008</div>
5009        </div>
5010      
5011      
5012        <div id="desc_section_2" class="desc_section qk-pd_t--2">
5013          <h5 class="section-heading qk-text--heading qk-fs--hd2 qk-bd_l--default qk-bd--heading qk-pd_l--05">規格說明</h5>
5014          <div class="ckeditor qk-mg_t--1"><table align="center" border="0" style="max-width: 800px;width: 100%;font-size:18px;">
5015	<tbody>
5016		<tr>
5017			<td style="padding: 5px;">成分:棉Cotton 62.5%、尼龍Nylon 28.9%、彈性纖維Lycra 8.6%</td>
5018			<td> </td>
5019		</tr>
5020	</tbody>
5021</table>
5022
5023<p style="text-align:center"><img alt="女款修身POLO衫尺寸表" src="//cdn-general.cybassets.com/s/files/29668/ckeditor/pictures/content_e52b7dcc-e55c-4cef-a88b-6e91a1ec9d8f.jpg"></p>
5024</div>
5025        </div>
5026      
5027      
5028        <div id="desc_section_3" class="desc_section qk-pd_t--2">
5029          <h5 class="section-heading qk-text--heading qk-fs--hd2 qk-bd_l--default qk-bd--heading qk-pd_l--05">運送方式</h5>
5030          <div class="ckeditor qk-mg_t--1"><p><span style="font-size:18px;">💰 <strong>付款方式 </strong>(逾期未付款將自動取消訂單)</span></p>
5031
5032<ul>
5033	<li><span style="font-size:18px;">信用卡(線上刷卡VISA、MasterCard、JCB)</span></li>
5034	<li><span style="font-size:18px;">超商代碼繳費(7-11、全家、OK、萊爾富)</span></li>
5035	<li><span style="font-size:18px;">銀聯卡(UnionPay)</span></li>
5036	<li><span style="font-size:18px;">Google Pay</span></li>
5037</ul>
5038
5039<p> </p>
5040
5041<p><span style="font-size:18px;">🚚 <strong>運送說明(3至7個工作天出貨)</strong></span></p>
5042
5043<ul>
5044	<li><span style="font-size:18px;">全館單筆消費滿 NT$1,200 元享免運費優惠。</span></li>
5045	<li><span style="font-size:18px;">宅配不支援離島配送,若有離島配送需求,敬請使用超商取貨付款。</span></li>
5046	<li><span style="font-size:18px;">配合7-11 超商取貨、全家超商取貨、OK超商取貨、萊爾富超商取貨,宅配到府。</span></li>
5047</ul>
5048</div>
5049        </div>
5050      
5051      
5052    </div>
5053  </div>
5054  <div id="product-recommendation"></div>
5055</div>
5056
5057<script>
5058  $(document).ready(function() {
5059    // 商品說明介紹標籤
5060    $(".desc_sections li").on('click', function() {
5061      $(this).children().addClass('active');
5062      $(this).siblings().children().removeClass('active');
5063    });
5064
5065    // 滑動設置
5066    var prevScrollPos = window.pageYOffset;
5067    var prevScrollInformationPos = window.pageYOffset;
5068    $(window).on('scroll load resize', function(e) {
5069      var headerHeight = $("#header").height()
5070      var desc_sections = $(".desc_sections");
5071      var desc_section_list = $(".desc_section");
5072      var descSectionHeight = $(".desc_sections").height()
5073      var descSectionTop = $(".desc_sections").offset().top - headerHeight
5074      var product_window = $(this);
5075      var currentScrollPos = window.pageYOffset;
5076
5077      // 滑動固定產品說明
5078      if (product_window.scrollTop() > descSectionTop) {
5079        desc_sections.find("ul").css({"top": 0});
5080        if (currentScrollPos > prevScrollPos && product_window.scrollTop() > descSectionTop + headerHeight) {
5081          desc_sections
5082            .stop()
5083            .addClass("desc_sections_hold")
5084            .css({"min-height": descSectionHeight})
5085            .find("ul")
5086            .css({"top": 0});
5087        } else if (prevScrollPos > currentScrollPos) {
5088          desc_sections
5089            .stop()
5090            .addClass("desc_sections_hold")
5091            .css({"min-height": descSectionHeight})
5092            .find("ul")
5093            .css({"top": headerHeight});
5094        } else {
5095          prevScrollPos = 0;
5096        } prevScrollPos = currentScrollPos;
5097        if ($(window).width() < 768) {
5098          $("body").css("padding-bottom", "68px");
5099        }
5100      } else {
5101        prevScrollPos = 0;
5102        desc_sections.stop().removeClass("desc_sections_hold")
5103        if ($(window).width() < 768) {
5104          $("body").css("padding-bottom", "68px");
5105        }
5106      }
5107
5108      // 點選產品說明滑動
5109      $(".desc_sections a.scroll").bind("click", function(event) {
5110        var targetScrollTop = parseInt($($(this).attr("href")).offset().top - descSectionHeight + 1);
5111        if (targetScrollTop > window.scrollY + 1) {
5112          $("html, body").stop().animate({
5113            scrollTop: targetScrollTop
5114          }, 300);
5115        } else {
5116          $("html, body").stop().animate({
5117            scrollTop: targetScrollTop - headerHeight
5118          }, 300);
5119        }
5120      });
5121
5122      // 顯示當前產品說明
5123      if (currentScrollPos > prevScrollInformationPos) {
5124        $.each(desc_section_list, function(index, desc_section) {
5125          var desc_sectionTop = $(desc_section).offset().top - descSectionHeight - 1
5126          var desc_sectionHeight = $(desc_section).height()
5127          var current_desc_section = $("a.scroll[href$='" + $(desc_section).attr("id") + "']");
5128          if (product_window.scrollTop() > desc_sectionTop || index === 0) {
5129            current_desc_section
5130              .stop()
5131              .addClass('active')
5132              .parent()
5133              .siblings()
5134              .find("a")
5135              .removeClass('active');
5136          } else {
5137            current_desc_section.removeClass('active');
5138          } prevScrollInformationPos = currentScrollPos;
5139        });
5140      } else {
5141        $.each(desc_section_list, function(index, desc_section) {
5142          var desc_sectionTop = $(desc_section).offset().top - descSectionHeight - 1
5143          var desc_sectionHeight = $(desc_section).height()
5144          var current_desc_section = $("a.scroll[href$='" + $(desc_section).attr("id") + "']");
5145          if (product_window.scrollTop() + headerHeight > desc_sectionTop) {
5146            current_desc_section
5147              .stop()
5148              .addClass('active')
5149              .parent()
5150              .siblings()
5151              .find("a")
5152              .removeClass('active');
5153          } else {
5154            current_desc_section.removeClass('active');
5155          }
5156        });
5157        prevScrollInformationPos = currentScrollPos;
5158      }
5159    });
5160  })
5161</script>
5161
5162
5163
5164
5165
5166
5167<div id="related-products" class="qk-pos--rel">
5168  
5169  
5170  
5171    
5172  
5173  
5174    <h5 class="section-heading qk-text--heading qk-fs--hd2 qk-bd_l--default qk-bd--heading qk-pd_l--05">相關商品</h5>
5175    
5176    <!-- cyb_snippet swiper_product start -->
5177<div id="swiper_products" class="qk-pos--rel">
5178  <div class="swiper swiper-container swiper_products GTM-area">
5179    <div class="swiper-wrapper">
5180      
5181      
5182        
5183        
5184        
5185        
5186        <div class="swiper-slide product qk-text--start" data-sold-out="false" data-sales-mode-purchasable="true">
5187          
5188            <div class="integrated_product_labels qk-pos--abs qk-text--left">
5189              
5190            </div>
5191          
5192          <div class="product_image three_to_four_scale">
5193            <div class="product_mask"></div>
5194            <a class="productClick img-flex GTM-info qk-h--100 qk-display--flex qk-justify--center qk-align--center"
5195              href="/products/icegrid-polo-man"
5196              data-brand=""
5197              data-category=""
5198              data-collection_id=""
5199              data-id="55747668"
5200              data-variant-id="67084266"
5201              data-list="相關商品"
5202              data-name="免運|男款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維"
5203              data-position="1"
5204              data-price="1380.0">
5205              <img data-src="//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L3Byb2R1Y3RzLzU1NzQ3NjY4LzE3NTAwNTMyOTNfOGZjZDMxYWI2MzdmNWM5NGQ5NGMuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=0af4a14bbdc44624"
5206                alt="免運|男款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維" class="swiper-lazy feature-image" />
5207              
5208                
5209              
5210              <div class="swiper-lazy-preloader-white"></div>
5211            </a>
5212          </div>
5213          
5214          <div class="product_title qk-of--hidden">
5215            <a class="qk-text--heading"
5216              href="/products/icegrid-polo-man">
5217              免運|男款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維
5218            </a>
5219          </div>
5220          
5221            
5222          
5223          
5224            <div class="product_price qk-text--price qk-fs--title"><span class="money_tag" data-currency-from="TWD" data-amount="1380.0">NT$1,380</span></div>
5225          
5226          
5227            <div class="product_btn qk-text--center">
5228              
5229                <button
5230                  type="button"
5231                  class="btn btn-cart qk-btn qk-btn--primary qk-btn--lg"
5232                  data-handle="icegrid-polo-man"
5233                  data-collection=""
5234                  data-brand=""
5235                  data-category=""
5236                  data-collection_id=""
5237                  data-id="55747668"
5238                  data-list="相關商品"
5239                  data-name="免運|男款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維"
5240                  data-photo="//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L3Byb2R1Y3RzLzU1NzQ3NjY4LzE3NTAwNTMyOTNfOGZjZDMxYWI2MzdmNWM5NGQ5NGMuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=0af4a14bbdc44624"
5241                  data-price="1380.0"
5242                  data-position="1"
5243                  data-spread-size="67084266,,1380.0,15,1680.0,deny,0.0,丈青 / M,免運|男款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 丈青 / M,cyberbiz,3|67084267,,1380.0,35,1680.0,deny,0.0,丈青 / L,免運|男款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 丈青 / L,cyberbiz,3|67084268,,1380.0,30,1680.0,deny,0.0,丈青 / XL,免運|男款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 丈青 / XL,cyberbiz,3|67084269,,1380.0,20,1680.0,deny,0.0,月光白 / M,免運|男款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 月光白 / M,cyberbiz,3|67084270,,1380.0,70,1680.0,deny,0.0,月光白 / L,免運|男款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 月光白 / L,cyberbiz,3|67084271,,1380.0,20,1680.0,deny,0.0,月光白 / XL,免運|男款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 月光白 / XL,
5243cyberbiz,3|67084272,,1380.0,20,1680.0,deny,0.0,淺灰 / M,免運|男款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 淺灰 / M,cyberbiz,3|67084273,,1380.0,40,1680.0,deny,0.0,淺灰 / L,免運|男款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 淺灰 / L,cyberbiz,3|67084274,,1380.0,30,1680.0,deny,0.0,淺灰 / XL,免運|男款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 淺灰 / XL,cyberbiz,3"
5244                  
5245                  data-sku=""
5246                  
5247                  
5248                >
5249                  <span class="text">加入購物車</span>
5250                </button>
5251              
5252              <button type="button" class="btn btn_not_sale hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled>
5253                <span class="text">尚未開賣</span>
5254              </button>
5255              <button type="button" class="btn btn_login_to_view hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled>
5256                <span class="text">登入查看</span>
5257              </button>
5258              <button type="button" class="btn btn_not_eligible hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled>
5259                <span class="text">資格不符</span>
5260              </button>
5261            </div>
5262          
5263        </div>
5264      
5265        
5266        
5267        
5268        
5269        <div class="swiper-slide product qk-text--start" data-sold-out="false" data-sales-mode-purchasable="true">
5270          
5271            <div class="integrated_product_labels qk-pos--abs qk-text--left">
5272              
5273            </div>
5274          
5275          <div class="product_image three_to_four_scale">
5276            <div class="product_mask"></div>
5277            <a class="productClick img-flex GTM-info qk-h--100 qk-display--flex qk-justify--center qk-align--center"
5278              href="/products/icegrid-t-man"
5279              data-brand=""
5280              data-category=""
5281              data-collection_id=""
5282              data-id="56337583"
5283              data-variant-id="67866705"
5284              data-list="相關商品"
5285              data-name="免運|男款 礦系列 圓領短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維"
5286              data-position="2"
5287              data-price="1280.0">
5288              <img data-src="//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L3Byb2R1Y3RzLzU2MzM3NTgzLzE3NDk3MTczNzdfMTY4ZWVmZTY4MDYzODFlZDk4NTkuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=a25cbb7e9173bf4f"
5289                alt="免運|男款 礦系列 圓領短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維" class="swiper-lazy feature-image" />
5290              
5291                
5292              
5293              <div class="swiper-lazy-preloader-white"></div>
5294            </a>
5295          </div>
5296          
5297          <div class="product_title qk-of--hidden">
5298            <a class="qk-text--heading"
5299              href="/products/icegrid-t-man">
5300              免運|男款 礦系列 圓領短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維
5301            </a>
5302          </div>
5303          
5304            
5305          
5306          
5307            <div class="product_price qk-text--price qk-fs--title"><span class="money_tag" data-currency-from="TWD" data-amount="1280.0">NT$1,280</span></div>
5308          
5309          
5310            <div class="product_btn qk-text--center">
5311              
5312                <button
5313                  type="button"
5314                  class="btn btn-cart qk-btn qk-btn--primary qk-btn--lg"
5315                  data-handle="icegrid-t-man"
5316                  data-collection=""
5317                  data-brand=""
5318                  data-category=""
5319                  data-collection_id=""
5320                  data-id="56337583"
5321                  data-list="相關商品"
5322                  data-name="免運|男款 礦系列 圓領短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維"
5323                  data-photo="//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L3Byb2R1Y3RzLzU2MzM3NTgzLzE3NDk3MTczNzdfMTY4ZWVmZTY4MDYzODFlZDk4NTkuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=a25cbb7e9173bf4f"
5324                  data-price="1280.0"
5325                  data-position="2"
5326                  data-spread-size="67866705,,1280.0,,1580.0,deny,0.0,丈青 / M,免運|男款 礦系列 圓領短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 丈青 / M,,|67866706,,1280.0,,1580.0,deny,0.0,丈青 / L,免運|男款 礦系列 圓領短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 丈青 / L,,|67866707,,1280.0,,1580.0,deny,0.0,丈青 / XL,免運|男款 礦系列 圓領短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 丈青 / XL,,|67866708,,1280.0,,1580.0,deny,0.0,月光白 / M,免運|男款 礦系列 圓領短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 月光白 / M,,|67866709,,1280.0,,1580.0,deny,0.0,月光白 / L,免運|男款 礦系列 圓領短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 月光白 / L,,|67866710,,1280.0,,1580.0,deny,0.0,月光白 / XL,免運|男款 礦系列 圓領短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 月光白 / XL,,|67866711,,1280.0,,1580.0,deny,0.0,淺灰 / M,免運|男款 礦系列 圓領短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 淺灰 / M,,|67866712,,1280.0,,1580.0,deny,0.0,淺灰 / L,免運|男款 礦系列 圓領短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 淺灰 / L,,|67866713,,1280.0,,1580.0,deny,0.0,淺灰 / XL,免運|男款 礦系列 圓領短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 淺灰 / XL,,|67866714,,1280.0,,1580.0,deny,0.0,青草綠 / M,免運|男款 礦系列 圓領短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 青草綠 / M,,|67866715,,1280.0,,1580.0,deny,0.0,青草綠 / L,免運|男款 礦系列 圓領短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 青草綠 / L,,|67866716,,1280.0,,1580.0,deny,0.0,青草綠 / XL,免運|男款 礦系列 圓領短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 青草綠 / XL,,"
5327                  
5328                  data-sku=""
5329                  
5330                  
5331                >
5332                  <span class="text">加入購物車</span>
5333                </button>
5334              
5335              <button type="button" class="btn btn_not_sale hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled>
5336                <span class="text">尚未開賣</span>
5337              </button>
5338              <button type="button" class="btn btn_login_to_view hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled>
5339                <span class="text">登入查看</span>
5340              </button>
5341              <button type="button" class="btn btn_not_eligible hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled>
5342                <span class="text">資格不符</span>
5343              </button>
5344            </div>
5345          
5346        </div>
5347      
5348        
5349        
5350        
5351        
5352        <div class="swiper-slide product qk-text--start" data-sold-out="false" data-sales-mode-purchasable="true">
5353          
5354            <div class="integrated_product_labels qk-pos--abs qk-text--left">
5355              
5356            </div>
5357          
5358          <div class="product_image three_to_four_scale">
5359            <div class="product_mask"></div>
5360            <a class="productClick img-flex GTM-info qk-h--100 qk-display--flex qk-justify--center qk-align--center"
5361              href="/products/icegrid-st-woman"
5362              data-brand=""
5363              data-category=""
5364              data-collection_id=""
5365              data-id="56337726"
5366              data-variant-id="67867042"
5367              data-list="相關商品"
5368              data-name="免運|女款 礦系列 圓弧短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維"
5369              data-position="3"
5370              data-price="1280.0">
5371              <img data-src="//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L3Byb2R1Y3RzLzU2MzM3NzI2LzE3NDk3MjEwMDdfOTMxZjBhZjE2Mzk4YTBiYjk3YWMuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=81e7f4763a9f0281"
5372                alt="免運|女款 礦系列 圓弧短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維" class="swiper-lazy feature-image" />
5373              
5374                
5375              
5376              <div class="swiper-lazy-preloader-white"></div>
5377            </a>
5378          </div>
5379          
5380          <div class="product_title qk-of--hidden">
5381            <a class="qk-text--heading"
5382              href="/products/icegrid-st-woman">
5383              免運|女款 礦系列 圓弧短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維
5384            </a>
5385          </div>
5386          
5387            
5388          
5389          
5390            <div class="product_price qk-text--price qk-fs--title"><span class="money_tag" data-currency-from="TWD" data-amount="1280.0">NT$1,280</span></div>
5391          
5392          
5393            <div class="product_btn qk-text--center">
5394              
5395                <button
5396                  type="button"
5397                  class="btn btn-cart qk-btn qk-btn--primary qk-btn--lg"
5398                  data-handle="icegrid-st-woman"
5399                  data-collection=""
5400                  data-brand=""
5401                  data-category=""
5402                  data-collection_id=""
5403                  data-id="56337726"
5404                  data-list="相關商品"
5405                  data-name="免運|女款 礦系列 圓弧短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維"
5406                  data-photo="//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L3Byb2R1Y3RzLzU2MzM3NzI2LzE3NDk3MjEwMDdfOTMxZjBhZjE2Mzk4YTBiYjk3YWMuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=81e7f4763a9f0281"
5407                  data-price="1280.0"
5408                  data-position="3"
5409                  data-spread-size="67867042,,1280.0,,1580.0,deny,0.0,月光白 / M,免運|女款 礦系列 圓弧短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 月光白 / M,,|67867043,,1280.0,,1580.0,deny,0.0,月光白 / L,免運|女款 礦系列 圓弧短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 月光白 / L,,|67867044,,1280.0,,1580.0,deny,0.0,玫瑰粉 / M,免運|女款 礦系列 圓弧短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 玫瑰粉 / M,,|67867045,,1280.0,,1580.0,deny,0.0,玫瑰粉 / L,免運|女款 礦系列 圓弧短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 玫瑰粉 / L,,|67867046,,1280.0,,1580.0,deny,0.0,青草綠 / M,免運|女款 礦系列 圓弧短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 青草綠 / M,,|67867047,,1280.0,,1580.0,deny,0.0,青草綠 / L,免運|女款 礦系列 圓弧短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 青草綠 / L,,"
5410                  
5411                  data-sku=""
5412                  
5413                  
5414                >
5415                  <span class="text">加入購物車</span>
5416                </button>
5417              
5418              <button type="button" class="btn btn_not_sale hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled>
5419                <span class="text">尚未開賣</span>
5420              </button>
5421              <button type="button" class="btn btn_login_to_view hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled>
5422                <span class="text">登入查看</span>
5423              </button>
5424              <button type="button" class="btn btn_not_eligible hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled>
5425                <span class="text">資格不符</span>
5426              </button>
5427            </div>
5428          
5429        </div>
5430      
5431        
5432        
5433        
5434        
5435        <div class="swiper-slide product qk-text--start" data-sold-out="false" data-sales-mode-purchasable="true">
5436          
5437            <div class="integrated_product_labels qk-pos--abs qk-text--left">
5438              
5439            </div>
5440          
5441          <div class="product_image three_to_four_scale">
5442            <div class="product_mask"></div>
5443            <a class="productClick img-flex GTM-info qk-h--100 qk-display--flex qk-justify--center qk-align--center"
5444              href="/products/icegrid-bt-woman"
5445              data-brand=""
5446              data-category=""
5447              data-collection_id=""
5448              data-id="56337812"
5449              data-variant-id="67867211"
5450              data-list="相關商品"
5451              data-name="免運|女款 礦系列 開岔短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維"
5452              data-position="4"
5453              data-price="1280.0">
5454              <img data-src="//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L3Byb2R1Y3RzLzU2MzM3ODEyLzE3NDk3MTcxODVfYWQ4YmRmNGIxZTA2ZGZlMWUxNTcuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=8f2ab292b3aa7b7e"
5455                alt="免運|女款 礦系列 開岔短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維" class="swiper-lazy feature-image" />
5456              
5457                
5458              
5459              <div class="swiper-lazy-preloader-white"></div>
5460            </a>
5461          </div>
5462          
5463          <div class="product_title qk-of--hidden">
5464            <a class="qk-text--heading"
5465              href="/products/icegrid-bt-woman">
5466              免運|女款 礦系列 開岔短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維
5467            </a>
5468          </div>
5469          
5470            
5471          
5472          
5473            <div class="product_price qk-text--price qk-fs--title"><span class="money_tag" data-currency-from="TWD" data-amount="1280.0">NT$1,280</span></div>
5474          
5475          
5476            <div class="product_btn qk-text--center">
5477              
5478                <button
5479                  type="button"
5480                  class="btn btn-cart qk-btn qk-btn--primary qk-btn--lg"
5481                  data-handle="icegrid-bt-woman"
5482                  data-collection=""
5483                  data-brand=""
5484                  data-category=""
5485                  data-collection_id=""
5486                  data-id="56337812"
5487                  data-list="相關商品"
5488                  data-name="免運|女款 礦系列 開岔短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維"
5489                  data-photo="//cdn-general.cybassets.com/media/W1siZiIsIjI5NjY4L3Byb2R1Y3RzLzU2MzM3ODEyLzE3NDk3MTcxODVfYWQ4YmRmNGIxZTA2ZGZlMWUxNTcuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=8f2ab292b3aa7b7e"
5490                  data-price="1280.0"
5491                  data-position="4"
5492                  data-spread-size="67867211,,1280.0,,1580.0,deny,0.0,月光白 / M,免運|女款 礦系列 開岔短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 月光白 / M,,|67867212,,1280.0,,1580.0,deny,0.0,月光白 / L,免運|女款 礦系列 開岔短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 月光白 / L,,|67867213,,1280.0,,1580.0,deny,0.0,玫瑰粉 / M,免運|女款 礦系列 開岔短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 玫瑰粉 / M,,|67867214,,1280.0,,1580.0,deny,0.0,玫瑰粉 / L,免運|女款 礦系列 開岔短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 玫瑰粉 / L,,|67867215,,1280.0,,1580.0,deny,0.0,青草綠 / M,免運|女款 礦系列 開岔短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 青草綠 / M,,|67867216,,1280.0,,1580.0,deny,0.0,青草綠 / L,免運|女款 礦系列 開岔短袖T-shirt|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維 - 青草綠 / L,,"
5493                  
5494                  data-sku=""
5495                  
5496                  
5497                >
5498                  <span class="text">加入購物車</span>
5499                </button>
5500              
5501              <button type="button" class="btn btn_not_sale hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled>
5502                <span class="text">尚未開賣</span>
5503              </button>
5504              <button type="button" class="btn btn_login_to_view hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled>
5505                <span class="text">登入查看</span>
5506              </button>
5507              <button type="button" class="btn btn_not_eligible hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled>
5508                <span class="text">資格不符</span>
5509              </button>
5510            </div>
5511          
5512        </div>
5513      
5514    </div>
5515  </div>
5516  <div class="swiper-products-next qk-swiper_btn qk-swiper_btn--lg qk-swiper_btn--v1 qk-swiper_btn--next"></div>
5517  <div class="swiper-products-prev qk-swiper_btn qk-swiper_btn--lg qk-swiper_btn--v1 qk-swiper_btn--prev"></div>
5518</div>
5519
5520<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/swiper_product-ec858cfa815323bb.css' rel='stylesheet' type='text/css' media='all' />
5521
5522  <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/integrated_product_labels-ec858cfa815323bb.css' rel='stylesheet' type='text/css' media='all' />
5523
5524
5525<!-- cyb_snippet _combo_product_related_items_modal start -->
5525<script src='//cdn-general.cybassets.com/frontend/shop/standaloneRelatedItemsSelectModal-ec858cfa815323bb.js' type='text/javascript'></script>
5525
5526  
5526<script>
5527    if (!$('#related-items-select-modal').length) {
5528      $('body').append('<div id="related-items-select-modal"></div>');
5529      document.addEventListener('DOMContentLoaded', function() {
5530        window.renderRelatedItemsSelectModal('#related-items-select-modal', {
5531          hasStockNotificationPlugin: true,
5532          displayProductDiscountsList: true,
5533        });
5534      });
5535    }
5536  </script>
5536<!-- cyb_snippet _combo_product_related_items_modal end -->
5537
5538<script>
5539  $(document).ready(function(){
5540    var slideCount = $(".swiper_products .swiper-slide").length
5541    if (slideCount >= 4){
5542      var autoLoop = true
5543    }else{
5544      var autoLoop = false
5545    }
5546    var SwiperProducts = new Swiper('.swiper_products', {
5547      // Disable preloading of all images
5548      preloadImages: false,
5549      // Enable lazy loading
5550      lazy: {
5551        loadPrevNext: true,
5552      },
5553      loop: autoLoop,
5554      slidesPerView: 1,
5555      spaceBetween: 30,
5556      navigation: {
5557        nextEl: '.swiper-products-next',
5558        prevEl: '.swiper-products-prev',
5559      },
5560      breakpoints: {
5561        '@0.75': {
5562          slidesPerView: 2,
5563          spaceBetween: 20,
5564        },
5565        '@1.00': {
5566          slidesPerView: 3,
5567          spaceBetween: 40,
5568        },
5569        '@1.50': {
5570          slidesPerView: 4,
5571          spaceBetween: 50,
5572        },
5573      }
5574    });
5575
5576    $('#swiper_products .productClick').click(function() {
5577      try {
5578        if (window.appStoreClickItemEvent) {
5579          var $el = $(this);
5580          window.appStoreClickItemEvent({
5581            product_id: String($el.data('id')),
5582            variant_id: String($el.data('variant-id')),
5583            name: $el.data('name'),
5584            price: Number($el.data('price')),
5585            currency: getCurrency(),
5586            category: $el.data('category'),
5587            list_name: 'product',
5588            list_position: Number($el.data('position')),
5589          });
5590        }
5591      } catch (e) {
5592        console.error(e);
5593      }
5594    });
5595
5596    
5597    // new pop modal
5598    $('#swiper_products .btn-cart').click(function() {
5599      var comboProductInfo = $(this).data('comboProductInfo');
5600      if (comboProductInfo) {
5601        window.themeHelper.EventBus.$emit('showRelatedItemsSelectModal', comboProductInfo);
5602      } else {
5603        var productHandle = '/products/' + $(this).data('handle');
5604        var collectionId = $(this).data('collection');
5605        new_addcart_modal.popModal(productHandle, collectionId);
5606      }
5607    });
5608    
5609
5610    const isUpcomingProductsEnabled = null;
5611    // 狀態切換只處理可購買的卡片
5612    $('#swiper_products .product').not('[data-sales-mode-purchasable="false"]').each(function(index) {
5613      const soldOut = $(this).data('sold-out');
5614      const $upcomingText = $(this).find('.upcoming-product-text');
5615      const sellTime = $upcomingText.data('sell-from');
5616      const purchaseRequired = $upcomingText.data('purchase-required');
5617      const purchaseEligible = $upcomingText.data('purchase-eligible');
5618      const purchaseStatus = $upcomingText.data('purchase-status');
5619
5620      const isUpcoming = isUpcomingProductsEnabled && sellTime && new Date(sellTime) > new Date();
5621
5622      const formattedDate = sellTime ? new Date(sellTime).toLocaleString('zh-TW', {
5623        year: 'numeric',
5624        month: '2-digit',
5625        day: '2-digit',
5626        hour: '2-digit',
5627        minute: '2-digit',
5628        hour12: false
5629      }).replace(/\//g, '-').replace(',', '') : '';
5630
5631      let labelText = '';
5632      let buttonClass = '';
5633
5634      if (purchaseRequired && !isUpcoming) {
5635        labelText = '部分會員限定';
5636
5637        if (!purchaseEligible) {
5638          if (!soldOut) {
5639            if (purchaseStatus === 'not_logged_in') {
5640              buttonClass = '.btn_login_to_view';
5641            } else if (purchaseStatus === 'non_eligible') {
5642              buttonClass = '.btn_not_eligible';
5643            }
5644          } else {
5645            buttonClass = '.btn-soldout';
5646          }
5647        }
5648      }
5649      else if (!purchaseRequired && isUpcoming) {
5650        labelText = ' 開賣'.replace('', formattedDate);
5651        buttonClass = '.btn_not_sale';
5652      }
5653      else if (purchaseRequired && isUpcoming) {
5654        const isMobile = window.innerWidth <= 580;
5655        const separator = isMobile ? '\n' : ' ';
5656        labelText = '[部分會員限定]' + separator + ' 開賣'.replace('', formattedDate);
5657        buttonClass = '.btn_not_sale';
5658      } else if (soldOut) {
5659        buttonClass = '.btn-soldout';
5660      }
5661
5662      if (labelText) {
5663        $upcomingText.text(labelText);
5664        $(this).find('.upcoming-product-text').show();
5665      } else {
5666        $upcomingText.hide();
5667      }
5668
5669      if (buttonClass) {
5670        $(this).find('.product_mask').addClass('lift');
5671        // Hide all buttons first
5672        $(this).find('.btn-cart').hide();
5673        $(this).find('.btn-soldout').hide();
5674        $(this).find('.btn_not_sale').hide();
5675        $(this).find('.btn_login_to_view').hide();
5676        $(this).find('.btn_not_eligible').hide();
5677
5678        // Show the appropriate button
5679        $(this).find(buttonClass).removeClass('hidden').show();
5680      }
5681    });
5682
5683    // for GTM
5684    $.each($('.GTM-area'),function(){
5685      var gtm_product = []
5686      $.each($(this).find('.GTM-info'),function(index,product){
5687        productInfo = {
5688          'brand':    $(product).data('brand'),
5689          'category': $(product).data('category'),
5690          'id':       $ (product).data('id'),
5691          'list':     'Collection: '+ $(product).data('list'),
5692          'name':     $(product).data('name'),
5693          'position': $(product).data('position'),
5694          'price':    $ (product).data('price'),
5695          'variant':  ''
5696        }
5697        if(typeof google_analytics_id != "undefined" && window.enable_ga_ee == true){
5698          ga('ec:addImpression', productInfo);
5699        }
5700        if(typeof google_tag_manager_id != 'undefined' || typeof cyb != 'undefined'){
5701          gtm_product.push(productInfo)
5702        }
5703      })
5704      if(typeof google_analytics_id != 'undefined' && window.enable_ga_ee == true){
5705          ga('send', 'event', {'nonInteraction': true});
5706      }
5707      if(typeof google_tag_manager_id != 'undefined' && gtm_product.length > 0){
5708        dataLayer.push({
5709          'event': 'productImpressions',
5710          'ecommerce':{
5711            'impressions': gtm_product
5712          }
5713        });
5714      }
5715      if(typeof cyb != "undefined" && gtm_product.length > 0){
5716        cyb.push({
5717          'event': 'productImpressions',
5718          'impressions': gtm_product
5719        });
5720      }
5721    })
5722  })
5723</script>
5723
5724
5725<!-- cyb_snippet swiper_product end -->
5726  
5727</div>
5728
5729
5730
5731  </div>
5732</div>
5733
5734    </div>
5735
5736    <!-- Footer -->
5737    
5738
5739
5740
5741
5742
5743
5744<style>
5745  
5746  
5747  @media(min-width: 991px) {
5748    .display_x .left-content > div {
5749      max-width: calc(100% / 3);
5750    }
5751  }
5752</style>
5753
5754<div id="index-recommendation"></div>
5755
5756<footer id="footer" class="qk-fs--body qk-bg--footer_bg">
5757  
5758    
5759    <div class="qk-container display_y">
5760      <div class="footer_content qk-mg--0 qk-display--flex qk-justify--between">
5761        <div class="left-content qk-flex--1">
5762          
5763            
5764              <div class="link-list-container">
5765                
5766                  <p class="footer_title qk-fs--title qk-text--footer_text">關於我們</p>
5767                
5768                <div class="item horizontal qk-text--left">
5769                  <ul class="qk-display--flex qk-flex--wrap">
5770                    
5771                      
5772                        <li class="qk-display--il_bk">
5773                          
5774                            <a
5775                              class="qk-text--footer_text"
5776                              href="/pages/about-us"
5777                              rel="noopener noreferrer"
5778                              target="_blank">關於ALLBEST</a>
5779                          
5780                        </li>
5781                      
5782                        <li class="qk-display--il_bk">
5783                          
5784                            <a
5785                              class="qk-text--footer_text"
5786                              href="https://www.allbest888.com/blogs/stories"
5787                              rel="noopener noreferrer"
5788                              target="_blank">網友分享</a>
5789                          
5790                        </li>
5791                      
5792                    
5793                  </ul>
5794                </div>
5795              </div>
5796              
5797          
5798            
5799              <div class="link-list-container">
5800                
5801                  <p class="footer_title qk-fs--title qk-text--footer_text">會員相關</p>
5802                
5803                <div class="item horizontal qk-text--left">
5804                  <ul class="qk-display--flex qk-flex--wrap">
5805                    
5806                      
5807                        <li class="qk-display--il_bk">
5808                          
5809                            <a
5810                              class="qk-text--footer_text"
5811                              href="/pages/privacy"
5812                              rel="noopener noreferrer"
5813                              target="_blank">隱私政策</a>
5814                          
5815                        </li>
5816                      
5817                        <li class="qk-display--il_bk">
5818                          
5819                            <a
5820                              class="qk-text--footer_text"
5821                              href="/pages/payment-and-delivery"
5822                              rel="noopener noreferrer"
5823                              target="_blank">付款及運費說明</a>
5824                          
5825                        </li>
5826                      
5827                        <li class="qk-display--il_bk">
5828                          
5829                            <a
5830                              class="qk-text--footer_text"
5831                              href="/pages/refund"
5832                              rel="noopener noreferrer"
5833                              target="_blank">退換貨說明</a>
5834                          
5835                        </li>
5836                      
5837                        <li class="qk-display--il_bk">
5838                          
5839                            <a
5840                              class="qk-text--footer_text"
5841                              href="https://www.allbest888.com/account/index"
5842                              rel="noopener noreferrer"
5843                              target="_blank">查詢訂單</a>
5844                          
5845                        </li>
5846                      
5847                        <li class="qk-display--il_bk">
5848                          
5849                            <a
5850                              class="qk-text--footer_text"
5851                              href="https://www.allbest888.com/account/login"
5852                              rel="noopener noreferrer"
5853                              target="_blank">會員註冊</a>
5854                          
5855                        </li>
5856                      
5857                    
5858                  </ul>
5859                </div>
5860              </div>
5861              
5862          
5863            
5864              <div class="item contact qk-text--left">
5865                
5866                  <p class="footer_title qk-fs--title qk-text--footer_text">聯絡資訊</p>
5867                
5868                <ul>
5869                  
5870                    <li class="phone qk-bd_r--default qk-bd--footer_text qk-display--il_bk">
5871                      <span class="qk-text--footer_text">客服專線:☎ (02)2680-8568 手機0958-329588</span>
5872                    </li>
5873                  
5874                  
5875                  
5876                    <li class="time qk-bd_r--default qk-bd--footer_text qk-display--il_bk">
5877                      <span class="qk-text--footer_text">客服時間:9:00-18:00</span>
5878                    </li>
5879                  
5880                  
5881                    <br>
5882                    <li class="mail qk-bd_r--default qk-bd--footer_text qk-cursor--pointer qk-display--il_bk">
5883                      <a class="qk-text--footer_text" href="mailto:[email protected]">信箱:[email protected]</a>
5884                    </li>
5885                  
5886                  
5887                    <li class="address qk-bd_r--default qk-bd--footer_text qk-display--il_bk">
5888                      <span class="qk-text--footer_text">地址:新北市樹林區新興街37巷7號1樓</span>
5889                    </li>
5890                  
5891                  
5892                </ul>
5893              </div>
5894              
5895          
5896        </div>
5897        <div class="right-content qk-display--flex qk-flex--column">
5898          
5899          <div class="media qk-display--il">
5900            <div class="item social_media qk-h--auto qk-float--l">
5901              <ul>
5902                
5903                
5904                
5905                  <li class="qk-display--il_bk">
5906                    <a target="_blank" rel="noopener noreferrer" href="https://line.me/zh-hant/">
5907                      <svg
5908                        class="line-svg"
5909                        xmlns="http://www.w3.org/2000/svg"
5910                        width="40"
5911                        height="40"
5912                        viewBox="0 0 40 40">
5913                        <rect class="qk-svg--footer_text" width="40" height="40" rx="20" />
5914                        <path class="qk-svg--footer_bg" d="M32.5946 18.2214C32.5946 12.5857 26.9449 8 20.0002 8C13.0555 8 7.40576 12.5857 7.40576 18.2214C7.40576 23.2743 11.8873 27.5053 17.9396 28.3048C18.3506 28.392 18.908 28.575 19.0487 28.9269C19.1754 29.245 19.1303 29.7433 19.0881 30.0642C19.0881 30.0642 18.9417 30.9537 18.908 31.1423C18.8517 31.4604 18.6546 32.3866 20.0002 31.8207C21.343 31.2549 27.2545 27.5503 29.895 24.5101C31.7191 22.5058 32.5946 20.4762 32.5946 18.2214Z" />
5915                        <path class="qk-svg--footer_text" d="M17.4413 15.4965H16.5574C16.4223 15.4965 16.3125 15.6062 16.3125 15.7414V21.2279C16.3125 21.363 16.4223 21.4728 16.5574 21.4728H17.4413C17.5764 21.4728 17.6862 21.363 17.6862 21.2279V15.7414C17.6862 15.6062 17.5764 15.4965 17.4413 15.4965Z" />
5916                        <path class="qk-svg--footer_text" d="M23.5219 15.4965H22.638C22.5028 15.4965 22.3931 15.6063 22.3931 15.7414V19.0012L19.8792 15.6063C19.8736 15.5978 19.868 15.5894 19.8595 15.5809C19.8595 15.5809 19.8595 15.5809 19.8595 15.5781C19.8539 15.5725 19.8483 15.5668 19.8455 15.564C19.8426 15.564 19.8426 15.5612 19.8398 15.5584C19.8342 15.5556 19.8314 15.55 19.8258 15.5471C19.8229 15.5443 19.8229 15.5443 19.8201 15.5415C19.8173 15.5387 19.8117 15.5359 19.8089 15.5331C19.8061 15.5303 19.8032 15.5303 19.8004 15.5274C19.7948 15.5246 19.792 15.5218 19.7863 15.519C19.7835 15.519 19.7807 15.5162 19.7779 15.5162C19.7723 15.5134 19.7695 15.5105 19.7638 15.5105C19.761 15.5105 19.7582 15.5077 19.7554 15.5077C19.7498 15.5049 19.7469 15.5049 19.7413 15.5021C19.7385 15.5021 19.7357 15.5021 19.7329 15.4993C19.7272 15.4993 19.7244 15.4965 19.7188 15.4965C19.716 15.4965 19.7132 15.4965 19.7075 15.4937C19.7019 15.4937 19.6991 15.4937 19.6935 15.4908C19.6878 15.4908 19.685 15.4908 19.6822 15.4908C19.6794 15.4908 19.6766 15.4908 19.6737 15.4908H18.7898C18.6547 15.4908 18.5449 15.6006 18.5449 15.7358V21.2222C18.5449 21.3574 18.6547 21.4671 18.7898 21.4671H19.6737C19.8089 21.4671 19.9187 21.3574 19.9187 21.2222V17.9709L22.4353 21.3714C22.4522 21.3968 22.4747 21.4165 22.4972 21.4305C22.4972 21.4305 22.5 21.4305 22.5 21.4334C22.5057 21.4362 22.5113 21.439 22.5141 21.4418C22.5169 21.4418 22.5197 21.4446 22.5226 21.4446C22.5254 21.4474 22.531 21.4474 22.5338 21.4503C22.5366 21.4531 22.5423 21.4531 22.5451 21.4559C22.5479 21.4559 22.5507 21.4587 22.5535 21.4587C22.5591 21.4615 22.5648 21.4615 22.5704 21.4643H22.5732C22.5929 21.47 22.6154 21.4728 22.6352 21.4728H23.5191C23.6542 21.4728 23.764 21.363 23.764 21.2279V15.7414C23.7668 15.6063 23.657 15.4965 23.5219 15.4965Z" />
5917                        <path class="qk-svg--footer_text" d="M15.313 20.099H12.9118V15.7414C12.9118 15.6062 12.802 15.4965 12.6669 15.4965H11.783C11.6479 15.4965 11.5381 15.6062 11.5381 15.7414V21.2279C11.5381 21.2926 11.5634 21.3545 11.6056 21.3968L11.6085 21.3996L11.6113 21.4024C11.6563 21.4446 11.7154 21.4699 11.7802 21.4699H15.3102C15.4453 21.4699 15.5551 21.3602 15.5551 21.225V20.3411C15.5579 20.2116 15.4482 20.099 15.313 20.099Z" />
5918                        <path class="qk-svg--footer_text" d="M28.4001 16.8702C28.5352 16.8702 28.645 16.7604 28.645 16.6253V15.7414C28.645 15.6062 28.5352 15.4965 28.4001 15.4965H24.87C24.8053 15.4965 24.7433 15.5218 24.7011 15.5668L24.6983 15.5697C24.6983 15.5725 24.6955 15.5725 24.6955 15.5753C24.6533 15.6203 24.6279 15.6794 24.6279 15.7442V21.2307C24.6279 21.2954 24.6533 21.3573 24.6955 21.3996L24.6983 21.4024L24.7011 21.4052C24.7462 21.4474 24.8053 21.4756 24.87 21.4756H28.4001C28.5352 21.4756 28.645 21.3658 28.645 21.2307V20.3467C28.645 20.2116 28.5352 20.1018 28.4001 20.1018H25.9988V19.1757H28.4001C28.5352 19.1757 28.645 19.0659 28.645 18.9308V18.0469C28.645 17.9118 28.5352 17.802 28.4001 17.802H25.9988V16.8758H28.4001V16.8702Z" />
5919                      </svg>
5920                    </a>
5921                  </li>
5922                
5923                
5924              </ul>
5925            </div>
5926          </div>
5927        </div>
5928      </div>
5929    </div>
5930    
5931  <div class="copyright qk-text--footer_text qk-bd--footer_text qk-text--left qk-bd_t--default">
5932    <div class="qk-container container qk-fw--500">
5933      <span>Copyright ©</span>
5934      <a class="qk-text--link" href="/">
5935        <span>ALLBEST|</span>
5936      </a>
5937      <span>All Rights Reserved.</span>
5938      <span>Designed by
5939      </span>
5940      <a
5941        class="qk-text--link"
5942        href="https://www.cyberbiz.io?utm_source=poweredbycyberbiz"
5943        target="_blank"
5944        rel="noopener noreferrer"
5945        title="Designed by CYBERBIZ">CYBERBIZ</a>.
5946    </div>
5947  </div>
5948  
5949</footer>
5950<script>
5951  $(document).ready(function() {
5952    let isDynamicLoading = false;
5953
5954    let menusData = {
5955      
5956        
5957          "footer": {
5958            
5959              "type": "items",
5960              "data": [
5961                
5962                
5963                  
5964                    {
5965                      "title": "關於ALLBEST",
5966                      "url": "/pages/about-us",
5967                      "item_type": "page"
5968                    },
5969                  
5970                    {
5971                      "title": "網友分享",
5972                      "url": "https://www.allbest888.com/blogs/stories",
5973                      "item_type": "http"
5974                    }
5975                  
5976                
5977              ]
5978            
5979          },
5980        
5981      
5982        
5983          "會員": {
5984            
5985              "type": "items",
5986              "data": [
5987                
5988                
5989                  
5990                    {
5991                      "title": "隱私政策",
5992                      "url": "/pages/privacy",
5993                      "item_type": "page"
5994                    },
5995                  
5996                    {
5997                      "title": "付款及運費說明",
5998                      "url": "/pages/payment-and-delivery",
5999                      "item_type": "page"
6000                    },
6001                  
6002                    {
6003                      "title": "退換貨說明",
6004                      "url": "/pages/refund",
6005                      "item_type": "page"
6006                    },
6007                  
6008                    {
6009                      "title": "查詢訂單",
6010                      "url": "https://www.allbest888.com/account/index",
6011                      "item_type": "http"
6012                    },
6013                  
6014                    {
6015                      "title": "會員註冊",
6016                      "url": "https://www.allbest888.com/account/login",
6017                      "item_type": "http"
6018                    }
6019                  
6020                
6021              ]
6022            
6023          },
6024        
6025      
6026        
6027      
6028    };
6029
6030    if (isDynamicLoading) {
6031      window.DynamicLoading.setupComponent({
6032          sectionId: '#footer',
6033          callbackData:{
6034            section: {"type":"footer","visible":true,"settings":{"footer_link":"footer","display_facebook":false,"shop_facebook":"https://www.facebook.com/allbest8","display_instagram":false,"shop_instagram":"https://www.instagram.com/?hl=zh-tw","display_line":true,"shop_line":"https://line.me/zh-hant/","display_youtube":false,"shop_youtube":"https://www.youtube.com/","footer_link_arrangement":"display_y"},"block_order":["default_link_list","1744785463239_0","default_contact_info"],"blocks":{"default_link_list":{"type":"link_list_setting","thumbnail":"list","draggable":true,"visible":true,"settings":{"dict_link_list_block_title":"關於我們","footer_link":"footer"},"custom_name":"選單"},"default_contact_info":{"type":"contact_info_setting","thumbnail":"contactInfo","draggable":true,"visible":true,"settings":{"contact_info_block_title":"聯絡資訊","display_phone":"true","dict_phone_number":"☎ (02)2680-8568 手機0958-329588","display_fax_number":false,"dict_shop_fax_number":"","display_shop_email":true,"dict_shop_email":"[email protected]","display_shop_address":"true","dict_shop_address":"新北市樹林區新興街37å··7號1樓","display_office_time":true,"dict_shop_office_time":"9:00-18:00","dict_contact_info_block_title":"聯絡資訊","display_tax_id":false,"dict_tax_id":"24624499"},"custom_name":"聯絡資訊"},"1744785463239_0":{"type":"link_list_setting","custom_name":"選單","visible":true,"settings":{"dict_link_list_block_title":"會員相關","footer_link":"會員"}}},"custom_name":"頁腳"},
6035            shop: {
6036              name: 'ALLBEST|',
6037              cyberbiz_link: 'https://www.cyberbiz.io?utm_source=poweredbycyberbiz',
6038              facebook_fan_page: '',
6039            },
6040            menus: menusData,
6041            is_display_facebook_fan_block: false
6042            },
6043          entryName:'renderFooterSection',
6044          source:'//cdn-general.cybassets.com/frontend/shop/footerSection-ec858cfa815323bb.js',
6045        });
6046    }
6047  });
6048</script>
6048
6049
6050<!-- cyb_snippet _tracking_code start -->
6051      
6051<script>
6052        window.fbAsyncInit = function() {
6053          FB.init({
6054          appId : '',
6055          xfbml : true,
6056          version : 'v24.0',
6057          });
6058        };
6059        (function(d, s, id){
6060          var js, fjs = d.getElementsByTagName(s)[0];
6061          if (d.getElementById(id)) {return;}
6062          js = d.createElement(s);
6063          js.id = id;
6064          js.src = 'https://connect.facebook.net/zh_TW/sdk.js';
6065          fjs.parentNode.insertBefore(js, fjs);
6066        }(document, 'script', 'facebook-jssdk'));
6067      </script>
6067
6068
6069
6070<script>
6071  // for scupio
6072  if (document.querySelector("meta[name=\"scupio_mid\"]")) {
6073    mid = document.querySelector("meta[name=\"scupio_mid\"]").content;
6074  } else {
6075    mid = "";
6076  }
6077  if (!window.is_scupio_sent && mid) {
6078    window._bwtm = window._bwtm || []
6079    window._bwtm.push({
6080      "mid": mid,
6081      "uid": ""
6082    });
6083  }
6084</script>
6084
6085
6086<!-- cyb_snippet _tracking_code end -->
6087
6088<script>
6089  $(document).ready(function(){
6090    if(window.location.pathname != '' && window.location.pathname != '/' ){
6091      document.getElementById('index-recommendation').style.display = 'none'
6092    }
6093  });
6094</script>
6094
6095
6096
6097
6098    <!-- Fast-Events -->
6099    <!-- cyb_snippet fast_events start -->
6100
6101
6102<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/fast_events-ec858cfa815323bb.js' type='text/javascript'></script>
6102
6103<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/fast_events-ec858cfa815323bb.css' rel='stylesheet' type='text/css' media='all' />
6104
6105<!-- cyb_snippet fast_events end -->
6106
6107    <div class="bottom-right qk-pos--fixed">
6108      <!-- gototop -->
6109      <div id="gototop" class="qk-display--none qk-text--center">
6110        <a href="javascript:void(0)" class="qk-circle qk-circle--lg qk-pos--relative qk-text--center">
6111          <i class="fas fa-chevron-up"></i>
6112        </a>
6113      </div>
6114
6115      <!-- popup -->
6116      
6117
6118
6119
6120<div id="popup-wrapper" class="qk-display--none"></div>
6121
6122<template id="popup-template">
6123  <div
6124    :class="status"
6125    v-if="hasContent"
6126    id="popup-section"
6127  >
6128    <transition name="backdrop">
6129      <div
6130        v-if="shouldShowPopup"
6131        @click.capture="minifyPopup"
6132        id="popup-backdrop"
6133        class="qk-w--100vw qk-h--100vh qk-pos--fixed qk-t--0 qk-l--0 qk-tst"
6134      >
6135      </div>
6136    </transition>
6137    <transition name="onShow">
6138      <div
6139        @click.self="showPopup"
6140        @transitionstart="updateGameStatus('start', this)"
6141        @transitionend="updateGameStatus('end', this)"
6142        class="popup-content qk-display--flex qk-align--center qk-tst qk-tst_dur--30 qk-tst_timing--ease_o"
6143      >
6144        <div
6145          v-for="block in blocks"
6146          :key="block.id"
6147          :class="[block.type, minifiedBlockClasses, block.settings.icon_size]"
6148          class="block qk-tst qk-tst_dur--30 qk-tst_timing--ease_o qk-of--auto"
6149        >
6150          <div v-if="block.type === 'image'" class="qk-pos--rel">
6151            <img
6152              v-show="!shouldShowPopup"
6153              :src="block.settings.dict_icon_image_url"
6154              class="qk-tst qk-tst_dur--30 qk-tst_timing--ease_o"
6155              alt="popup button"
6156            >
6157            <a
6158              v-show="shouldShowPopup"
6159              :href="block.settings.dict_link"
6160              :target="block.settings.target"
6161              :rel="block.settings.rel"
6162              class="qk-display--flex qk-align--center"
6163              @click="linkClicked"
6164            >
6165              <picture>
6166                <source :srcset="block.settings.dict_mobile_image_url" media="(max-width: 576px)">
6167                <source :srcset="block.settings.dict_tablet_image_url" media="(max-width: 992px)">
6168                <img
6169                  :src="block.settings.dict_image_url"
6170                  class="qk-tst qk-tst_dur--30 qk-tst_timing--ease_o"
6171                  alt="popup picture"
6172                />
6173              </picture>
6174            </a>
6175          </div>
6176          <div v-if="block.type === 'video'">
6177            <iframe
6178              :src="block.settings.dict_video_link"
6179              frameborder="0"
6180              class="qk-center--y qk-w--100 qk-h--100"
6181            ></iframe>
6182          </div>
6183          <div v-if="block.type === 'game'">
6184            <div v-show="gameStatus === 'show'" :class="{ 'show-game': gameStatus === 'show' }">
6185              <iframe
6186                class="cb-game-iframe iframe-loading"
6187                :src="getGameIframeSrc(block)"
6188                style="border: none;"
6189              >
6190                Loading
6191              </iframe>
6192            </div>
6193            <div v-show="gameStatus === 'minified'">
6194              <img
6195                src="//cdn-general.cybassets.com/game_assets/game_minified_new.png"
6196                class="qk-h--100 qk-w--100"
6197                alt="game minified icon"
6198              />
6199            </div>
6200          </div>
6201          <div
6202            v-if="block.type === 'carousel'"
6203            :id="`popup-carousel-${block.id}`"
6204          >
6205          </div>
6206        </div>
6207      </div>
6208    </transition>
6209    <transition name="backdrop">
6210      <div
6211        v-if="shouldShowPopup"
6212        @click.capture="minifyPopup"
6213        class="minify-popup qk-circle qk-circle--md qk-text--black qk-bg--white qk-bd--default qk-bd--border qk-text--center qk-cursor--pointer qk-pos--fixed"
6214      >
6215      </div>
6216    </transition>
6217  </div>
6218</template>
6219
6220<script>
6221  $(document).ready(function() {
6222    const CDN_HOST = '//cdn-general.cybassets.com';
6223    const section = {"type":"popup","visible":true,"blocks":{"popup_block_1":{"type":"image","visible":false,"settings":{"dict_image_url":"","icon_size":"small"},"custom_name":"圖片"}},"block_order":["popup_block_1"],"settings":{},"custom_name":"彈窗廣告"};
6224    var popupSection = Vue.createApp({
6225      template: '#popup-template',
6226      delimiters: ['${', '}'],
6227      data() {
6228        const isOmniauthPage = ['omniauth_terms_agreement', 'omniauth_mobile/']
6229          .some(path => location.pathname.includes(path));
6230        return {
6231          status: 'minified',
6232          gameStatus: 'show',
6233          blocks: isOmniauthPage
6234            ? []
6235            : section.block_order && section.block_order.reduce(
6236                function(acc, blockId) {
6237                  const block = section.blocks[blockId];
6238                  if (block && block.visible) {
6239                    acc.push({
6240                      ...block,
6241                      id: blockId,
6242                    });
6243                  }
6244                  return acc;
6245                },
6246                [],
6247              ),
6248          hasAddedGameScript: false,
6249        };
6250      },
6251      computed: {
6252        hasContent: function() {
6253          return !!(this.blocks && this.blocks.length > 0);
6254        },
6255        minifiedBlockClasses: function() {
6256          return this.status === 'minified' ? 'qk-pointer--none qk-unselectable' : '';
6257        },
6258        shouldShowPopup: function() {
6259          return this.status === 'show';
6260        }
6261      },
6262      methods: {
6263        unhidePopup: function(storedStatus) {
6264          this.status = storedStatus;
6265          $('#popup-wrapper').removeClass('qk-display--none');
6266        },
6267        showPopup: function() {
6268          if (this.status !== 'show') {
6269            this.status = 'show';
6270            this.saveStatus(this.status);
6271          }
6272        },
6273        minifyPopup: function() {
6274          this.status = 'minified';
6275          this.saveStatus('minified');
6276        },
6277        loadStatus: function() {
6278          return JSON.parse(localStorage.getItem('popupStatus'));
6279        },
6280        saveStatus: function(status) {
6281          if (status) {
6282            localStorage.setItem('popupStatus', JSON.stringify({
6283              status: status,
6284              setTime: new Date().getTime(),
6285            }));
6286          }
6287        },
6288        linkClicked: function() {
6289          this.saveStatus('minified');
6290        },
6291        parseVideoLink: function(settings) {
6292          settings.dict_video_link = themeHelper.parseYtUrl(settings.dict_video_link);
6293        },
6294        setupImageSrc: function (settings) {
6295          settings.dict_image_url = this.addCdnHost(settings.dict_image_url);
6296          if (settings.dict_tablet_image_url) {
6297            settings.dict_tablet_image_url = this.addCdnHost(settings.dict_tablet_image_url);
6298          }
6299          if (settings.dict_mobile_image_url) {
6300            settings.dict_mobile_image_url = this.addCdnHost(settings.dict_mobile_image_url);
6301          }
6302          settings.dict_icon_image_url = this.addCdnHost(settings.dict_icon_image_url) || settings.dict_image_url;
6303        },
6304        addCdnHost: function(url) {
6305          if (!url) {
6306            return url; // only add cdn host if url is not empty
6307          }
6308
6309          try {
6310            new URL(url);
6311            return url; // already a valid url, cdn host not needed
6312          } catch {
6313            return `${CDN_HOST}${url}`;
6314          }
6315        },
6316        initStatus: function() {
6317          let newStatus = 'show';
6318          const popupStatus = this.loadStatus();
6319          const currentTime = new Date().getTime();
6320          const oneDay = 1000 * 60 * 60 * 24;
6321          const hasStoredStatus = popupStatus && currentTime - popupStatus.setTime < oneDay;
6322          const redirectedByGameLogin = !this.hasRedirectUrl() && this.redirectedByGameLogin();
6323          const isLoggingIn = this.isLoggingIn();
6324          const isCartPage = window.location.pathname.split('/').includes('carts');
6325
6326          if (hasStoredStatus && !redirectedByGameLogin) {
6327            newStatus = popupStatus.status;
6328          }
6329
6330          if (isLoggingIn) {
6331            newStatus = 'minified';
6332          } else {
6333            localStorage.removeItem('redirectedByPopup');
6334          }
6335
6336          setTimeout(() => {
6337            this.status = newStatus;
6338            this.gameStatus = newStatus;
6339            this.saveStatus(newStatus);
6340            if(!isCartPage){
6341              this.unhidePopup(newStatus);
6342            }
6343          }, 1000);
6344        },
6345        initBlocks: function() {
6346          if (this.hasContent) {
6347            this.blocks.forEach(block => {
6348              switch(block.type) {
6349                case 'image':
6350                  this.setupImageSrc(block.settings);
6351
6352                  const isOpenInNewTab = block.settings.link_open_in_new_tab;
6353                  if (isOpenInNewTab) {
6354                    block.settings.target = '_blank';
6355                    block.settings.rel = 'noopener noreferrer';
6356                  }
6357
6358                  break;
6359                case 'video':
6360                  this.parseVideoLink(block.settings);
6361                  break;
6362              }
6363            })
6364          }
6365        },
6366        getGameIframeSrc: function (block) {
6367          return `/games/${block.settings.dict_game_handle}`
6368        },
6369        updateGameStatus: function(type, element) {
6370          if (
6371            (type === 'start' && this.status === 'minified')
6372            || (type === 'end' && this.status === 'show')
6373          ) {
6374            this.gameStatus = this.status;
6375          }
6376        },
6377        setupGameRedirects: function() {
6378          window.addEventListener('pagehide', () => {
6379            const isGameActive = document.body.getElementsByClassName('show-game').length;
6380            if (isGameActive) {
6381              localStorage.setItem('redirectedByPopup', 'true');
6382              this.saveStatus('minified');
6383            }
6384          });
6385        },
6386        hasRedirectUrl: function() {
6387          return (new URLSearchParams(location.search)).has('redirect_url');
6388        },
6389        redirectedByGameLogin: function() {
6390          return localStorage.getItem('redirectedByPopup');
6391        },
6392        isLoggingIn: function() {
6393          const loginRelatedPathnames = [
6394            'account/signup',
6395            'account/login',
6396            'account/customer/password/new',
6397            'pages/terms'
6398          ];
6399          return loginRelatedPathnames.some(path => location.pathname.includes(path));
6400        }
6401      },
6402      created: function() {
6403        this.initStatus();
6404        this.initBlocks();
6405        this.setupGameRedirects();
6406      },
6407      mounted: function() {
6408        this.blocks.forEach((block) => {
6409          if (block.type === 'carousel' && block.settings.dict_c
6409arousel) {
6410            renderCarousel(`#popup-carousel-${block.id}`, {
6411              title: block.settings.dict_carousel,
6412              CDN_HOST,
6413              onLinkClick: () => this.linkClicked(),
6414            });
6415          }
6416        });
6417      },
6418    });
6419    popupSection.mount('#popup-wrapper');
6420  });
6421</script>
6421
6422
6423
6424
6425    </div>
6426
6427    <!-- ajaxloading -->
6428    <div id="ajaxloading" class="qk-display--none qk-h--100vh qk-w--100vw qk-l--0 qk-t--0 qk-pos--fixed">
6429      <div class="ajaxbody qk-pos--abs qk-l--50 qk-t--50 qk-text--center">
6430        <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="73.4" height="73.4" viewBox="0 0 73.4 73.4">
6431          <circle class="circle" fill="none" stroke="#898989" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" cx="36.7" cy="36.7" r="35.2"/>
6432          <polyline class="success_path" fill="none" stroke="#898989" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="23.7,36.8 32.4,45.4 49.7,28 "/>
6433          <path class="success_icon" fill="#898989" d="M32.5,46.9c-0.4,0-0.8-0.2-1.1-0.4l-8.6-8.6c-0.6-0.6-0.6-1.5,0-2.1s1.5-0.6,2.1,0l7.5,7.5L48.6,27c0.6-0.6,1.5-0.6,2.1,0s0.6,1.5,0,2.1L33.5,46.5C33.2,46.7,32.9,46.9,32.5,46.9L32.5,46.9z"/>
6434          <line class="fail_path" fill="none" stroke="#898989" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="26.6" y1="26.6" x2="46.8" y2="46.8"/>
6435          <line class="fail_path" fill="none" stroke="#898989" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="46.8" y1="26.6" x2="26.6" y2="46.8"/>
6436          <path class="fail_icon" fill="#898989" d="M38.7,36.7l9.1-9.1c0.6-0.6,0.6-1.5,0-2.1s-1.5-0.6-2.1,0l-9.1,9.1l-9.1-9.1c-0.6-0.6-1.5-0.6-2.1,0s-0.6,1.5,0,2.1l9.1,9.1l-9.1,9.1c-0.6,0.6-0.6,1.5,0,2.1c0.3,0.3,0.7,0.4,1.1,0.4s0.8-0.1,1.1-0.4l9.1-9.1l9.1,9.1c0.3,0.3,0.7,0.4,1.1,0.4s0.8-0.1,1.1-0.4c0.6-0.6,0.6-1.5,0-2.1L38.7,36.7z"/>
6437        </svg>
6438        <div class="success_msg title qk-display--none qk-pos--abs qk-l--0 qk-w--100 qk-text--center">已加入購物車</div>
6439        <div class="success_update_msg title qk-display--none qk-pos--abs qk-l--0 qk-w--100 qk-text--center">已更新購物車</div>
6440        <div class="fail_msg title qk-display--none qk-pos--abs qk-l--0 qk-w--100 qk-text--center">網路異常,請重新整理</div>
6441      </div>
6442    </div>
6443  
6443<script src="//cdn-general.cybassets.com/assets/referral-code-trace-5fcbbe026a61c36b5f09a1615a1c168688205205d9d3e7ee854181a66b64a6ed.js"></script>
6443
6444      
6444<script>
6445      cyb.push({
6446        'event': 'productDetails',
6447        'ecommerce': {
6448          'currencyCode': 'TWD',
6449          'detail': {
6450            'products': [{"id":55814874,"name":"免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維","price":1380.0,"brand":null,"category":null,"variant":""}]
6451           }
6452         }
6453      });
6454      </script>
6454
6455    
6456      
6456<script>
6457        if (window.fbq) {
6458          fbq("track", "ViewContent", {
6459            content_name: "免運|女款礦系列POLO衫|一件會呼吸的涼感衣 豐田玉天然抑菌鋅纖維 抗UV防曬衣 Lycra萊卡彈性纖維",
6460            content_ids: "67176978",
6461            content_type: "product",
6462            value: 1380.0,
6463            currency: "TWD",
6464            contents: [{"id":67176978,"price":1380.0,"quantity":50},{"id":67176979,"price":1380.0,"quantity":50},{"id":67176980,"price":1380.0,"quantity":48},{"id":67176982,"price":1380.0,"quantity":50},{"id":67176983,"price":1380.0,"quantity":50},{"id":67176984,"price":1380.0,"quantity":50},{"id":67176986,"price":1380.0,"quantity":50},{"id":67176987,"price":1380.0,"quantity":50},{"id":67176988,"price":1380.0,"quantity":50},{"id":67176990,"price":1380.0,"quantity":50},{"id":67176991,"price":1380.0,"quantity":50},{"id":67176992,"price":1380.0,"quantity":50}],
6465            content_category: null
6466          },{
6467            eventID: "ViewContent_1398F53EFA8C0A98369BB9EE317B74CD"
6468          });
6469        }
6470      </script>
6470
6471    </body>
6472
6473  
6473<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/sub_vendor-ec858cfa815323bb.js' type='text/javascript'></script>
6473
6474  
6474<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/theme_helper-ec858cfa815323bb.js' type='text/javascript'></script>
6474
6475
6476  <!-- theme assets -->
6477  
6477<script src='//cdn-general.cybassets.com/s/files/29668/theme/119170/assets/js/1744885021_8b6ea41a_main.js?1744885021' type='text/javascript'></script>
6477
6478  
6478<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/theme-ec858cfa815323bb.js' type='text/javascript'></script>
6478
6479
6480  <!-- for cache -->
6481  
6481<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/cacheable-ec858cfa815323bb.js' type='text/javascript'></script>
6481
6482</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.