PageSourceSearch

https://www.carryongarden.com/

html carryongarden.com collected 2026-09-30 22:45:02 UTC 284,097 bytes, 4,951 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    <!-- Google Tag Manager -->
8            
8<script>
vendor: 375 bytes, lines 8-12
8(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
9            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
10            j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
11            'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
12            })(window,document,'script','dataLayer','
12GTM-57LN3CKM
vendor: 3 bytes, line 12
12');
12</script>
12
13          <!-- End Google Tag Manager -->
14      <!-- CYBERBIZ Google Tag Manager -->
15      
15<script>
vendor: 345 bytes, lines 15-19
15(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
16      new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
17      j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
18      'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
19      })(window,document,'script','cyb','
19GTM-TXD9LVJ
vendor: 3 bytes, line 19
19');
19</script>
19
20      <!-- End CYBERBIZ Google Tag Manager -->
21    
22    <meta charset="utf-8">
23<meta http-equiv="X-UA-Compatible" content="IE=edge">
24<meta name="viewport" content="width=device-width, initial-scale=1">
25<link rel="icon" href="https://cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc1NjIxNDA2X-aenOWckkxPR08ucG5nLnBuZyJdXQ.png?convert=false&sha=ea9d616a1920651b">
26<link rel="apple-touch-icon" href="https://cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc1NjIxNDA2X-aenOWckkxPR08ucG5nLnBuZyJdXQ.png?convert=false&sha=ea9d616a1920651b">
27
28<meta property="og:site_name" content="carryongarden" />
29
30<!-- og tag -->
31
32  <meta name="keywords" content="川涌果園|柑橘清潔劑" />
33  <meta name="description" content="柑橘清潔劑" />
34  <meta property="og:title" content="carryongarden 川涌果園" />
35  <meta property="og:description" content="柑橘清潔劑" />
36  <meta property="og:url" content="https://www.carryongarden.com" />
37  <meta property="og:type" content="website" />
38
39
40<!-- og image -->
41
42  
43  <meta property="og:image" content="https://cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc1NjIxNDA2X-aenOWckkxPR08ucG5nLnBuZyJdXQ.png?sha=ea9d616a1920651b" />
44  
45
46
47<title>
48  
49    carryongarden 川涌果園
50  
51</title>
52
53
54  <style>
55    *:not(input):not(textarea) {
56      -webkit-touch-callout:none;
57      -webkit-user-select:none;
58      -khtml-user-select:none;
59      -moz-user-select:none;
60      -ms-user-select:none;
61      user-select:none;
62    }
63  </style>
64
65  
65<script>
66    (function () {
67      function stopEvent(event) {
68        event.preventDefault();
69        event.stopPropagation();
70      }
71
72      ['dragstart', 'selectstart', 'contextmenu'].forEach(function(event) {
73        document.addEventListener(event, stopEvent);
74      });
75    }
76    )();
77  </script>
77
78
79
80<script src='//cdn-general.cybassets.com/frontend/shop/useSettingsData-3a2e378145f8a165.js' type='text/javascript'></script>
80
81
82
83
84  
84<script>
85    window.setSettingsData({"draggable_sections":{"404":[],"index":["_main_slider_custom","_index_product_banner","1783495357112_2","_index_8_blocks","1779085303274_2","_index_4_blocks","_index_4_blocks_2"],"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":[],"custom_page":["_main_slider_custom","_index_product_banner","_index_8_blocks","1779085303274_2","_index_4_blocks","_index_4_blocks_2"]},"sections":{"navbar":{"type":"navbar","visible":true,"settings":{"navbar_image_logo_url":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc1NjIxNDA2X-aenOWckkxPR08ucG5nLnBuZyJdXQ.png?sha=ea9d616a1920651b","navbar_image_logo_tablet_url":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc1NjIxNDA2X-aenOWckkxPR08ucG5nLnBuZyJdXQ.png?sha=ea9d616a1920651b","navbar_image_logo_mobile_url":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc1NjIxNDA2X-aenOWckkxPR08ucG5nLnBuZyJdXQ.png?sha=ea9d616a1920651b","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":"","dict_header_banner_image_tablet_url":"","dict_header_banner_image_mobile_url":"","dict_header_banner_link":"https://lin.ee/QYIub4Q","display_count_down":false,"navbar_display_style":"displayDefault","header_banner_start":"","header_banner_end":"","timer_text_color":"#ffffff","timer_bg_color":"#000000","navbar_background_transparent":false,"menu_display_style":"two_dimension_menu","logo_height":"","mobile_logo_position":"center","link_menu_enabled":false,"link_menu":"undefined","navbar_pc_title_font_size_scale":"100","navbar_pc_body_font_size_scale":"100","navbar_mobile_title_font_size_scale":"100","navbar_mobile_body_font_size_scale":"100","display_banner_type":"textBanner","header_banner_simple_text":"加入川涌果園官方LINE領免運卷!","header_banner_simple_text_size":"12","header_banner_simple_text_color":"#ffffff","header_banner_simple_bg":"#33442f","breadcrumb_referrer_enabled":false},"custom_name":"導覽列"},"footer":{"type":"footer","visible":true,"settings":{"footer_link":"footer","display_facebook":true,"shop_facebook":"https://www.facebook.com/","display_instagram":true,"shop_instagram":"https://www.instagram.com/?hl=zh-tw","display_line":true,"shop_line":"https://line.me/zh-hant/","display_youtube":true,"shop_youtube":"https://www.youtube.com/","footer_link_arrangement":"display_x","display_facebook_fan_block":true},"block_order":["default_contact_info","default_link_list","default_link_list_2"],"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":{"dict_contact_info_block_title":"聯絡我們","display_phone":true,"dict_phone_number":"0930-691331","display_fax_number":false,"dict_shop_fax_number":"02-22345678","display_shop_email":true,"dict_shop_email":"[email protected]","display_shop_address":true,"dict_shop_address":"台南市中西區民生路一段100號(僅為聯絡地址,不對外開放)","display_office_time":true,"dict_shop_office_time":"10:30am - 4:00pm","display_tax_id":true,"dict_tax_id":"0018850"},"custom_name":"聯絡資訊"},"default_link_list_2":{"type":"link_list_setting","visible":true,"settings":{"dict_link_list_block_title":"Menu","footer_link":"main-menu"},"custom_name":"選單"}},"custom_name":"頁腳"},"_main_slider_custom":{"type":"_main_slider_custom","visible":true,"blocks":{"display_main_slider_item_1":{"type":"image","visible":true,"settings":{"dict_link":"/pages/about-us","dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzg3NTM5Mjc1X1BD5a6Y57ayQmFubmVyIDE5MjB4IDEwODAucG5nLnBuZyJdXQ.png?sha=6e250759509c3a69","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzg3NTM5Mjc1X1BD5a6Y57ayQmFubmVyIDE5MjB4IDEwODAucG5nLnBuZyJdXQ.png?sha=6e250759509c3a69","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzg3NTM5Mjc1X1BD5a6Y57ayQmFubmVyIDE5MjB4IDEwODAucG5nLnBuZyJdXQ.png?sha=6e250759509c3a69","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","link_open_in_new_tab":true},"custom_name":"素材"},"display_main_slider_item_2":{"type":"image","visible":true,"settings":{"dict_link":"","dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc3NTc1Mzk5XzIwMDB4ICgxKS53ZWJwLndlYnAiXV0.webp?sha=fee9ab6d04f0c0d9","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc3NTc1Mzk5XzIwMDB4ICgxKS53ZWJwLndlYnAiXV0.webp?sha=fee9ab6d04f0c0d9","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc3NTc1Mzk5XzIwMDB4ICgxKS53ZWJwLndlYnAiXV0.webp?sha=fee9ab6d04f0c0d9","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"},"custom_name":"素材"},"1783495950014_0":{"type":"image","custom_name":"素材","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzg4MjQ3ODIzX0NZ5qmr5bmF5buj5ZGKICgxOTIwIHggMTA4MCDlg4_ntKApLnBuZy5wbmciXV0.png?sha=fc0a15688bff193b","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzg4MjQ3ODIzX0NZ5qmr5bmF5buj5ZGKICgxOTIwIHggMTA4MCDlg4_ntKApLnBuZy5wbmciXV0.png?sha=fc0a15688bff193b","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzg4MjQ3ODIzX0NZ5qmr5bmF5buj5ZGKICgxOTIwIHggMTA4MCDlg4_ntKApLnBuZy5wbmciXV0.png?sha=fc0a15688bff193b","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":["display_main_slider_item_1","display_main_slider_item_2","1783495950014_0"],"settings":{"margin_x":"0","margin_bottom":"48","mobile_margin_x":"0","mobile_margin_bottom":"24","swiper_delay":"3","transition_speed":"0.3","image_number":"1","image_space":"12","mobile_image_number":"1","mobile_image_space":"8"},"custom_name":"輪播素材"},"_index_8_blocks":{"type":"_index_8_blocks","visible":true,"settings":{"dict_title":"柑淨日常系列","collection_handle":"cleanlife","limit":"4","margin_x":"0","margin_bottom":"48","mobile_margin_x":"","mobile_margin_bottom":"24","product_display":"displayPartial","product_arrangement":"2","product_column_for_pc":"4","product_column_for_mobile":"3","product_alignment":"leftPosition","product_text_align":"center","product_card_hover_effect":"button","product_image_border_radius":"15"},"custom_name":"商品分類"},"_index_product_banner":{"type":"_index_product_banner","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc4NjQ1MzgwX-WPluiHquWkp-WcsOeahOe0lOeyue-8jCDpgoTljp_nlJ_mtLvmnIDljp_mnKznmoTjgI7mn5Hmt6jml6XluLjjgI8ucG5nLnBuZyJdXQ.png?sha=9cc559384cee5c5f","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc4NjQ1MzgwX-WPluiHquWkp-WcsOeahOe0lOeyue-8jCDpgoTljp_nlJ_mtLvmnIDljp_mnKznmoTjgI7mn5Hmt6jml6XluLjjgI8ucG5nLnBuZyJdXQ.png?sha=9cc559384cee5c5f","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc4NjQ1MzgwX-WPluiHquWkp-WcsOeahOe0lOeyue-8jCDpgoTljp_nlJ_mtLvmnIDljp_mnKznmoTjgI7mn5Hmt6jml6XluLjjgI8ucG5nLnBuZyJdXQ.png?sha=9cc559384cee5c5f","dict_link":"","display_cta_btn":true,"cta_btn_display_style":"midPosition","cta_btn_text":"Read More","cta_btn_bg_color":"#f07d4a","cta_btn_text_color":"#ffffff","margin_x":"80","margin_bottom":"48","mobile_margin_x":"0","mobile_margin_bottom":"24"},"blocks":{},"block_order":[],"custom_name":"橫幅廣告"},"_index_4_blocks":{"type":"_index_4_blocks","visible":false,"blocks":{"index_4_blocks_block_1":{"type":"image","visible":true,"settings":{"title":"","dict_link":"/collections/life","dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc5MDgyOTg4X05ldXRyYWwgTWluaW1hbGlzdGljIFNraW4gQ2FyZSBUaXBzIEluc3RhZ3JhbSBQb3N0ICgxKS5wbmcucG5nIl1d.png?sha=176d570d46fc9352","dict_tablet_image_url":"","dict_mobile_image_url":"","block_propotion":"33.3","dict_image_description":"","dict_image_title":"柑淨日常系列","link_open_in_new_tab":true},"custom_name":"圖片"},"index_4_blocks_block_2":{"type":"image","visible":true,"settings":{"dict_image_url":"/theme_src/i18n_nolli/default_img/index_4_blocks_1_block_2.png","dict_tablet_image_url":"","dict_mobile_image_url":"","dict_link":"/collections/food","block_propotion":"33.3","dict_image_description":"","dict_image_title":"柑甜食光系列"},"custom_name":"圖片"},"index_4_blocks_block_3":{"type":"image","visible":true,"settings":{"dict_image_url":"/theme_src/i18n_nolli/default_img/index_4_blocks_1_block_3.png","dict_tablet_image_url":"","dict_mobile_image_url":"","dict_link":"","block_propotion":"33.3","dict_image_description":""},"custom_name":"圖片"}},"block_order":["index_4_blocks_block_1","index_4_blocks_block_2","index_4_blocks_block_3"],"settings":{"margin_x":"180","margin_bottom":"48","mobile_margin_x":"0","mobile_margin_bottom":"24","mobile_columns":1,"margin_block":"10","mobile_margin_block":"10","mobile_align":"left"},"custom_name":"自訂排版設計"},"_index_4_blocks_2":{"type":"_index_4_blocks","visible":true,"settings":{"margin_x":"80","margin_bottom":"48","mobile_margin_x":"16","mobile_margin_bottom":"24","mobile_columns":2,"margin_block":"10","mobile_margin_block":"10","mobile_align":"left"},"blocks":{"_index_4_blocks_2_block_1":{"type":"video","visible":true,"settings":{"dict_video_link":"https://youtu.be/7RG8FE4tAEs?si=H5zhgFc7jg0g3URb","block_propotion":"100","auto_play":false,"hide_controls":false,"loop":true},"custom_name":"影片"},"1777574801971_1":{"type":"video","custom_name":"影片","visible":true,"settings":{"dict_video_link":"https://youtu.be/2Kh5Fzcr6yg?si=VxmNRZ0E66SZqzLY","auto_play":false,"hide_controls":false,"loop":true,"block_propotion":"100"}}},"block_order":["_index_4_blocks_2_block_1","1777574801971_1"],"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_nolli/default_img/index_4_blocks_1_block_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":"
856","category_product_item_limit":"18"}},"shop_setting":{"type":"shop_setting","visible":true,"settings":{"favicon_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc1NjIxNDA2X-aenOWckkxPR08ucG5nLnBuZyJdXQ.png?sha=ea9d616a1920651b","og_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc1NjIxNDA2X-aenOWckkxPR08ucG5nLnBuZyJdXQ.png?sha=ea9d616a1920651b","shop_title":"川涌果園","shop_description":"柑橘清潔劑","shop_keywords":"川涌果園|柑橘清潔劑","prevent_right_click":true},"custom_name":"全站設定"},"color_settings":{"type":"color_settings","visible":true,"settings":{"button_color":"#13180d","button_text_color":"#ffffff","accent_color":"#f07d4a","heading_color":"#000000","text_color":"#bbb19e","price_color":"#f07d4a","discount_price_color":"#f07d4a","theme_bg_color":"#FFFFFF","product_border_color":"#bbb19e","nav_logo_bg_color":"#ffffff","nav_menu_bg_color":"#ffffff","nav_menu_text_color":"#000000","nav_menu_icon_color":"#643114","footer_bg_color":"#fff9f2","footer_text_color":"#555555","checkout_button_color":"#f07d4a","checkout_accent_color":"#643114","tips_text_color":"#0C5460"},"custom_name":"顏色設定"},"popup":{"type":"popup","visible":true,"blocks":{"popup_block_1":{"type":"image","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc5MTIyMDE2X-aXpeabtDU0IOeahOikh-acrCDnmoTopIfmnKwucG5nLnBuZyJdXQ.png?sha=b6e69a9d3ca95344","icon_size":"middle","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc5MTIyMDE2X-aXpeabtDU0IOeahOikh-acrCDnmoTopIfmnKwucG5nLnBuZyJdXQ.png?sha=b6e69a9d3ca95344","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc5MTIyMDE2X-aXpeabtDU0IOeahOikh-acrCDnmoTopIfmnKwucG5nLnBuZyJdXQ.png?sha=b6e69a9d3ca95344","dict_icon_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc5MTIyMDE2X-aXpeabtDU0IOeahOikh-acrCDnmoTopIfmnKwucG5nLnBuZyJdXQ.png?sha=b6e69a9d3ca95344","dict_link":"https://lin.ee/Vg1Pb9b"},"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"}},"404":{"type":"404","visible":true,"settings":{"image_url":"/theme_src/i18n_nolli/default_img/404_img.png","dict_404_image_url":"/theme_src/i18n_nolli/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":{}},"1779085303274_2":{"type":"_index_8_blocks","custom_name":"商品分類","visible":true,"settings":{"dict_title":"柑甜食光系列","collection_handle":"food","limit":"4","product_arrangement":"2","product_column_for_pc":"4","product_column_for_mobile":"3","product_alignment":"leftPosition","product_text_align":"center","margin_x":"0","margin_bottom":"50","mobile_margin_x":"0","mobile_margin_bottom":"24","product_display":"displayDefault","product_card_hover_effect":"button","product_image_border_radius":"15"},"blocks":{},"block_order":[]},"1783495357112_2":{"type":"_index_8_blocks","custom_name":"商品分類","visible":true,"settings":{"dict_title":"柑好免運系列","collection_handle":"柑好免運組","limit":"4","product_arrangement":"2","product_column_for_pc":"4","product_column_for_mobile":"3","product_alignment":"leftPosition","product_text_align":"center","margin_x":"0","margin_bottom":"50","mobile_margin_x":"0","mobile_margin_bottom":"24","product_display":"displayDefault","product_card_hover_effect":"button","product_image_border_radius":"15"},"blocks":{},"block_order":[]},"announcement_bar":{"type":"announcement_bar","visible":true,"blocks":{"announcement_bar_block_1":{"type":"text","visible":true,"settings":{"display_only_index":false,"display_period":"always","dict_link":"https://lin.ee/QYIub4Q","link_open_in_new_tab":false,"dict_image_url":"","dict_image_tablet_url":"","dict_image_mobile_url":"","image_alt":"","dict_content":"加入川涌果園官方LINE領免運卷!","text_size":"12","text_color":"#ffffff","bg_color":"#33442f","timer_text_color":"#ffffff","timer_bg_color":"#000000","migrated_from_navbar":true},"custom_name":"文字"}},"block_order":["announcement_bar_block_1"],"settings":{"display_mode":"vertical","carousel_interval":"3"},"custom_name":"置頂公告"}},"navbar_image_logo":true,"show_default_all_products":true,"one_dimension_limit":"
856","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":"","index_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,"nav_icon_style":"icon_type_default","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":"buttonType","product_video_display_location":"before","product_card_hover_effect":"button","product_labels":{"items":[{"id":"sale_label","kind":"system","title":"特價標籤","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"large"},{"id":"out_of_stock_label","kind":"system","title":"缺貨標籤","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"},{"id":"periodic_event_label","kind":"system","title":"定期定額標籤","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"},{"id":"7015a86e-7c86-419f-9234-7c29801222d8","kind":"custom","title":"自定義標籤 1","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"},{"id":"fd338e98-9325-460b-a317-d6b9ae3936b2","kind":"custom","title":"自定義標籤 2","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"},{"id":"dc33aa94-26d1-4a43-b430-753177e6ba6b","kind":"custom","title":"自定義標籤 3","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"},{"id":"dbb04026-5fe8-47e1-b7a2-bb8436e75cde","kind":"custom","title":"自定義標籤 4","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"},{"id":"d6d42b70-96ec-4e56-95f1-7be60662be59","kind":"custom","title":"自定義標籤 5","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"}]},"product_image_border_radius":"0"});
86  </script>
86
87
88
89
90
91
92
93
94
95  
95<script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","url":"https://www.carryongarden.com","logo":"https://cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc1NjIxNDA2X-aenOWckkxPR08ucG5nLnBuZyJdXQ.png?sha=ea9d616a1920651b"}</script>
95<script type="application/ld+json">{"@context":"https://schema.org/","@type":"WebSite","name":"carryongarden","url":"https://www.carryongarden.com","potentialAction":{"@type":"SearchAction","target":"www.carryongarden.com/search?q={search_term_string}","query-input":"required name=search_term_string"}}</script>
95
96
97
98
99    <!-- for vendor -->
100    <!-- cyb_snippet _bootstrap start -->
101
102<!-- cyb_snippet _bootstrap end -->
103    <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/vendor-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' />
104
105    <!-- common css rulesets -->
106    <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/common-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' />
107
108    <!-- for navbar -->
109    <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/navbar-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' />
110
111    <!-- for footer -->
112    <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/footer-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' />
113
114    <!-- theme assets -->
115    <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/main-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' />
116
117    <!-- for vendor -->
118    
118<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/vendor-3a2e378145f8a165.js' type='text/javascript'></script>
118
119
120            
120<script>
121          window.sci = "eyJzaG9wX2lkIjozNTgzMiwic2hvcF9wbGFuIjoiYm9zc19wbHVzIiwiZGlt\nX2FmZmlsaWF0ZSI6bnVsbCwiY3VzdG9tZXJfaWQiOm51bGwsImN1c3RvbWVy\nX25hbWUiOm51bGwsInNob3BfbmFtZSI6ImNhcnJ5b25nYXJkZW4iLCJzaGFy\nZV9hdHRyaWJ1dGlvbl9lbmFibGVkIjpmYWxzZX0=\n";
122        </script>
122
123
124
125<meta name="csrf-param" content="authenticity_token" />
126<meta name="csrf-token" content="GKXZk-0inlgF09CRn_Uky6c1AWfCARwkr99kPD1FhNei8hD2Fxsnbns_ae5GvOgMp83ha_zMxwWm9jVPi0MnaA" />
127<script>(function () {
128  window.gaConfigurations = {"useProductIdInProductEvents":false};
129})();
130</script>
vendor: 1 bytes, line 130
130
131<script>(function () {
132  window.CYBERBIZ_PageContext = {"page_type":"home"};
133})();
134</script>
134
135<link href="//cdn-general.cybassets.com/frontend/shop/quark-3a2e378145f8a165.css" rel="stylesheet" type="text/css" media="all" />
136        
136<script>
137          window.shopScriptHelper = {
138            i18nLocale: "zh-TW",
139            i18nLocaleDefault: "zh-TW",
140            availableCurrencies: [],
141            defaultCurrency: "TWD",
142            currenciesInfo: [{"name":"新台幣 (TWD)","html":"NT${{amount_no_decimals}}","money_format":"%u%n","unit":"","decimal_precision":0,"email_unit":"NT${{amount_no_decimals}}","html_unit":"NT${{amount_no_decimals}}","format":"NT${{amount_no_decimals}}","trailing_zeros":false,"code":"TWD","email":"NT${{amount_no_decimals}}","symbol":"NT$"}],
143            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":"小計","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_description":"商品簡述","product_name":"商品名稱","product_sold":"已銷售:{productSold}","product_status_label":{"login_to_view":"登入查看","login_to_view_full":"登入查看資格","member_exclusive":"部分會員限定","not_eligible":"資格不符","not_eligible_full":"購買資格不符","upcoming_product_with_time":"{time} 開賣"},"recent_days_sold_desc":"本週熱賣","return":"返回","see_more":"查看更多","select_option":"請選擇 {option}","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_share":"分享","eticket_orders_qrcode_share_text":"這是您的電子票券,請妥善保管:\n{ title }-{ variantTitle }\n票號:{ ticketNumber }","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_detail":"樓層或房號","address_detail_placeholder":"請輸入樓層或房號","address_incomplete_hint":"請輸入完整的外送地址","address_invali
143d_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":{"agree_label":"進行驗證並完成會員註冊代表同意","and":"與","check_account":"為了確認是您本人,請輸入手機號碼進行驗證","confirm_account_information":"請確認以下是否為您的會員資料","confirm_submit":"送出","cyb_ToS_and_privacy_policy":"會員責任規範及個資聲明","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":"發送簡訊驗證碼","shop_ToS":"商店服務條款","submit_btn":"加入會員","verification_code":"4 位數簡訊驗證碼"},"repurchase":{"all_cannot_repurchase":"此訂單商品無法再次購買","comma":",","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":"所有篩選條件","failed_to_add_to_cart_contact_shop":"無法加入購物車,請聯繫商家","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":"建議區間:","view_product":"查看商品"},"combo_product":{"add_cart_error_try_again":"加入購物車有誤,請重新嘗試","and":",且","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 } 項","selection_status":"已選 { count } / { total } 項","some_variants_insufficient":"部分商品款式不足組合品 { count }
143 ä»¶","specified_count":"指定 { count } 份","stock_quantity_left":"商品庫存剩餘 { count } ä»¶","stock_quantity_left_insufficient":"商品庫存剩餘 { left_count } 件,不足組合品 { selected_count } ä»¶","stock_quantity_left_multiple_rules":"商品庫存剩餘 { count } 件,已在其他組合選取達上限"},"contact":{"contact_form":"聯絡我們","email":"電子郵件","email_placeholder":"請輸入您的電子郵件,例:[email protected]","fail_operation":"操作失敗!","invalid_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 } 可用"},"footer":{"about_us":"關於我們","shop_address":"地址:","shop_email":"信箱:","shop_fax":"客服傳真:","shop_phone":"客服專線:","shop_time":"客服時間:","tax_id":"統一編號:"},"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_Taiwan_shop":"1. 收到商品後如有發現瑕疵或破損狀況,需要辦理或換貨,請於收到貨後7天內登入『我的帳戶』頁面點選『申請退貨』。\u003cbr\u003e 2. 收到商品後可享有7天免費鑑è³
143žæœŸï¼ˆå«ä¾‹å‡æ—¥ï¼‰ã€‚退換貨時請保持原包裝商品的完整(包含購買商品,附件,贈品等)。\u003cbr\u003e 3. 收到申請後,我們將與您聯繫取回商品。若有任何退貨問題,您可以在『訂單明細』中,點選『我要詢問』,請勿自行寄回商品。\u003cbr\u003e 4. 當你申請退貨後,請列印本申請單隨商品一起寄回。\u003cbr\u003e 5. 收到您的退貨商品並審查通過後,將於7個工作天內退款至你的退款帳戶。\u003cbr\u003e","return_msg_not_Taiwan_shop":"1. 如收到商品後,發現有瑕疵或破損,需要申請換貨或退款,請盡速至【我的帳戶】,點擊【訂單查詢】,在選擇欲申請退貨的訂單中,點擊【申請退貨】。如需詳細資訊和指導,請參閱商店的退貨政策。\u003cbr\u003e 2. 退貨或換貨時,請確保原包裝完好無損,包括所購商品、配件、贈品等。\u003cbr\u003e 3. 在收到您的退款申請後,我們會與您聯繫安排取回商品。如有任何退貨問題,請在「我的訂單」頁面點擊「聯繫商家」。請勿自行退回商品。\u003cbr\u003e 4. 印出此申請表並隨退貨商品一同寄回。\u003cbr\u003e 一旦收到並檢查您的退貨商品後,退款將退回至您的原支付方式或銀行帳戶。退款可能需要7至14天顯示於您的銀行對帳單。","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_quantity":"è²· { quantity } 件,","not_choose_items_yet":"尚未選購商品","not_choose_yet":"尚未選購","origin_price":"原價","over_cart_limit":"數量超過購買上限","over_stock":"數量超過庫存","over_stock_count":"商品庫存剩餘 { count } ä»¶","sales_price":"優惠價","select":"選購","selected":"已選購","special_collection_discount_per":"享每個折扣 { price }","special_collection_discount_price":"享折扣 { price }","special_collection_discount_quantity1":"即可享 { quantity } ä»¶ { price }","special_collection_divided_by_ten":"享 { percentage } 折優惠"}},"validation":{"auth_to_add_notification":"請先登入或註冊以利登記通知","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":"秒","select_variant":"請選擇商品款式","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 })重新發送"}}}},
144            hasI18nInContextEditing: false,
145            shopMultipleCurrenciesCheckout: false,
146            hasLocalizedShopPriceFormat: true,
147          }
148        </script>
148
149
150        
151        
151<script
152          src="//cdn-general.cybassets.com/frontend/shop/tolgeeIntegration-3a2e378145f8a165.js">
153        </script>
153
154        
154<script defer>
155          /*
156          * Enable in-context translation for Liquid part on the page.
157          * This must be executed last to prevent conflicts with other Vue apps.
158          * So put it to `onload`, which will be executed after DOM ready's app mount
159          */
160          window.onload = function() {
161            if (
162              window.shopScriptHelper &&
163              window.shopScriptHelper.hasI18nInContextEditing
164            ) {
165              window.initTolgeeForLiquid()
166            }
167          }
168        </script>
168
169
170<script> var google_con_event_labels = []</script>
vendor: 1 bytes, line 170
170
171<script src="//cdn-general.cybassets.com/frontend/shop/pageEventHandler-3a2e378145f8a165.js"></script>
vendor: 1 bytes, line 171
171
172<script src="//cdn-general.cybassets.com/frontend/shop/globalAnalysis-e4c650eb0b.js"></script>
172
173        
173<script>
174          window.c12t = {"customer_id":null};
175        </script>
175
176
177        <meta name="request-id" content="FDF9BF5533377FC3A19808155E71D5A2"/>
178
179<link rel="canonical" href="https://www.carryongarden.com/">
180<script src="//cdn-general.cybassets.com/frontend/shop/carousel-3a2e378145f8a165.js"></script>
180
181          
181<script>
182            window.parent.postMessage({ type: 'previewShopInit', currentUrl: window.location.href }, '*');
183          </script>
183
184
185<script src="//cdn-general.cybassets.com/frontend/appStoreSDK/main.2798231628aa7fab87a9.js"></script>
vendor: 1 bytes, line 185
185
186<script>window.CYBERBIZ_AppScriptSettings = {"shop_add_ons":"W3sidmVuZG9yX3R5cGUiOiJDWUJFUkJJWiBHb29nbGUgQW5hbHl0aWNzIDQi\nLCJhcHBfaWQiOiJRVWo1WnFvZUlPUjlaM2JaS2trMG44N3l5a0FpOWU0NURE\naDJ0YlFnaUJBIiwic2V0dGluZ3MiOnsiZ3RhZ19pZCI6IkctSDJEODc3U1I2\nSywgRy00QjdSSzdGSFdIIn19LHsidmVuZG9yX3R5cGUiOiJHb29nbGUgQW5h\nbHl0aWNzIDQiLCJhcHBfaWQiOiJSYkpWMTVFcVZWOHJ1Umo3NVlmV3Z1RUlD\nRm90Q0FPZm0xSDZtZ3hyNkZBIiwic2V0dGluZ3MiOnsiZ3RhZ19pZCI6Ikct\nWTFKTlBSMjhFUCJ9fSx7InZlbmRvcl90eXBlIjoiQ2hhdCBCb3giLCJhcHBf\naWQiOiJjOWQ4M2YwOTk2MTc0ZmJiYTg2ZWJhMDQxYWU4OThhMiIsInNldHRp\nbmdzIjp7IndpZGdldF9rZXkiOiJHSllVMjJZUXFEdDhwRWxFIn19LHsidmVu\nZG9yX3R5cGUiOiJEaWdpdGFsIEludGVsbGlnZW5jZSBUcmFja2VyIiwiYXBw\nX2lkIjoiMWI1MGE4NmRjMmQxNDE4Mzg4ZmRlZGY3YTBkNDM5YWUiLCJzZXR0\naW5ncyI6e319XQ==\n"}
187</script>
vendor: 1 bytes, line 187
187
188<script src="https://cdn.cybassets.com/appmarket/api/common/attachments/entrypoint/9d6f4550aad572e9f70abb70ae5a6552482cf617ea5e4d5a32ed4ebbb5d60d54.js"></script>
vendor: 1 bytes, line 188
188
189<script src="https://cdn.cybassets.com/appmarket/api/common/attachments/entrypoint/a810ec58aab67d16f8de1c4adf06fc7cc9f4477ec503b9cb1a998741bc692652.js"></script>
vendor: 1 bytes, line 189
189
190<script src="https://cdn.cybassets.com/appmarket/api/common/attachments/entrypoint/8766542902afa60f4adda3c555c06025d2c27771ea85a6fc657a91cddbe5c59f.js"></script>
vendor: 1 bytes, line 190
190
191<script src="https://cdn.cybassets.com/appmarket/api/common/attachments/entrypoint/35cd1f36a4a855bacbaa53900f8e17b376d4cab44c73812eef261aef6435163d.js"></script>
vendor: 1 bytes, line 191
191
192<script>window.CYBERBIZ.initializeSDK.initialize();</script>
vendor: 1 bytes, line 192
192
193<script src="//cdn-general.cybassets.com/frontend/shop/setAffliateCookie-3a2e378145f8a165.js"></script>
193
194
195
196
197        <!-- LINE Tag Setting -->
198        
198<script>
199          var ltas = [{"customerType":"account","tagId":"e2e5c2a1-c555-4ba1-836f-31bfa3508374"}];
200          var lts = ["e2e5c2a1-c555-4ba1-836f-31bfa3508374"];
201        </script>
201
202        <!-- End LINE Tag Setting -->
203
204          <!-- LINE Tag Base Code -->
205          <!-- Do Not Modify -->
206          
206<script>
207          (function(g,d,o){
208            g._ltq=g._ltq||[];g._lt=g._lt||function(){g._ltq.push(arguments)};
209            var h=location.protocol==='https:'?'https://d.line-scdn.net':'http://d.line-cdn.net';
210            var s=d.createElement('script');s.async=1;
211            s.src=o||h+'/n/line_tag/public/release/v1/lt.js';
212            var t=d.getElementsByTagName('script')[0];t.parentNode.insertBefore(s,t);
213              })(window, document);
214          ltas.forEach(function(lta){
215            _lt('init', { customerType: lta.customerType, tagId: lta.tagId });
216            _lt('send', 'pv', [lta.tagId]);
217          });
218          </script>
218
219          <noscript>
220            <img height="1" width="1" style="display:none" src="https://tr.line.me/tag.gif?c_t=lap&t_id=e317566c-9fe5-48de-bc28-d6a2d773853a&e=pv&noscript=1" />
221          </noscript>
222          <!-- End LINE Tag Base Code -->
223
224          
224<script>
225            window.addEventListener('load', function() {
226              _lt('send', 'cv', { type: 'PageView' }, lts);
227            });
228          </script>
228
229
230          
230<script>
231            window.addEventListener('load', function() {
232              $(document).on('sendAddToCartEvent', function() {
233                _lt('send', 'cv', { type: 'AddToCart' }, lts);
234              });
235              $(window).on('addToCart', function() {
236                _lt('send', 'cv', { type: 'AddToCart' }, lts);
237              });
238            });
239          </script>
239
240
241
242
243
244
245
246
247
248    <style id="color_settings">
249  :root {
250    
251      --button: #13180d;
252    
253
254    
255      --button_text: #ffffff;
256    
257
258    
259      --accent: #f07d4a;
260    
261
262    
263      --heading: #000000;
264    
265
266    
267      --text: #bbb19e;
268    
269
270    
271      --price: #f07d4a;
272    
273
274    
275      --discount_price: #f07d4a;
276    
277
278    
279      --theme_bg: #FFFFFF;
280    
281
282    
283      --nav_logo_bg: #ffffff;
284    
285
286    
287      --nav_menu_bg: #ffffff;
288    
289
290    
291      --nav_menu_text: #000000;
292    
293
294    
295      --nav_menu_icon: #643114;
296    
297
298    
299      --footer_bg: #fff9f2;
300    
301
302    
303      --footer_text: #555555;
304    
305
306    
307      --checkout_button: #f07d4a;
308    
309
310    
311      --checkout_accent: #643114;
312    
313
314    
315      --product_border: #bbb19e;
316    
317
318    
319      --tips_text: #0C5460;
320    
321
322    
323
324    
325  }
326</style>
327
328
329
330
331  
332        <!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 74 bytes, lines 332-333
332
333          <script async src="https://www.googletagmanager.com/gtag/js?id=
333G-H2D877SR6K
vendor: 22 bytes, lines 333-334
333"></script>
334          
334<script>
335            window.dataLayer = window.dataLayer || [];
336            function gtag(){dataLayer.push(arguments);}
337            gtag('js', new Date());
338            gtag('config', 'G-H2D877SR6K', {"groups":"cyberbiz","custom_map":{"dimension1":"shop_id","dimension2":"customer_id","dimension3":"infinite_scroll","dimension4":"dim_affiliate"},"shop_id":35832,"dim_affiliate":null});
339            gtag('config', 'UA-64017614-1', {"groups":"cyberbiz","custom_map":{"dimension1":"shop_id","dimension2":"customer_id","dimension3":"infinite_scroll","dimension4":"dim_affiliate"},"shop_id":35832,"dim_affiliate":null});
340      </script>
340
341      
341<script>
342        (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
343        (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
344        m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
345        })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
346
347        ga('create', '', 'auto', {'name': 'cyberbiz'});
348        ga('cyberbiz.require', 'displayfeatures');
349        ga('cyberbiz.set', 'dimension1', '35832');
350        ga('cyberbiz.require', 'ec');
351        ga('cyberbiz.send', 'pageview');
352      </script>
352
353    
354      
354<script>
vendor: 426 bytes, lines 354-361
354
355      !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
356      n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
357      n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
358      t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
359      document,'script','//connect.facebook.net/en_US/fbevents.js');
360
361      fbq('init', '
361626172074831187
vendor: 38 bytes, lines 361-362
361', {}, {'agent':'plcyberbiz'});
362      
362fbq('track', "PageView", '', { eventID: "PageView_FDF9BF5533377FC3A19808155E71D5A2" });
363      var facebook_pixel_id = '626172074831187'</script>
363
364
365    </head>
366
367  <body style="display: flex; flex-direction: column;" class=""><!-- Google Tag Manager (noscript) -->
vendor: 74 bytes, lines 367-368
367
368            <noscript><iframe src="//www.googletagmanager.com/ns.html?id=
368GTM-57LN3CKM
vendor: 105 bytes, lines 368-370
368"
369            height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
370          
370<!-- End Google Tag Manager (noscript) -->
vendor: 74 bytes, lines 370-372
370
371      <noscript><iframe
372      src="//www.googletagmanager.com/ns.html?id=
372GTM-TXD9LVJ
vendor: 117 bytes, lines 372-378
372"
373      height="0"
374      width="0"
375      style="display:none;visibility:hidden">
376      </iframe></noscript>
377    
378    
378<!-- Navigation -->
379    <!-- cyb_snippet liquid_helper start -->
380<script>
381	function getDiscountPriceName() {
382		return "false" === "true" ? "" : "";
383	}
384
385	function getDiscountPriceSuggestionName() {
386		return "false" === "true" ? "" : "";
387	}
388
389  document.addEventListener('DOMContentLoaded', function() {
390    const languageHandle = Cookies.get("language");
391    const defaultLanguage = {"handle":"zh-TW","currency_code":"TWD","title":"繁體中文"};
392    const languages = [];
393    const currency = window.shopScriptHelper.defaultCurrency;
394    const currencies = window.shopScriptHelper.currenciesInfo;
395		window.liquidHelper = {
396			shopInternational: false,
397			defaultLanguage: defaultLanguage,
398			language: languages.find(function(l) {
399				return l.handle === languageHandle;
400			}) || defaultLanguage,
401      shopMultipleCurrenciesCheckout: false,
402			shopMultipleCurrencies: false,
403			defaultCurrencyFormat: "NT${{amount_no_decimals}}",
404			defaultCurrency: currency,
405			getCurrency: function() {
406        const currencyValue = Cookies.get("currencyValue") || currency;
407        return currencies.find(function(c) { return c.code === currencyValue; }
408      )},
409      getDefaultCurrency: function() { return currencies.find(function(c) {
410				return c.code === currency;
411			})},
412      getAvailableCurrencies: function() { return currencies.map(c => c.code) },
413      getCurrencyFormatInfo: function(currency) {
414        const currencyInfo = currencies.find(c => c.code === currency)
415        return _.pick(currencyInfo, [
416          'decimal_precision',
417          'symbol',
418          'money_format',
419          'unit',
420          'trailing_zeros',
421          'html_unit',
422          'code',
423        ]);
424      },
425			cartQuantityLimit: (function() {
426        const limit = Number("0" || undefined);
427        return limit <= 0 || isNaN(limit) ? Number.POSITIVE_INFINITY : limit;
428      })(),
429			isFirstVariantSelected:  false ,
430			isImageColorsUsed:  false ,
431			isEmptyClickable:  true ,
432			hasAddBuyProduct: '' !== "" ? true : false,
433			hasPriceWithDiscountPlugin: 'false' ? true : false,
434      conversionBonus: 1,
435      hasLocalizedShopPriceFormat: true,
436      hasCustomerCartPlugin: true,
437      isCartEnabled: true,
438      cdnHost: '//cdn-general.cybassets.com',
439      hasShopCustomPasswordRulePlugin: false,
440      hasDisableProductQuantityValidation: false,
441      hasBreadcrumbReferrerEnabled: false,
442		};
443	});
444</script>
444
445
446<!-- cyb_snippet liquid_helper end -->
447
448<script src='//cdn-general.cybassets.com/frontend/shop/navbarSection-3a2e378145f8a165.js' type='text/javascript'></script>
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465<style>
466  
467    #navbar {
468      --navbar-pc-title-scale: 1.0;
469      --navbar-pc-body-scale: 1.0;
470      --navbar-mobile-title-scale: 1.0;
471      --navbar-mobile-body-scale: 1.0;
472    }
473  
474
475  
476
477  
478</style>
479
480
481  <span id="navbar" class="drawer drawer--left font-size-setting-enabled">
482    <header id="header" class="qk-w--100vw qk-pos--fixed qk-t--0 qk-l--0">
483      
484
485      
486        <div id="announcement-bar"></div>
487      
488
489      
490      
491        <div class="computer_nav qk-hidden--mobile ">
492          <div class="header_logo qk-bg--nav_logo_bg">
493            <div class="qk-pos--rel">
494              <div class="qk-text--center">
495                <!-- logo start -->
496                
497                  <nav class="logo qk-display--il_bk">
498                    <a href="/" class="qk-w--100">
499                      <img
500                        src="//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc1NjIxNDA2X-aenOWckkxPR08ucG5nLnBuZyJdXQ.png?sha=ea9d616a1920651b"
501                        class="qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--pc_logo qk-hidden--mobile"
502                        style="width: auto; height: 52px;"
503                        alt=""
504                        height="52"
505                        width="auto"
506                      >
507                    </a>
508                  </nav>
509                
510                <!-- logo end -->
511                <!-- tool-nav start -->
512                
513                  <!-- cyb_snippet tool_nav start -->
514
515
516
517
518
519
520<nav class="tool-nav qk-pos--rel qk-float--r qk-display--flex">
521  <ul class="link_shelf_top qk-display--flex qk-flex--row qk-justify--end qk-align--center qk-pos--abs qk-r--0">
522    
523    
524    <!-- member -->
525    
526      <li class="customer_account qk-pos--rel qk-pd--05">
527        <div class="dropdown qk-pos--static">
528          <div class="qk-cursor--pointer" data-toggle="dropdown">
529            <div data-icon-type="custom_icon_type_account"></div>
530            <span class="text"></span>
531          </div>
532          <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">
533            <ul id="customer-logined-menu" style="display: none">
534              <li>
535                <div class="qk-fs--body qk-text--heading">
536                  <p class="customer-name qk-whitespace-break-spaces"></p>
537                  <p>您好!</p>
538                </div>
539              </li>
540            </ul>
541            <ul id="customer-not-login-menu">
542              <li class="button qk-text--center">
543                <a href="/account/login" class="btn-login qk-btn qk-btn--lg qk-btn--primary qk-w--100">會員登入</a>
544              </li>
545              <li class="button qk-text--center">
546                <a href="/account/signup" class="btn-orders qk-btn qk-btn--lg qk-btn--secondary qk-w--100 qk-bg--transparent">註冊新會員</a>
547              </li>
548            </ul>
549            <span class="menu-bd qk-bd_t--default qk-bd--product_border"></span>
550            <ul class="member-menu qk-bd_t--default qk-bd--product_border">
551              <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg">
552                <a href="/account/index" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">我的帳戶</a>
553              </li>
554              <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg">
555                <a href="/account/orders" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">訂單查詢</a>
556              </li>
557              <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg">
558                <a href="/account/coupons" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">專屬優惠券</a>
559              </li>
560              <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg">
561                <a href="/account/tracking_items" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">收藏清單</a>
562              </li>
563              <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">
564                <a href="/account/logout" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">會員登出</a>
565              </li>
566            </ul>
567          </div>
568        </div>
569      </li>
570    
571    <!-- for money symbol -->
572    <div id="money-symbol" data-money-symbol="NT${{amount_no_decimals}}" hidden></div>
573    <!-- cart -->
574    
575      <li class="cart qk-pos--rel qk-pd--05">
576        <!--電腦版的購物車選單-->
577        <div class="dropdown qk-pos--static">
578          <div data-toggle="dropdown" class="shopcart qk-cursor--pointer" >
579            <div data-icon-type="custom_icon_type_cart"></div>
580            <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>
581            <span class="global-cart-loading"></span>
582          </div>
583          <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">
584            <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>
585            <p class="cart_empty qk-fs--body qk-text--heading qk-text--center">目前的購物車是空的!</p>
586            <ul>
587              <li class="button qk-text--center">
588                <a class="btn-checkout qk-btn qk-btn--lg qk-btn--primary qk-w--100" href="/cart" style="display: none">立即購買</a>
589                <a class="btn-tracking qk-btn qk-btn--lg qk-btn--secondary qk-w--100 qk-bg--transparent" href="/account/tracking_items">前往收藏清單</a>
590              </li>
591            </ul>
592          </div>
593        </div>
594      </li>
595    
596    <!-- search -->
597    
598      <li class="search qk-pos--rel qk-pd--05" id="search-icon">
599        <div class="dropdown qk-pos--static">
600          <div class="qk-cursor--pointer" data-toggle="dropdown">
601            <div data-icon-type="custom_icon_type_search"></div>
602          </div>
603          <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">
604            <div class="search-area qk-display--flex qk-flex--row qk-justify--start qk-align--center qk-vert--mid">
605              <form action="/search" class="form-inline qk-search_form qk-display--flex qk-justfify--between qk-align--center qk-flex--1">
606                <input class="search-input form-control qk-inputbox qk-inputbox--lg qk-flex--1 qk-w--100 qk-bg--transparent qk-text--heading" type="search" placeholder="搜尋" aria-label="Search" name="q" value="" />
607                <button class="search-btn qk-btn qk-btn--lg qk-btn--primary qk-pd--0" type="submit">搜尋</button>
608              </form>
609            </div>
610          </div>
611        </div>
612      </li>
613    
614    <!-- express delivery -->
615    
616  </ul>
617</nav>
618
619<!-- cyb_snippet tool_nav end -->
620                
621                <!-- tool-nav end -->
622              </div>
623            </div>
624          </div>
625          
626            <div class="header_nav qk-bg--nav_menu_bg">
627              <div class="qk-pd_x--15">
628                <div class="qk-pos--relative center">
629                  <!-- main-nav start -->
630                  <nav class="main_nav qk-display--init"></nav>
631                  <!-- main-nav end -->
632                </div>
633              </div>
634            </div>
635          
636        </div>
637      
638      <div class="qk-hidden--pc  ">
639        <!-- mobile-nav start -->
640        <nav class="mobile-nav qk-bg--nav_logo_bg">
641          <ul class="qk-display--flex qk-flex--row qk-justify--between qk-align--center qk-pd_x--05 qk-pd_y--0">
642            <!-- menu -->
643            
644              <li class="sidebar-menu-icon drawer-toggle qk-text--center qk-pd_x--05 qk-pd_y--0 qk-display--flex qk-align--center">
645                <div data-icon-type="custom_icon_type_menu"></div>
646              </li>
647            
648            <!-- logo -->
649            
650              <li class="logo qk-pos--abs qk-center--x qk-pd_y--0">
651                
652                  <a href="/" class="qk-display--il_flex qk-align--center qk-h--100 qk-hidden--phone">
653                    <img
654                      src="//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc1NjIxNDA2X-aenOWckkxPR08ucG5nLnBuZyJdXQ.png?sha=ea9d616a1920651b"
655                      height="25"
656                      width="auto"
657                      alt=""
658                    >
659                  </a>
660                
661                
662                  <a href="/" class="qk-display--il_flex qk-align--center qk-h--100 qk-hidden--tablet">
663                    <img
664                      src="//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc1NjIxNDA2X-aenOWckkxPR08ucG5nLnBuZyJdXQ.png?sha=ea9d616a1920651b"
665                      height="25"
666                      width="auto"
667                      alt=""
668                    >
669                  </a>
670                
671              </li>
672            
673            
674              <!-- search -->
675              
676                <li class="search qk-text--center qk-pd_x--05 qk-pd_y--0 qk-display--flex qk-align--center qk-mg_l--auto">
677                  <div class="dropdown qk-pos--static qk-text--center">
678                    <div class="qk-cursor--pointer" data-toggle="dropdown">
679                      <div data-icon-type="custom_icon_type_search"></div>
680                    </div>
681                    <div
682                      class="qk-dropdown_menu dropdown-menu qk-w--100vw qk-bg--theme_bg qk-bd--default qk-bd--product_border qk-mg--0"
683                      role="menu"
684                    >
685                      <div class="search-area qk-display--flex qk-flex--row qk-justify--start qk-align--center qk-sp_bt--5 qk-w--100">
686                        <form action="/search" class="form-inline qk-display--flex qk-justfify--center qk-flex--1">
687                          <div class="form-inline qk-search_form qk-display--flex qk-justfify--center qk-align--center qk-flex--1">
688                            <input
689                              class="form-control qk-flex--1 qk-inputbox qk-inputbox--lg qk-bg--trans
689parent qk-text--heading"
690                              type="search"
691                              placeholder="搜尋"
692                              aria-label="Search"
693                              name="q"
694                              value=""
695                            >
696                            <button class="search-btn qk-btn qk-btn--lg qk-btn--primary qk-pd--0" type="submit">
697                              搜尋
698                            </button>
699                          </div>
700                        </form>
701                      </div>
702                    </div>
703                  </div>
704                </li>
705              
706              <!-- express delivery -->
707              
708            
709          </ul>
710        </nav>
711        <!-- mobile-nav end -->
712      </div>
713      
714    </header>
715    
716      <!-- Sidebar -->
717      <nav class="drawer-nav drawer-nav_width qk-bg--nav_menu_bg " role="navigation">
718        <div class="drawer-menu">
719          <!-- cyb_snippet side_menu start -->
720
721
722<ul id="index_sidebar_shelf_top" class="sidebar qk-pd_b--1">
723  
724    <li class="logo qk-pos--rel qk-bg--nav_logo_bg qk-pd_x--1 qk-pd_y--05">
725      <a href="/" class="qk-pd--0">
726        <img src="//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc1NjIxNDA2X-aenOWckkxPR08ucG5nLnBuZyJdXQ.png?sha=ea9d616a1920651b" height="32" width="auto" alt="logo">
727      </a>
728      <button class="drawer-toggle qk-pos--abs qk-bg--transparent qk-pd--0"></button>
729    </li>
730  
731  
732    
733
734    
735      <!-- cyb_snippet components/side_menu/menu start -->
736
737  <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>
738
739
740  
741  
742  
743    <li class="qk-pos--rel qk-pd--0">
744      
745        <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="/">首頁</a>
746      
747    </li>
748  
749
750  
751  
752  
753    <!-- cyb_snippet components/side_menu/collection_all start -->
754
755
756
757
758  <li class="qk-pos--rel qk-pd--0">
759    <button class="collection_all bt-toggle  qk-display--il_bk qk-w--100 qk-text--left qk-bg--nav_menu_bg qk-bd--none qk-pos--rel qk-fw--bold" data-toggle="collapse" data-target=".collapse_collection_all_index_sidebar_2" aria-expanded=" true ">
760      <a href="/collections/all" class="collection_all_link qk-display--il_bk qk-text--left qk-fs--body qk-fw--bold qk-bg--nav_menu_bg qk-text--nav_menu_text">
761        商品列表
762      </a>
763    </button>
764    <ul id="index_sidebar_collection_all_shelf_second_2" class="collapse_collection_all_index_sidebar_2 collapse shelf_second qk-pd--0  show ">
765      
766        
767        
768        <li class="qk-pos--rel qk-pd--0">
769          <button class="collection_all qk-fw--500 bt-toggle  qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg " data-toggle="collapse" data-target=".collapse_collection_all_index_sidebar_2_1" aria-expanded=" true ">
770            <a href="/collections/frontpage" class="qk-fw--500 collection_all_link qk-display--il_bk qk-text--left qk-fs--body qk-text--nav_menu_text">
771              首頁商品
772            </a>
773          </button>
774          <ul class="qk-bd--nav_menu_text collapse_collection_all_index_sidebar_2_1 collapse shelf_third qk-pd--0 show  ">
775            
776          </ul>
777        </li>
778      
779        
780        
781        <li class="qk-pos--rel qk-pd--0">
782          <button class="collection_all qk-fw--500 bt-toggle  qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg " data-toggle="collapse" data-target=".collapse_collection_all_index_sidebar_2_2" aria-expanded=" true ">
783            <a href="/collections/food" class="qk-fw--500 collection_all_link qk-display--il_bk qk-text--left qk-fs--body qk-text--nav_menu_text">
784              柑甜食光系列
785            </a>
786          </button>
787          <ul class="qk-bd--nav_menu_text collapse_collection_all_index_sidebar_2_2 collapse shelf_third qk-pd--0 show  ">
788            
789              <li class="qk-pos--rel qk-pd--0">
790                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-text--nav_menu_text qk-bg--nav_menu_bg qk-fs--body" href="/products/vinegar">古法釀造柑橘果醋 (400ml)</a>
791              </li>
792            
793              <li class="qk-pos--rel qk-pd--0">
794                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-text--nav_menu_text qk-bg--nav_menu_bg qk-fs--body" href="/products/nainai">柑橘果醋2入提袋組</a>
795              </li>
796            
797              <li class="qk-pos--rel qk-pd--0">
798                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-text--nav_menu_text qk-bg--nav_menu_bg qk-fs--body" href="/products/rice">椪。米香</a>
799              </li>
800            
801              <li class="qk-pos--rel qk-pd--0">
802                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-text--nav_menu_text qk-bg--nav_menu_bg qk-fs--body" href="/products/pokan">產地直送|青皮椪柑</a>
803              </li>
804            
805          </ul>
806        </li>
807      
808        
809        
810        <li class="qk-pos--rel qk-pd--0">
811          <button class="collection_all qk-fw--500 bt-toggle  qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg " data-toggle="collapse" data-target=".collapse_collection_all_index_sidebar_2_3" aria-expanded=" true ">
812            <a href="/collections/柑好免運組" class="qk-fw--500 collection_all_link qk-display--il_bk qk-text--left qk-fs--body qk-text--nav_menu_text">
813              柑好免運組
814            </a>
815          </button>
816          <ul class="qk-bd--nav_menu_text collapse_collection_all_index_sidebar_2_3 collapse shelf_third q
816k-pd--0 show  ">
817            
818              <li class="qk-pos--rel qk-pd--0">
819                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-text--nav_menu_text qk-bg--nav_menu_bg qk-fs--body" href="/products/package">【回饋限定組】柑橘清潔劑大美好家庭組</a>
820              </li>
821            
822              <li class="qk-pos--rel qk-pd--0">
823                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-text--nav_menu_text qk-bg--nav_menu_bg qk-fs--body" href="/products/refill">【囤貨專區】柑橘清潔劑大大瓶(1000ml)</a>
824              </li>
825            
826              <li class="qk-pos--rel qk-pd--0">
827                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-text--nav_menu_text qk-bg--nav_menu_bg qk-fs--body" href="/products/firstpackage">【新柑首選】柑橘清潔劑體驗組</a>
828              </li>
829            
830              <li class="qk-pos--rel qk-pd--0">
831                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-text--nav_menu_text qk-bg--nav_menu_bg qk-fs--body" href="/products/c1314">【最後收藏】柑橘清潔劑初代包裝</a>
832              </li>
833            
834              <li class="qk-pos--rel qk-pd--0">
835                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-text--nav_menu_text qk-bg--nav_menu_bg qk-fs--body" href="/products/nainai">柑橘果醋2入提袋組</a>
836              </li>
837            
838          </ul>
839        </li>
840      
841        
842        
843        <li class="qk-pos--rel qk-pd--0">
844          <button class="collection_all qk-fw--500 bt-toggle  qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg " data-toggle="collapse" data-target=".collapse_collection_all_index_sidebar_2_4" aria-expanded=" true ">
845            <a href="/collections/cleanlife" class="qk-fw--500 collection_all_link qk-display--il_bk qk-text--left qk-fs--body qk-text--nav_menu_text">
846              柑淨日常組
847            </a>
848          </button>
849          <ul class="qk-bd--nav_menu_text collapse_collection_all_index_sidebar_2_4 collapse shelf_third qk-pd--0 show  ">
850            
851              <li class="qk-pos--rel qk-pd--0">
852                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-text--nav_menu_text qk-bg--nav_menu_bg qk-fs--body" href="/products/wenszu">《限量10組》果嶼。香氛清潔系列</a>
853              </li>
854            
855              <li class="qk-pos--rel qk-pd--0">
856                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-text--nav_menu_text qk-bg--nav_menu_bg qk-fs--body" href="/products/newpack">【新品上市】柑淨居家組合</a>
857              </li>
858            
859              <li class="qk-pos--rel qk-pd--0">
860                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-text--nav_menu_text qk-bg--nav_menu_bg qk-fs--body" href="/products/c1314">【最後收藏】柑橘清潔劑初代包裝</a>
861              </li>
862            
863              <li class="qk-pos--rel qk-pd--0">
864                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-text--nav_menu_text qk-bg--nav_menu_bg qk-fs--body" href="/products/mmnn">【限量100瓶。心柑募集】柑橘清潔劑</a>
865              </li>
866            
867              <li class="qk-pos--rel qk-pd--0">
868                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-text--nav_menu_text qk-bg--nav_menu_bg qk-fs--body" href="/products/cleanmuse">柑橘清潔劑 (500ml)- 泡泡瓶</a>
869              </li>
870            
871              <li class="qk-pos--rel qk-pd--0">
872                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-text--nav_menu_text qk-bg--nav_menu_bg qk-fs--body" href="/products/cleansoap">柑橘清潔劑 (500ml)-噴噴瓶</a>
873              </li>
874            
875              <li class="qk-pos--rel qk-pd--0">
876                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-text--nav_menu_text qk-bg--nav_menu_bg qk-fs--body" href="/products/recycle1000">柑橘清潔劑(1000ml)- 大大瓶</a>
877              </li>
878            
879          </ul>
880        </li>
881      
882        
883        
884        <li class="qk-pos--rel qk-pd--0">
885          <button class="collection_all qk-fw--500 bt-toggle  qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg " data-toggle="collapse" data-target=".collapse_collection_all_index_sidebar_2_5" aria-expanded=" true ">
886            <a href="/collections/柑甜食光組" class="qk-fw--500 collection_all_link qk-display--il_bk qk-text--left qk-fs--body qk-text--nav_menu_text">
887              柑甜食光組
888            </a>
889          </button>
890          <ul class="qk-bd--nav_menu_text collapse_collection_all_index_sidebar_2_5 collapse shelf_third q
890k-pd--0 show  ">
891            
892              <li class="qk-pos--rel qk-pd--0">
893                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-text--nav_menu_text qk-bg--nav_menu_bg qk-fs--body" href="/products/gummy">【期間限定】椪。柑軟糖</a>
894              </li>
895            
896          </ul>
897        </li>
898      
899        
900        
901        <li class="qk-pos--rel qk-pd--0">
902          <button class="collection_all qk-fw--500 bt-toggle  qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg " data-toggle="collapse" data-target=".collapse_collection_all_index_sidebar_2_6" aria-expanded=" true ">
903            <a href="/collections/2026年椪柑預購" class="qk-fw--500 collection_all_link qk-display--il_bk qk-text--left qk-fs--body qk-text--nav_menu_text">
904              2026年椪柑預購
905            </a>
906          </button>
907          <ul class="qk-bd--nav_menu_text collapse_collection_all_index_sidebar_2_6 collapse shelf_third qk-pd--0 show  ">
908            
909              <li class="qk-pos--rel qk-pd--0">
910                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-text--nav_menu_text qk-bg--nav_menu_bg qk-fs--body" href="/products/pokan">產地直送|青皮椪柑</a>
911              </li>
912            
913          </ul>
914        </li>
915      
916    </ul>
917  </li>
918
919
920<!-- cyb_snippet components/side_menu/collection_all end -->
921  
922
923  
924  
925  
926    <li class="qk-pos--rel qk-pd--0">
927      
928        <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/news">最新動態</a>
929      
930    </li>
931  
932
933  
934  
935  
936    <li class="qk-pos--rel qk-pd--0">
937      
938        <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>
939      
940    </li>
941  
942
943  
944  
945  
946    <li class="qk-pos--rel qk-pd--0">
947      
948        <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/常見qa">常見Q&A</a>
949      
950    </li>
951  
952
953  
954  
955  
956    <li class="qk-pos--rel qk-pd--0">
957      
958        <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">部落格總覽</a>
959      
960    </li>
961  
962
963
964<script>
965  $('button a').on('click', function(e) {e.stopPropagation()});
966</script>
966
967
968<!-- cyb_snippet components/side_menu/menu end -->
969    
970  
971  
972    
973      <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>
974      <li class="qk-pos--rel qk-pd--0">
975        <div class="customer-logined-menu qk-display--il_bk qk-w--100 qk-text--left" style="display: none">
976          <a href="/account/index" class="qk-text--nav_menu_text qk-fw--bold qk-fs--body">我的帳戶</a>
977        </div>
978      </li>
979      <li class="qk-pos--rel qk-pd--0">
980        <div class="customer-logined-menu qk-display--il_bk qk-w--100 qk-text--left" style="display: none">
981          <a href="/account/orders" class="qk-text--nav_menu_text qk-fw--bold qk-fs--body">訂單查詢</a>
982        </div>
983      </li>
984      <li class="qk-pos--rel qk-pd--0">
985        <div class="customer-logined-menu qk-display--il_bk qk-w--100 qk-text--left" style="display: none">
986          <a href="/account/logout" class="qk-text--nav_menu_text qk-fw--bold qk-fs--body">會員登出</a>
987        </div>
988      </li>
989      <li class="qk-pos--rel qk-pd--0">
990        <a href="/account/login">
991          <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 ">
992            <span class="qk-text--nav_menu_bg qk-fw--500 qk-fs--body">
993              會員登入
994            </span>
995          </div>
996        </a>
997      </li>
998      <li class="qk-pos--rel qk-pd--0">
999        <a href="/account/signup">
1000          <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">
1001            <span class="qk-text--nav_menu_text qk-fs--body qk-fw--500">
1002              註冊新會員
1003            </span>
1004          </div>
1005        </a>
1006      </li>
1007    
1008    
1009    
1010    
1011  
1012</ul>
1013
1014<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/sidebar-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' />
1015
1016<script>
1017  $(document).ready(function(){
1018    // 側邊選單
1019    if ($('.drawer').length){
1020      $('.drawer').drawer();
1021      $('.bt-toggle').click(function(){
1022        setTimeout(function(){
1023          $('.drawer')[0].iScroll.refresh()
1024        },500)
1025      })
1026    }
1027  });
1028</script>
1028
1029
1030
1031<!-- cyb_snippet side_menu end -->
1032
1033        </div>
1034      </nav>
1035      <!-- Bottombar -->
1036      
1037        <div
1038          id="mobile-bottom-bar"
1039          class="qk-display--flex qk-justify--around qk-bg--nav_logo_bg qk-w--100vw qk-pos--fixed qk-b--0 qk-hidden--pc"
1040        >
1041          <!-- home -->
1042          <div class="qk-display--flex qk-justify--center qk-align--center qk-text--center qk-pd_x--05 qk-pd_y--0 qk-flex--1">
1043            <a id="home-nav-icon" href="/">
1044              <div data-icon-type="custom_icon_type_home"></div>
1045            </a>
1046          </div>
1047          <!-- tracking items -->
1048          <div class="qk-display--flex qk-justify--center qk-align--center qk-text--center qk-pd_x--05 qk-pd_y--0 qk-flex--1">
1049            <a href="/account/tracking_items">
1050              <div data-icon-type="custom_icon_type_tracking_items" c></div>
1051            </a>
1052          </div>
1053          <!-- cart -->
1054          
1055            <div class="qk-display--flex qk-justify--center qk-align--center qk-text--center qk-pd_x--05 qk-pd_y--0 qk-flex--1">
1056              <a
1057                href="/cart"
1058                class="qk-display--il_flex qk-flex--row qk-justify--center qk-align--center qk-vert--mid qk-pos--rel"
1059              >
1060                <div data-icon-type="custom_icon_type_cart"></div>
1061                <span
1062                  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"
1063                  style="display: none;"
1064                  >0</span
1065                >
1066              </a>
1067            </div>
1068          
1069          <!-- member -->
1070          
1071            <div class="qk-display--flex qk-justify--center qk-align--center qk-text--center qk-pd_x--05 qk-pd_y--0 qk-flex--1">
1072              <a id="customer-phone-nav-icon" href="/account/login">
1073                <div data-icon-type="custom_icon_type_account"></div>
1074              </a>
1075            </div>
1076          
1077        </div>
1078      
1079    
1080  </span>
1081
1082<div id="index-popular-tags"></div>
1083
1084<style id="timer_color">
1085  :root {
1086    
1087      --timer_text: #ffffff;
1088    
1089
1090    
1091      --timer_bg: #000000;
1092    
1093  }
1094</style>
1095
1096<script>
1097  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":"問題å
1097…§å®¹","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天免費鑑è³
1097žæœŸï¼ˆå«ä¾‹å‡æ—¥ï¼‰ã€‚退換貨時請保持原包裝商品的完整(包含購買商品,附件,贈品等)。\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":"謝謝您的å¯
1097¶è²´æ„è¦‹","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":"郵遞區號"}
1098  $(document).ready(function(){
1099    if(window.location.pathname != '' && window.location.pathname != '/' ){
1100      document.getElementById('index-popular-tags').style.display = 'none'
1101    }
1102    // 倒數計時
1103    
1104
1105    function adjustContentTop() {
1106      
1107      const isNavbarTransparent = false;
1108      let headerHeight = $("#header").outerHeight();
1109      if (isNavbarTransparent && $('#template').width() >= 992) {
1110        headerHeight -= $('.computer_nav').height();
1111      }
1112      const floatFilterHeight = $('#float-filter').innerHeight() || 0;
1113      $("body").css({
1114        "padding-top": (headerHeight - floatFilterHeight) + "px",
1115      });
1116    }
1117
1118    window.adjustContentTop = adjustContentTop;
1119
1120    // navbar設定透明
1121    
1122
1123    // Call it first once DOM is ready to prevent CLS
1124    adjustContentTop();
1125
1126    // 延遲初始化,等待 app banner 初始化完成
1127    $(window).on("resize", adjustContentTop);
1128
1129    // 使用 setTimeout 確保 banner 狀態已經確定
1130    $(window).on("load", function() {
1131      setTimeout(function() {
1132        adjustContentTop();
1133      }, 200); // 給 banner 足夠時間初始化
1134    });
1135
1136    $('img.header_banner').on('load', adjustContentTop);
1137
1138    window.renderNavbarSection('.main_nav', {
1139        navbarCollections: [{"title":"首頁商品","url":"/collections/frontpage","products":[]},{"title":"柑甜食光系列","url":"/collections/food","products":[{"title":"古法釀造柑橘果醋 (400ml)","url":"/products/vinegar"},{"title":"柑橘果醋2入提袋組","url":"/products/nainai"},{"title":"椪。米香","url":"/products/rice"},{"title":"產地直送|青皮椪柑","url":"/products/pokan"}]},{"title":"柑好免運組","url":"/collections/柑好免運組","products":[{"title":"【回饋限定組】柑橘清潔劑大美好家庭組","url":"/products/package"},{"title":"【囤貨專區】柑橘清潔劑大大瓶(1000ml)","url":"/products/refill"},{"title":"【新柑首選】柑橘清潔劑體驗組","url":"/products/firstpackage"},{"title":"【最後收藏】柑橘清潔劑初代包裝","url":"/products/c1314"},{"title":"柑橘果醋2入提袋組","url":"/products/nainai"}]},{"title":"柑淨日常組","url":"/collections/cleanlife","products":[{"title":"《限量10組》果嶼。香氛清潔系列","url":"/products/wenszu"},{"title":"【新品上市】柑淨居家組合","url":"/products/newpack"},{"title":"【最後收藏】柑橘清潔劑初代包裝","url":"/products/c1314"},{"title":"【限量100瓶。心柑募集】柑橘清潔劑","url":"/products/mmnn"},{"title":"柑橘清潔劑 (500ml)- 泡泡瓶","url":"/products/cleanmuse"},{"title":"柑橘清潔劑 (500ml)-噴噴瓶","url":"/products/cleansoap"},{"title":"柑橘清潔劑(1000ml)- 大大瓶","url":"/products/recycle1000"}]},{"title":"柑甜食光組","url":"/collections/柑甜食光組","products":[{"title":"【期間限定】椪。柑軟糖","url":"/products/gummy"}]},{"title":"2026年椪柑預購","url":"/collections/2026年椪柑預購","products":[{"title":"產地直送|青皮椪柑","url":"/products/pokan"}]}],
1140        navbarItems: [{"id":1973923,"title":"首頁","url":"/","item_type":"frontpage","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1973924,"title":"商品列表","url":"/collections/all","item_type":"collections_all","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1973925,"title":"最新動態","url":"/blogs/news","item_type":"http","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1973926,"title":"關於我們","url":"/pages/about-us","item_type":"page","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":2029087,"title":"常見Q\u0026A","url":"/pages/常見qa","item_type":"page","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1973928,"title":"部落格總覽","url":"/blogs","item_type":"http","subtitle":null,"icon_image_url":null,"menuItems":null}],
1141        settings: {
1142          menuDisplayStyle: "two_dimension_menu",
1143          pcLogoImgUrl: "//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc1NjIxNDA2X-aenOWckkxPR08ucG5nLnBuZyJdXQ.png?sha=ea9d616a1920651b",
1144          mobileLogoImgUrl: "//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc1NjIxNDA2X-aenOWckkxPR08ucG5nLnBuZyJdXQ.png?sha=ea9d616a1920651b",
1145          navbarDisplayStyle: "displayDefault",
1146        }
1147      }
1148    );
1149
1150
1151    // for link menu
1152    const linkMenuElement = document.querySelector('.link-nav');
1153    const data = []
1154    data.forEach((item) => {
1155      const wrapper = document.createElement('a');
1156      const link = document.createElement('ul');
1157
1158      wrapper.href = item.url;
1159      link.textContent = item.title;
1160      link.classList.add('link-item');
1161
1162      wrapper.appendChild(link);
1163      linkMenuElement.appendChild(wrapper);
1164    });
1165
1166    // for safe-area space on iOS devices
1167    const userAgent = navigator.userAgent;
1168    const isIOS = /iPad|iPhone|iPod/.test(userAgent) && !window.MSStream;
1169    const isLiff = /Line\/[\d.]+/i.test(userAgent);
1170    const $mobileBottomBar = $('#mobile-bottom-bar');
1171
1172    if ($mobileBottomBar.length && isIOS && isLiff) {
1173      $mobileBottomBar.addClass('is-ios-liff');
1174    }
1175  });
1176  document.addEventListener('DOMContentLoaded', function() {
1177    window.getCartAmount = function() {
1178      return parseInt($('.global-cart-count').html());
1179    };
1180  });
1181</script>
1181
1182
1183<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/navbar-3a2e378145f8a165.js' type='text/javascript'></script>
vendor: 1 bytes, line 1183
1183
1184<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/currencies-3a2e378145f8a165.js' type='text/javascript'></script>
1184
1185<!-- cyb_snippet i18n_modal start -->
1186
1187
1188<!-- cyb_snippet i18n_modal end -->
1189<!-- cyb_snippet _load_fonts start -->
1190<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/load_fonts-3a2e378145f8a165.js' type='text/javascript'></script>
vendor: 1 bytes, line 1190
1190
1191<script>
1192  document.addEventListener('DOMContentLoaded', function() {
1193    window.loadFontSetting("{'ja':{'value':'Noto Sans JP'},'zh-TW':{'value':'Noto Sans TC'},'en':{'value':'Noto Sans TC'},'zh-CN':{'value':'Noto Sans TC'}}")
1194  })
1195</script>
1195
1196
1197<!-- cyb_snippet _load_fonts end -->
1198<!-- cyb_snippet _custom_icon start -->
1199<script src='//cdn-general.cybassets.com/frontend/shop/navIcon-3a2e378145f8a165.js' type='text/javascript'></script>
1199
1200
1201<script>
1202  (function() {
1203    const iconUrlMap = new Map([
1204      ['custom_icon_type_home', null],
1205      ['custom_icon_type_tracking_items', null],
1206      ['custom_icon_type_account', null],
1207      ['custom_icon_type_cart', null],
1208      ['custom_icon_type_search', null],
1209      ['custom_icon_type_menu', null]
1210    ]);
1211    const elements = document.querySelectorAll('[data-icon-type]');
1212    elements.forEach((element, index) => {
1213      const iconAttributes = element.getAttribute('data-icon-type');
1214
1215      const uniqueId = `icon_${iconAttributes}_${index}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
1216      element.id = uniqueId;
1217      window.renderNavCustomIcon(`#${uniqueId}`, {
1218        navIconStyle: "icon_type_default",
1219        customIconUrl: iconUrlMap.get(iconAttributes) || '',
1220        iconAttributes: iconAttributes,
1221        currentTemplate: "index",
1222      });
1223    });
1224  })();
1225</script>
1225
1226
1227<!-- cyb_snippet _custom_icon end -->
1228
1229
1230
1231    
1232  
1233    
1233<script src='//cdn-general.cybassets.com/frontend/shop/announcementBar-3a2e378145f8a165.js' type='text/javascript'></script>
1233
1234
1235    
1236
1237    
1238
1239    
1239<script>
1240      $(document).ready(function() {
1241        window.renderAnnouncementBar('#announcement-bar', {
1242          sectionId: "announcement_bar",
1243          isIndex: true,
1244        });
1245      });
1246    </script>
1246
1247  
1248
1249
1250
1251
1252
1253    <!-- template -->
1254    <div id="template" style="flex:1 0 auto; background-color: var(--theme_bg);">
1255      <div class="index">
1256
1257  
1258
1259
1260
1261
1262
1263
1264
1265
1266<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/_main_slider_custom-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' />
1267
1268<style>
1269  [id="_main_slider_custom"] {
1270    margin: 0 0px 48px !important;
1271  }
1272  @media (max-width: 576px) {
1273    .main-slider-placeholder {
1274      display: none !important;
1275    }
1276    .swiper-container {
1277      visibility: visible !important;
1278    }
1279  }
1280  @media (max-width: 991px) {
1281    [id="_main_slider_custom"] {
1282      margin: 0 0px 24px !important;
1283    }
1284  }
1285</style>
1286
1287<section id="_main_slider_custom" class="main-slider qk-pos--rel">
1288  
1289  
1290
1291  <div
1292    class="swiper swiper-container"
1293    
1294  >
1295    <div class="swiper-wrapper qk-align--center">
1296      
1297      
1298      
1299        <div class="swiper-slide">
1300          
1301            
1302            <a
1303              href="/pages/about-us"
1304              class="img-flex qk-align--stretch qk-display--contents"
1305              target="_blank"
1306              rel="noopener noreferrer"
1307            >
1308          
1309          
1310          
1311          
1312          
1313          
1314            <picture>
1315              
1316                <source
1317                  media="(max-width: 576px)"
1318                  data-srcset="//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzg3NTM5Mjc1X1BD5a6Y57ayQmFubmVyIDE5MjB4IDEwODAucG5nLnBuZyJdXQ.png?sha=6e250759509c3a69"
1319                  alt=""
1320                >
1321              
1322              
1323                <source
1324                  media="(max-width: 992px)"
1325                  data-srcset="//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzg3NTM5Mjc1X1BD5a6Y57ayQmFubmVyIDE5MjB4IDEwODAucG5nLnBuZyJdXQ.png?sha=6e250759509c3a69"
1326                  alt=""
1327                >
1328              
1329              <img
1330                id="slider-image"
1331                data-src="//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzg3NTM5Mjc1X1BD5a6Y57ayQmFubmVyIDE5MjB4IDEwODAucG5nLnBuZyJdXQ.png?sha=6e250759509c3a69"
1332                height="auto"
1333                alt=""
1334                class="swiper-lazy"
1335              >
1336            </picture>
1337
1338            
1339            
1340            
1341            
1342            
1343            
1344            
1345            
1346            
1347            
1348          
1349          
1350            </a>
1351          
1352          
1353            <div class="swiper-lazy-preloader"></div>
1354          
1355        </div>
1356      
1357        <div class="swiper-slide">
1358          
1359            <span class="img-flex qk-align--stretch qk-display--contents">
1360          
1361          
1362          
1363          
1364          
1365          
1366            <picture>
1367              
1368                <source
1369                  media="(max-width: 576px)"
1370                  data-srcset="//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc3NTc1Mzk5XzIwMDB4ICgxKS53ZWJwLndlYnAiXV0.webp?sha=fee9ab6d04f0c0d9"
1371                  alt=""
1372                >
1373              
1374              
1375                <source
1376                  media="(max-width: 992px)"
1377                  data-srcset="//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc3NTc1Mzk5XzIwMDB4ICgxKS53ZWJwLndlYnAiXV0.webp?sha=fee9ab6d04f0c0d9"
1378                  alt=""
1379                >
1380              
1381              <img
1382                id="slider-image"
1383                data-src="//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc3NTc1Mzk5XzIwMDB4ICgxKS53ZWJwLndlYnAiXV0.webp?sha=fee9ab6d04f0c0d9"
1384                height="auto"
1385                alt=""
1386                class="swiper-lazy"
1387              >
1388            </picture>
1389
1390            
1391            
1392            
1393            
1394            
1395            
1396            
1397            
1398            
1399            
1400          
1401          
1402            </span>
1403          
1404          
1405            <div class="swiper-lazy-preloader"></div>
1406          
1407        </div>
1408      
1409        <div class="swiper-slide">
1410          
1411            <span class="img-flex qk-align--stretch qk-display--contents">
1412          
1413          
1414          
1415          
1416          
1417          
1418            <picture>
1419              
1420                <source
1421                  media="(max-width: 576px)"
1422                  data-srcset="//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzg4MjQ3ODIzX0NZ5qmr5bmF5buj5ZGKICgxOTIwIHggMTA4MCDlg4_ntKApLnBuZy5wbmciXV0.png?sha=fc0a15688bff193b"
1423                  alt=""
1424                >
1425              
1426              
1427                <source
1428                  media="(max-width: 992px)"
1429                  data-srcset="//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzg4MjQ3ODIzX0NZ5qmr5bmF5buj5ZGKICgxOTIwIHggMTA4MCDlg4_ntKApLnBuZy5wbmciXV0.png?sha=fc0a15688bff193b"
1430                  alt=""
1431                >
1432              
1433              <img
1434                id="slider-image"
1435                data-src="//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzg4MjQ3ODIzX0NZ5qmr5bmF5buj5ZGKICgxOTIwIHggMTA4MCDlg4_ntKApLnBuZy5wbmciXV0.png?sha=fc0a15688bff193b"
1436                height="auto"
1437                alt=""
1438                class="swiper-lazy"
1439              >
1440            </picture>
1441
1442            
1443            
1444            
1445            
1446            
1447            
1448            
1449            
1450            
1451            
1452          
1453          
1454            </span>
1455          
1456          
1457            <div class="swiper-lazy-preloader"></div>
1458          
1459        </div>
1460      
1461    </div>
1462    
1463      <div
1464        class="qk-swiper_btn qk-swiper_btn--lg qk-swiper_btn--v2 qk-swiper_btn--prev main_slider_custom_prev qk-hidden--mobile"
1465      ></div>
1466      <div
1467        class="qk-swiper_btn qk-swiper_btn--lg qk-swiper_btn--v2 qk-swiper_btn--next main_slider_custom_next qk-hidden--mobile"
1468      ></div>
1469    
1470  </div>
1471  
1472    <div class="qk-swiper_pg qk-w--100 qk-mg_t--1 qk-text--center main_slider_pagination"></div>
1473  
1474</section>
1475
1476<script>
1477  $(document).ready(function(){
1478    let isDynamicLoading = false;
1479    let settingObj = {
1480      id: '_main_slider_custom',
1481      mobile_img_number: Number('1'),
1482      mobile_img_space: Number('8'),
1483      img_number: Number('1'),
1484      img_space: Number('12'),
1485      swiper_delay: '3',
1486    }
1487    window.mainSlider = function(obj){
1488    var id = themeHelper.escapeId(obj.id);
1489    var slideCount = $(`#${obj.id} .swiper-slide`).length
1490    var autoLoop = true
1491    if (slideCount <= 1){
1492      autoLoop = false
1493    }
1494    var mainSlider = new Swiper('#' + id + ' .swiper-container', {
1495      preloadImages: false,
1496      slidesPerView: Number(obj.mobile_img_number),
1497      spaceBetween: Number(obj.mobile_img_space),
1498      breakpoints: {
1499        0:{
1500          slidesPerView: Number(obj.mobile_img_number),
1501          spaceBetween: Number(obj.mobile_img_space),
1502        },
1503        991: {
1504          slidesPerView: Number(obj.img_number),
1505          spaceBetween: Number(obj.img_space),
1506        }
1507      },
1508      // Enable lazy loading
1509      observer: true,
1510      observeParents: true,
1511      autoheight: true,
1512      lazy: {
1513        loadPrevNext: true,
1514      },
1515      freeMode: {
1516        enabled: true,
1517        sticky: true,
1518        momentum: true,
1519        momentumRatio: 0.4,
1520        momentumVelocityRatio: 0.1,
1521      },
1522      loop: autoLoop,
1523      autoplay: { delay: obj.swiper_delay * 1000 },
1524      speed: Number('300.0'),
1525      pagination: {
1526        el: '#' + id + ' .main_slider_pagination',
1527        clickable: true,
1528      },
1529      navigation: {
1530        nextEl: '#' + id + ' .main_slider_custom_next',
1531        prevEl: '#' + id + ' .main_slider_custom_prev',
1532      },
1533      on: {
1534        init: function () {
1535          if (isDynamicLoading && !window.matchMedia("(max-width: 576px)").matches) {
1536            document.querySelector('#' + id + ' .main-slider-placeholder').style.display = 'none';
1537            document.querySelector('#' + id + ' .swiper-container').style.visibility = 'visible';
1538          }
1539        },
1540      }
1541    });
1542    }
1543    if (isDynamicLoading) {
1544        window.DynamicLoading.setupComponent({
1545        sectionId: "_main_slider_custom",
1546        sectionSettingData: settingObj,
1547        entryName:'mainSlider',
1548        source:'https://cdnjs.cloudflare.com/ajax/libs/Swiper/5.4.5/js/swiper.js',
1549        componentType:'js',
1550        hiddenDom: true
1551      });
1552    }else{
1553      mainSlider(settingObj);
1554    }
1555  })
1556</script>
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568<script src='//cdn-general.cybassets.com/frontend/shop/productBanner-3a2e378145f8a165.js' type='text/javascript'></script>
1568
1569
1570
1571<style>
1572  [id="_index_product_banner"] {
1573    margin: 0 80px 48px !important;
1574  }
1575  @media (max-width: 991px) {
1576    [id="_index_product_banner"] {
1577      margin: 0 0px 24px !important;
1578    }
1579  }
1580</style>
1581
1582<section id="_index_product_banner" class="index-product-banner qk-display--bk qk-pos--rel">
1583  <div id="index_product_banner-_index_product_banner"></div>
1584</section>
1585
1586<script>
1587  $(document).ready(function() {
1588    let isDynamicLoading = false;
1589    if (isDynamicLoading) {
1590      window.DynamicLoading.setupComponent({
1591          sectionId:'#index_product_banner-_index_product_banner',
1592          callbackData:{
1593            sectionId: "_index_product_banner",
1594            section: {"type":"_index_product_banner","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc4NjQ1MzgwX-WPluiHquWkp-WcsOeahOe0lOeyue-8jCDpgoTljp_nlJ_mtLvmnIDljp_mnKznmoTjgI7mn5Hmt6jml6XluLjjgI8ucG5nLnBuZyJdXQ.png?sha=9cc559384cee5c5f","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc4NjQ1MzgwX-WPluiHquWkp-WcsOeahOe0lOeyue-8jCDpgoTljp_nlJ_mtLvmnIDljp_mnKznmoTjgI7mn5Hmt6jml6XluLjjgI8ucG5nLnBuZyJdXQ.png?sha=9cc559384cee5c5f","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc4NjQ1MzgwX-WPluiHquWkp-WcsOeahOe0lOeyue-8jCDpgoTljp_nlJ_mtLvmnIDljp_mnKznmoTjgI7mn5Hmt6jml6XluLjjgI8ucG5nLnBuZyJdXQ.png?sha=9cc559384cee5c5f","dict_link":"","display_cta_btn":true,"cta_btn_display_style":"midPosition","cta_btn_text":"Read More","cta_btn_bg_color":"#f07d4a","cta_btn_text_color":"#ffffff","margin_x":"80","margin_bottom":"48","mobile_margin_x":"0","mobile_margin_bottom":"24"},"blocks":{},"block_order":[],"custom_name":"橫幅廣告","schedule":{"enabled_default":true,"schedule_lists":[]}},
1595            dictMobileImageUrl:"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc4NjQ1MzgwX-WPluiHquWkp-WcsOeahOe0lOeyue-8jCDpgoTljp_nlJ_mtLvmnIDljp_mnKznmoTjgI7mn5Hmt6jml6XluLjjgI8ucG5nLnBuZyJdXQ.png?sha=9cc559384cee5c5f",
1596            dictTabletImageUrl:"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc4NjQ1MzgwX-WPluiHquWkp-WcsOeahOe0lOeyue-8jCDpgoTljp_nlJ_mtLvmnIDljp_mnKznmoTjgI7mn5Hmt6jml6XluLjjgI8ucG5nLnBuZyJdXQ.png?sha=9cc559384cee5c5f",
1597            dictImageUrl:"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc4NjQ1MzgwX-WPluiHquWkp-WcsOeahOe0lOeyue-8jCDpgoTljp_nlJ_mtLvmnIDljp_mnKznmoTjgI7mn5Hmt6jml6XluLjjgI8ucG5nLnBuZyJdXQ.png?sha=9cc559384cee5c5f",
1598          },
1599          entryName:'renderProductBanner',
1600          source:'//cdn-general.cybassets.com/frontend/shop/productBanner-3a2e378145f8a165.js',
1601        });
1602    }else{
1603      window.renderProductBanner('#index_product_banner-_index_product_banner',
1604        {
1605          sectionId: "_index_product_banner",
1606          section: {"type":"_index_product_banner","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc4NjQ1MzgwX-WPluiHquWkp-WcsOeahOe0lOeyue-8jCDpgoTljp_nlJ_mtLvmnIDljp_mnKznmoTjgI7mn5Hmt6jml6XluLjjgI8ucG5nLnBuZyJdXQ.png?sha=9cc559384cee5c5f","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc4NjQ1MzgwX-WPluiHquWkp-WcsOeahOe0lOeyue-8jCDpgoTljp_nlJ_mtLvmnIDljp_mnKznmoTjgI7mn5Hmt6jml6XluLjjgI8ucG5nLnBuZyJdXQ.png?sha=9cc559384cee5c5f","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc4NjQ1MzgwX-WPluiHquWkp-WcsOeahOe0lOeyue-8jCDpgoTljp_nlJ_mtLvmnIDljp_mnKznmoTjgI7mn5Hmt6jml6XluLjjgI8ucG5nLnBuZyJdXQ.png?sha=9cc559384cee5c5f","dict_link":"","display_cta_btn":true,"cta_btn_display_style":"midPosition","cta_btn_text":"Read More","cta_btn_bg_color":"#f07d4a","cta_btn_text_color":"#ffffff","margin_x":"80","margin_bottom":"48","mobile_margin_x":"0","mobile_margin_bottom":"24"},"blocks":{},"block_order":[],"custom_name":"橫幅廣告","schedule":{"enabled_default":true,"schedule_lists":[]}},
1607          dictMobileImageUrl:"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc4NjQ1MzgwX-WPluiHquWkp-WcsOeahOe0lOeyue-8jCDpgoTljp_nlJ_mtLvmnIDljp_mnKznmoTjgI7mn5Hmt6jml6XluLjjgI8ucG5nLnBuZyJdXQ.png?sha=9cc559384cee5c5f",
1608          dictTabletImageUrl:"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc4NjQ1MzgwX-WPluiHquWkp-WcsOeahOe0lOeyue-8jCDpgoTljp_nlJ_mtLvmnIDljp_mnKznmoTjgI7mn5Hmt6jml6XluLjjgI8ucG5nLnBuZyJdXQ.png?sha=9cc559384cee5c5f",
1609          dictImageUrl:"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc4NjQ1MzgwX-WPluiHquWkp-WcsOeahOe0lOeyue-8jCDpgoTljp_nlJ_mtLvmnIDljp_mnKznmoTjgI7mn5Hmt6jml6XluLjjgI8ucG5nLnBuZyJdXQ.png?sha=9cc559384cee5c5f",
1610        });
1611    }
1612  });
1613</script>
1613
1614
1615
1616<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/_index_8_blocks-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' />
1616<script src='//cdn-general.cybassets.com/frontend/shop/productCollection-3a2e378145f8a165.js' type='text/javascript'></script>
1616<!-- cyb_snippet _combo_product_related_items_modal start --><!-- cyb_snippet _combo_product_related_items_modal end -->
1617
1618
1619
1620<script>
1621  $(document).ready(function() {
1622    let isDynamicLoading = false;
1623
1624    function sendProductImpressions(products, collectionTitle) {
1625      if (products && products.length > 0) {
1626        var gtm_product = []
1627
1628        $.each(products, function(index, product) {
1629          productInfo = {
1630            'brand':    product.vendor,
1631            'category': product.product_type,
1632            'id':       product.id,
1633            'list':     'Index: ' + collectionTitle,
1634            'name':     product.title,
1635            'position': index + 1,
1636            'price':    product.price,
1637            'variant':  ''
1638          }
1639
1640          if (typeof google_tag_manager_id != 'undefined' || typeof cyb != 'undefined') {
1641            gtm_product.push(productInfo)
1642          }
1643        })
1644
1645        if (typeof google_tag_manager_id != 'undefined' && gtm_product.length > 0) {
1646          dataLayer.push({
1647            'event': 'productImpressions',
1648            'ecommerce': {
1649              'impressions': gtm_product
1650            }
1651          });
1652        }
1653
1654        if (typeof cyb != "undefined" && gtm_product.length > 0) {
1655          cyb.push({
1656            'event': 'productImpressions',
1657            'impressions': gtm_product
1658          });
1659        }
1660      }
1661    }
1662
1663    const props = {
1664      sectionId: "1783495357112_2",
1665      collection: {
1666        id: 478478,
1667        title: "柑好免運組",
1668      },
1669      allProductCount: 5,
1670      cartEnabled: true,
1671      discountPriceSloganUrl: "",
1672      showMultipleLabels: false,
1673      collectionHandleUrl: "/collections/柑好免運組",
1674      blockProducts: 
1675{"products":[{"id":67399409,"title":"【回饋限定組】柑橘清潔劑大美好家庭組","handle":"package","price":2099.0,"vendor":null,"slogan":"","sell_from":"2026-04-08 12:00:00","url":"/products/package","product_type":null,"total_sold":15,"sold_out":false,"price_range":{"min":{"id":81947322,"price":2099.0,"compare_at_price":2999.0},"max":{"id":81947322,"price":2099.0,"compare_at_price":2999.0}},"show_slogan":true,"related_to_sales_page":false,"hide_price?":false,"sales_mode_purchasable?":true,"featured_image":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY3Mzk5NDA5LzE3Nzc5NjEwNTlfNmQ1NzJkYzIxMmM0Y2M1OTE2NDUuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=934e3063b8b3a785","optional_combo_product?":false,"combo_product_info":null,"purchase_eligibility":{"required":false,"eligible":true,"status":"eligible"},"product_labels":[],"images":["//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY3Mzk5NDA5LzE3Nzc5NjEwNTlfNmQ1NzJkYzIxMmM0Y2M1OTE2NDUuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=934e3063b8b3a785","//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY3Mzk5NDA5LzE3Nzc5NjEwNTlfOGFhYTVjY2JjMTk3OTMxODFkODMud2VicCJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.webp?sha=5d42801a28d7eb11"]},{"id":67399523,"title":"【囤貨專區】柑橘清潔劑大大瓶(1000ml)","handle":"refill","price":1299.0,"vendor":null,"slogan":"","sell_from":"2026-04-08 12:00:00","url":"/products/refill","product_type":null,"total_sold":45,"sold_out":false,"price_range":{"min":{"id":81947470,"price":1299.0,"compare_at_price":1699.0},"max":{"id":81947470,"price":1299.0,"compare_at_price":1699.0}},"show_slogan":true,"related_to_sales_page":false,"hide_price?":false,"sales_mode_purchasable?":true,"featured_image":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY3Mzk5NTIzLzE3Nzc5NjEyNjVfNmMzMWE1OWRmOWIwYjdkM2Y3ZWQuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=2b4c56942c769cb0","optional_combo_product?":false,"combo_product_info":null,"purchase_eligibility":{"required":false,"eligible":true,"status":"eligible"},"product_labels":[],"images":["//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY3Mzk5NTIzLzE3Nzc5NjEyNjVfNmMzMWE1OWRmOWIwYjdkM2Y3ZWQuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=2b4c56942c769cb0"]},{"id":67864533,"title":"【新柑首選】柑橘清潔劑體驗組","handle":"firstpackage","price":1199.0,"vendor":null,"slogan":"","sell_from":"2026-04-08 12:00:00","url":"/products/firstpackage","product_type":null,"total_sold":13,"sold_out":false,"price_range":{"min":{"id":82564863,"price":1199.0,"compare_at_price":1299.0},"max":{"id":82564863,"price":1199.0,"compare_at_price":1299.0}},"show_slogan":true,"related_to_sales_page":false,"hide_price?":false,"sales_mode_purchasable?":true,"featured_image":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY3Mzk5NDA5LzE3Nzc5NjEwNTlfNmQ1NzJkYzIxMmM0Y2M1OTE2NDUuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=934e3063b8b3a785","optional_combo_product?":false,"combo_product_info":null,"purchase_eligibility":{"required":false,"eligible":true,"status":"eligible"},"product_labels":[],"images":["//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY3Mzk5NDA5LzE3Nzc5NjEwNTlfNmQ1NzJkYzIxMmM0Y2M1OTE2NDUuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=934e3063b8b3a785"]},{"id":69376925,"title":"【最後收藏】柑橘清潔劑初代包裝","handle":"c1314","price":15.0,"vendor":null,"slogan":"一週完售 5,000 瓶的奇蹟","sell_from":null,"url":"/products/c1314","product_type":null,"total_sold":69,"sold_out":false,"price_range":{"min":{"id":84547931,"price":15.0,"compare_at_price":25.0},"max":{"id":84547829,"price":4999.0,"compare_at_price":5988.0}},"show_slogan":true,"related_to_sales_page":false,"hide_price?":false,"sales_mode_purchasable?":true,"featured_image":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY5Mzc2OTI1LzE3ODM0OTM1MjVfMThjM2ZmYTBkMDRkMWE5NDYwZWYucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=a203d2342c70326a","optional_combo_product?":false,"combo_product_info":null,"purchase_eligibility":{"required":false,"eligible":true,"status":"eligible"},"product_labels":[],"images":["//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY5Mzc2OTI1LzE3ODM0OTM1MjVfMThjM2ZmYTBkMDRkMWE5NDYwZWYucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=a203d2342c70326a","//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY5Mzc2OTI1LzE3ODM0OTM1MjVfYzBlNWE2MjhhNGNmZjI3Zjc0ZDYucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=2595c7117a118a0d","//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY5Mzc2OTI1LzE3ODM0OTM1MjZfMDUxODA3YjZlYTQ2YTVkNDVmMWUucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=b6ede0a3a11f4edc","//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY5Mzc2OTI1LzE3ODM0OTM1MjZfY2NkZDcyZWJiNGFhZTllMzVjOTgucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=7a8a30d740ad7153","//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY5Mzc2OTI1LzE3ODM0OTM1MjZfNTIyZDhiMzY3NjgwMzQwMTA0ZDUucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=bde6fa0255ff6647","//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY5Mzc2OTI1LzE3ODM0OTM1MjdfOTVjMGNhNGM4Njg4MDE2MjMwODkucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=686690858cc89233"]}]}
1676,
1677      sessionTitle: null,
1678      section: {"type":"_index_8_blocks","custom_name":"商品分類","visible":true,"settings":{"dict_title":"柑好免運系列","collection_handle":"柑好免運組","limit":"4","product_arrangement":"2","product_column_for_pc":"4","product_column_for_mobile":"3","product_alignment":"leftPosition","product_text_align":"center","margin_x":"0","margin_bottom":"50","mobile_margin_x":"0","mobile_margin_bottom":"24","product_display":"displayDefault","product_card_hover_effect":"button","product_image_border_radius":"15"},"blocks":{},"block_order":[],"schedule":{"enabled_default":true,"schedule_lists":[]}},
1679      productURLSearch: "",
1680      hasIntegratedProductLabelsPlugin: true,
1681      isDisplayPriceRange: null || false,
1682      pageType: "index",
1683    }
1684    if (isDynamicLoading) {
1685      window.DynamicLoading.setupComponent({
1686        sectionId: '#index_8_blocks-1783495357112_2',
1687        callbackData: props,
1688        entryName: 'renderProductCollection',
1689        source: '//cdn-general.cybassets.com/frontend/shop/productCollection-3a2e378145f8a165.js',
1690      });
1691    } else {
1692      renderProductCollection('#index_8_blocks-1783495357112_2', props);
1693    }
1694    var products = props.blockProducts && props.blockProducts.products;
1695    if (products) {
1696      sendProductImpressions(products, props.collection.title);
1697    }
1698  });
1699</script>
1699
1700
1701<style>
1702  [id="1783495357112_2"] {
1703    margin: 0 0px 50px !important;
1704  }
1705  @media (max-width: 991px) {
1706    [id="1783495357112_2"] {
1707      margin: 0 0px 24px !important;
1708    }
1709  }
1710</style>
1711
1712<section id="1783495357112_2" class="index_8_blocks qk-text--center">
1713  <div id="index_8_blocks-1783495357112_2"></div>
1714</section>
1715
1716
1717
1718<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/_index_8_blocks-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' />
1718<script src='//cdn-general.cybassets.com/frontend/shop/productCollection-3a2e378145f8a165.js' type='text/javascript'></script>
1718<!-- cyb_snippet _combo_product_related_items_modal start --><!-- cyb_snippet _combo_product_related_items_modal end -->
1719
1720
1721
1722<script>
1723  $(document).ready(function() {
1724    let isDynamicLoading = false;
1725
1726    function sendProductImpressions(products, collectionTitle) {
1727      if (products && products.length > 0) {
1728        var gtm_product = []
1729
1730        $.each(products, function(index, product) {
1731          productInfo = {
1732            'brand':    product.vendor,
1733            'category': product.product_type,
1734            'id':       product.id,
1735            'list':     'Index: ' + collectionTitle,
1736            'name':     product.title,
1737            'position': index + 1,
1738            'price':    product.price,
1739            'variant':  ''
1740          }
1741
1742          if (typeof google_tag_manager_id != 'undefined' || typeof cyb != 'undefined') {
1743            gtm_product.push(productInfo)
1744          }
1745        })
1746
1747        if (typeof google_tag_manager_id != 'undefined' && gtm_product.length > 0) {
1748          dataLayer.push({
1749            'event': 'productImpressions',
1750            'ecommerce': {
1751              'impressions': gtm_product
1752            }
1753          });
1754        }
1755
1756        if (typeof cyb != "undefined" && gtm_product.length > 0) {
1757          cyb.push({
1758            'event': 'productImpressions',
1759            'impressions': gtm_product
1760          });
1761        }
1762      }
1763    }
1764
1765    const props = {
1766      sectionId: "_index_8_blocks",
1767      collection: {
1768        id: 487711,
1769        title: "柑淨日常組",
1770      },
1771      allProductCount: 7,
1772      cartEnabled: true,
1773      discountPriceSloganUrl: "",
1774      showMultipleLabels: false,
1775      collectionHandleUrl: "/collections/cleanlife",
1776      blockProducts: 
1777{"products":[{"id":71236254,"title":"《限量10組》果嶼。香氛清潔系列","handle":"wenszu","price":530.0,"vendor":null,"slogan":"","sell_from":null,"url":"/products/wenszu","product_type":null,"total_sold":6,"sold_out":false,"price_range":{"min":{"id":87087348,"price":530.0,"compare_at_price":599.0},"max":{"id":87087350,"price":2699.0,"compare_at_price":2899.0}},"show_slogan":true,"related_to_sales_page":false,"hide_price?":false,"sales_mode_purchasable?":true,"featured_image":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzcxMjM2MjU0LzE3ODY3ODA2NDhfNzA0ZTg5YmJiOWVlODQ2N2UyYzgucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=8ef5610f889f8652","optional_combo_product?":false,"combo_product_info":null,"purchase_eligibility":{"required":false,"eligible":true,"status":"eligible"},"product_labels":[],"images":["//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzcxMjM2MjU0LzE3ODY3ODA2NDhfNzA0ZTg5YmJiOWVlODQ2N2UyYzgucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=8ef5610f889f8652","//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzcxMjM2MjU0LzE3ODY3ODE5ODRfYmI2NTQ5MjRlM2NjZTdhOGNkMzYucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=d7a304b656ee94c7","//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzcxMjM2MjU0LzE3ODY3ODE5ODRfNmMzMWVlMjM4OGVhZDE3Mjk2MzkucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=d2390e99f52ac5fb","//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzcxMjM2MjU0LzE3ODY3ODE5ODRfNDUwOTMzMDFkOTU1Mzc0MjEyYTMucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=9986695548068559"]},{"id":69212295,"title":"【新品上市】柑淨居家組合","handle":"newpack","price":999.0,"vendor":null,"slogan":"","sell_from":null,"url":"/products/newpack","product_type":null,"total_sold":6,"sold_out":false,"price_range":{"min":{"id":84309526,"price":999.0,"compare_at_price":1150.0},"max":{"id":84309528,"price":2999.0,"compare_at_price":3299.0}},"show_slogan":true,"related_to_sales_page":false,"hide_price?":false,"sales_mode_purchasable?":true,"featured_image":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY5MjEyMjk1LzE3ODg0Mjk0MzhfZDg5N2ZjMjc0MDQwYjJiMTM0MTYucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=4e6794e65391a130","optional_combo_product?":false,"combo_product_info":null,"purchase_eligibility":{"required":false,"eligible":true,"status":"eligible"},"product_labels":[],"images":["//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY5MjEyMjk1LzE3ODg0Mjk0MzhfZDg5N2ZjMjc0MDQwYjJiMTM0MTYucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=4e6794e65391a130","//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY5MjEyMjk1LzE3ODg0MzA1ODhfNDBmY2UyZjJjM2NmYjNmNTBmY2IucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=94c4385f3aafe2c0","//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY5MjEyMjk1LzE3ODg0MzQwOTRfYTUzYTEyZjE0MGY0NDIyNGYyMWIucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=d22ccf7a2644e12c","//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY5MjEyMjk1LzE3ODg0MzQwOTRfZDQ4NjFmOGE5YWYwYzNhYTUxY2YucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=234bbe2a49f06bb8"]},{"id":69376925,"title":"【最後收藏】柑橘清潔劑初代包裝","handle":"c1314","price":15.0,"vendor":null,"slogan":"一週完售 5,000 瓶的奇蹟","sell_from":null,"url":"/products/c1314","product_type":null,"total_sold":69,"sold_out":false,"price_range":{"min":{"id":84547931,"price":15.0,"compare_at_price":25.0},"max":{"id":84547829,"price":4999.0,"compare_at_price":5988.0}},"show_slogan":true,"related_to_sales_page":false,"hide_price?":false,"sales_mode_purchasable?":true,"featured_image":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY5Mzc2OTI1LzE3ODM0OTM1MjVfMThjM2ZmYTBkMDRkMWE5NDYwZWYucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=a203d2342c70326a","optional_combo_product?":false,"combo_product_info":null,"purchase_eligibility":{"required":false,"eligible":true,"status":"eligible"},"product_labels":[],"images":["//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY5Mzc2OTI1LzE3ODM0OTM1MjVfMThjM2ZmYTBkMDRkMWE5NDYwZWYucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=a203d2342c70326a","//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY5Mzc2OTI1LzE3ODM0OTM1MjVfYzBlNWE2MjhhNGNmZjI3Zjc0ZDYucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=2595c7117a118a0d","//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY5Mzc2OTI1LzE3ODM0OTM1MjZfMDUxODA3YjZlYTQ2YTVkNDVmMWUucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=b6ede0a3a11f4edc","//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY5Mzc2OTI1LzE3ODM0OTM1MjZfY2NkZDcyZWJiNGFhZTllMzVjOTgucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=7a8a30d740ad7153","//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY5Mzc2OTI1LzE3ODM0OTM1MjZfNTIyZDhiMzY3NjgwMzQwMTA0ZDUucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=bde6fa0255ff6647","//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY5Mzc2OTI1LzE3ODM0OTM1MjdfOTVjMGNhNGM4Njg4MDE2MjMwODkucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=686690858cc89233"]},{"id":71721342,"title":"【限量100瓶。心柑募集】柑橘清潔劑","handle":"mmnn","price":299.0,"vendor":null,"slogan":"最高回饋299元購物金","sell_from":"2026-04-08 12:00:00","url":"/products/mmnn","product_type":null,"total_sold":4,"sold_out":false,"price_range":{"min":{"id":87870316,"price":299.0,"compare_at_price":459.0},"max":{"id":89181220,"price":699.0,"compare_at_price":999.0}},"show_slogan":true,"related_to_sales_page":false,"hide_price?":false,"sales_mode_purchasable?":true,"featured_image":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzcxNzIxMzQyLzE3ODg1MDg2NjlfNTg2MTAwMjk2NTQxZGVhZjg5NmEucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=dd793101a772ac7c","optional_combo_product?":false,"combo_product_info":null,"purchase_eligibility":{"required":false,"eligible":true,"status":"eligible"},"product_labels":[],"images":["//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzcxNzIxMzQyLzE3ODg1MDg2NjlfNTg2MTAwMjk2NTQxZGVhZjg5NmEucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=dd793101a772ac7c","//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzcxNzIxMzQyLzE3OTAwNDM2MjBfNzM5YWMxZjYxNTQ2MzBlZjYwM2EucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=5ea5bfaf19cc86a2","//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzcxNzIxMzQyLzE3OTAwNDM2MjBfYjE0NjY5OGQ4NTRkYmMzNzRlZTMucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=3ca983d0c2262e79","//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzcxNzIxMzQyLzE3OTAwNDgzMDlfNmViYTI1NzhmNjc3NmUwMjZkMWEucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=65631623e7ee0d56"]}]}
1778,
1779      sessionTitle: null,
1780      section: {"type":"_index_8_blocks","visible":true,"settings":{"dict_title":"柑淨日常系列","collection_handle":"cleanlife","limit":"4","margin_x":"0","margin_bottom":"48","mobile_margin_x":"","mobile_margin_bottom":"24","product_display":"displayPartial","product_arrangement":"2","product_column_for_pc":"4","product_column_for_mobile":"3","product_alignment":"leftPosition","product_text_align":"center","product_card_hover_effect":"button","product_image_border_radius":"15"},"custom_name":"商品分類","schedule":{"enabled_default":true,"schedule_lists":[]}},
1781      productURLSearch: "",
1782      hasIntegratedProductLabelsPlugin: true,
1783      isDisplayPriceRange: null || false,
1784      pageType: "index",
1785    }
1786    if (isDynamicLoading) {
1787      window.DynamicLoading.setupComponent({
1788        sectionId: '#index_8_blocks-_index_8_blocks',
1789        callbackData: props,
1790        entryName: 'renderProductCollection',
1791        source: '//cdn-general.cybassets.com/frontend/shop/productCollection-3a2e378145f8a165.js',
1792      });
1793    } else {
1794      renderProductCollection('#index_8_blocks-_index_8_blocks', props);
1795    }
1796    var products = props.blockProducts && props.blockProducts.products;
1797    if (products) {
1798      sendProductImpressions(products, props.collection.title);
1799    }
1800  });
1801</script>
1801
1802
1803<style>
1804  [id="_index_8_blocks"] {
1805    margin: 0 0px 48px !important;
1806  }
1807  @media (max-width: 991px) {
1808    [id="_index_8_blocks"] {
1809      margin: 0 0px 24px !important;
1810    }
1811  }
1812</style>
1813
1814<section id="_index_8_blocks" class="index_8_blocks qk-text--center">
1815  <div id="index_8_blocks-_index_8_blocks"></div>
1816</section>
1817
1818
1819
1820<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/_index_8_blocks-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' />
1820<script src='//cdn-general.cybassets.com/frontend/shop/productCollection-3a2e378145f8a165.js' type='text/javascript'></script>
1820<!-- cyb_snippet _combo_product_related_items_modal start --><!-- cyb_snippet _combo_product_related_items_modal end -->
1821
1822
1823
1824<script>
1825  $(document).ready(function() {
1826    let isDynamicLoading = false;
1827
1828    function sendProductImpressions(products, collectionTitle) {
1829      if (products && products.length > 0) {
1830        var gtm_product = []
1831
1832        $.each(products, function(index, product) {
1833          productInfo = {
1834            'brand':    product.vendor,
1835            'category': product.product_type,
1836            'id':       product.id,
1837            'list':     'Index: ' + collectionTitle,
1838            'name':     product.title,
1839            'position': index + 1,
1840            'price':    product.price,
1841            'variant':  ''
1842          }
1843
1844          if (typeof google_tag_manager_id != 'undefined' || typeof cyb != 'undefined') {
1845            gtm_product.push(productInfo)
1846          }
1847        })
1848
1849        if (typeof google_tag_manager_id != 'undefined' && gtm_product.length > 0) {
1850          dataLayer.push({
1851            'event': 'productImpressions',
1852            'ecommerce': {
1853              'impressions': gtm_product
1854            }
1855          });
1856        }
1857
1858        if (typeof cyb != "undefined" && gtm_product.length > 0) {
1859          cyb.push({
1860            'event': 'productImpressions',
1861            'impressions': gtm_product
1862          });
1863        }
1864      }
1865    }
1866
1867    const props = {
1868      sectionId: "1779085303274_2",
1869      collection: {
1870        id: 63341,
1871        title: "柑甜食光系列",
1872      },
1873      allProductCount: 4,
1874      cartEnabled: true,
1875      discountPriceSloganUrl: "",
1876      showMultipleLabels: false,
1877      collectionHandleUrl: "/collections/food",
1878      blockProducts: 
1879{"products":[{"id":67399624,"title":"古法釀造柑橘果醋 (400ml)","handle":"vinegar","price":780.0,"vendor":null,"slogan":"","sell_from":"2026-04-08 12:00:00","url":"/products/vinegar","product_type":null,"total_sold":8,"sold_out":true,"price_range":{"min":{"id":81947598,"price":780.0,"compare_at_price":899.0},"max":{"id":81947598,"price":780.0,"compare_at_price":899.0}},"show_slogan":false,"related_to_sales_page":false,"hide_price?":false,"sales_mode_purchasable?":true,"featured_image":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY3Mzk5NjI0LzE3Nzc5NjE0OThfMmRmMGEwOGE2YThkMzY0YTAxYzkud2VicCJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.webp?sha=1a4323e3740b2008","optional_combo_product?":false,"combo_product_info":null,"purchase_eligibility":{"required":false,"eligible":true,"status":"eligible"},"product_labels":[],"images":["//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY3Mzk5NjI0LzE3Nzc5NjE0OThfMmRmMGEwOGE2YThkMzY0YTAxYzkud2VicCJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.webp?sha=1a4323e3740b2008"]},{"id":67399661,"title":"柑橘果醋2入提袋組","handle":"nainai","price":1599.0,"vendor":null,"slogan":"","sell_from":"2026-04-08 12:00:00","url":"/products/nainai","product_type":null,"total_sold":1599,"sold_out":true,"price_range":{"min":{"id":81947653,"price":1599.0,"compare_at_price":1899.0},"max":{"id":81947653,"price":1599.0,"compare_at_price":1899.0}},"show_slogan":false,"related_to_sales_page":false,"hide_price?":false,"sales_mode_purchasable?":true,"featured_image":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY3Mzk5NjYxLzE3Nzc5NjI2NjlfNDNkMmFhMzE2YmIwM2M0NTdiZTQud2VicCJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.webp?sha=a59f9d0a508748ac","optional_combo_product?":false,"combo_product_info":null,"purchase_eligibility":{"required":false,"eligible":true,"status":"eligible"},"product_labels":[],"images":["//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY3Mzk5NjYxLzE3Nzc5NjI2NjlfNDNkMmFhMzE2YmIwM2M0NTdiZTQud2VicCJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.webp?sha=a59f9d0a508748ac"]},{"id":67399672,"title":"椪。米香","handle":"rice","price":450.0,"vendor":null,"slogan":"","sell_from":"2026-04-08 12:00:00","url":"/products/rice","product_type":null,"total_sold":9,"sold_out":true,"price_range":{"min":{"id":81947679,"price":450.0,"compare_at_price":488.0},"max":{"id":81947679,"price":450.0,"compare_at_price":488.0}},"show_slogan":false,"related_to_sales_page":false,"hide_price?":false,"sales_mode_purchasable?":true,"featured_image":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY3Mzk5NjcyLzE3Nzc5NjIwMDRfMzIyNzQxODE4YzY3NWFkNGEzMDMud2VicCJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.webp?sha=8a4ee0683ada484c","optional_combo_product?":false,"combo_product_info":null,"purchase_eligibility":{"required":false,"eligible":true,"status":"eligible"},"product_labels":[],"images":["//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY3Mzk5NjcyLzE3Nzc5NjIwMDRfMzIyNzQxODE4YzY3NWFkNGEzMDMud2VicCJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.webp?sha=8a4ee0683ada484c","//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY3Mzk5NjcyLzE3Nzc5NjIwMDRfNDZlZDA4MmMyMjVmYzUxODA1NmQud2VicCJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.webp?sha=736e46b4eb5d28a6","//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY3Mzk5NjcyLzE3Nzc5NjIzNDFfOWQ3ZjdjMDdkYjNiZDlhODRlMjgud2VicCJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.webp?sha=82fab2b9a5611791","//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY3Mzk5NjcyLzE3Nzc5NjIzNDFfOGIzYmE1ZmIyNGM0NGZlYmQzM2Qud2VicCJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.webp?sha=01698d153786cc81","//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY3Mzk5NjcyLzE3Nzc5NjIzNDFfZmZhZGJlMmE0NGU4ZDZhNTM1ZTEud2VicCJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.webp?sha=1e226e1501529c34"]},{"id":67851621,"title":"產地直送|青皮椪柑","handle":"pokan","price":664.0,"vendor":null,"slogan":"台南東山 x 新鮮當季","sell_from":"2026-05-19 00:00:00","url":"/products/pokan","product_type":null,"total_sold":1,"sold_out":false,"price_range":{"min":{"id":82547381,"price":664.0,"compare_at_price":699.0},"max":{"id":82547382,"price":1282.0,"compare_at_price":1350.0}},"show_slogan":true,"related_to_sales_page":false,"hide_price?":false,"sales_mode_purchasable?":true,"featured_image":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY3ODUxNjIxLzE3NzkxNjIwNTdfYjU1YmNiNDE2ZWFjMmRlZDVjZDkuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=d2207902d4f0dcc8","optional_combo_product?":false,"combo_product_info":null,"purchase_eligibility":{"required":false,"eligible":true,"status":"eligible"},"product_labels":[],"images":["//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY3ODUxNjIxLzE3NzkxNjIwNTdfYjU1YmNiNDE2ZWFjMmRlZDVjZDkuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=d2207902d4f0dcc8","//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY3ODUxNjIxLzE3OTA3ODE2NTBfYjM3NTg2YjY0YmNmNWEyN2Y4ODIucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=1d1b0b1
1879d12f6e165","//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL3Byb2R1Y3RzLzY3ODUxNjIxLzE3OTA3ODE2NTBfZjNkNzYwMzA3Y2E4MzMzNDVhNzQucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=1867c7452e2b36ab"]}]}
1880,
1881      sessionTitle: null,
1882      section: {"type":"_index_8_blocks","custom_name":"商品分類","visible":true,"settings":{"dict_title":"柑甜食光系列","collection_handle":"food","limit":"4","product_arrangement":"2","product_column_for_pc":"4","product_column_for_mobile":"3","product_alignment":"leftPosition","product_text_align":"center","margin_x":"0","margin_bottom":"50","mobile_margin_x":"0","mobile_margin_bottom":"24","product_display":"displayDefault","product_card_hover_effect":"button","product_image_border_radius":"15"},"blocks":{},"block_order":[],"schedule":{"enabled_default":true,"schedule_lists":[]}},
1883      productURLSearch: "",
1884      hasIntegratedProductLabelsPlugin: true,
1885      isDisplayPriceRange: null || false,
1886      pageType: "index",
1887    }
1888    if (isDynamicLoading) {
1889      window.DynamicLoading.setupComponent({
1890        sectionId: '#index_8_blocks-1779085303274_2',
1891        callbackData: props,
1892        entryName: 'renderProductCollection',
1893        source: '//cdn-general.cybassets.com/frontend/shop/productCollection-3a2e378145f8a165.js',
1894      });
1895    } else {
1896      renderProductCollection('#index_8_blocks-1779085303274_2', props);
1897    }
1898    var products = props.blockProducts && props.blockProducts.products;
1899    if (products) {
1900      sendProductImpressions(products, props.collection.title);
1901    }
1902  });
1903</script>
1903
1904
1905<style>
1906  [id="1779085303274_2"] {
1907    margin: 0 0px 50px !important;
1908  }
1909  @media (max-width: 991px) {
1910    [id="1779085303274_2"] {
1911      margin: 0 0px 24px !important;
1912    }
1913  }
1914</style>
1915
1916<section id="1779085303274_2" class="index_8_blocks qk-text--center">
1917  <div id="index_8_blocks-1779085303274_2"></div>
1918</section>
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/_index_4_blocks-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' />
1934<script src='//cdn-general.cybassets.com/frontend/shop/productDisplay-3a2e378145f8a165.js' type='text/javascript'></script>
1934
1935
1936<style>
1937  [id="_index_4_blocks_2"] {
1938    margin: 0 80px 48px !important;
1939  }
1940
1941  @media (min-width: 992px) {
1942    [id="_index_4_blocks_2"] .block:not(.last-row) {
1943      margin-bottom: 10px !important;
1944    }
1945    [id="_index_4_blocks_2"] .block-default-width-margin:not(:first-of-type),
1946    [id="_index_4_blocks_2"] .block-not-first-margin {
1947      margin-left: 10px !important;
1948    }
1949  }
1950
1951  @media (max-width: 991px) {
1952    [id="_index_4_blocks_2"] {
1953      margin: 0 16px 24px !important;
1954    }
1955    [id="_index_4_blocks_2"] > .qk-display--flex.qk-flex--wrap {
1956      gap: 10px;
1957      justify-content: flex-start;
1958    }
1959    [id="_index_4_blocks_2"] .block {
1960      flex: 0 0 calc((100% - (2 - 1) * 10px) / 2);
1961    }
1962  }
1963
1964  .video-block-loading {
1965    background-color: #eeee;
1966    position: absolute;
1967    top: 0;
1968    bottom: 0;
1969    left: 0;
1970    width: 100%;
1971    height: 100%;
1972  }
1973</style>
1974
1975<script>
1976
1977  $(document).ready(function() {
1978    let isDynamicLoading = false;
1979    if (isDynamicLoading) {
1980      window.DynamicLoading.setupComponent({
1981          sectionId:'_index_4_blocks_2',
1982          componentType:'liquid',
1983        });
1984    }
1985    
1986      
1987    
1988      
1989    
1990  })
1991</script>
1991
1992
1993<script>
1994  function buildYoutubeEmbedUrl(url, options) {
1995    const YT_REGEX = /^.*(youtu\.be\/|v\/|u\/\w\/|embed\/|watch\?v=|&v=|shorts\/)([^#&?]*).*/;
1996    const match = (url || '').match(YT_REGEX);
1997    const videoId = match && match[2].length === 11 ? match[2] : '';
1998
1999    if (!videoId) {
2000      return '';
2001    }
2002
2003    const autoPlay = options && options.autoPlay;
2004    const hideControls = options && options.hideControls;
2005    const loop = options && options.loop;
2006
2007    const searchParams = new URLSearchParams();
2008
2009    searchParams.set('autoplay', autoPlay ? '1' : '0');
2010    // 若自動播放,預設靜音以符合瀏覽器限制
2011    searchParams.set('mute', autoPlay ? '1' : '0');
2012    searchParams.set('playsinline', '1');
2013
2014    searchParams.set('controls', hideControls ? '0' : '1');
2015    searchParams.set('rel', '0');
2016
2017    if (loop) {
2018      searchParams.set('loop', '1');
2019      searchParams.set('playlist', videoId);
2020    }
2021
2022    return 'https://www.youtube.com/embed/' + videoId + '?' + searchParams.toString();
2023  }
2024
2025  function parseYtUrlOnLoad(target, url, autoPlay, hideControls, loop) {
2026    const finalUrl = buildYoutubeEmbedUrl(url, {
2027      autoPlay: autoPlay,
2028      hideControls: hideControls,
2029      loop: loop,
2030    });
2031
2032    if (!finalUrl || target.src === finalUrl) {
2033      return;
2034    }
2035
2036    const handleVideoLoad = function () {
2037      try {
2038        const wrapper = $(target).closest('.embed-responsive')[0];
2039        if (wrapper) {
2040          // 關閉 loading skeleton
2041          const loading = wrapper.querySelector('.video-block-loading');
2042          if (loading) {
2043            loading.style.display = 'none';
2044          }
2045        }
2046      } catch (e) {
2047        console.error('iframe onload 處理失敗', e);
2048      } finally {
2049        target.removeEventListener('load', handleVideoLoad);
2050      }
2051    };
2052
2053    target.addEventListener('load', handleVideoLoad);
2054
2055    target.src = finalUrl;
2056    if (hideControls && autoPlay) {
2057      target.style.pointerEvents = 'none';
2058    }
2059
2060    // 判斷是不是 YouTube shorts,決定要不要加上 .short-youtube class
2061    try {
2062      const isShort = (url || '').indexOf('/shorts/') !== -1;
2063      if (isShort) {
2064        const wrapper = $(target).closest('.embed-responsive')[0];
2065        if (wrapper) {
2066          wrapper.classList.add('short-youtube');
2067        }
2068      }
2069    } catch (e) {
2070      console.error('isShort 判斷失敗', e);
2071    }
2072  }
2073
2074
2075  window.addEventListener('load', function () {
2076    const sectionEl = document.getElementById('_index_4_blocks_2');
2077    if (!sectionEl) return;
2078
2079    const options = {
2080      threshold: 0.25,
2081    };
2082
2083    
2084      
2085      {
2086        const target = sectionEl.querySelector('#video-block-_index_4_blocks_2_block_1');
2087
2088        if (!target) {
2089          return;
2090        }
2091
2092        const callback = (entries, observer) => {
2093          entries.forEach(entry => {
2094            if (entry.isIntersecting) {
2095              const iframe = target.querySelector('iframe');
2096              parseYtUrlOnLoad(
2097                iframe,
2098                'https://youtu.be/7RG8FE4tAEs?si=H5zhgFc7jg0g3URb',
2099                false,
2100                false,
2101                true
2102              );
2103
2104              observer.unobserve(entry.target);
2105            }
2106          });
2107        };
2108
2109        const observer = new IntersectionObserver(callback, options);
2110        observer.observe(target);
2111      }
2112      
2113    
2114      
2115      {
2116        const target = sectionEl.querySelector('#video-block-1777574801971_1');
2117
2118        if (!target) {
2119          return;
2120        }
2121
2122        const callback = (entries, observer) => {
2123          entries.forEach(entry => {
2124            if (entry.isIntersecting) {
2125              const iframe = target.querySelector('iframe');
2126              parseYtUrlOnLoad(
2127                iframe,
2128                'https://youtu.be/2Kh5Fzcr6yg?si=VxmNRZ0E66SZqzLY',
2129                false,
2130                false,
2131                true
2132              );
2133
2134              observer.unobserve(entry.target);
2135            }
2136          });
2137        };
2138
2139        const observer = new IntersectionObserver(callback, options);
2140        observer.observe(target);
2141      }
2142      
2143    
2144  });
2145</script>
2145
2146
2147<section id="_index_4_blocks_2" class="index-4-blocks">
2148  <div class="qk-display--flex qk-flex--wrap">
2149    
2150    
2151      
2152      
2153      <div class="block video mobile-2-col" style="width: calc(100% - 0.0px);">
2154        
2155            
2156            <div class="embed-responsive only-video" id="video-block-_index_4_blocks_2_block_1">
2157              <iframe
2158                frameborder="0"
2159                allowfullscreen
2160                allow="autoplay; encrypted-media"
2161              ></iframe>
2162              
2163                <div class="video-block-loading" >
2164                </div>
2165              
2166            </div>
2167          
2168      </div>
2169    
2170      
2171      
2172      <div class="block video mobile-2-col last-row" style="width: calc(100% - 0.0px);">
2173        
2174            
2175            <div class="embed-responsive only-video" id="video-block-1777574801971_1">
2176              <iframe
2177                frameborder="0"
2178                allowfullscreen
2179                allow="autoplay; encrypted-media"
2180              ></iframe>
2181              
2182                <div class="video-block-loading" >
2183                </div>
2184              
2185            </div>
2186          
2187      </div>
2188    
2189  </div>
2190</section>
2191
2192
2193
2194
2195  <!-- 加入購物車 -->
2196  
2197    <!-- cyb_snippet new_addcart_modal start -->
2198<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/vue_product_modal-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' />
2199
2200<div id="new-addcart-modal" class="container">
2201  <transition name="modal">
2202    <product-modal
2203      v-if="showProductModal"
2204      :only-description="onlyDescription"
2205      :product-url="popProductUrl"
2206      :color="color"
2207      :is-collection="isCollection"
2208      :is-show-description="isShowDescription"
2209      :is-quick-buy="isQuickBuy"
2210      :selected-variant-id="selectedVariantId"
2211      :categories="categories"
2212      :call-back="checkoutAddToCartCallback"
2213      ref="productModal"
2214    >
2215    </product-modal>
2216  </transition>
2217</div>
2218
2219<!-- cyb_snippet components/product_modal/product_modal start -->
2220<script type="text/x-template" id="product-modal">
2221  <div class="modal-mask qk-h--100 qk-w--100 qk-l--0 qk-t--0 qk-pos--fixed" @click="closeModal">
2222    <div class="modal-content qk-bd--none qk-center qk-bg--theme_bg" :class="{'only-description': onlyDescription}" @click.stop>
2223      <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>
2224      <div class="modal-body custom-scrollbar qk-w--100">
2225        <div v-if="!isLoading">
2226          <div id="checkout-product" class="row">
2227            <div class="col-sm-6 col-xs-4">
2228              <photo-swiper
2229                :mediaItems="swiperItems"
2230                :current-image-index="currentImageIndex"
2231                :current-variant="currentVariant"
2232                :video-after-image="videoAfterImage"
2233              ></photo-swiper>
2234            </div>
2235            <div class="col-sm-6 col-xs-8">
2236              <h4 class="qk-fs--hd2 qk-fw--bold qk-text--heading qk-mg--0" v-html="product.title"></h4>
2237              <p class="product_brief qk-text--text qk-fs--body" v-html="product.brief"></p>
2238              <p class="product_slogan qk-text--heading qk-fs--body" v-html="product.slogan"></p>
2239              <div class="swiper_thumbnails" style="margin-bottom: 10px;">
2240                <swiper-thumbnails
2241                  :mediaItems="swiperItems"
2242                  :current-image-index="currentImageIndex"
2243                  :title="product.title"
2244                  @update-current-image-index="(thumbnailIndex) => { currentImageIndex = thumbnailIndex }"
2245                ></swiper-thumbnails>
2246              </div>
2247              
2248              <div v-if="!hidePrice" style="margin-bottom: 10px;">
2249                
2250                <span class="price-title qk-fs--body qk-fw--500 qk-text--heading">${ priceTitleTag }</span>
2251                
2252                <div>
2253                  <span v-html="variantPrice" class="variant-price qk-fs--hd1 qk-fw--bold" :class="[isDiscountPrice ? 'qk-text--discount_price' : 'qk-text--price']"></span>
2254                  <del v-html="marketPrice" class="variant-del-price qk-fs--body qk-fw--500 qk-text--text"></del>
2255                </div>
2256              </div>
2257              <div v-if="!onlyDescription" class="controls">
2258                <div class="variant-quantity qk-display--flex qk-flex--column">
2259                  <div v-if="hasVariant" class="product-variant-options">
2260                    <div v-for="(option, index) in optionInfo" class="product-variant-option" :class="{'product-variant-option--hidden': shouldHideSingleVariantOptions}">
2261                      <div class="advance variant-select-option" v-if="styledShopMenu==='dropDownType'">
2262                      
2263                        <label>${option.name}</label>
2264                        <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>
2265                        <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}`)">
2266                          <option value="null" class="select_option-hidden">請選擇${option.name}</option>
2267                          <option :style="{ visibility : isMobileSize ? 'hidden' : 'visible' }" v-for="(types) in option.types" :disabled="!types.isValid" :value="types.name">${types.name}</option>
2268                        </select>
2269                        <span class="select_placeholder-color" v-if="currentOption[`option${index + 1}`] === null" v-show="isMobileSize" @click="onClickSelectModal(option,`option${index + 1}`)">請選擇${option.name}</span>
2270                        <span v-else :value="currentOption[`option${index + 1}`]" v-show="isMobileSize" @click="onClickSelectModal(option,`option${index + 1}`)" v-html="currentOption[`option${index + 1}`]"></span>
2271                      </div>
2272                      <advance-option v-else :option-key="'option' + (index + 1)" :option="option" :current-option="currentOption" :toggle-current-option="toggleCurrentOption"/>
2273                    </div>
2274                  </div>
2275                  <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)">
2276                    <div class="list_block custom-scrollbar qk-of_x--hidden">
2277                      <h4 class="qk-text--heading qk-fs--body">此商品參與的優惠活動
2278                      </h4>
2279                      <template v-if="displayPeriodicSalesPages">
2280                        <div v-for="salesPage in product.showableSalesPages" class="discount-list">
2281                          <span class="discount-label qk-fs--breadcrumb qk-bd--default qk-bd--accent qk-bg--white qk-display--il_bk qk-text--accent">定期定額
2282                          </span>
2283                          <a class="discount-title qk-text--accent qk-fs--body" :href="salesPage.path">${ salesPage.title }</a>
2284                        </div>
2285                      </template>
2286                      <template v-for="discounts in discountsList">
2287                        <div v-for="discount in discounts" class="discount-list">
2288                          <a v-if="discount.url" :href="discount.url" class="discount-title qk-text--accent qk-fs--body">
2289                            ${ discount.title }
2290                          </a>
2291                          <span v-else class="discount-title qk-text--accent qk-fs--body">${ discount.title }</span>
2292                        </div>
2293                      </template>
2294                    </div>
2295                  </div>
2296                  <div v-if="showPurchaseControls" class="product-quantity qk-bd--product_border" v-show="!isMobileSize">
2297                    <div class="btn-group qk-w--100" role="group" aria-label="First group">
2298                      <button class="btn add-down qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityDecrease">-</button>
2299                      <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">
2300                      <button class="btn add-up qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityIncrease">+</button>
2301                    </div>
2302                  </div>
2303                </div>
2304                <div v-if="showPurchaseControls" class="add-button-wrapper">
2305                  <!-- cyb_snippet _product_modal_button start -->
2306<button
2307  class="btn btn-default add-button qk-cursor--pointer qk-w--100 qk-btn--primary"
2308  :class="{selected: isChoose, adding: adding || isHideAddCartBtn, secondary: isSecondaryBtn, 'qk-btn--disabled': isHideAddCartBtn && isNewNnCollection, 'qk-bd--none': isHideAddCartBtn && isNewNnCollection}"
2309  type="button"
2310  :disabled="isHideAddCartBtn"
2311  @click="addProduct"
2312>
2313  ${ addCartText }
2314</button>
2315
2316<!-- cyb_snippet _product_modal_button end -->
2317                </div>
2318                <div class="product-others qk-fs--body">
2319                  <span class="product-love">
2320                    <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">
2321                      <svg
2322                        width="15"
2323                        height="15"
2324                        viewBox="0 0 24 24"
2325                        fill="none"
2326                        xmlns="http://www.w3.org/2000/svg">
2327                        <path
2328                          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"
2329                          stroke="currentColor"
2330                          stroke-width="2"
2331                          stroke-linecap="round"
2332                          stroke-linejoin="round" />
2333                      </svg>
2334                      加入最愛
2335                    </a>
2336                  </span>
2337                  <span class="product_sold qk-text--text" v-if="false">
2338                    <span>已銷售:
2339                      ${ product.totalSold }
2340                      ä»¶
2341                    </span>
2342                  </span>
2343                  <span class="product_bonus qk-text--text" v-if="true">
2344                    此商品 「 最高 」可以折抵紅利
2345                    <span class="val qk-fw--600 qk-fs--hd2" v-if="currentVariant">${currentVariant.maxUsableBonus}</span>
2346                    <span class="val qk-fw--600 qk-fs--hd2" v-else>${maxUsableBonus}</span>
2347                    點
2348                    <span v-html="bonusToPrice"/>
2349                  </span>
2350                </div>
2351                <div class='product_limit_buy qk-fs--body' v-show="product.minBuy > 0 || product.limitBuy > 0">
2352                  ${limitBuyText}
2353                </div>
2354              </div>
2355            </div>
2356          </div>
2357          <div v-if="isShowDescription" class="row">
2358            <div class="col-sm-12">
2359              
2360                <div v-if="product.bodyHtml">
2361                  <h5 class="section-heading qk-bd--heading qk-fs--hd2 qk-text--heading">
2362                    商品介紹
2363                  </h5>
2364                  <div class="ckeditor">
2365                    <div v-html="product.bodyHtml"></div>
2366                  </div>
2367                </div>
2368              
2369              
2370                <div v-if="otherDescriptions['product_description_section_spec']">
2371                  <h5 class="section-heading qk-bd--heading qk-fs--hd2 qk-text--heading">
2372                    規格說明
2373                  </h5>
2374                  <div class="ckeditor">
2375                    <div v-html="otherDescriptions['product_description_section_spec']"></div>
2376                  </div>
2377                </div>
2378              
2379              
2380                <div v-if="otherDescriptions['product_description_section_shipping']">
2381                  <h5 class="section-heading qk-bd--heading qk-fs--hd2 qk-text--heading">
2382                    運送方式
2383                  </h5>
2384                  <div class="ckeditor">
2385                    <div v-html="otherDescriptions['product_description_section_shipping']"></div>
2386                  </div>
2387                </div>
2388              
2389            </div>
2390          </div>
2391        </div>
2392        <div v-show="isLoading" style="text-align: center; padding-bottom: 20px;">
2393          <i class="fas fa-spinner fa-spin fa-fw fa-2x"></i>
2394        </div>
2395      </div>
2396        <!-- cyb_snippet _product_modal_button_mobile start -->
2397 <div
2398  v-if="showPurchaseControls"
2399  v-show="isMobileSize"
2400  class="mobile_footer"
2401  :class="{'mobile_footer-z': variantSize > 1 }">
2402        <div class="product-quantity">
2403          <div class="btn-group qk-w--100" role="group" aria-label="First group">
2404            <button class="btn add-down qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityDecrease">-</button>
2405            <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">
2406            <button class="btn add-up qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityIncrease">+</button>
2407          </div>
2408        </div>
2409        <button
2410          v-if="!isLoading && !onlyDescription"
2411          class="btn btn-mobile add-button qk-btn qk-btn--primary qk-btn--lg"
2412          :class="{selected: isChoose, adding: adding || isHideAddCartBtn, 'qk-btn--disabled': isHideAddCartBtn && isNewNnCollection, 'qk-bd--none': isHideAddCartBtn && isNewNnCollection}"
2413          type="button"
2414          :disabled="isHideAddCartBtn"
2415          @click="addProduct">
2416            ${ addCartText }
2417        </button>
2418</div>
2419<div
2420  class="mobile-modal"
2421  :class="{ 'modal-open': isModalSelectShow && isMobileSize }">
2422        <div class="mobile_modal-content">
2423          <div class="modal_close-button">
2424            <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>
2425          </div>
2426          
2427          <p>請選擇${modalOption.name}</p>
2428          <div class="modal_select-templete qk-display--flex qk-of_y--auto qk-w--100">
2429            <div class="options-container">
2430              <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>
2431            </div>
2432          </div>
2433          <div v-if="variantSize > 1" class="modal_select_footer qk-display--flex">
2434            <button type="button" class="modal_cancel qk-bd--default qk-btn--secondary qk-bd--button qk-text--button" @click="onChangeModalSelect(false,false)">取消</button>
2435            <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>
2436          </div>
2437        </div>
2438</div>
2439
2440<!-- cyb_snippet _product_modal_button_mobile end -->
2441    </div>
2442  </div>
2443</script>
2443
2444
2445<!-- cyb_snippet components/product_modal/color_image_option start -->
2446<script id="color-image-option" type="text/x-template">
2447  <div class="color-image qk-display--flex qk-flex--wrap qk-align--center">
2448    <div class="title">顏色</div>
2449    <div
2450      v-for="(imageColor, index) in imageColors"
2451      :class="{
2452        'focus': !currentOption[optionKey] === option.types[index].name && currentImageIndex === index,
2453        'selected': currentOption[optionKey] === option.types[index].name,
2454        'disabled': !option.types[index].isValid
2455      }"
2456      class="image-option img-flex qk-bd--default qk-bd--transparent qk-display--block qk-pos--rel"
2457      @mouseleave="setCurrentImageIndex(index)"
2458      @mouseover="getOptionImageIndex(index)"
2459      @click="setOption(optionKey, index)"
2460    >
2461      <img v-if="imageColor !== 'noColorImage'" :src="imageColor.large" alt="image">
2462      <img v-else src="/assets/no-image-large.png" alt="image">
2463    </div>
2464  </div>
2465</script>
2465
2466
2467<script type="text/javascript">
2468  $(document).ready(function() {
2469    window.themeHelper.productModalComponents['color-image-option'] = {
2470      template: '#color-image-option',
2471      delimiters: ['${', '}'],
2472      props: {
2473        optionKey: String,
2474        option: Object,
2475        product: Object,
2476        imageColors: Array,
2477        isChoose: Boolean,
2478        currentImageIndex: Number,
2479        setCurrentImageIndex: Function,
2480        getOptionImageIndex: Function,
2481        currentOption: Object,
2482        toggleCurrentOption: Function,
2483      },
2484      methods: {
2485        setOption: function(optionKey, index) {
2486          const type = this.option.types[index];
2487          if(type.isValid){
2488            this.toggleCurrentOption(optionKey, type.name);
2489          }
2490        }
2491      }
2492    };
2493  });
2494</script>
2494
2495
2496<!-- cyb_snippet components/product_modal/color_image_option end -->
2497<!-- cyb_snippet components/product_modal/advance_option start -->
2498<script id="advance-option" type="text/x-template">
2499  <div class="advance">
2500    <div class="title qk-text--heading qk-fs--body">${option.name}</div>
2501    <div
2502      v-for="type in option.types"
2503      :class="{
2504        'selected': currentOption[optionKey] === type.name,
2505        'disabled': !type.isValid
2506      }"
2507      @click="setOption(optionKey, type)"
2508      class="option qk-btn  qk-bd--button qk-text--button qk-pd_x--1"
2509    >
2510      ${type.name}
2511    </div>
2512  </div>
2513</script>
2513
2514
2515<script type="text/javascript">
2516  $(document).ready(function() {
2517    window.themeHelper.productModalComponents['advance-option'] = {
2518      template: '#advance-option',
2519      delimiters: ['${', '}'],
2520      props: {
2521        optionKey: String,
2522        option: Object,
2523        product: Object,
2524        currentOption: Object,
2525        toggleCurrentOption: Function,
2526      },
2527      methods: {
2528        setOption: function(optionKey, type) {
2529          if(type.isValid){
2530            this.toggleCurrentOption(optionKey, type.name);
2531          }
2532        }
2533      }
2534    };
2535  });
2536</script>
2536
2537
2538<!-- cyb_snippet components/product_modal/advance_option end -->
2539
2540<!-- cyb_snippet components/product_modal/photo_swiper start -->
2541
2542
2543<script id="photo-swiper" type="text/x-template">
2544  <div ref="photoSwiper" id="photo_swiper" class="photos swiper swiper-container">
2545    <div class="swiper-wrapper">
2546      <template v-if="hasImage">
2547        <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">
2548          <video-player v-if="item.url" :video="item"
2549            :video-poster=" !!mediaItems[firstImageIndex] ? mediaItems[firstImageIndex].large : '//cdn-general.cybassets.com/img_loading.svg' "
2550          >
2551          </video-player>
2552          <img v-else class="qk-center" :src="item.large" alt="image"/>
2553        </div>
2554      </template>
2555      <div v-else class="photo swiper-slide qk-align--center qk-display--flex qk-justify--center qk-vert--text_top three_to_four_scale">
2556        <img src="//cdn-general.cybassets.com/assets/no-image-large-2b95ea56c455be9ce081d81c14eded925df68bf8fa38809e46f6af8fcdd5f9bc.png" alt="image" />
2557      </div>
2558    </div>
2559    <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>
2560    <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>
2561
2562    <div class="photo-pagination qk-bd--default qk-bd--body qk-text--center qk-text--body qk-fs--breadcrumb qk-visible-sm">
2563        <span class="current-index qk-text--default_dark">${currentImageIndex +1 }</span><span class="pagination-slash">/</span>
2564        <span>${mediaItems.length}</span>
2565      </div>
2566  </div>
2567</script>
2567
2568
2569<script>
2570  $(document).ready(function () {
2571    window.themeHelper.productModalComponents['photo-swiper'] = {
2572      template: '#photo-swiper',
2573      delimiters: ['${', '}'],
2574      props: {
2575        mediaItems: Array,
2576        currentImageIndex: Number,
2577        currentVariant: Object,
2578        videoAfterImage: Boolean,
2579      },
2580      data: function () {
2581        return {
2582          swiper: {},
2583          swiperOption: {
2584            preventInteractionOnTransition: true,
2585            rewind: true,
2586            spaceBetween: 5,
2587            slidesPerView: 1,
2588            navigation: {
2589              nextEl: '.photo-next',
2590              prevEl: '.photo-prev'
2591            }
2592          },
2593          showBtn: true,
2594          isVariantReposition: false,
2595        }
2596      },
2597      mounted: function() {
2598        this.swiper = new Swiper('#photo_swiper', this.swiperOption);
2599        this.swiper.on('slideChange', this.slideOnChange);
2600      },
2601      watch: {
2602        currentImageIndex: function() {
2603          this.slideToIndex();
2604        },
2605        currentVariant: {
2606          immediate: true,
2607          handler: function() {
2608            this.showBtn = this.mediaItems.length > 1;
2609            this.isVariantReposition = true;
2610            this.$nextTick(() => {
2611              if (this.swiper) {
2612                this.swiper.update();
2613                this.swiper.slideToLoop(this.initialItemIndex)
2614                this.slideOnChange();
2615                this.isVariantReposition = false;
2616              }
2617            });
2618          },
2619        },
2620      },
2621      computed: {
2622        hasImage: function() {
2623          return this.mediaItems.length > 0;
2624        },
2625        hasVideo: function() {
2626          return this.mediaItems.findIndex(item => !!item.url) !== -1;
2627        },
2628        variantPhotos: function() {
2629          if (this.currentVariant?.photos?.length) {
2630            return this.currentVariant.photos;
2631          } else  {
2632            return null;
2633          }
2634        },
2635        initialItemIndex: function() {
2636          if (this.hasVideo && !this.videoAfterImage) {
2637            // Focus on photo if "variant with photos" selected, video otherwise
2638            return this.variantPhotos?.length ? 1 : 0;
2639          } else {
2640            // Focus on first photo
2641            return 0;
2642          }
2643        },
2644      },
2645      methods: {
2646        slideOnChange: function() {
2647          themeHelper.EventBus.$emit('photoOnChange', this.swiper.realIndex, this.isVariantReposition);
2648        },
2649        slideToIndex: function() {
2650          if(this.swiper.realIndex != this.currentImageIndex) {
2651            this.swiper.slideToLoop(this.currentImageIndex);
2652            this.swiper.update();
2653          }
2654        },
2655      }
2656    };
2657  });
2658</script>
2658
2659
2660
2661<!-- cyb_snippet components/product_modal/video_player start -->
2662<script id="video-player" type="text/x-template">
2663  <div class="videoPlayer__wrapper" @click="handleVideoClick">
2664    <video 
2665      id='modal-video'
2666      class="videoPlayer__video qk-cursor--pointer qk-center" 
2667      :poster="videoPoster"
2668      loop defaultMuted muted playsinline webkit-playsinline autoplay
2669    >
2670      <source :src="videoUrl" type="video/mp4">
2671      <p>你的瀏覽器不支援 HTML 5 video</p>
2672    </video>
2673    <button id="modal-video-button" class="videoPlayer__pauseButton"></button>
2674  </div>
2675</script>
2675
2676
2677<script>
2678  $(document).ready(function () {
2679    window.themeHelper.productModalComponents['video-player'] = {
2680      template: '#video-player',
2681      delimiters: ['${', '}'],
2682      props: {
2683        video: Object,
2684        videoPoster: String,
2685      },
2686      data: function() {
2687        return {
2688          videoElement: null,
2689          buttonElement: null,
2690        };
2691      },
2692      mounted: function() {
2693        this.videoElement = $('#modal-video')[0];
2694        this.buttonElement = $('#modal-video-button');
2695        this.setVideoVolumeZero();
2696        this.videoElement.addEventListener('canplay', (event) => {
2697          this.sendGtag('play');
2698        }, { once: true });
2699      },
2700      computed: {
2701        videoUrl: function() {
2702          return this.video.url;
2703        }
2704      },
2705      methods: {
2706        sendGtag: function(action) {
2707          window.productVideoView && productVideoView(action);
2708        },
2709        setVideoVolumeZero: function() {
2710          this.videoElement.volume = 0;
2711        },
2712        handleVideoClick: function() {
2713          if (this.videoElement.paused){
2714            this.videoElement.play();
2715            this.sendGtag('play');
2716          } else {
2717            this.videoElement.pause();
2718            this.sendGtag('paused');
2719          }
2720          this.handleVideoButtonDisplay(this.buttonElement, this.videoElement);
2721        },
2722        handleVideoButtonDisplay: function(button, video) {
2723          button.toggleClass('videoPlayer__playButton', video.paused);
2724          button.toggleClass('videoPlayer__pauseButton', !video.paused);
2725        },
2726      }
2727    };
2728  });
2729</script>
2729
2730
2731<!-- cyb_snippet components/product_modal/video_player end -->
2732
2733<!-- cyb_snippet components/product_modal/photo_swiper end -->
2734<!-- cyb_snippet components/product_modal/swiper_thumbnails start -->
2735<script id="swiper-thumbnails" type="text/x-template">
2736  <div
2737    v-for="(thumbnail, index) in allThumbnails"
2738    :key="index"
2739    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"
2740    :class="{ focus: index === currentImageIndex }"
2741    @mouseover="updateCurrentImageIndex(index)"
2742  >
2743    <template v-if="thumbnail.isVideo">
2744      <video class="qk-w--100 qk-h--100" :src="thumbnail.url" defaultMuted playsinline></video>
2745      <button class="videoPlayer__playButton"></button>
2746    </template>
2747    <img v-else :src="thumbnail.url" :alt="title" class="qk-w--100 qk-h--100">
2748  </div>
2749</script>
2749
2750
2751<script type="text/javascript">
2752  $(document).ready(function () {
2753    window.themeHelper.productModalComponents['swiper-thumbnails'] = {
2754      template: '#swiper-thumbnails',
2755      delimiters: ['${', '}'],
2756      props: {
2757        title: String,
2758        mediaItems: Array,
2759        currentImageIndex: Number,
2760      },
2761      emits: ['updateCurrentImageIndex'],
2762      methods: {
2763        updateCurrentImageIndex: function(thumbnailIndex) {
2764          if (thumbnailIndex !== this.currentImageIndex ) {
2765            this.$emit('updateCurrentImageIndex', thumbnailIndex);
2766          }
2767        },
2768      },
2769      mounted() {
2770        // can be removed after replacing video thumbnail with img
2771        const thumbnailVideo = $('.product-thumbnail video')[0];
2772        if (!!thumbnailVideo) {
2773          thumbnailVideo.volume = 0;
2774          const promise = thumbnailVideo.play();
2775          promise.then(() => {
2776            thumbnailVideo.pause();
2777          })
2778        }
2779      },
2780      computed: {
2781        allThumbnails: function() {
2782          return this.mediaItems.map(item => ({
2783            isVideo: !!item.url,
2784            url: item.url || item.medium
2785          }));
2786        },
2787      },
2788      watch: {
2789        allThumbnails: {
2790          handler(){
2791            this.updateCurrentImageIndex(this.currentImageIndex);
2792          }
2793        }
2794      }
2795    };
2796  });
2797</script>
2797
2798
2799<!-- cyb_snippet components/product_modal/swiper_thumbnails end -->
2800
2801
2802<!-- cyb_snippet _product_modal_js start -->
2803<script type="text/javascript">
2804  $(document).ready(function() {
2805    var categoryLevels = [];
2806    var productCategoryLevels = null;
2807    var pageMainProductId = null;
2808    window.themeHelper.productModalComponents['product-modal'] = {
2809      template: '#product-modal',
2810      delimiters: [
2811        '${', '}'
2812      ],
2813      props: {
2814        onlyDescription: Boolean,
2815        cartItems: Array,
2816        groupId: Number,
2817        productUrl: String,
2818        color: String, // unused
2819        collectionId: Number,
2820        categories: Array,
2821        // 判斷是否有色票展開
2822        isCollection: {
2823          type: Boolean,
2824          required: false,
2825          default: false,
2826        },
2827        // 判斷加入購物車的方法
2828        isNnCollection: Boolean,
2829        isNewNnCollection: Boolean,
2830        isBundleDiscount: Boolean,
2831
2832        // 判斷是否顯示商品描述
2833        isShowDescription: {
2834          type: Boolean,
2835          default: true
2836        },
2837
2838        // 判斷是否為立即購買
2839        isQuickBuy: {
2840          type: Boolean,
2841          default: false
2842        },
2843        selectedVariantId: Number,
2844        callBack: Function
2845      },
2846      data: function() {
2847        return {
2848          styledShopMenu: "buttonType",
2849          selectOption: '',
2850          selectCurrentStr:'',
2851          isModalSelectShow: false,
2852          modalOption: {},
2853          adding: false,
2854          currentImageIndex: 0,
2855          _navState: { variantId: null, photoIndex: 0 },
2856          currentOption: {
2857            option1: null,
2858            option2: null,
2859            option3: null
2860          },
2861          currentVariant: null,
2862          variantNotifications: null,
2863          currentVariantIndex: null,
2864          product: {},
2865          isChoose: false,
2866          isLoading: true,
2867          isEmptyClickable: liquidHelper.isEmptyClickable,
2868          quantity: 1,
2869          maxUsableBonus: 0,
2870          isDiscountPrice: false,
2871          displayProductDiscountsList: true,
2872          displayPeriodicSalesPages:true,
2873          discountsList: null,
2874          hasVideoPlugin: true,
2875          videoDisplayLocation: "before",
2876          hasStockNotificationPlugin: false,
2877          isDisplayPriceRange: null,
2878          hasVariantPriceRangePlugin: true,
2879          hasHideSingleVariantOptionsPlugin: false,
2880        }
2881      },
2882      mounted: function() {
2883        this.getProductDetail();
2884        $('.custom-scrollbar').addCustomScrollbar();
2885        themeHelper.EventBus.$on('photoOnChange', this.photoOnChange);
2886      },
2887      beforeUnmount: function() {
2888        themeHelper.EventBus.$off('photoOnChange', this.photoOnChange);
2889      },
2890      computed: {
2891        photoUrls: function() {
2892          return this.product.photoUrls.length > 0
2893            ? this.product.photoUrls
2894            : [this.featuredImage];
2895        },
2896        photoUrlsMap: function() {
2897          var map = {};
2898          var urls = this.product.photoUrls;
2899          this.product.photos.forEach(function(photo, index) {
2900            map[photo.photo.id] = urls[index];
2901          });
2902
2903          return map;
2904        },
2905        featuredImage: function() {
2906          return this.product.featuredImage;
2907        },
2908        swiperPhotos: function() {
2909          if (!this.photoUrls.length) {
2910            return [this.featuredImage];
2911          }
2912
2913          if (this.currentVariant && this.currentVariant.photos.length) {
2914            var map = this.photoUrlsMap;
2915            return this.currentVariant.photos.map(function(p) {
2916              return map[p.id];
2917            });
2918          }
2919
2920          return this.photoUrls;
2921        },
2922        productVideo: function() {
2923          return this.product.video;
2924        },
2925        videoAfterImage: function() {
2926          return this.videoDisplayLocation === 'after';
2927        },
2928        swiperItems: function() {
2929          const media = [...this.swiperPhotos];
2930          if (
2931            this.hasVideoPlugin && this.productVideo.url
2932          ) {
2933            this.videoAfterImage
2934              ? media.push(this.productVideo)
2935              : media.unshift(this.productVideo);
2936          }
2937          return media;
2938        },
2939        firstImageIndex: function() {
2940          return this.hasVideoPlugin && this.productVideo.url && !this.videoAfterImage
2941            ? 1
2942            : 0
2943        },
2944        otherDescriptions: function() {
2945          var descriptions = {};
2946          this.product.otherDescriptions.forEach(function(od) {
2947            descriptions[od.settingName] = od.bodyHtml;
2948          })
2949          return descriptions
2950        },
2951        variantOptions: function() {
2952          return themeHelper.variantOptions(this.product);
2953        },
2954        firstValidVariant: function() {
2955          var self = this;
2956          var result = this.product.variants.find(function(variant) {
2957            // 增加 product modal 聯絡店家 property
2958            variant.imgUrl = "";
2959            variant.productTitle = "";
2960
2961            return variant.available;
2962          });
2963
2964          return result
2965            ? result
2966            : null;
2967        },
2968        selectedValidVariant: function() {
2969          var self = this;
2970          var result = this.variantOptions.find(function(variant) {
2971            return variant.id === self.selectedVariantId;
2972          });
2973
2974          return result
2975            ? result
2976            : null;
2977        },
2978        totalInventoryQuantity: function(product) {
2979          return themeHelper.totalInventoryQuantity(this.product)
2980        },
2981        addCartText: function() {
2982          var variants = parseInt("");
2983          let isRegisteredNotification = this.currentVariant && this.variantNotifications && this.variantNotifications[this.currentVariant.id]
2984          if (this.isNnCollection || this.isBundleDiscount) {
2985            if (this.currentVariant && !themeHelper.variantIsAvailable(this.currentVariant)) {
2986              if (this.currentVariant.inventoryPolicy === 'continue') {
2987                if (this.isNnCollection) {
2988                  return this.isChoose && !this.isNewNnCollection
2989                    ? '已預購'
2990                    : '預購商品';
2991                }
2992              } else {
2993                return '已售完';
2994              }
2995            }
2996            if (this.totalInventoryQuantity === 0) {
2997              return '已售完';
2998            }
2999            return this.isChoose && !this.isNewNnCollection
3000              ? '已選購'
3001              : '選購';
3002          } else {
3003            if (this.isQuickBuy) {
3004              if (this.currentVariant && !themeHelper.variantIsAvailable(this.currentVariant)) {
3005                if (this.currentVariant.inventoryPolicy === 'continue'){
3006                  return '立即預購'
3007                }
3008                return this.hasStockNotificationPlugin
3009                  ? (isRegisteredNotification
3010                    ? '已登記補貨通知'
3011                    : '已售完,貨到通知我')
3012                  : '聯絡店家'
3013              }
3014              return '立即購買';
3015            } else {
3016              if (this.currentVariant) {
3017                if (!themeHelper.variantIsAvailable(this.currentVariant)) {
3018                  if (this.currentVariant.inventoryPolicy === 'continue'){
3019                    return '預購商品'
3020                  }
3021                  return this.hasStockNotificationPlugin
3022                    ? (isRegisteredNotification
3023                      ? '已登記補貨通知'
3024                      : '已售完,貨到通知我')
3025                    : '聯絡店家'
3026                }
3027              } else {
3028                if (this.totalInventoryQuantity === 0) {
3029                  return '已售完';
3030                }
3031              }
3032              return '加入購物車';
3033            }
3034          }
3035        },
3036        cartItem: function() {
3037          if (!this.currentVariant) {
3038            return null
3039          }
3040          return {
3041            id: this.currentVariant.id,
3042            groupId: this.groupId,
3043            productId: this.product.id,
3044            title: this.product.title,
3045            photo: this.currentVariant.imgUrl || this.featuredImage.large,
3046            quantity: this.quantity,
3047            price: this.currentVariant.price,
3048            variant: this.currentVariant,
3049            product: this.product
3050          }
3051        },
3052        options: function() {
3053          return this.product.options;
3054        },
3055        optionTypes: function() {
3056
3057          // 先根據設定的variants來排序
3058          var self = this;
3059
3060          var option1 = [];
3061          var option2 = [];
3062          var option3 = [];
3063          this.product.variants.forEach(function(item) {
3064            if (item.option1 !== null) {
3065              option1.push(item.option1);
3066            }
3067            if (item.option2 !== null) {
3068              option2.push(item.option2);
3069            }
3070            if (item.option3 !== null) {
3071              option3.push(item.option3);
3072            }
3073          })
3074          var filteredOptionTypes = [];
3075          this.product.optionTypes.forEach(function(item, index) {
3076            filteredOptionTypes.push(self.getUniqueVariant(eval('option' + (
3077              index + 1
3078            ))).join(','));
3079          });
3080          return filteredOptionTypes;
3081        },
3082        optionInfo: function() {
3083          var self = this;
3084
3085          return self.options.map(function(option, index) {
3086            return {
3087              name: option,
3088              types: self.getOptions('option' + (
3089                index + 1
3090              ), self.optionTypes[index].split(','))
3091            }
3092          });
3093        },
3094        hasVariant: function() {
3095          return this.product.options.length > 0;
3096        },
3097        shouldHideSingleVariantOptions: function() {
3098          return this.hasHideSingleVariantOptionsPlugin &&
3099                 this.product.variants &&
3100                 this.product.variants.length <= 1;
3101        },
3102        variantSize: function() {
3103          if(this.product.options){
3104          return this.product.options.length;
3105          }
3106        },
3107        firstVariant: function() {
3108          return this.product.variants[0];
3109        },
3110        firstCheapestVariant: function() {
3111          return this.product.variants.find((v)=> (v.price === this.priceStats.minPrice));
3112        },
3113        priceStats: function() {
3114          return this.product.variants.reduce(function(acc, variant) {
3115            return {
3116              minPrice: variant.price < acc.minPrice ? variant.price : acc.minPrice,
3117              maxPrice: variant.price > acc.maxPrice ? variant.price : acc.maxPrice,
3118            };
3119          }, {
3120            minPrice: this.firstVariant.price,
3121            maxPrice: this.firstVariant.price,
3122          });
3123        },
3124        hidePrice: function() {
3125          return this.product && this.product.hidePrice === true;
3126        },
3127        salesModePurchasable: function() {
3128          return !(this.product && this.product.salesModePurchasable === false);
3129        },
3130         // - 任選折扣/紅配綠:「選擇」只是加進試算清單,不會直接下單,故只擋藏價商品
3131        // - 其他情境(商品頁、群組頁、多層級分類、搜尋、首頁商品區塊):不可購買(含藏價)就整組收掉
3132        showPurchaseControls: function() {
3133          if (this.isNnCollection || this.isBundleDiscount) {
3134            return !this.hidePrice;
3135          }
3136          return this.salesModePurchasable;
3137        },
3138        variantPrice: function() {
3139          if (this.hidePrice) {
3140            return '';
3141          }
3142          var from = liquidHelper.defaultCurrency;
3143          if (this.currentVariant) {
3144            return moneySymbol(this.currentVariant.price, from);
3145          }
3146          if (this.product.variants.length === 1) {
3147            return moneySymbol(this.firstVariant.price, from);
3148          }
3149
3150          var minPrice = this.priceStats.minPrice;
3151          var maxPrice = this.priceStats.maxPrice;
3152
3153          if (minPrice !== maxPrice && (!this.hasVariantPriceRangePlugin || this.isDisplayPriceRange)) {
3154            this.isDiscountPrice = false;
3155            return moneySymbol(minPrice, from) + '~' + moneySymbol(maxPrice, from);
3156          } else {
3157            return moneySymbol(minPrice, from);
3158          }
3159        },
3160        marketPrice: function() {
3161          if (this.hidePrice) {
3162            this.isDiscountPrice = false;
3163            return;
3164          }
3165          var from = liquidHelper.defaultCurrency;
3166          if (this.currentVariant) {
3167            this.isDiscountPrice = false;
3168            if (this.currentVariant.compareAtPrice && this.currentVariant.compareAtPrice > this.currentVariant.price) {
3169              this.isDiscountPrice = true;
3170              return moneySymbol(this.currentVariant.compareAtPrice, from);
3171            }
3172          } else {
3173            if (!_.includes(this.variantPrice, '~')) {
3174              const price =  Number(this.variantPrice.replace(/[^0-9.
3174-]/g, ""))
3175              // 未選擇款式也不顯示區間時,顯示第一個最便宜的款式的定價
3176              if (this.firstCheapestVariant.compareAtPrice && this.firstCheapestVariant.compareAtPrice > price){
3177                this.isDiscountPrice = true;
3178                return moneySymbol(this.firstCheapestVariant.compareAtPrice, from);
3179              }
3180              // 未選擇款式時要改回一般價格顏色
3181              this.isDiscountPrice = false;
3182            }
3183          }
3184        },
3185        isShowDropdownList: function() {
3186          if (this.product.options.length > 0) {
3187            return true;
3188          }
3189          return this.product.variants.length > 1
3190        },
3191        priceTitleTag: function() {
3192          return this.marketPrice
3193            ? getDiscountPriceName()
3194            : getDiscountPriceSuggestionName();
3195        },
3196        isHideAddCartBtn: function() {
3197          if (this.addCartText === '已售完') {
3198            return true;
3199          }
3200          return false;
3201        },
3202        isSecondaryBtn: function() {
3203          if (this.addCartText === '聯絡店家') {
3204            return true;
3205          }
3206          return false;
3207        },
3208        variantsMaxUsableBonus: function() {
3209          var variants = this.product.variants;
3210          var maxUsableBonusArray = variants.map(function(item) {
3211            return item.maxUsableBonus
3212          });
3213          return Math.max.apply(null, maxUsableBonusArray);
3214        },
3215        bonusToPrice: function() {
3216          const bonus = this.currentVariant
3217            ? this.currentVariant.maxUsableBonus
3218            : this.maxUsableBonus;
3219          const price = Math.floor(bonus / window.liquidHelper.conversionBonus);
3220          const priceWithMoney = window.themeHelper.productDisplayCurrencyBlock(price);
3221          return "(約等於 value )".replace('value', priceWithMoney);
3222        },
3223        isMobileSize: function() {
3224          return window.innerWidth <= 580
3225        },
3226        limitBuyText: function () {
3227          const minCount = this.product.minBuy;
3228          const maxCount = this.product.limitBuy;
3229          if (minCount > 0 && maxCount > 0) {
3230            return '此商品每筆訂單最少需購買 minCount 件,最多可購買 maxCount 件'.replace('minCount', minCount).replace('maxCount', maxCount);
3231          }
3232          if (minCount > 0) {
3233            return '此商品每筆訂單最少需購買 minCount 件'.replace('minCount', minCount);
3234          }
3235          if (maxCount > 0) {
3236            return '此商品每筆訂單最多可購買 maxCount 件'.replace('maxCount', maxCount);
3237          }
3238          return '';
3239        }
3240      },
3241      methods: {
3242        onClickSelectModal: function(objData, selectOptionStr) {
3243          this.isModalSelectShow = true;
3244          this.modalOption = objData;
3245          this.selectOption = selectOptionStr
3246          this.selectCurrentStr = this.currentOption && (String(this.currentOption[selectOptionStr]) || null)
3247        },
3248        onChangeModalSelect: function(flag, isSelect) {
3249          if(!isSelect){
3250            this.setOption(this.selectOption,this.selectCurrentStr,this.modalOption.types)
3251          }
3252          this.isModalSelectShow = flag;
3253        },
3254        setOption: function(optionKey, type, dataArr) {
3255          let flag = true
3256          dataArr.forEach(item => {
3257            if (item.name === type) {
3258              flag = item.isValid
3259            }
3260          })
3261          if (flag) {
3262            this.toggleCurrentOption(optionKey, type)
3263          }
3264        },
3265        addToWishListEvent: function() {
3266          try {
3267            if (appMarketAddToWishListEvent) {
3268              var product = this.product;
3269              var currentVariant = this.currentVariant
3270              var element = $(`.btn[data-id=${product.id}]`);
3271              var index;
3272              var listName;
3273              if (element) {
3274                index = element.data('position')
3275                listName = element.data('list')
3276              }
3277              // sku_properties:選中款式的 option pairs(當前語系),類型名 zip 值
3278              var optionValues = [currentVariant.option1, currentVariant.option2, currentVariant.option3];
3279              var properties = [];
3280              (product.options || []).forEach(function(optionName, i) {
3281                if (optionName && optionValues[i]) {
3282                  properties.push({ name: optionName, value: optionValues[i] });
3283                }
3284              });
3285              var dataSet = {
3286                name: product.title,
3287                category: product.productType,
3288                categories: (this.categories && this.categories.length) ? this.categories : (categoryLevels.length ? categoryLevels : (product.id === pageMainProductId ? productCategoryLevels : undefined)),
3289                sku: currentVariant.sku,
3290                price: currentVariant.price,
3291                compare_at_price: currentVariant.compareAtPrice,
3292                properties: properties,
3293                quantity: currentVariant.inventoryQuantity,
3294                variant: currentVariant.title,
3295                listName: listName || null,
3296                productId: product.id,
3297                variantId: currentVariant.id,
3298                index: Number(index) || 0,
3299              }
3300              appMarketAddToWishListEvent(dataSet)
3301            }
3302          } catch (e) {
3303            console.error(e)
3304          }
3305        },
3306        addWishList: function() {
3307          if (this.currentVariant === null) {
3308            window.msg('請選擇商品款式', 'warning').show();
3309            return;
3310          }
3311          var productVariantId = this.currentVariant.id;
3312          var addToWishListEvent = this.addToWishListEvent
3313          $.ajax({
3314            method: 'POST',
3315            url: '/tracking_items',
3316            dataType: 'json',
3317            data: {
3318              product_variant_id: productVariantId
3319            },
3320            success: function(response) {
3321              if (response.message) {
3322                window.msg(response.message, 'success').show();
3323                addToWishListEvent()
3324              }
3325
3326              if (response.error) {
3327                window.msg(response.error, 'error').show();
3328
3329              }
3330              if (response.info) {
3331                window.msg(response.info, 'info').show();
3332              }
3333              if (response.success === false) {
3334                if (window.liquidHelper && window.liquidHelper.language && window.liquidHelper.language.handle) {
3335                  window.location = "/" + window.liquidHelper.language.handle + "/account/login";
3336                } else {
3337                  window.location = "/account/login";
3338                }
3339              }
3340            }
3341          });
3342        },
3343        setChoose: function(currentVariant) {
3344          this.maxUsableBonus = 0;
3345          var quantity = 1;
3346          var cartItem = null;
3347          if (!this.isNnCollection && this.cartItems) {
3348            cartItem = this.normalGetChoosenItem(currentVariant);
3349          }
3350          if (this.isNnCollection) {
3351            cartItem = this.nnCollectionGetChoosenItem(currentVariant);
3352          }
3353          this.isChoose = !! cartItem;
3354          if (this.isNewNnCollection) {
3355            return
3356          }
3357          this.quantity = cartItem
3358            ? cartItem.quantity
3359            : this.quantity;
3360
3361          // product modal 聯絡店家情境
3362          if (currentVariant) {
3363            var photoIndex = 0;
3364            if (! currentVariant.imgUrl) {
3365              currentVariant.imgUrl = this.swiperPhotos.length > 0
3366                ? (this.swiperPhotos[photoIndex] && this.swiperPhotos[photoIndex].large)
3367                : this.featuredImage.large;
3368            }
3369            currentVariant.productTitle = this.product.title + ' - ' + this.currentVariant.title;
3370          }
3371        },
3372        normalGetChoosenItem: function(currentVariant) {
3373          return this.cartItems.find(function(cartItem) {
3374            return currentVariant && cartItem.id === currentVariant.id;
3375          });
3376        },
3377        nnCollectionGetChoosenItem: function(currentVariant) {
3378          var isSelected = null;
3379          if (! currentVariant) {
3380            return isSelected;
3381          }
3382          if (this.isNewNnCollection) {
3383            var cart = store.get(`SpecialCollectionCart_${this.collectionId}`);
3384            isSelected = cart && cart.find((item) => item.variant_id == currentVariant.id) || null;
3385          } else {
3386            store.each(function(value, key) {
3387              var productId = _.includes(key, 'Pro' + currentVariant.productId);
3388              var variantID = _.includes(key, 'Var' + currentVariant.id);
3389              if (productId && variantID) {
3390                isSelected = store.get(key);
3391              }
3392            });
3393          }
3394
3395          return isSelected;
3396        },
3397        // get product detail
3398        getProductDetail: function() {
3399          var self = this;
3400
3401          $.ajax({
3402            url: self.productUrl + '.json',
3403            type: 'GET',
3404            timeout: 30000,
3405            beforeSend: function() {
3406              self.isLoading = true;
3407            },
3408            error: function(xhr) {
3409              self.closeModal();
3410              if (xhr.status === 429) {
3411                window.showAddCartRateLimitModal(5);
3412                return;
3413              }
3414              window.msg('網路連線異常,請重新整理', 'error').show();
3415            }
3416          }).done(function(data) {
3417            if (data.id) {
3418              var productData = [themeHelper.toCamelCase(data)];
3419              self.product = themeHelper.priceWithDiscount(productData, liquidHelper.hasPriceWithDiscountPlugin)[0];
3420              self.maxUsableBonus = self.variantsMaxUsableBonus;
3421              if (self.product.variants.length === 1 || liquidHelper.isFirstVariantSelected || self.selectedVariantId) {
3422                self.currentVariant = self.firstValidVariant;
3423                // 如果已經自選商品,則商品頁下滑加入購物車顯示自選商品
3424                if (self.selectedVariantId) {
3425                  self.currentVariant = self.selectedValidVariant;
3426                }
3427                if (self.currentVariant) {
3428                  self.setChoose(self.currentVariant);
3429                  self.setDefaultOption();
3430                }
3431              }
3432              if (self.displayProductDiscountsList) {
3433                self.setUpDiscountsTag(data);
3434              }
3435              self.isLoading = false;
3436              if (self.product && self.product.variants) {
3437                self.product.variants.forEach(function(discountedVariant) {
3438                  var rawVariant = data.variants.find(function(v) { return v.id === discountedVariant.id; });
3439                  if (rawVariant) { rawVariant.price = discountedVariant.price; }
3440                });
3441              }
3442              viewItem && viewItem(data, { collectionId: '', collectionName: null, categories: (self.categories && self.categories.length) ? self.categories : (categoryLevels.length ? categoryLevels : (data.id === pageMainProductId ? productCategoryLevels : undefined)) });
3443
3444              
3445            } else {
3446              window.msg('網路連線異常,請重新整理', 'error').show();
3447              self.closeModal()
3448            }
3449          })
3450        },
3451        // product image btn
3452        photoOnChange: function(photoIndex, isVariantReposition) {
3453          var visiblePhotos = (this.currentVariant && this.currentVariant.photos.length)
3454            ? this.currentVariant.photos
3455            : this.product.photos.map(function(p) { return p.photo; });
3456          var result = themeHelper.buildNavigateItemImagePayload(this._navState, {
3457            product: this.product,
3458            currentVariant: this.currentVariant,
3459            visiblePhotos: visiblePhotos,
3460            slideIndex: photoIndex,
3461            videoOffset: this.firstImageIndex,
3462          });
3463          this._navState = result.nextState;
3464          if (result.payload && !isVariantReposition) {
3465            window.navigateItemImage(result.payload);
3466          }
3467          this.currentImageIndex = photoIndex;
3468        },
3469        toggleCurrentOption: function(key, value) {
3470          this.currentOption[key] =
3471            (this.currentOption[key] === value || value === 'null') ? null : value;
3472          var variantIndex = this.getVariantIndex();
3473          if (variantIndex !== -1) {
3474            this.currentVariant = this.product.variants[variantIndex];
3475          } else {
3476            this.currentVariant = null;
3477          }
3478          this.setChoose(this.product.variants[variantIndex]);
3479          if (this.currentOption[key] !== null) {
3480            var optionIndex = parseInt(key.replace('option', '')) - 1;
3481            appStoreSelectItemEvent(this.product, this.product.options[optionIndex], this.currentOption[key], this.currentVariant);
3482          }
3483        },
3484        toggleNotification: function() {
3485          var self = this;
3486          var variantId = this.currentVariant.id;
3487
3488          $.ajax({
3489            url: '/toggle_pv_notification',
3490            method: 'POST',
3491            dataType: 'json',
3492            data: {
3493              product_variant_id: variantId
3494            },
3495            success: function(response) {
3496              self.variantNotifications[variantId] = response.notice;
3497              window.msg(response.message, "success").show();
3498            },
3499            error: function(xhr) {
3500              var response = xhr.responseJSON;
3501              var msg = response && response.error || "網路連線異常,請重新整理";
3502              window.msg(msg, "error").show();
3503            }
3504          })
3505        },
3506        getOptionImageIndex: function(index) {
3507          this.currentImageIndex = index;
3508        },
3509        quantityDecrease: function() {
3510          if (this.cartItem) {
3511            themeHelper.EventBus.$emit('quantityDecrease', this.cartItem, false);
3512            this.quantity = this.cartItem.quantity
3513          } else {
3514            window.msg("請選擇商品款式", 'warning').show();
3515          }
3516        },
3517        quantityIncrease: function() {
3518          if (this.cartItem) {
3519            themeHelper.EventBus.$emit('quantityIncrease', this.cartItem, false);
3520            this.quantity = this.cartItem.quantity
3521          } else {
3522            window.msg("請選擇商品款式", 'warning').show();
3523          }
3524        },
3525        quantityChange: function(el) {
3526          if (this.cartItem) {
3527            themeHelper.EventBus.$emit('quantityChange', parseInt(el.target.value), this.cartItem, false);
3528            this.quantity = this.cartItem.quantity;
3529            el.target.value = this.cartItem.quantity;
3530          } else {
3531            window.msg("請選擇商品款式", 'warning').show();
3532          }
3533        },
3534        addProduct: function() {
3535          if (this.addCartText === '聯絡店家') {
3536            $('#messagebuy-Modal').data('variant', this.currentVariant);
3537            $('#messagebuy-Modal').modal('show');
3538            $('#messagebuy-Modal').css("background-color", "rgba(0, 0, 0, .6)");
3539          } else if (
3540            this.addCartText === '已登記補貨通知' ||
3541            this.addCartText === '已售完,貨到通知我'
3542          ) {
3543              this.toggleNotification();
3544          } else {
3545            if (this.cartItem) {
3546              try {
3547                if (this.isChoose) {
3548                  themeHelper.EventBus.$emit('updateStore', 'update', this.cartItem, this.callBack)
3549                } else {
3550                  themeHelper.EventBus.$emit('updateStore', 'add', this.cartItem, this.callBack)
3551                }
3552
3553                this.adding = true;
3554                this.closeModal();
3555              } catch (e) {
3556                window.msg("商品款式異常", 'error').show();
3557              }
3558            } else {
3559              window.msg("請選擇商品款式", 'warning').show();
3560            }
3561          }
3562        },
3563        closeModal: function() {
3564          themeHelper.EventBus.$emit('closeProductModal');
3565        },
3566        setDefaultOption: function() {
3567          var self = this;
3568          Object.keys(self.currentOption).map(function(optionKey) {
3569            self.currentOption[optionKey] = self.currentVariant[optionKey];
3570          });
3571        },
3572        getVariantIndex: function() {
3573          var self = this;
3574          return self.product.variants.findIndex(function(variant, index) {
3575            var isVariant = true;
3576            Object.keys(self.currentOption).forEach(function(option) {
3577              if (variant[option] !== self.currentOption[option]) {
3578                isVariant = false;
3579              }
3580            });
3581            return isVariant;
3582          });
3583        },
3584
3585        // 篩選重複品項
3586        getUniqueVariant: function(variants) {
3587          return variants.filter(function(value, index, self) {
3588            return self.indexOf(value) === index;
3589          });
3590        },
3591        groupBy(xs, key) {
3592          return xs.reduce(function(rv, x) {
3593            (rv[x[key]] = rv[x[key]] || []).push(x);
3594            return rv;
3595          }, {});
3596        },
3597        setUpDiscountsTag(data) {
3598          var self = this;
3599          var languagePrefix = '/' + ((window.shopScriptHelper && window.shopScriptHelper.i18nLocale) || 'zh-TW');
3600          $.ajax({
3601            url: languagePrefix + self.productUrl + '/discounts_list',
3602            method: 'GET',
3603            success: function(result) {
3604              if (result.length > 0) {
3605                var discounts_list = self.groupBy(result, 'campaign_type');
3606                self.discountsList = discounts_list;
3607              } else {
3608                self.discountsList = null;
3609              }
3610            }
3611          });
3612        },
3613        getOptions: function(optionKey, optionTypes) {
3614          var self = this;
3615          return optionTypes.map(function(optionType, index) {
3616            var isValid = true;
3617
3618            // 選出包含目前type的variant
3619            var matchVariants = self.product.variants.filter(function(variant) {
3620              return variant[optionKey] === optionType;
3621            });
3622
3623            // 篩選已勾選type
3624            Object.keys(self.currentOption).forEach(function(currentOptionKey) {
3625              if (currentOptionKey !== optionKey) {
3626                matchVariants = matchVariants.filter(function(variant) {
3627                  if (self.currentOption[currentOptionKey]) {
3628                    return variant[currentOptionKey] === self.currentOption[currentOptionKey]
3629                  } else {
3630                    return true;
3631                  }
3632                });
3633              }
3634            });
3635            if (matchVariants.length === 0) {
3636              isValid = false;
3637            }
3638            if (! self.isEmptyClickable) {
3639              isValid = false;
3640              matchVariants.find(function(item) {
3641                if (item.inventoryQuantity === null || item.inventoryQuantity > 0 || item.inventoryPolicy === 'continue') {
3642                  isValid = true;
3643                }
3644              });
3645            }
3646            return {name: optionType, isValid: isValid}
3647          });
3648        }
3649      }
3650    };
3651  });
3652</script>
3652
3653
3654<!-- cyb_snippet _product_modal_js end -->
3655
3656<!-- cyb_snippet components/product_modal/product_modal end -->
3657
3658<!-- cyb_snippet messagebuy_modal start -->
3659
3660<div class="modal" id="messagebuy-Modal" tabindex="-1" role="dialog" aria-hidden="true">
3661  <div class="modal-dialog modal-dialog-centered" role="document">
3662    <div class="modal-content">
3663      <div class="modal-header">
3664        <p class="modal-title qk-fw--500" style="font-size: 1.25rem;">商品庫存不足留言</p>
3665        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
3666          <span aria-hidden="true">&times;</span>
3667        </button>
3668      </div>
3669      <div class="modal-body">
3670        <form class="form-horizontal" id="message-form">
3671          <input type="hidden" name="authenticity_token" id="authenticity_token" value="68ywoggxRuUWFNlW6TYGh-_Zfw_a4PjtOIjjdfhg0jxRm3nH8gj_02j4YCkwf8pA7yGfA-QtI8wxobIGTmZxgw" autocomplete="off" />
3672          <div class="product_link img-flex">
3673            <img src="" alt="product img" class="product_img" width="300" height="300">
3674          </div>
3675          <p class="product_name qk-fw--500 qk-mg_t--05 qk-mg_b--05" style="font-size: 1.25rem;"></p>
3676          <div class="form-group">
3677            <input type="email" class="form-control" id="contact_us_email" name="contact[email]" placeholder="Email"  data-error="這不是有效的email" required>
3678            <input type="email" class="form-control" id="repeat-email" name="content[email]" placeholder="Email">
3679            <div class="help-block with-errors"></div>
3680          </div>
3681          <div class="form-group">
3682            <textarea type="text" class="form-control" id="message_body" name="contact[body]" placeholder="留言給店家" data-error="請留下想對我們說的話喔!" rows="4" required></textarea>
3683            <div class="help-block with-errors"></div>
3684          </div>
vendor: 100 bytes, lines 3684-3687
3684
3685          
3686            <script src='https://www.google.com/recaptcha/api.js'></script>
3687            
3687<button type="submit" class="qk-btn qk-btn--primary qk-btn--lg qk-w--100 btn-submit-message g-recaptcha"
3688             data-action="submit"
3689             data-sitekey="6LfmL1YtAAAAAH4OK8VkypFlVMtb3_ZLMDolGyzD"
3690             data-callback="callback">送出</button>
3691            
3691<script>
3692            function callback(event) {
3693              return new Promise(function(resolve, reject) {
3694                if (grecaptcha === undefined) {
3695                  alert('Recaptcha not define');
3696                  reject();
3697                }
3698                var response = grecaptcha.getResponse();
3699                if (!response) {
3700                  alert('Coud not get recaptcha response');
3701                  reject();
3702                }
3703                var form = document.querySelector('#message-form');
3704                if (form.checkValidity() === false) {
3705                  reject(new Error('check fail'));
3706                }else{
3707                  $('.g-recaptcha').prop('disabled',true);
3708                  $('.g-recaptcha').data('g-recaptcha-response', response);
3709                  form.classList.add('was-validated');
3710                  form.submit();
3711                  resolve();
3712                }
3713                const submitEvent = new Event('submit');
3714                form.dispatchEvent(submitEvent);
3715                grecaptcha.reset();
3716                }).catch(error =>console.log(error));
3717              };
3718            </script>
3718
3719          
3720        </form>
3721      </div>
3722    </div>
3723  </div>
3724</div>
3725
3726<script>
3727  $(document).ready(function(){
3728    // setting modal
3729    var product_title, product_img, variant, variant_name, variant_sku, variant_price
3730
3731    $('#repeat-email').hide();
3732
3733    $('#messagebuy-Modal').on('show.bs.modal', function(){
3734      var currentVariant = $('#messagebuy-Modal').data('variant');
3735
3736      if (currentVariant) {
3737        // product modal 聯絡店家
3738        $('#messagebuy-Modal').find('.product_name').html(currentVariant.productTitle);
3739        $('#messagebuy-Modal').find('.product_img').attr('src', currentVariant.imgUrl);
3740        product_title = currentVariant.productTitle;
3741        variant_sku = currentVariant.sku;
3742        variant_name = currentVariant.title;
3743        variant_price = parseInt(currentVariant.price);
3744      } else {
3745        product_title = $('#product .product_info .product_title').text()
3746        // 是否顯示色票
3747        var isDisplayImagesColor = "false";
3748        if (isDisplayImagesColor === "true") {
3749          product_img = $('#photo_with_images_color').attr('src');
3750        } else {
3751          product_img   = $('#product .product_info .thumb .active img').attr('src')
3752        }
3753        variant       = $('#product .product_variant').find(':selected')
3754        variant_name  = $(variant).data('name');
3755        variant_sku   = variant.data('sku');
3756        variant_price = variant.data('price');
3757        $('#messagebuy-Modal').find('.product_name').text(product_title)
3758        $('#messagebuy-Modal').find('.product_img').attr('src', product_img)
3759      }
3760    })
3761
3762    $('#message-form').on('submit', function (e) {
3763      e.preventDefault()
3764
3765      var robot_check = $('#repeat-email').val();
3766      if(robot_check)
3767        return;
3768
3769      var csrf_token = $('meta[name=csrf-token]').attr('content');
3770      var message_email = $('#message-form input[name="contact[email]"]').val();
3771      var message_body  = $('#message-form textarea[name="contact[body]"]').val();
3772      var variant_info  = "\n (商品標題:" + product_title + " ,(商品sku:" + variant_sku + " ,商品樣式:" + variant_name + " ,商品價格:" + variant_price + ')';
3773      if(!variant_sku || !variant_name || !variant_price){
3774        variant_info = "\n (商品標題:" + product_title + ", 未選擇商品 )"
3775      }
3776      message_body += variant_info
3777
3778      var headers = {};
3779      if (csrf_token && csrf_token !== '') {
3780        headers['X-CSRF-TOKEN'] = csrf_token;
3781      }
3782
3783      $.ajax({
3784        method: 'POST',
3785        url: '/contact',
3786        headers: headers,
3787        data: {
3788          contact: { email: message_email, body: message_body },
3789          'g-recaptcha-response': $('.g-recaptcha').data('g-recaptcha-response'),
3790        },
3791        dataType: 'json'
3792      }).done(function(){
3793        $('#message-form input[name="contact[email]"]').val('');
3794        $('#message-form textarea[name="contact[body]"]').val('');
3795
3796        window.msg("送出成功", 'success').show()
3797        $('#messagebuy-Modal').modal('hide');
3798        themeHelper.EventBus.$emit('closeProductModal');
3799      }).fail(function(){
3800        window.msg("請稍後再試", 'error').show();
3801      });
3802    })
3803  })
3804</script>
3804
3805
3806
3807<!-- cyb_snippet messagebuy_modal end -->
3808<!-- cyb_snippet components/rate_limit_modal start -->
3809<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/rate_limit_modal-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' />
3810
3811<div class="modal fade" id="rate-limit-modal" tabindex="-1" role="dialog" aria-hidden="true" data-backdrop="static" data-keyboard="false">
3812  <div class="modal-dialog modal-dialog-centered" role="document">
3813    <div class="modal-content">
3814      <div class="modal-body">
3815        <div class="qk-text--default_dark rate-limit-text">
3816          <p id="rate-limit-title">目前搶購人潮眾多,請耐心等候</p>
3817          <p class="qk-fs--body qk-fw--500 rate-limit-message">
3818            <span class="qk-text--error" id="rate-limit-countdown"></span>
3819            <span id="rate-limit-desc"></span>
3820          </p>
3821          <p class="qk-fs--body qk-fw--500 rate-limit-message" id="rate-limit-warn">若離開此頁面,可能會延長等待時間。</p>
3822        </div>
3823        <button id="rate-limit-btn" class="btn qk-btn qk-btn--primary" disabled>重新進入商品頁</button>
3824      </div>
3825    </div>
3826  </div>
3827</div>
3828
3829<script>
3830  window.showRateLimitModal = function(countdownSec) {
3831    var countdown = countdownSec || 5;
3832    var $modal = $('#rate-limit-modal');
3833    var $btn = $modal.find('#rate-limit-btn');
3834    var $countdownEl = $modal.find('#rate-limit-countdown');
3835
3836    $btn.show();
3837    $modal.find('#rate-limit-desc').text(language["product_rate_limit_desc"]);
3838    $countdownEl.text(countdown);
3839    $btn.prop('disabled', true);
3840    $modal.modal('show');
3841
3842    var timer = setInterval(function() {
3843      countdown--;
3844      $countdownEl.text(countdown);
3845      if (countdown <= 0) {
3846        clearInterval(timer);
3847        $btn.prop('disabled', false);
3848      }
3849    }, 1000);
3850
3851    $btn.off('click').on('click', function() {
3852      location.reload();
3853    });
3854  }
3855
3856  window.showAddCartRateLimitModal = function(countdownSec) {
3857    var countdown = countdownSec || 5;
3858    var $modal = $('#rate-limit-modal');
3859    var $countdownEl = $modal.find('#rate-limit-countdown');
3860
3861    $modal.find('#rate-limit-btn').hide();
3862    $modal.find('#rate-limit-desc').text(language["addcart_rate_limit_desc"]);
3863    $countdownEl.text(countdown);
3864    $modal.modal('show');
3865
3866    var timer = setInterval(function() {
3867      countdown--;
3868      $countdownEl.text(countdown);
3869      if (countdown <= 0) {
3870        clearInterval(timer);
3871        $modal.modal('hide');
3872      }
3873    }, 1000);
3874  }
3875</script>
3875
3876
3877<!-- cyb_snippet components/rate_limit_modal end -->
3878
3879<script>
3880  $(document).ready(function() {
3881    const shouldSkipQuantityCheck = false;
3882    const newAddCartModalApp = new window.themeHelper.LiquidVueHandler({
3883      componentNames: Object.keys(window.themeHelper.productModalComponents),
3884      mountSelector: '#new-addcart-modal',
3885      autoMount: false,
3886    });
3887
3888    newAddCartModalApp.createApp({
3889      el: '#new-addcart-modal',
3890      delimiters: ['${', '}'],
3891      data() {
3892        return {
3893          collectionId: 0,
3894          categories: [],
3895          color: '', // unused
3896          isCollection: true,
3897          productQuantity: 0,
3898          onlyDescription: false,
3899          showProductModal: false,
3900          popProductUrl: '',
3901          loading: false,
3902        };
3903      },
3904      mounted: function() {
3905        themeHelper.EventBus.$on('closeProductModal',this.closeProductModal);
3906        themeHelper.EventBus.$on('updateStore', this.addProduct);
3907        themeHelper.EventBus.$on('quantityDecrease', this.quantityDecrease);
3908        themeHelper.EventBus.$on('quantityIncrease', this.quantityIncrease);
3909        themeHelper.EventBus.$on('quantityChange', this.quantityChange);
3910      },
3911      methods: {
3912        addProduct: function(actionType, productData, checkoutAddToCartCallback){
3913          var self = this;
3914          var pageViewId = window.CYBERBIZ && window.CYBERBIZ.dis && window.CYBERBIZ.dis.pageViewId;
3915          $.ajax({
3916            method: 'POST',
3917            url: '/cart/add',
3918            headers: pageViewId ? { 'X-Cyb-Page-View-Id': pageViewId } : {},
3919            data: {
3920              id: productData.id,
3921              quantity: productData.quantity,
3922            },
3923            dataType: 'json',
3924            beforeSend: function() {
3925              self.loading = true;
3926              themeHelper.ajaxLoadingMsg('loading');
3927              $('.shopcart').dropdown('hide')
3928              $('.global-cart-count').hide();
3929              $('.global-cart-loading').show();
3930              $('.global-cart-loading').html('<i class="fa fa-spinner fa-pulse" style="vertical-align: middle;"></i>');
3931            },
3932            error: function(xhr) {
3933              $('.global-cart-loading').hide();
3934              $('.global-cart-count').show();
3935              self.loading = false;
3936              if (xhr.status === 429) {
3937                themeHelper.ajaxLoadingMsg('hide', 0);
3938                self.closeProductModal();
3939                window.showAddCartRateLimitModal(5);
3940                return;
3941              }
3942              themeHelper.ajaxLoadingMsg('fail', 2000);
3943            }
3944          }).done(function(data, status, request){
3945            // product modal 立即購買按鈕
3946            window.sendAddToCartEvent && sendAddToCartEvent({
3947              price: productData.price,
3948              quantity: productData.quantity,
3949              id: productData.product.id,
3950              name: productData.product.title,
3951              category: productData.product.productType,
3952              brand: productData.product.vendor,
3953              qc: productData.variant.qc,
3954              variant: {
3955                id: productData.variant.id,
3956                title: productData.variant.title,
3957                sku: productData.variant.sku,
3958                price: productData.variant.price,
3959                qc: productData.variant.qc,
3960              },
3961              position: "商品彈出視窗",
3962              request,
3963            })
3964            if (self.isQuickBuy) {
3965              if (window.liquidHelper && window.liquidHelper.language && window.liquidHelper.language.handle) {
3966                window.location = "/" + window.liquidHelper.language.handle + "/cart";
3967              } else {
3968                window.location = "/cart";
3969              }
3970            } else {
3971              themeHelper.ajaxLoadingMsg('success');
3972              pullNavCart();
3973              $('.shopcart').dropdown('show')
3974              $('.global-cart-loading').hide();
3975              self.loading = false;
3976            }
3977            if(typeof checkoutAddToCartCallback === 'function'){
3978              var callbackData = {
3979                id: productData.id,
3980                quantity: productData.quantity,
3981                title: productData.product ? productData.product.title : productData.title || ''
3982              };
3983              checkoutAddToCartCallback(callbackData)
3984            }
3985            peh.emit('product:add_to_cart', [{
3986              variantId: productData.id,
3987              quantity: productData.quantity
3988            }], self.collectionId);
3989          }).fail(function(e){
3990            if (e.status === 429) {
3991              return;
3992            }
3993            let err_msg = e.responseJSON.err_msg;
3994            err_msg && err_msg.length > 0 ?
3995              window.msg(e.responseJSON.err_msg, 'warning').show():
3996              window.msg("加入購物車有誤,請重新嘗試", 'warning').show();
3997          })
3998        },
3999        quantityDecrease: function(cartItem, isAdded){
4000          if (cartItem.quantity > 1) {
4001            cartItem.quantity -= 1;
4002          } else {
4003            window.msg("數量不得為低於 1", 'warning').show();
4004          }
4005        },
4006        quantityIncrease: function(cartItem, isAdded){
4007          const limitQuantity = cartItem.variant.inventoryQuantity;
4008          const limitBuy = cartItem.product.limitBuy
4009          if (limitBuy && cartItem.quantity >= limitBuy) {
4010            product_limit_buy = "此商品限購 limitBuy 件".replace('limitBuy', limitBuy)
4011            window.msg(product_limit_buy, 'warning').show();
4012            return;
4013          } else if (cartItem.quantity >= liquidHelper.cartQuantityLimit) {
4014            window.msg("數量超過購買上限", 'warning').show();
4015          } else if ( cartItem.quantity < limitQuantity || limitQuantity === null ||
4016            cartItem.variant.inventoryPolicy == "continue" || shouldSkipQuantityCheck) {
4017            cartItem.quantity += 1;
4018          } else {
4019            this.showInventoryMessage(limitQuantity);
4020          }
4021        },
4022        quantityChange: function(quantity, cartItem, isAdded){
4023          const limitBuy = cartItem.product.limitBuy
4024          var limitQuantity = cartItem.variant.inventoryQuantity;
4025          var inventoryPolicy = cartItem.variant.inventoryPolicy;
4026          if (Number.isInteger(quantity)) {
4027            if (quantity >= 1) {
4028              if (limitBuy && quantity >= limitBuy) {
4029                product_limit_buy = "此商品限購 limitBuy 件".replace('limitBuy', limitBuy)
4030                window.msg(product_limit_buy, 'warning').show();
4031              } else if (quantity > liquidHelper.cartQuantityLimit) {
4032                window.msg("數量超過購買上限", 'warning').show();
4033              } else if (quantity <= limitQuantity || limitQuantity === null || inventoryPolicy == "continue" || shouldSkipQuantityCheck) {
4034                cartItem.quantity = quantity;
4035              } else {
4036                cartItem.quantity = limitQuantity;
4037                this.showInventoryMessage(limitQuantity);
4038              }
4039            } else {
4040              window.msg("數量不得為低於 1", 'warning').show();
4041            }
4042          } else {
4043            window.msg("數量輸入錯誤", 'warning').show();
4044          }
4045        },
4046        popModal: function(productUrl, collectionId, color, isCollection, isShowDescription, isQuickBuy, variantId, checkoutAddToCartCallback, categories){
4047          this.showProductModal = true;
4048          this.collectionId = collectionId;
4049          this.categories = categories || [];
4050          this.popProductUrl = productUrl;
4051          this.color = color || ''; // unused
4052          this.isCollection = isCollection || false;
4053          this.isShowDescription = isShowDescription != false;
4054          this.isQuickBuy = isQuickBuy || false;
4055          this.selectedVariantId = parseInt(variantId) || undefined;
4056          this.checkoutAddToCartCallback = checkoutAddToCartCallback;
4057          document.body.style.overflow = "hidden";
4058        },
4059        closeProductModal: function() {
4060          this.showProductModal = false;
4061          document.body.style.overflow = "";
4062        },
4063        showInventoryMessage: function(inventoryQuantity) {
4064          const stockMessage = "商品庫存剩餘 count 件".replace('count', inventoryQuantity || 0);
4065          window.msg(stockMessage, 'warning').show();
4066        },
4067      }
4068    });
4069
4070    for (const componentName in window.themeHelper.productModalComponents) {
4071      newAddCartModalApp.component(
4072        componentName,
4073        window.themeHelper.productModalComponents[componentName],
4074      );
4075    }
4076
4077    window.new_addcart_modal = newAddCartModalApp.mount();
4078  });
4079</script>
4079
4080
4081<!-- cyb_snippet new_addcart_modal end -->
4082    
4082<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/new_cart-3a2e378145f8a165.js' type='text/javascript'></script>
4082
4083  
4084</div>
4085
4086    </div>
4087
4088    <!-- Footer -->
4089    
4090
4091
4092
4093
4094
4095
4096<style>
4097  
4098  
4099  @media(min-width: 991px) {
4100    .display_x .left-content > div {
4101      max-width: calc(100% / 3);
4102    }
4103  }
4104</style>
4105
4106<div id="index-recommendation"></div>
4107
4108<footer id="footer" class="qk-fs--body qk-bg--footer_bg">
4109  
4110    
4111    <div class="qk-container display_x">
4112      <div class="footer_content qk-mg--0 qk-display--flex qk-justify--between">
4113        <div class="left-content qk-flex--1">
4114          
4115            
4116              <div class="item contact qk-text--left">
4117                
4118                  <p class="footer_title qk-fs--title qk-text--footer_text">聯絡我們</p>
4119                
4120                <ul>
4121                  
4122                    <li class="phone qk-bd_r--default qk-bd--footer_text qk-display--il_bk">
4123                      <span class="qk-text--footer_text">客服專線:0930-691331</span>
4124                    </li>
4125                  
4126                  
4127                  
4128                    <li class="time qk-bd_r--default qk-bd--footer_text qk-display--il_bk">
4129                      <span class="qk-text--footer_text">客服時間:10:30am - 4:00pm</span>
4130                    </li>
4131                  
4132                  
4133                    <br>
4134                    <li class="mail qk-bd_r--default qk-bd--footer_text qk-cursor--pointer qk-display--il_bk">
4135                      <a class="qk-text--footer_text" href="mailto:[email protected]">信箱:[email protected]</a>
4136                    </li>
4137                  
4138                  
4139                    <li class="address qk-bd_r--default qk-bd--footer_text qk-display--il_bk">
4140                      <span class="qk-text--footer_text">地址:台南市中西區民生路一段100號(僅為聯絡地址,不對外開放)</span>
4141                    </li>
4142                  
4143                  
4144                    <li class="tax_id qk-bd_r--default qk-bd--footer_text qk-display--il_bk">
4145                      <span class="qk-text--footer_text">統一編號:0018850</span>
4146                    </li>
4147                  
4148                </ul>
4149              </div>
4150              
4151          
4152            
4153              <div class="link-list-container">
4154                
4155                  <p class="footer_title qk-fs--title qk-text--footer_text">關於我們</p>
4156                
4157                <div class="item horizontal qk-text--left">
4158                  <ul class="qk-display--flex qk-flex--wrap">
4159                    
4160                      
4161                        <li class="qk-display--il_bk">
4162                          
4163                            <a
4164                              class="qk-text--footer_text"
4165                              href="/search"
4166                              rel="noopener noreferrer"
4167                              target="_blank">查詢</a>
4168                          
4169                        </li>
4170                      
4171                        <li class="qk-display--il_bk">
4172                          
4173                            <a
4174                              class="qk-text--footer_text"
4175                              href="/pages/about-us"
4176                              rel="noopener noreferrer"
4177                              target="_blank">關於我們</a>
4178                          
4179                        </li>
4180                      
4181                        <li class="qk-display--il_bk">
4182                          
4183                            <a
4184                              class="qk-text--footer_text"
4185                              href="/account/index"
4186                              rel="noopener noreferrer"
4187                              target="_blank">我的帳戶</a>
4188                          
4189                        </li>
4190                      
4191                        <li class="qk-display--il_bk">
4192                          
4193                            <a
4194                              class="qk-text--footer_text"
4195                              href="/pages/refund"
4196                              rel="noopener noreferrer"
4197                              target="_blank">退款政策</a>
4198                          
4199                        </li>
4200                      
4201                        <li class="qk-display--il_bk">
4202                          
4203                            <a
4204                              class="qk-text--footer_text"
4205                              href="/pages/privacy"
4206                              rel="noopener noreferrer"
4207                              target="_blank">隱私政策</a>
4208                          
4209                        </li>
4210                      
4211                        <li class="qk-display--il_bk">
4212                          
4213                            <a
4214                              class="qk-text--footer_text"
4215                              href="/pages/terms"
4216                              rel="noopener noreferrer"
4217                              target="_blank">服務條款</a>
4218                          
4219                        </li>
4220                      
4221                    
4222                  </ul>
4223                </div>
4224              </div>
4225              
4226          
4227            
4228              <div class="link-list-container">
4229                
4230                  <p class="footer_title qk-fs--title qk-text--footer_text">Menu</p>
4231                
4232                <div class="item horizontal qk-text--left">
4233                  <ul class="qk-display--flex qk-flex--wrap">
4234                    
4235                      
4236                        <li class="qk-display--il_bk">
4237                          
4238                            <a
4239                              class="qk-text--footer_text"
4240                              href="/"
4241                              rel="noopener noreferrer"
4242                              target="_blank">首頁</a>
4243                          
4244                        </li>
4245                      
4246                        <li class="qk-display--il_bk">
4247                          
4248                            <a
4249                              class="qk-text--footer_text"
4250                              href="/collections/all"
4251                              rel="noopener noreferrer"
4252                              target="_blank">商品列表</a>
4253                          
4254                        </li>
4255                      
4256                        <li class="qk-display--il_bk">
4257                          
4258                            <a
4259                              class="qk-text--footer_text"
4260                              href="/blogs/news"
4261                              rel="noopener noreferrer"
4262                              target="_blank">最新動態</a>
4263                          
4264                        </li>
4265                      
4266                        <li class="qk-display--il_bk">
4267                          
4268                            <a
4269                              class="qk-text--footer_text"
4270                              href="/pages/about-us"
4271                              rel="noopener noreferrer"
4272                              target="_blank">關於我們</a>
4273                          
4274                        </li>
4275                      
4276                        <li class="qk-display--il_bk">
4277                          
4278                            <a
4279                              class="qk-text--footer_text"
4280                              href="/pages/常見qa"
4281                              rel="noopener noreferrer"
4282                              target="_blank">常見Q&A</a>
4283                          
4284                        </li>
4285                      
4286                        <li class="qk-display--il_bk">
4287                          
4288                            <a
4289                              class="qk-text--footer_text"
4290                              href="/blogs"
4291                              rel="noopener noreferrer"
4292                              target="_blank">部落格總覽</a>
4293                          
4294                        </li>
4295                      
4296                    
4297                  </ul>
4298                </div>
4299              </div>
4300              
4301          
4302        </div>
4303        <div class="right-content qk-display--flex qk-flex--column">
4304          
4305            <div class="fb_fanpage qk-hidden--mobile">
4306              <div class="fb_fans_page_area">
4307                <div
4308                  class="fb-page"
4309                  data-href="https://www.facebook.com/100271131672176"
4310                  data-width="500"
4311                  data-adapt-container-width="true"
4312                  data-hide-cover="false"
4313                  data-show-facepile="true">
4314                  <blockquote cite="https://www.facebook.com/100271131672176" class="fb-xfbml-parse-ignore">
4315                    <a target="_blank" rel="noopener noreferrer" href="https://www.facebook.com/100271131672176"></a>
4316                  </blockquote>
4317                </div>
4318              </div>
4319            </div>
4320          
4321          <div class="media qk-display--il">
4322            <div class="item social_media qk-h--auto qk-float--l">
4323              <ul>
4324                
4325                  <li class="qk-display--il_bk">
4326                    <a target="_blank" rel="noopener noreferrer" href="https://www.facebook.com/">
4327                      <svg
4328                        class="facebook-svg"
4329                        xmlns="http://www.w3.org/2000/svg"
4330                        width="40"
4331                        height="40"
4332                        viewBox="0 0 40 40">
4333                        <path class="qk-svg--footer_text" d="M40 20.1208C40 30.1027 32.6767 38.3778 23.1167 39.8795V25.9409H27.765L28.65 20.1742H23.1167V16.4324C23.1167 14.8541 23.89 13.3174 26.3667 13.3174H28.8817V8.4073C28.8817 8.4073 26.5983 8.01729 24.4167 8.01729C19.86 8.01729 16.8833 10.779 16.8833 15.7774V20.1725H11.8183V25.9393H16.8833V39.8779C7.325 38.3745 0 30.101 0 20.1208C0 9.07564 8.955 0.120483 20 0.120483C31.045 0.120483 40 9.07398 40 20.1208Z" />
4334                      </svg>
4335                    </a>
4336                  </li>
4337                
4338                
4339                  <li class="qk-display--il_bk">
4340                    <a target="_blank" rel="noopener noreferrer" href="https://www.instagram.com/?hl=zh-tw">
4341                      <svg
4342                        class="instagram-svg"
4343                        xmlns="http://www.w3.org/2000/svg"
4344                        width="40"
4345                        height="40"
4346                        viewBox="0 0 40 40">
4347                        <rect class="qk-svg--footer_text" width="40" height="40" rx="20" />
4348                        <path class="qk-svg--footer_bg" d="M15.0302 8.08393C13.7534 8.14417 12.8814 8.34793 12.1192 8.64745C11.3303 8.95489 10.6616 9.36745 9.99636 10.0351C9.33107 10.7028 8.92139 11.3719 8.61611 12.162C8.32066 12.9259 8.1205 13.7986 8.0641 15.0761C8.0077 16.3536 7.99522 16.7643 8.00146 20.023C8.0077 23.2817 8.0221 23.6902 8.08402 24.9704C8.14498 26.2469 8.34802 27.1186 8.64755 27.8811C8.95547 28.67 9.36755 29.3384 10.0355 30.0039C10.7034 30.6694 
434811.3721 31.0782 12.1641 31.3839C12.9273 31.6789 13.8002 31.88 15.0775 31.9359C16.3547 31.9918 16.7659 32.0048 20.0237 31.9986C23.2815 31.9923 23.6916 31.9779 24.9716 31.9172C26.2515 31.8565 27.1186 31.652 27.8813 31.3539C28.6702 31.0453 29.3391 30.6339 30.0042 29.9658C30.6692 29.2976 31.0787 28.628 31.3837 27.8374C31.6794 27.0742 31.8803 26.2013 31.9357 24.925C31.9916 23.6441 32.0048 23.2352 31.9986 19.9769C31.9923 16.7187 31.9777 16.3102 31.917 15.0305C31.8563 13.7508 31.653 12.8818 31.3537 12.1188C31.0453 11.3299 30.6337 10.662 29.966 9.99601C29.2983 9.33001 28.6282 8.92081 27.8379 8.61649C27.0742 8.32105 26.2018 8.11969 24.9245 8.06449C23.6472 8.00929 23.2361 7.99513 19.9771 8.00137C16.7181 8.00761 16.3101 8.02153 15.0302 8.08393ZM15.1703 29.7771C14.0003 29.7262 13.365 29.5318 12.9417 29.3691C12.381 29.1531 11.9817 28.892 11.5597 28.4742C11.1378 28.0563 10.8786 27.6555 10.6597 27.0961C10.4953 26.6727 10.2973 26.0381 10.2426 24.8681C10.1831 23.6036 10.1706 23.2239 10.1636 20.0201C10.1567 16.8164 10.1689 16.4372 10.2244 15.1721C10.2743 14.0031 10.4699 13.3671 10.6324 12.9439C10.8484 12.3826 11.1085 11.9839 11.5273 11.5623C11.9461 11.1406 12.3457 10.8809 12.9057 10.662C13.3286 10.4969 13.9631 10.3006 15.1327 10.2449C16.3982 10.1849 16.7774 10.1729 19.9807 10.1659C23.184 10.159 23.5642 10.171 24.8302 10.2267C25.9992 10.2775 26.6355 10.4712 27.0581 10.6347C27.619 10.8507 28.0181 11.1101 28.4398 11.5296C28.8615 11.9491 29.1214 12.3473 29.3403 12.9084C29.5057 13.3301 29.702 13.9644 29.7572 15.1347C29.8174 16.4002 29.8311 16.7796 29.8369 19.9827C29.8426 23.1857 29.8314 23.5661 29.7759 24.8307C29.7248 26.0007 29.5309 26.6362 29.3679 27.0601C29.1519 27.6205 28.8915 28.0201 28.4725 28.4415C28.0534 28.863 27.6543 29.1226 27.0941 29.3415C26.6717 29.5064 26.0364 29.7032 24.8679 29.7589C23.6023 29.8184 23.2231 29.8309 20.0186 29.8378C16.8141 29.8448 16.4361 29.8318 15.1706 29.7771M24.9531 13.5864C24.9535 13.8713 25.0385 14.1495 25.1971 14.3861C25.3558 14.6226 25.581 14.8068 25.8443 14.9154C26.1077 15.0239 26.3973 15.0519 26.6765 14.9959C26.9558 14.9398 27.2122 14.8022 27.4132 14.6004C27.6142 14.3986 27.7509 14.1418 27.806 13.8623C27.861 13.5828 27.8319 13.2933 27.7224 13.0304C27.6129 12.7675 27.4279 12.5429 27.1908 12.3851C26.9536 12.2274 26.675 12.1435 26.3902 12.144C26.0084 12.1448 25.6425 12.2972 25.373 12.5677C25.1035 12.8381 24.9524 13.2046 24.9531 13.5864ZM13.8386 20.012C13.8453 23.4152 16.6091 26.1677 20.0117 26.1613C23.4142 26.1548 26.1687 23.3912 26.1622 19.988C26.1557 16.5848 23.3911 13.8315 19.9881 13.8382C16.5851 13.8449 13.8321 16.6092 13.8386 20.012ZM16 20.0076C15.9985 19.2165 16.2315 18.4427 16.6698 17.784C17.108 17.1253 17.7317 16.6114 18.462 16.3072C19.1924 16.003 19.9965 15.9222 20.7727 16.075C21.549 16.2278 22.2625 16.6073 22.823 17.1656C23.3836 17.724 23.766 18.436 23.9218 19.2116C24.0777 19.9872 24.0001 20.7917 23.6988 21.5232C23.3975 22.2547 22.886 22.8804 22.2291 23.3213C21.5721 23.7621 20.7992 23.9983 20.0081 23.9998C19.4827 24.0009 18.9623 23.8985 18.4766 23.6985C17.9909 23.4985 17.5493 23.2047 17.1771 22.834C16.8049 22.4632 16.5094 22.0228 16.3074 21.5379C16.1054 21.0529 16.001 20.533 16 20.0076Z" />
4349                      </svg>
4350                    </a>
4351                  </li>
4352                
4353                
4354                  <li class="qk-display--il_bk">
4355                    <a target="_blank" rel="noopener noreferrer" href="https://line.me/zh-hant/">
4356                      <svg
4357                        class="line-svg"
4358                        xmlns="http://www.w3.org/2000/svg"
4359                        width="40"
4360                        height="40"
4361                        viewBox="0 0 40 40">
4362                        <rect class="qk-svg--footer_text" width="40" height="40" rx="20" />
4363                        <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" />
4364                        <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" />
4365                        <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" />
4366                        <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" />
4367                        <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" />
4368                      </svg>
4369                    </a>
4370                  </li>
4371                
4372                
4373                  <li class="qk-display--il_bk">
4374                    <a target="_blank" rel="noopener noreferrer" href="https://www.youtube.com/">
4375                      <svg
4376                        class="youtube-svg"
4377                        xmlns="http://www.w3.org/2000/svg"
4378                        width="40"
4379                        height="40"
4380                        viewBox="0 0 40 40">
4381                        <rect class="qk-svg--footer_text" width="40" height="40" rx="20" />
4382                        <path class="qk-svg--footer_bg" d="M27.3078 11H12.6922C9.82462 11 7.5 13.3653 7.5 16.283V23.717C7.5 26.6347 9.82462 29 12.6922 29H27.3078C30.1754 29 32.5 26.6347 32.5 23.717V16.283C32.5 13.3653 30.1754 11 27.3078 11ZM23.7964 20.3617L16.9602 23.6792C16.778 23.7676 16.5676 23.6324 16.5676 23.4271V16.5848C16.5676 16.3766 16.7835 16.2416 16.9661 16.3357L23.8023 19.8606C24.0055 19.9653 24.002 20.2619 23.7964 20.3617Z" />
4383                      </svg>
4384                    </a>
4385                  </li>
4386                
4387              </ul>
4388            </div>
4389          </div>
4390        </div>
4391      </div>
4392    </div>
4393    
4394  <div class="copyright qk-text--footer_text qk-bd--footer_text qk-text--left qk-bd_t--default">
4395    <div class="qk-container container qk-fw--500">
4396      <span>Copyright ©</span>
4397      <a class="qk-text--link" href="/">
4398        <span>carryongarden</span>
4399      </a>
4400      <span>All Rights Reserved.</span>
4401      <span>Designed by
4402      </span>
4403      <a
4404        class="qk-text--link"
4405        href="https://www.cyberbiz.io?utm_source=poweredbycyberbiz"
4406        target="_blank"
4407        rel="noopener noreferrer"
4408        title="Designed by CYBERBIZ">CYBERBIZ</a>.
4409    </div>
4410  </div>
4411  
4412</footer>
4413<script>
4414  $(document).ready(function() {
4415    let isDynamicLoading = false;
4416
4417    let menusData = {
4418      
4419        
4420      
4421        
4422          "footer": {
4423            
4424              "type": "items",
4425              "data": [
4426                
4427                
4428                  
4429                    {
4430                      "title": "查詢",
4431                      "url": "/search",
4432                      "item_type": "search"
4433                    },
4434                  
4435                    {
4436                      "title": "關於我們",
4437                      "url": "/pages/about-us",
4438                      "item_type": "page"
4439                    },
4440                  
4441                    {
4442                      "title": "我的帳戶",
4443                      "url": "/account/index",
4444                      "item_type": "http"
4445                    },
4446                  
4447                    {
4448                      "title": "退款政策",
4449                      "url": "/pages/refund",
4450                      "item_type": "refund"
4451                    },
4452                  
4453                    {
4454                      "title": "隱私政策",
4455                      "url": "/pages/privacy",
4456                      "item_type": "privacy"
4457                    },
4458                  
4459                    {
4460                      "title": "服務條款",
4461                      "url": "/pages/terms",
4462                      "item_type": "terms"
4463                    }
4464                  
4465                
4466              ]
4467            
4468          },
4469        
4470      
4471        
4472          "main-menu": {
4473            
4474              "type": "items",
4475              "data": [
4476                
4477                
4478                  
4479                    {
4480                      "title": "首頁",
4481                      "url": "/",
4482                      "item_type": "frontpage"
4483                    },
4484                  
4485                    {
4486                      "title": "商品列表",
4487                      "url": "/collections/all",
4488                      "item_type": "collections_all"
4489                    },
4490                  
4491                    {
4492                      "title": "最新動態",
4493                      "url": "/blogs/news",
4494                      "item_type": "http"
4495                    },
4496                  
4497                    {
4498                      "title": "關於我們",
4499                      "url": "/pages/about-us",
4500                      "item_type": "page"
4501                    },
4502                  
4503                    {
4504                      "title": "常見Q\u0026A",
4505                      "url": "/pages/常見qa",
4506                      "item_type": "page"
4507                    },
4508                  
4509                    {
4510                      "title": "部落格總覽",
4511                      "url": "/blogs",
4512                      "item_type": "http"
4513                    }
4514                  
4515                
4516              ]
4517            
4518          }
4519        
4520      
4521    };
4522
4523    if (isDynamicLoading) {
4524      window.DynamicLoading.setupComponent({
4525          sectionId: '#footer',
4526          callbackData:{
4527            section: {"type":"footer","visible":true,"settings":{"footer_link":"footer","display_facebook":true,"shop_facebook":"https://www.facebook.com/","display_instagram":true,"shop_instagram":"https://www.instagram.com/?hl=zh-tw","display_line":true,"shop_line":"https://line.me/zh-hant/","display_youtube":true,"shop_youtube":"https://www.youtube.com/","footer_link_arrangement":"display_x","display_facebook_fan_block":true},"block_order":["default_contact_info","default_link_list","default_link_list_2"],"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":{"dict_contact_info_block_title":"聯絡我們","display_phone":"true","dict_phone_number":"0930-691331","display_fax_number":false,"dict_shop_fax_number":"02-22345678","display_shop_email":"true","dict_shop_email":"[email protected]","display_shop_address":"true","dict_shop_address":"台南市中西區民生路一段100號(僅為聯絡地址,不對外開放)","display_office_time":"true","dict_shop_office_time":"10:30am - 4:00pm","display_tax_id":true,"dict_tax_id":"0018850"},"custom_name":"聯絡資訊"},"default_link_list_2":{"type":"link_list_setting","visible":true,"settings":{"dict_link_list_block_title":"Menu","footer_link":"main-menu"},"custom_name":"選單"}},"custom_name":"頁腳"},
4528            shop: {
4529              name: 'carryongarden',
4530              cyberbiz_link: 'https://www.cyberbiz.io?utm_source=poweredbycyberbiz',
4531              facebook_fan_page: 'https://www.facebook.com/100271131672176',
4532            },
4533            menus: menusData,
4534            is_display_facebook_fan_block: true
4535            },
4536          entryName:'renderFooterSection',
4537          source:'//cdn-general.cybassets.com/frontend/shop/footerSection-3a2e378145f8a165.js',
4538        });
4539    }
4540  });
4541</script>
4541
4542
4543<!-- cyb_snippet _tracking_code start -->
4544      
4544<script>
4545        window.fbAsyncInit = function() {
4546          FB.init({
4547          appId : '',
4548          xfbml : true,
4549          version : 'v24.0',
4550          });
4551        };
4552        (function(d, s, id){
4553          var js, fjs = d.getElementsByTagName(s)[0];
4554          if (d.getElementById(id)) {return;}
4555          js = d.createElement(s);
4556          js.id = id;
4557          js.src = 'https://connect.facebook.net/zh_TW/sdk.js';
4558          fjs.parentNode.insertBefore(js, fjs);
4559        }(document, 'script', 'facebook-jssdk'));
4560      </script>
4560
4561
4562
4563<script>
4564  // for scupio
4565  if (document.querySelector("meta[name=\"scupio_mid\"]")) {
4566    mid = document.querySelector("meta[name=\"scupio_mid\"]").content;
4567  } else {
4568    mid = "";
4569  }
4570  if (!window.is_scupio_sent && mid) {
4571    window._bwtm = window._bwtm || []
4572    window._bwtm.push({
4573      "mid": mid,
4574      "uid": ""
4575    });
4576  }
4577</script>
4577
4578
4579<!-- cyb_snippet _tracking_code end -->
4580
4581<script>
4582  $(document).ready(function(){
4583    if(window.location.pathname != '' && window.location.pathname != '/' ){
4584      document.getElementById('index-recommendation').style.display = 'none'
4585    }
4586  });
4587</script>
4587
4588
4589
4590
4591    <!-- Fast-Events -->
4592    <!-- cyb_snippet fast_events start -->
4593
4594
4595<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/fast_events-3a2e378145f8a165.js' type='text/javascript'></script>
4595
4596<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/fast_events-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' />
4597
4598<!-- cyb_snippet fast_events end -->
4599
4600    <div class="bottom-right qk-pos--fixed">
4601      <!-- gototop -->
4602      <div id="gototop" class="qk-display--none qk-text--center">
4603        <a href="javascript:void(0)" class="qk-circle qk-circle--lg qk-pos--relative qk-text--center">
4604          <i class="fas fa-chevron-up"></i>
4605        </a>
4606      </div>
4607
4608      <!-- popup -->
4609      
4610  <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/popup-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' />
4611
4612
4613
4614  
4615
4616
4617<div id="popup-wrapper" class="qk-display--none"></div>
4618
4619<template id="popup-template">
4620  <div
4621    :class="status"
4622    v-if="hasContent"
4623    id="popup-section"
4624  >
4625    <transition name="backdrop">
4626      <div
4627        v-if="shouldShowPopup"
4628        @click.capture="minifyPopup"
4629        id="popup-backdrop"
4630        class="qk-w--100vw qk-h--100vh qk-pos--fixed qk-t--0 qk-l--0 qk-tst"
4631      >
4632      </div>
4633    </transition>
4634    <transition name="onShow">
4635      <div
4636        @click.self="showPopup"
4637        @transitionstart="updateGameStatus('start', this)"
4638        @transitionend="updateGameStatus('end', this)"
4639        class="popup-content qk-display--flex qk-align--center qk-tst qk-tst_dur--30 qk-tst_timing--ease_o"
4640      >
4641        <div
4642          v-for="block in blocks"
4643          :key="block.id"
4644          :class="[block.type, minifiedBlockClasses, block.settings.icon_size]"
4645          class="block qk-tst qk-tst_dur--30 qk-tst_timing--ease_o qk-of--auto"
4646        >
4647          <div v-if="block.type === 'image'" class="qk-pos--rel">
4648            <img
4649              v-show="!shouldShowPopup"
4650              :src="block.settings.dict_icon_image_url"
4651              class="qk-tst qk-tst_dur--30 qk-tst_timing--ease_o"
4652              alt="popup button"
4653            >
4654            <a
4655              v-show="shouldShowPopup"
4656              :href="block.settings.dict_link"
4657              :target="block.settings.target"
4658              :rel="block.settings.rel"
4659              class="qk-display--flex qk-align--center"
4660              @click="linkClicked"
4661            >
4662              <picture>
4663                <source :srcset="block.settings.dict_mobile_image_url" media="(max-width: 576px)">
4664                <source :srcset="block.settings.dict_tablet_image_url" media="(max-width: 992px)">
4665                <img
4666                  :src="block.settings.dict_image_url"
4667                  class="qk-tst qk-tst_dur--30 qk-tst_timing--ease_o"
4668                  alt="popup picture"
4669                />
4670              </picture>
4671            </a>
4672          </div>
4673          <div v-if="block.type === 'video'">
4674            <iframe
4675              :src="block.settings.dict_video_link"
4676              frameborder="0"
4677              class="qk-center--y qk-w--100 qk-h--100"
4678            ></iframe>
4679          </div>
4680          <div v-if="block.type === 'game'">
4681            <div v-show="gameStatus === 'show'" :class="{ 'show-game': gameStatus === 'show' }">
4682              <iframe
4683                class="cb-game-iframe iframe-loading"
4684                :src="getGameIframeSrc(block)"
4685                style="border: none;"
4686              >
4687                Loading
4688              </iframe>
4689            </div>
4690            <div v-show="gameStatus === 'minified'">
4691              <img
4692                src="//cdn-general.cybassets.com/game_assets/game_minified_new.png"
4693                class="qk-h--100 qk-w--100"
4694                alt="game minified icon"
4695              />
4696            </div>
4697          </div>
4698          <div
4699            v-if="block.type === 'carousel'"
4700            :id="`popup-carousel-${block.id}`"
4701          >
4702          </div>
4703        </div>
4704      </div>
4705    </transition>
4706    <transition name="backdrop">
4707      <div
4708        v-if="shouldShowPopup"
4709        @click.capture="minifyPopup"
4710        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"
4711      >
4712      </div>
4713    </transition>
4714  </div>
4715</template>
4716
4717<script>
4718  $(document).ready(function() {
4719    const CDN_HOST = '//cdn-general.cybassets.com';
4720    const section = {"type":"popup","visible":true,"blocks":{"popup_block_1":{"type":"image","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc5MTIyMDE2X-aXpeabtDU0IOeahOikh-acrCDnmoTopIfmnKwucG5nLnBuZyJdXQ.png?sha=b6e69a9d3ca95344","icon_size":"middle","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc5MTIyMDE2X-aXpeabtDU0IOeahOikh-acrCDnmoTopIfmnKwucG5nLnBuZyJdXQ.png?sha=b6e69a9d3ca95344","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc5MTIyMDE2X-aXpeabtDU0IOeahOikh-acrCDnmoTopIfmnKwucG5nLnBuZyJdXQ.png?sha=b6e69a9d3ca95344","dict_icon_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjM1ODMyL2F0dGFjaGVkX3Bob3Rvcy8xNzc5MTIyMDE2X-aXpeabtDU0IOeahOikh-acrCDnmoTopIfmnKwucG5nLnBuZyJdXQ.png?sha=b6e69a9d3ca95344","dict_link":"https://lin.ee/Vg1Pb9b"},"custom_name":"圖片"}},"block_order":["popup_block_1"],"settings":{},"custom_name":"彈窗廣告"};
4721    var popupSection = Vue.createApp({
4722      template: '#popup-template',
4723      delimiters: ['${', '}'],
4724      data() {
4725        const isOmniauthPage = ['omniauth_terms_agreement', 'omniauth_mobile/']
4726          .some(path => location.pathname.includes(path));
4727        return {
4728          status: 'minified',
4729          gameStatus: 'show',
4730          blocks: isOmniauthPage
4731            ? []
4732            : section.block_order && section.block_order.reduce(
4733                function(acc, blockId) {
4734                  const block = section.blocks[blockId];
4735                  if (block && block.visible) {
4736                    acc.push({
4737                      ...block,
4738                      id: blockId,
4739                    });
4740                  }
4741                  return acc;
4742                },
4743                [],
4744              ),
4745          hasAddedGameScript: false,
4746        };
4747      },
4748      computed: {
4749        hasContent: function() {
4750          return !!(this.blocks && this.blocks.length > 0);
4751        },
4752        minifiedBlockClasses: function() {
4753          return this.status === 'minified' ? 'qk-pointer--none qk-unselectable' : '';
4754        },
4755        shouldShowPopup: function() {
4756          return this.status === 'show';
4757        }
4758      },
4759      methods: {
4760        unhidePopup: function(storedStatus) {
4761          this.status = storedStatus;
4762          $('#popup-wrapper').removeClass('qk-display--none');
4763        },
4764        showPopup: function() {
4765          if (this.status !== 'show') {
4766            this.status = 'show';
4767            this.saveStatus(this.status);
4768          }
4769        },
4770        minifyPopup: function() {
4771          this.status = 'minified';
4772          this.saveStatus('minified');
4773        },
4774        loadStatus: function() {
4775          return JSON.parse(localStorage.getItem('popupStatus'));
4776        },
4777        saveStatus: function(status) {
4778          if (status) {
4779            localStorage.setItem('popupStatus', JSON.stringify({
4780              status: status,
4781              setTime: new Date().getTime(),
4782            }));
4783          }
4784        },
4785        linkClicked: function() {
4786          this.saveStatus('minified');
4787        },
4788        parseVideoLink: function(settings) {
4789          settings.dict_video_link = themeHelper.parseYtUrl(settings.dict_video_link);
4790        },
4791        setupImageSrc: function (settings) {
4792          settings.dict_image_url = this.addCdnHost(settings.dict_image_url);
4793          if (settings.dict_tablet_image_url) {
4794            settings.dict_tablet_image_url = this.addCdnHost(settings.dict_tablet_image_url);
4795          }
4796          if (settings.dict_mobile_image_url) {
4797            settings.dict_mobile_image_url = this.addCdnHost(settings.dict_mobile_image_url);
4798          }
4799          settings.dict_icon_image_url = this.addCdnHost(settings.dict_icon_image_url) || settings.dict_image_url;
4800        },
4801        addCdnHost: function(url) {
4802          if (!url) {
4803            return url; // only add cdn host if url is not empty
4804          }
4805
4806          try {
4807            new URL(url);
4808            return url; // already a valid url, cdn host not needed
4809          } catch {
4810            return `${CDN_HOST}${url}`;
4811          }
4812        },
4813        initStatus: function() {
4814          let newStatus = 'show';
4815          const popupStatus = this.loadStatus();
4816          const currentTime = new Date().getTime();
4817          const oneDay = 1000 * 60 * 60 * 24;
4818          const hasStoredStatus = popupStatus && currentTime - popupStatus.setTime < oneDay;
4819          const redirectedByGameLogin = !this.hasRedirectUrl() && this.redirectedByGameLogin();
4820          const isLoggingIn = this.isLoggingIn();
4821          const isCartPage = window.location.pathname.split('/').includes('carts');
4822
4823          if (hasStoredStatus && !redirectedByGameLogin) {
4824            newStatus = popupStatus.status;
4825          }
4826
4827          if (isLoggingIn) {
4828            newStatus = 'minified';
4829          } else {
4830            localStorage.removeItem('redirectedByPopup');
4831          }
4832
4833          setTimeout(() => {
4834            this.status = newStatus;
4835            this.gameStatus = newStatus;
4836            this.saveStatus(newStatus);
4837            if(!isCartPage){
4838              this.unhidePopup(newStatus);
4839            }
4840          }, 1000);
4841        },
4842        initBlocks: function() {
4843          if (this.hasContent) {
4844            this.blocks.forEach(block => {
4845              switch(block.type) {
4846                case 'image':
4847                  this.setupImageSrc(block.settings);
4848
4849                  const isOpenInNewTab = block.settings.link_open_in_new_tab;
4850                  if (isOpenInNewTab) {
4851                    block.settings.target = '_blank';
4852                    block.settings.rel = 'noopener noreferrer';
4853                  }
4854
4855                  break;
4856                case 'video':
4857                  this.parseVideoLink(block.settings);
4858                  break;
4859              }
4860            })
4861          }
4862        },
4863        getGameIframeSrc: function (block) {
4864          return `/games/${block.settings.dict_game_handle}`
4865        },
4866        updateGameStatus: function(type, element) {
4867          if (
4868            (type === 'start' && this.status === 'minified')
4869            || (type === 'end' && this.status === 'show')
4870          ) {
4871            this.gameStatus = this.status;
4872          }
4873        },
4874        setupGameRedirects: function() {
4875          window.addEventListener('pagehide', () => {
4876            const isGameActive = document.body.getElementsByClassName('show-game').length;
4877            if (isGameActive) {
4878              localStorage.setItem('redirectedByPopup', 'true');
4879              this.saveStatus('minified');
4880            }
4881          });
4882        },
4883        hasRedirectUrl: function() {
4884          return (new URLSearchParams(location.search)).has('redirect_url');
4885        },
4886        redirectedByGameLogin: function() {
4887          return localStorage.getItem('redirectedByPopup');
4888        },
4889        isLoggingIn: function() {
4890          const loginRelatedPathnames = [
4891            'account/signup',
4892            'account/login',
4893            'account/customer/password/new',
4894            'pages/terms'
4895          ];
4896          return loginRelatedPathnames.some(path => location.pathname.includes(path));
4897        }
4898      },
4899      created: function() {
4900        this.initStatus();
4901        this.initBlocks();
4902        this.setupGameRedirects();
4903      },
4904      mounted: function() {
4905        this.blocks.forEach((block) => {
4906          if (block.type === 'carousel' && block.settings.dict_c
4906arousel) {
4907            renderCarousel(`#popup-carousel-${block.id}`, {
4908              title: block.settings.dict_carousel,
4909              CDN_HOST,
4910              onLinkClick: () => this.linkClicked(),
4911            });
4912          }
4913        });
4914      },
4915    });
4916    popupSection.mount('#popup-wrapper');
4917  });
4918</script>
4918
4919
4920
4921
4922    </div>
4923
4924    <!-- ajaxloading -->
4925    <div id="ajaxloading" class="qk-display--none qk-h--100vh qk-w--100vw qk-l--0 qk-t--0 qk-pos--fixed">
4926      <div class="ajaxbody qk-pos--abs qk-l--50 qk-t--50 qk-text--center">
4927        <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">
4928          <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"/>
4929          <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 "/>
4930          <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"/>
4931          <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"/>
4932          <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"/>
4933          <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"/>
4934        </svg>
4935        <div class="success_msg title qk-display--none qk-pos--abs qk-l--0 qk-w--100 qk-text--center">已加入購物車</div>
4936        <div class="success_update_msg title qk-display--none qk-pos--abs qk-l--0 qk-w--100 qk-text--center">已更新購物車</div>
4937        <div class="fail_msg title qk-display--none qk-pos--abs qk-l--0 qk-w--100 qk-text--center">網路異常,請重新整理</div>
4938      </div>
4939    </div>
4940  
4940<script src="//cdn-general.cybassets.com/assets/referral-code-trace-5fcbbe026a61c36b5f09a1615a1c168688205205d9d3e7ee854181a66b64a6ed.js"></script>
4940</body>
4941
4942  
4942<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/sub_vendor-3a2e378145f8a165.js' type='text/javascript'></script>
4942
4943  
4943<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/theme_helper-3a2e378145f8a165.js' type='text/javascript'></script>
4943
4944
4945  <!-- theme assets -->
4946  
4946<script src='//cdn-general.cybassets.com/s/files/35832/theme/129735/assets/js/1775621071_677a7d16_main.js?1775621071' type='text/javascript'></script>
4946
4947  
4947<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/theme-3a2e378145f8a165.js' type='text/javascript'></script>
4947
4948
4949  <!-- for cache -->
4950  
4950<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/cacheable-3a2e378145f8a165.js' type='text/javascript'></script>
4950
4951</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.