PageSourceSearch

https://www.zh-biotech.com/en

html zh-biotech.com collected 2026-10-07 04:05:19 UTC 269,167 bytes, 5,157 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en" 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-M7SFH7L
vendor: 3 bytes, line 12
12');
12</script>
12
13          
13<script>var google_tag_manager_id = 'GTM-M7SFH7L';</script>
13
14<!-- End Google Tag Manager -->
15      <!-- CYBERBIZ Google Tag Manager -->
16      
16<script>
vendor: 345 bytes, lines 16-20
16(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
17      new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
18      j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
19      'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
20      })(window,document,'script','cyb','
20GTM-TXD9LVJ
vendor: 3 bytes, line 20
20');
20</script>
20
21      <!-- End CYBERBIZ Google Tag Manager -->
22    
23      
23<script>
24        function getUserFromCookie(){
25          if(localStorage.customer && localStorage.customer != '{"notLogin":true}'){
26            return JSON.parse(localStorage.customer).id;
27          }else{
28            return "";
29          }
30        }
31        cyb = [{
32          'shop': "17907-兆鴻生技股份有限公司",
33          'shop_plan': "enterprise",
34          'userId': getUserFromCookie()
35        }];
36      </script>
36
37    
38      <!-- CYBERBIZ Google Tag Manager -->
39      
39<script>
vendor: 345 bytes, lines 39-43
39(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
40      new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
41      j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
42      'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
43      })(window,document,'script','cyb','
43GTM-P7528MQ
vendor: 3 bytes, line 43
43');
43</script>
43
44      <!-- End CYBERBIZ Google Tag Manager -->
45    
46    <meta charset="utf-8">
47<meta http-equiv="X-UA-Compatible" content="IE=edge">
48<meta name="viewport" content="width=device-width, initial-scale=1">
49<link rel="icon" href="https://cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjgzMTczMDQ2X2xvZ29f5ZyWLnBuZy5wbmciXV0.png?convert=false&sha=6bec93c9ce3ac668">
50<link rel="apple-touch-icon" href="https://cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjgzMTczMDQ2X2xvZ29f5ZyWLnBuZy5wbmciXV0.png?convert=false&sha=6bec93c9ce3ac668">
51
52<meta property="og:site_name" content="兆鴻生技股份有限公司" />
53
54<!-- og tag -->
55
56  <meta name="keywords" content="" />
57  <meta name="description" content="" />
58  <meta property="og:title" content="兆鴻生技股份有限公司 " />
59  <meta property="og:description" content="" />
60  <meta property="og:url" content="https://www.zh-biotech.com" />
61  <meta property="og:type" content="website" />
62
63
64<!-- og image -->
65
66  
67  <meta property="og:image" content="https://cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjgzMTczMDQ2X2xvZ29f5ZyWLnBuZy5wbmciXV0.png?sha=6bec93c9ce3ac668" />
68  
69
70
71<title>
72  
73    兆鴻生技股份有限公司 
74  
75</title>
76
77
78
79<script src='//cdn-general.cybassets.com/frontend/shop/useSettingsData-4a1e7dfec7e41476.js' type='text/javascript'></script>
79
80
81
82
83  
83<script>
84    window.setSettingsData({"draggable_sections":{"404":[],"index":["_main_slider_custom","_index_4_blocks","1680063739968_4","1680063869940_4","1683878235142_3"],"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":[]},"sections":{"navbar":{"type":"navbar","visible":true,"settings":{"navbar_image_logo_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjgwMDYxOTg5X-WFhum0u-WOu-iDjDIucG5nLnBuZyJdXQ.png?sha=031854de1c6a33f7","navbar_image_logo_tablet_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjgwMDU4NjYxX-WFhum0u-WOu-iDjC5naWYuZ2lmIl1d.gif?sha=b92020efb817f87a","navbar_image_logo_mobile_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjgwMDU4NjYxX-WFhum0u-WOu-iDjC5naWYuZ2lmIl1d.gif?sha=b92020efb817f87a","main_nav":"main-menu","slider_primary_linklist":"main-menu","slider_primary_linklist_set_open":true,"nav_show_three_dimension":true,"search_enabled":false,"display_only_index":false,"dict_header_banner_image_url":"/theme_src/i18n_nolli/default_img/header_banner_image.png","dict_header_banner_image_tablet_url":"","dict_header_banner_image_mobile_url":"/theme_src/i18n_nolli/default_img/header_banner_image_mobile.png","dict_header_banner_link":"","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":true,"menu_display_style":"three_dimension_menu","header_logo_image_alt":"兆鴻生技,蜆蛋白,蜆類保健,護肝,保健品","header_banner_image_alt":"","display_banner_type":"imageBanner","header_banner_simple_text_size":"12","header_banner_simple_text_color":"#ffffff","header_banner_simple_bg":"#000000","link_menu_enabled":false,"link_menu":"undefined","logo_height":"","mobile_logo_position":"left","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","breadcrumb_referrer_enabled":false},"custom_name":"導覽列"},"footer":{"type":"footer","visible":true,"settings":{"footer_link":"footer","display_facebook":true,"shop_facebook":"https://www.facebook.com/%E5%85%86%E9%B4%BB-%E9%BB%83%E9%87%91%E8%9C%86%E8%9B%8B%E7%99%BD-168548957238384","display_instagram":false,"shop_instagram":"https://www.instagram.com/?hl=zh-tw","display_line":true,"shop_line":"https://liff.line.me/2000447957-RL1l5N7D","display_youtube":false,"shop_youtube":"https://www.youtube.com/","footer_link_arrangement":"display_y","display_facebook_fan_block":true},"block_order":["default_contact_info","default_link_list","1680064031226_2"],"blocks":{"default_link_list":{"type":"link_list_setting","custom_name":"選單","thumbnail":"list","draggable":true,"visible":true,"settings":{"dict_link_list_block_title":"About Us","footer_link":"footer"}},"default_contact_info":{"type":"contact_info_setting","custom_name":"聯絡資訊","thumbnail":"contactInfo","draggable":true,"visible":true,"settings":{"dict_contact_info_block_title":"Informations","display_phone":true,"dict_phone_number":"09-87654321","display_fax_number":true,"dict_shop_fax_number":"02-22345678","display_shop_email":true,"dict_shop_email":"[email protected]","display_shop_address":true,"dict_shop_address":"Waterloo, IN 46793, United States","display_office_time":true,"dict_shop_office_time":"10:30am - 6:30pm"}},"default_link_list_2":{"type":"link_list_setting","custom_name":"選單","visible":true,"settings":{"dict_link_list_block_title":"Menu","footer_link":"main-menu"}},"1680064031226_2":{"type":"rich_text_editor_setting","custom_name":"自訂文字","visible":true,"settings":{"dict_rich_text_title":"","dict_rich_text_content":""}}},"custom_name":"頁腳"},"_main_slider_custom":{"type":"_main_slider_custom","visible":true,"blocks":{"display_main_slider_item_1":{"type":"image","visible":true,"settings":{"dict_link":"/products/蜆芝靈60粒裝-20230427145309","dict_image_url":"/theme_src/i18n_nolli/default_img/main_slider_item_1.png","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzgwMjE4MDYyXzIwMjUwODA3X-ichuiKnemdiF85NjB4NjAwLmpwZy5qcGVnIl1d.jpeg?sha=fbba2cc226115444","dict_mobile_image_url":"/theme_src/i18n_nolli/default_img/main_slider_item_1_mobile.png","slide_contents_display":"left","slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff","dict_slide_btn_link":""},"custom_name":"蜆芝靈"}
84,"display_main_slider_item_2":{"type":"image","visible":true,"settings":{"dict_link":"/products/薑蜆雙寶-60-粒裝-20230427144347","dict_image_url":"/theme_src/i18n_nolli/default_img/main_slider_item_2.png","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzkxMzMxNTYwXzIwMjYxMDA1X-iWkeichumbmeWvtlBsdXNfOTYweDYwMC5qcGcuanBlZyJdXQ.jpeg?sha=9daf3230fd7f995e","dict_mobile_image_url":"/theme_src/i18n_nolli/default_img/main_slider_item_2_mobile.png","slide_contents_display":"left","slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff","dict_slide_btn_link":""},"custom_name":"薑蜆雙寶"},"1683625586301_0":{"type":"image","custom_name":"定期購","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzA2NTg0MTE0X-Wumuacn-izvF8yNDAxMzBfbmV3LmpwZy5qcGVnIl1d.jpeg?sha=7e544bbcabb1f1e6","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzA2NTg0MTE1X-Wumuacn-izvF8yNDAxMzBfMl9uZXcuanBnLmpwZWciXV0.jpeg?sha=3fb60ca958eb1e7a","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzA2NTg0MTE1X-Wumuacn-izvF8yNDAxMzBfM19uZXcuanBnLmpwZWciXV0.jpeg?sha=fc8e2fb533c05cbf","dict_link":"/pages/定期購","slide_contents_display":"left","slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff","dict_slide_btn_link":""}},"1684111299529_0":{"type":"image","custom_name":"母親節333x3","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjg0MTE2NjY4XzIwMjMwNTEyLmpwZy5qcGVnIl1d.jpeg?sha=06e0b6572b4d116a","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjg0MTE2NjY3XzIwMjMwNTEyXzk2MC5qcGcuanBlZyJdXQ.jpeg?sha=470a81339f919873","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjg0MTE2OTIxXzIwMjMwNTEyXzU2MC5qcGcuanBlZyJdXQ.jpeg?sha=3c323017828216cb","dict_link":"/collections/明星商品"}},"1684115267015_0":{"type":"image","custom_name":"綠淨肽","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjg0MTMxNjIwXzIwMjMwNTAxX-avjeimquevgF_ntqDmt6jogr1fMi5qcGcuanBlZyJdXQ.jpeg?sha=d80a473906c9cb62","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjg0MTMxNjQzXzIwMjMwNTAxX-avjeimquevgF_ntqDmt6jogr1fMl85NjAuanBnLmpwZWciXV0.jpeg?sha=cdc570ba8ce60056","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjg0MTMxNjYxXzIwMjMwNTAxX-avjeimquevgF_ntqDmt6jogr1fMl81NjAuanBnLmpwZWciXV0.jpeg?sha=34e5fc786a6e7f6c","dict_link":"/products/綠淨肽-60粒裝-20230427144941"}},"1684115547750_0":{"type":"image","custom_name":"防蚊液","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjg0MTIzNjc0XzIwMjMwNTExX-mYsuiaiua2si5qcGcuanBlZyJdXQ.jpeg?sha=68148d35814d06d7","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjg0MTIzNjg5XzIwMjMwNTExX-mYsuiaiua2sl85NjAuanBnLmpwZWciXV0.jpeg?sha=176b6bc965f7d6d0","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjg0MTIzNzEwXzIwMjMwNTExX-mYsuiaiua2sl81NjAuanBnLmpwZWciXV0.jpeg?sha=60e1f4fd8fd1342d","dict_link":"/products/兆著你-草本植萃精油防蚊液"}},"1688357517672_0":{"type":"image","custom_name":"開站慶","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjg4MzUyNTgxX-mWi-ermeaFti3pm7vohabniYguanBnLmpwZWciXV0.jpeg?sha=c3a1e19aed3cce44","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjg4MzUyNTkxX-mWi-ermeaFti3lubPmnb_niYguanBnLmpwZWciXV0.jpeg?sha=1dfcbb6a7472193e","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjg4MzUyNTkyX-mWi-ermeaFti3miYvmqZ_niYguanBnLmpwZWciXV0.jpeg?sha=f72c781ace4ca83a","dict_link":"/collections/開站慶限時優惠組"}},"1690856965195_0":{"type":"image","custom_name":"素材","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjkwODU3MzMwX-eItuW_qy3pm7vohabniYguanBnLmpwZWciXV0.jpeg?sha=6bfe15066e0aab4e","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjkwODU3MTIwX-eItuW_qy3lubPmnb_niYhfMC
845qcGcuanBlZyJdXQ.jpeg?sha=ec376db627b2aed3","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjkwODU3MzYwX-eItuW_qy3miYvmqZ_niYhfMC5qcGcuanBlZyJdXQ.jpeg?sha=492fa43cd45ffb0d","dict_link":"/collections/任選3項優惠"}},"1692865662663_0":{"type":"image","custom_name":"綠淨肽","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzgwMjE4MjExXzIwMjUxMDAyX-e2oOa3qOiCvS5qcGcuanBlZyJdXQ.jpeg?sha=cad5287801d94bd5","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzgwMjE4MjEwXzIwMjUxMDAyX-e2oOa3qOiCvV85NjB4NjAwLmpwZy5qcGVnIl1d.jpeg?sha=54bee6de9a7a6a4c","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzgwMjE4MjExXzIwMjUxMDAyX-e2oOa3qOiCvV81NzZ4NTAwLmpwZy5qcGVnIl1d.jpeg?sha=cadee8a131eae02f","dict_link":"/products/綠淨肽-60粒裝-20230427144941","main_slider_image_alt":"【調節血脂】綠淨肽","slide_contents_display":"left","slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff","dict_slide_btn_link":""}},"1692930510446_0":{"type":"image","custom_name":"福利品薑蜆雙寶","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzAzNDk2ODg4XzIwMjMxMjI1IOWFhum0u1_olpHonIbpm5nlr7bosrfkuozpgIHkuIDmtLvli5UuanBnLmpwZWciXV0.jpeg?sha=eaec7c9b49f58b68","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzAzNDk2ODg4XzIwMjMxMjI1IOWFhum0u1_olpHonIbpm5nlr7bosrfkuozpgIHkuIDmtLvli5VfOTAweDYwMC5qcGcuanBlZyJdXQ.jpeg?sha=f57e046c215fe7f3","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzAzNDk2ODg4XzIwMjMxMjI1IOWFhum0u1_olpHonIbpm5nlr7bosrfkuozpgIHkuIDmtLvli5VfNTc2eDUwMC5qcGcuanBlZyJdXQ.jpeg?sha=5bec2a742959da9e","dict_link":"/products/薑蜆雙寶-60-粒裝-20230427144347","main_slider_image_alt":"【複方加乘】薑蜆雙寶"}},"1692930862865_0":{"type":"image","custom_name":"防蚊液","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzgyMTc3MjgwXzIwMjYwNjIzX-mYsuiaiua2si5qcGcuanBlZyJdXQ.jpeg?sha=e20bb236a079972c","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzgyMTc3MjgwXzIwMjYwNjIzX-mYsuiaiua2sl85NjB4NjAwLmpwZy5qcGVnIl1d.jpeg?sha=2b52637b59d79653","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzgyMTc3MjgwXzIwMjYwNjIzX-mYsuiaiua2sl81NzZ4NTAwLmpwZy5qcGVnIl1d.jpeg?sha=eabec98dc457de8a","dict_link":"/collections/防蚊液","main_slider_image_alt":"兆著你 防蚊液","slide_contents_display":"left","slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff","dict_slide_btn_link":""}},"1693787414167_0":{"type":"image","custom_name":"大組數優惠","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzkxMzMyOTIzXzIwMjYxMDA3LmpwZy5qcGVnIl1d.jpeg?sha=b620e29bc7564a87","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzkxMzMyOTIyXzIwMjYxMDA3Xzk2MHg2MDAuanBnLmpwZWciXV0.jpeg?sha=2ae9d8ad491eeee1","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzkxMzMyOTIzXzIwMjYxMDA3XzU3Nng1MDAuanBnLmpwZWciXV0.jpeg?sha=c2d6c2fced0296d2","dict_link":"/collections/明星商品","main_slider_image_alt":"兆鴻生技產品","slide_contents_display":"left","slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff","dict_slide_btn_link":""}},"1696468904785_0":{"type":"image","custom_name":"綁定LINE@","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzI3NjYyMTE2XzIwMjQwOTMwX0xJTkVA5Yqg5YWl5aW95Y-L5rW35aCxXzEwMCDlhYPmipjlg7nliLguanBnLmpwZWciXV0.jpeg?sha=d3b7350760492aae","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzI3NjYyMTE2XzIwMjQwOTMwX0xJTkVA5Yqg5YWl5aW95Y-L5rW35aCxXzEwMCDlhYPmipjlg7nliLhfOTYweDYwMC5qcGcuanBlZyJdXQ.jpeg?sha=4a132a96d2f39a3b","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzI3NjYyMTE2XzIwMjQwOTMwX0xJTkVA5Yqg5YWl5aW95Y-L5rW35aCxXzEwMCDlhYPmipjlg7nliLhfNTc2eDUwMC5qcGcuanBlZyJdXQ.jpeg?sha=e67c205b36f9fe1a","dict_link":"https://liff.line.me/2000447957-RL1l5N7D","main_slider_image_alt":"綁定LINE@","slide_contents_display":"left","slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff","dict_slide_btn_link":""}},"1704264794507_0":{"type":"image","custom_name":"蜆芝靈免費體驗","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzA1OTEwMjcxXzIwMjQwMTEyLTFf5bel5L2c5Y2A5Z-fIDEuanBnLmpwZWciXV0.jpeg?sha=c2f2a7a2d72fbc12","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzA1OTEwMjcxXzIwMjQwMTEyLTJfOTYweDYwMC0wMi0wMi5qcGcuanBlZyJdXQ.jpeg?sha=2e704c2bb780419c","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzA1OTEwMjcxXzIwMjQwMTEyLTNfNTc2eDUwMC0wMy5qcGcuanBlZyJdXQ.jpeg?sha=6ea
847200cc705df69","dict_link":"/products/蜆芝靈20粒裝-20231011085745","main_slider_image_alt":"蜆芝靈免費體驗","slide_contents_display":"left","slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff","dict_slide_btn_link":""}},"1708501234096_0":{"type":"image","custom_name":"紅利點數","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzA4NTAxMjU2XzIwMjQwMjIxX-e0heWIqem7nuaVuC5qcGcuanBlZyJdXQ.jpeg?sha=c5070e33bfad880c","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzA4NTAxMjczXzIwMjQwMjIxX-e0heWIqem7nuaVuF85NjB4NjAwLmpwZy5qcGVnIl1d.jpeg?sha=228a10c0c08a3b53","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzA4NTAxMjczXzIwMjQwMjIxX-e0heWIqem7nuaVuF81NzZ4NTAwLmpwZy5qcGVnIl1d.jpeg?sha=e3bf239c2214d7cf","dict_link":"https://www.zh-biotech.com/zh-TW/collections/%E6%98%8E%E6%98%9F%E5%95%86%E5%93%81","main_slider_image_alt":"線上購物紅利點數活動","slide_contents_display":"left","slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff","dict_slide_btn_link":""}},"1711943050777_0":{"type":"image","custom_name":"薑蜆雙寶免費體驗","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzEyNTYwMDY0XzIwMjQwMzA2X1_olpHonIbpm5nlr7Zf6auU6amX5ZOBX-W3peS9nOWNgOWfnyAxLmpwZy5qcGVnIl1d.jpeg?sha=cb93dbff445f2664","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzEyNTYwMDYzXzIwMjQwMzA2X1_olpHonIbpm5nlr7Zf6auU6amX5ZOBLTAyLmpwZy5qcGVnIl1d.jpeg?sha=da1ea7787bea0c0d","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzEyNTYwMDYzXzIwMjQwMzA2X1_olpHonIbpm5nlr7Zf6auU6amX5ZOBLTAzLmpwZy5qcGVnIl1d.jpeg?sha=a24421616eff448f","dict_link":"/products/薑蜆雙寶-10-粒裝-20240401111213","slide_contents_display":"left","slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff","dict_slide_btn_link":""}},"1730260490026_0":{"type":"image","custom_name":"綠淨肽-買一送二","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzMxMDU1ODU5XzIwMjQxMDI5X-e2oOa3qOiCvV_osrfkuIDpgIHkuowuanBnLmpwZWciXV0.jpeg?sha=02d07a572728db6b","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzMxMDU1Nzg4XzIwMjQxMDI5X-e2oOa3qOiCvV_osrfkuIDpgIHkuoxfOTYweDYwMC5qcGcuanBlZyJdXQ.jpeg?sha=33dd84ee41030b83","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzMxMDU1Nzg5XzIwMjQxMDI5X-e2oOa3qOiCvV_osrfkuIDpgIHkuoxfNTc2eDUwMC5qcGcuanBlZyJdXQ.jpeg?sha=e09bf3f72aec6a25","dict_link":"/collections/綠淨肽","main_slider_image_alt":"綠淨肽","slide_contents_display":"left","slide_btn_link":"/collections/綠淨肽","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff","dict_slide_btn_link":"/collections/綠淨肽"}},"1744849916888_0":{"type":"image","custom_name":"母親節優惠活動","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzQ3MjczMjgyXzIwMjUwNTE1X-avjeimquevgF8xOTIweDkyMC5qcGcuanBlZyJdXQ.jpeg?sha=98becdec4c018f72","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzQ3MjczMjgyXzIwMjUwNTE1X-avjeimquevgF85NjB4NjAwLmpwZy5qcGVnIl1d.jpeg?sha=7d4103b409fd1484","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzQ3MjczMjgyXzIwMjUwNTE1X-avjeimquevgF81NzZ4NTAwLmpwZy5qcGVnIl1d.jpeg?sha=1157b9cb859268f5","dict_link":"/collections/all","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":["1744849916888_0","1693787414167_0","1711943050777_0","1704264794507_0","display_main_slider_item_1","display_main_slider_item_2","1692865662663_0","1692930862865_0","1708501234096_0","1683625586301_0","1696468904785_0","173026049
840026_0"],"settings":{"margin_x":"0","margin_bottom":"48","mobile_margin_x":"0","mobile_margin_bottom":"24","swiper_delay":"5","image_number":"1","image_space":"12","mobile_image_number":"1","mobile_image_space":"8","transition_speed":"0.3"},"custom_name":"大圖輪播"},"_index_8_blocks":{"type":"_index_8_blocks","visible":true,"settings":{"dict_title":"Delicious Food","collection_handle":"delicious-food","limit":"8","margin_x":"0","margin_bottom":"48","mobile_margin_x":"","mobile_margin_bottom":"24","product_display":"displayPartial"},"custom_name":"商品分類"},"_index_product_banner":{"type":"_index_product_banner","custom_name":"橫幅廣告","visible":true,"settings":{"dict_image_url":"/theme_src/i18n_nolli/default_img/index_product_banner.png","dict_tablet_image_url":"","dict_mobile_image_url":"/theme_src/i18n_nolli/default_img/index_product_banner_mobile.png","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":[]},"_index_4_blocks":{"type":"_index_4_blocks","visible":true,"blocks":{"index_4_blocks_block_1":{"type":"image","visible":true,"settings":{"title":"","dict_link":"/collections/黃金蜆蛋白","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_propotion":"33.3","dict_image_description":""},"custom_name":"蜆芝靈"},"index_4_blocks_block_2":{"type":"image","custom_name":"薑蜆雙寶","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/薑蜆雙寶","block_propotion":"33.3","dict_image_description":""}},"index_4_blocks_block_3":{"type":"image","custom_name":"綠淨肽","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":"/collections/綠淨肽","block_propotion":"33.3","dict_image_description":""}}},"block_order":["index_4_blocks_block_1","index_4_blocks_block_2","index_4_blocks_block_3"],"custom_name":"三大熱門商品","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"}},"_index_4_blocks_2":{"type":"_index_4_blocks","custom_name":"自訂排版設計","visible":true,"settings":{"margin_x":"80","margin_bottom":"48","mobile_margin_x":"16","mobile_margin_bottom":"24","mobile_columns":1},"blocks":{"_index_4_blocks_2_block_1":{"type":"video","custom_name":"影片","visible":true,"settings":{"dict_video_link":"https://www.youtube.com/watch?v=bPf2zuuH_7g\u0026feature=youtu.be","block_propotion":"100"}}},"block_order":["_index_4_blocks_2_block_1"]},"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":"Categories","blog_latest_post_limit":"2"},"custom_name":"部落格文章設定"},"category":{"type":"category","visible":true,"settings":{"category_sidebar_set_open":false,"category_product_block_limit":"4","category_product_swiper_item_limit":"6","category_product_item_limit":"18"}},"shop_setting":{"type":"shop_setting","visible":true,"settings":{"favicon_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjgzMTczMDQ2X2xvZ29f5ZyWLnBuZy5wbmciXV0.png?sha=6bec93c9ce3ac668","og_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjgzMTczMDQ2X2xvZ29f5ZyWLnBuZy5wbmciXV0.png?sha=6bec93c9ce3ac668","shop_title":"蜆類護肝保健品專家","shop_description":"","shop_keywords":"兆鴻生技,黃金蜆蛋白,蜆蛋白,蜆類保健,護肝保健,三高保健","dict_shop_title":"蜆類護肝保健品專家","dict_shop_description":"","dict_shop_keywords":"兆鴻生技,黃金蜆蛋白,蜆蛋白,蜆類保健,護肝保健,三高保健"},"custom_name":"全站設定"},"color_settings":{"type":"color_settings","visible":true,"settings":{"button_color":"#f07d4a","button_text_color":"#ffffff","accent_color":"#f07d4a","heading_color":"#3a3a3a","text_color":"#987956","price_color":"#f07d4a","discount_price_color":"#f07d4a","theme_bg_color":"#FFFFFF","product_border_color":"#b98c58","nav_logo_bg_color":"#FFF9F2","nav_menu_bg_color":"#FFF9F2","nav_menu_text_color":"#3a3a3a","nav_menu_icon_color":"#643114","footer_bg_color":"#fff9f2","footer_text_color":"#3a3a3a","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":"/theme_src/i18n_nolli/default_img/popup_image.png","icon_size":"small"},"custom_name":"圖片"},"1688357362999_0":{"type":"image","custom_name":"圖片","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjk1ODg0NTM1X0xJTkVA5Yqg5YWl5aW95Y-LLnBuZy5wbmciXV0.png?sha=d67e259af8de794f","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjk1ODg0NTM1X0xJTkVA5Yqg5YWl5aW95Y-LLnBuZy5wbmciXV0.png?sha=d67e259af8de794f","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjk1ODg0NTM1X0xJTkVA5Yqg5YWl5aW95Y-LLnBuZy5wbmciXV0.png?sha=d67e259af8de794f","icon_size":"large","dict_link":"https://liff.line.me/2000447957-RL1l5N7D","dict_icon_
84image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjk1ODg0NTM1X0xJTkVA5Yqg5YWl5aW95Y-LLnBuZy5wbmciXV0.png?sha=d67e259af8de794f"}}},"block_order":["1688357362999_0"],"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":""},"custom_name":"基本設定"},"product_description":{"type":"product_description","visible":true,"custom_name":"商品介紹"},"board_comments":{"type":"board_comments","visible":true,"settings":{},"custom_name":"商品評論","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","related_products_limit":"4"},"custom_name":"相關商品"},"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"},"custom_name":"商品分類設定"},"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":"Sorry, this page does not exist or has been removed","dict_btn_text":"Back to Home"}},"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/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":{}}
84,"1680063739968_4":{"type":"_index_4_blocks","custom_name":"宣傳影片","visible":true,"settings":{"margin_x":"0","margin_bottom":"50","mobile_margin_x":"0","mobile_margin_bottom":"50","mobile_columns":1,"margin_block":"10","mobile_margin_block":"10","mobile_align":"left"},"blocks":{"1680063739971_1":{"type":"video","custom_name":"影片","visible":true,"settings":{"dict_video_link":"https://youtu.be/BehdoVBymKk\u0026loop=1\u0026autoplay=1\u0026mute=1","block_propotion":"100","auto_play":true,"hide_controls":false,"loop":true}}},"block_order":["1680063739971_1"]},"1680063869940_4":{"type":"_index_4_blocks","custom_name":"免運banner","visible":true,"settings":{"margin_x":"0","margin_bottom":"50","mobile_margin_x":"0","mobile_margin_bottom":"40","mobile_columns":1,"margin_block":"10","mobile_margin_block":"10","mobile_align":"left"},"blocks":{"1680063869942_0":{"type":"image","custom_name":"滿1200免運","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjgzNzg1NjI2X-WFjemBiy3pm7vohabniYguanBnLmpwZWciXV0.jpeg?sha=e4ff56310d7e71f4","dict_tablet_image_url":"","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjgzNzg3MDU1X-WFjemBiy3miYvmqZ_niYguanBnLmpwZWciXV0.jpeg?sha=9da5987f49564a20","dict_link":"","dict_image_description":""}}},"block_order":["1680063869942_0"]},"1680063973726_4":{"type":"_index_4_blocks","custom_name":"會員優惠","visible":true,"settings":{"margin_x":"0","margin_bottom":"50","mobile_margin_x":"0","mobile_margin_bottom":"50","mobile_columns":1},"blocks":{"1680063973728_0":{"type":"image","custom_name":"圖片","visible":true,"settings":{"dict_image_url":"/theme_src/i18n_shoestore/default_img/index_4_blocks_1.jpg","dict_tablet_image_url":"","dict_mobile_image_url":"","dict_link":""}}},"block_order":["1680063973728_0"]},"1683878235142_3":{"type":"_index_4_blogs","custom_name":"分頁頁籤","visible":false,"settings":{"dict_title":"","margin_x":"0","margin_bottom":"50","mobile_margin_x":"0","mobile_margin_bottom":"50","article_columns":"4"},"blocks":{"1683878425979_0":{"type":"blog","custom_name":"營養師","visible":true,"settings":{"blog_handle":"營養師好評"}},"1683878250947_0":{"type":"blog","custom_name":"蜆芝靈","visible":true,"settings":{"blog_handle":"蜆芝靈"}},"1683878235149_0":{"type":"blog","custom_name":"薑蜆雙寶","visible":true,"settings":{"blog_handle":"薑蜆雙寶"}},"1683878403824_0":{"type":"blog","custom_name":"綠淨肽","visible":true,"settings":{"blog_handle":"綠淨肽"}}},"block_order":["1683878250947_0","1683878235149_0","1683878403824_0","1683878425979_0"]},"customers/other_valid_orders":{"type":"customers/other_valid_orders","visible":true,"settings":{}},"announcement_bar":{"type":"announcement_bar","visible":true,"blocks":{"announcement_bar_block_1":{"type":"image","visible":true,"settings":{"display_only_index":false,"display_period":"always","dict_link":"","link_open_in_new_tab":false,"dict_image_url":"/theme_src/i18n_nolli/default_img/header_banner_image.png","dict_image_tablet_url":"","dict_image_mobile_url":"/theme_src/i18n_nolli/default_img/header_banner_image_mobile.png","image_alt":"","dict_content":"","text_size":"12","text_color":"#ffffff","bg_color":"#000000","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":"6","two_dimension_limit":"10","header_banner_display":true,"header_banner_link":"/","display_main_slider":true,"display_phone":true,"phone_number":"0912345678","display_fax_number":true,"shop_fax_number":"0222345678","display_shop_email":true,"shop_email":"[email protected]","display_shop_address":true,"shop_address":"測試地址","display_office_time":true,"shop_office_time":"10:00-17:00","index_event_slider_display":true,"index_event_slider_item_1_display":true,"dict_index_event_slider_item_1_link":"#","index_event_slider_item_2_display":true,"dict_index_event_slider_item_2_title":"Autumn Shoes are now in store","dict_index_event_slider_item_2_link":"#","index_event_slider_item_3_display":true,"dict_index_event_slider_item_3_title":"Purchase any 3 items and get 20% off!","dict_index_event_slider_item_3_link":"#","index_event_slider_item_4_display":true,"dict_index_event_slider_item_4_title":"FINAL SALE/Summer shoes are now on clearance sale!","dict_index_event_slider_item_4_link":"#","index_event_slider_item_5_display":true,"dict_index_event_slider_item_5_title":"Sale ends soon","dict_index_event_slider_item_5_link":"#","index_event_slider_item_6_display":true,"dict_index_event_slider_item_6_title":"Register now and get $50 off","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":"","
84index_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","description_section_spec_setting":true,"dict_product_description_section_spec":"Specification","description_section_shipping_setting":false,"dict_product_description_section_shipping":"Shipping Method","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":"Test 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,"google_font":"{'ja':{'value':'Noto Sans JP'},'zh-TW':{'value':'Noto Sans TC'},'en':{'value':'Noto Sans TC'},'zh-CN':{'value':'Noto Sans TC'}}","styled_shop_menu":"dropDownType","display_product_vendor":true,"product_video_display_location":"before","product_text_align":"center","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":"fc3ce4da-d72d-4c9b-9620-a44475129373","kind":"custom","title":"自定義標籤 1","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"},{"id":"481e4224-eda6-4db0-b7c7-8035b2f89c23","kind":"custom","title":"自定義標籤 2","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"},{"id":"59b2bbe3-ce1e-48b6-893a-0840e3f620ca","kind":"custom","title":"自定義標籤 3","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"},{"id":"8ef3bd5d-a057-45ac-b237-9ac30ea59804","kind":"custom","title":"自定義標籤 4","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"},{"id":"066f64d4-6205-4b46-95cd-7bd99beba216","kind":"custom","title":"自定義標籤 5","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"}]},"nav_icon_style":"icon_type_default","product_card_hover_effect":"button","product_image_border_radius":"0"});
85  </script>
85
86
87
88
89
90
91
92
93
94  
94<script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","url":"https://www.zh-biotech.com","logo":"https://cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjgwMDYxOTg5X-WFhum0u-WOu-iDjDIucG5nLnBuZyJdXQ.png?sha=031854de1c6a33f7"}</script>
94<script type="application/ld+json">{"@context":"https://schema.org/","@type":"WebSite","name":"兆鴻生技股份有限公司","url":"https://www.zh-biotech.com","potentialAction":{"@type":"SearchAction","target":"www.zh-biotech.com/search?q={search_term_string}","query-input":"required name=search_term_string"}}</script>
94
95
96
97
98    <!-- for vendor -->
99    <!-- cyb_snippet _bootstrap start -->
100
101<!-- cyb_snippet _bootstrap end -->
102    <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/vendor-4a1e7dfec7e41476.css' rel='stylesheet' type='text/css' media='all' />
103
104    <!-- common css rulesets -->
105    <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/common-4a1e7dfec7e41476.css' rel='stylesheet' type='text/css' media='all' />
106
107    <!-- for navbar -->
108    <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/navbar-4a1e7dfec7e41476.css' rel='stylesheet' type='text/css' media='all' />
109
110    <!-- for footer -->
111    <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/footer-4a1e7dfec7e41476.css' rel='stylesheet' type='text/css' media='all' />
112
113    <!-- theme assets -->
114    <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/main-4a1e7dfec7e41476.css' rel='stylesheet' type='text/css' media='all' />
115
116    <!-- for vendor -->
117    
117<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/vendor-4a1e7dfec7e41476.js' type='text/javascript'></script>
117
118
119            
119<script>
120          window.sci = "eyJzaG9wX2lkIjoxNzkwNywic2hvcF9wbGFuIjoiZW50ZXJwcmlzZSIsImRp\nbV9hZmZpbGlhdGUiOm51bGwsImN1c3RvbWVyX2lkIjpudWxsLCJjdXN0b21l\ncl9uYW1lIjpudWxsLCJzaG9wX25hbWUiOiLlhYbptLvnlJ/mioDogqHku73m\nnInpmZDlhazlj7giLCJzaGFyZV9hdHRyaWJ1dGlvbl9lbmFibGVkIjpmYWxz\nZX0=\n";
121        </script>
121
122
123
124<meta name="csrf-param" content="authenticity_token" />
125<meta name="csrf-token" content="i-NguL-4PdkGcsSgfR3c2pm9DhPpErZry7t5Gp7pcsiov7ngZ-YheuR2XkAA2y9Ta38IB0_ZPD2his3rY_TcTQ" />
126<script>(function () {
127  window.gaConfigurations = {"useProductIdInProductEvents":false};
128})();
129</script>
vendor: 1 bytes, line 129
129
130<script>(function () {
131  window.CYBERBIZ_PageContext = {"page_type":"home"};
132})();
133</script>
133
134<link href="//cdn-general.cybassets.com/frontend/shop/quark-4a1e7dfec7e41476.css" rel="stylesheet" type="text/css" media="all" />
135        
135<script>
136          window.shopScriptHelper = {
137            i18nLocale: "en",
138            i18nLocaleDefault: "zh-TW",
139            availableCurrencies: ["AUD","CNY","EUR","GBP","HKD","JPY","KRW","MYR","SGD","THB","TWD","USD","VND"],
140            defaultCurrency: "TWD",
141            currenciesInfo: [{"html_unit":"NT${{amount_no_decimals}}","email_unit":"NT${{amount_no_decimals}}","name":"新台幣 (TWD)","html":"NT${{amount_no_decimals}}","trailing_zeros":false,"unit":"","decimal_precision":0,"money_format":"%u%n","format":"NT${{amount_no_decimals}}","code":"TWD","symbol":"NT$","email":"NT${{amount_no_decimals}}"},{"html_unit":"\u0026#165;{{amount}}","email_unit":"¥{{amount}}","name":"人民幣 (CNY)","html":"\u0026#165;{{amount}}","trailing_zeros":true,"unit":"RMB","decimal_precision":2,"money_format":"%u%n","format":"\u0026#165;{{amount}}","code":"CNY","symbol":"¥","email":"¥{{amount}}"},{"html_unit":"${{amount}} USD","email_unit":"${{amount}} USD","name":"美元 (USD)","html":"${{amount}}","trailing_zeros":true,"unit":"USD","decimal_precision":2,"money_format":"%u%n","format":"${{amount}} USD","code":"USD","symbol":"$","email":"${{amount}}"},{"html_unit":"\u0026euro;{{amount}} EUR","email_unit":"€{{amount}} EUR","name":"歐元 (EUR)","html":"\u0026euro;{{amount}}","trailing_zeros":true,"unit":"EUR","decimal_precision":2,"money_format":"%u%n","format":"\u0026euro;{{amount}} EUR","code":"EUR","symbol":"€","email":"€{{amount}}"},{"html_unit":"HK${{amount}}","email_unit":"HK${{amount}}","name":"港元 (HKD)","html":"${{amount}}","trailing_zeros":true,"unit":"","decimal_precision":2,"money_format":"%u%n","format":"HK${{amount}}","code":"HKD","symbol":"HK$","email":"${{amount}}"},{"html_unit":"\u0026#165;{{amount_no_decimals}}","email_unit":"¥{{amount_no_decimals}}","name":"日幣 (JPY)","html":"\u0026#165;{{amount_no_decimals}}","trailing_zeros":false,"unit":"","decimal_precision":0,"money_format":"%u%n","format":"\u0026#165;{{amount_no_decimals}}","code":"JPY","symbol":"¥","email":"¥{{amount_no_decimals}}"},{"html_unit":"฿{{amount}}","email_unit":"฿{{amount}}","name":"泰銖 (THB)","html":"฿{{amount}}","trailing_zeros":true,"unit":"","decimal_precision":2,"money_format":"%u%n","format":"฿{{amount}}","code":"THB","symbol":"฿","email":"฿{{amount}}"},{"html_unit":"{{amount_no_decimals}}₫","email_unit":"{{amount_no_decimals}}₫","name":"越南盾 (VND)","html":"{{amount_no_decimals}}₫","trailing_zeros":false,"unit":"","decimal_precision":0,"money_format":"%n%u","format":"{{amount_no_decimals}}₫","code":"VND","symbol":"₫","email":"{{amount_no_decimals}}₫"},{"html_unit":"RM {{amount}}","email_unit":"RM {{amount}}","name":"馬來西亞令吉 (MYR)","html":"RM {{amount}}","trailing_zeros":true,"unit":"","decimal_precision":2,"money_format":"%u%n","format":"RM {{amount}}","code":"MYR","symbol":"RM ","email":"RM {{amount}}"},{"html_unit":"S${{amount}}","email_unit":"S${{amount}}","name":"新加坡元 (SGD)","html":"S${{amount}}","trailing_zeros":true,"unit":"","decimal_precision":2,"money_format":"%u%n","format":"S${{amount}}","code":"SGD","symbol":"S$","email":"S${{amount}}"},{"html_unit":"₩{{amount_no_decimals}}","email_unit":"₩{{amount_no_decimals}}","name":"韓圓 (KRW)","html":"₩{{amount_no_decimals}}","trailing_zeros":false,"unit":"","decimal_precision":0,"money_format":"%u%n","format":"₩{{amount_no_decimals}}","code":"KRW","symbol":"₩","email":"₩{{amount_no_decimals}}"},{"html_unit":"A${{amount}}","email_unit":"A${{amount}}","name":"澳洲元 (AUD)","html":"A${{amount}}","trailing_zeros":true,"unit":"","decimal_precision":2,"money_format":"%u%n","format":"A${{amount}}","code":"AUD","symbol":"A$","email":"A${{amount}}"},{"html_unit":"£{{amount}}","email_unit":"£{{amount}}","name":"英鎊 (GBP)","html":"£{{amount}}","trailing_zeros":true,"unit":"","decimal_precision":2,"money_format":"%u%n","format":"£{{amount}}","code":"GBP","symbol":"£","email":"£{{amount}}"}],
142            vueOverrideTranslations: {"en":{"vue":{"common":{"corona":{"sell_from_asc":"Store Essentials"}},"theme_pages":{"collection":{"products_total":"Total of {totalProductCounts} products"},"combo_product":{"notification_enabled":"Notification enabled"},"order_return":{"gift_price":"Discount Price","check_account_length":"Bank Account Length Validation","refund_invoice_check":"I agree to the cancellation of the invoice or the \"Tax Payment Certificate\", and g
142ive consent to {company_name} to be handled at discretion in order to expedite the refund process.","enter_return_reason":"Please specify the return reason..."},"contact":{"invalid_phone_number":"Phone number required"},"search":{"articles_total":"Total of {totalArticleCounts} articles"}}}}},
143            hasI18nInContextEditing: false,
144            shopMultipleCurrenciesCheckout: false,
145            hasLocalizedShopPriceFormat: true,
146          }
147        </script>
147
148
149        
150        
150<script
151          src="//cdn-general.cybassets.com/frontend/shop/tolgeeIntegration-4a1e7dfec7e41476.js">
152        </script>
152
153        
153<script defer>
154          /*
155          * Enable in-context translation for Liquid part on the page.
156          * This must be executed last to prevent conflicts with other Vue apps.
157          * So put it to `onload`, which will be executed after DOM ready's app mount
158          */
159          window.onload = function() {
160            if (
161              window.shopScriptHelper &&
162              window.shopScriptHelper.hasI18nInContextEditing
163            ) {
164              window.initTolgeeForLiquid()
165            }
166          }
167        </script>
167
168
169<script> var google_con_event_labels = [{"conversion_id":"11219391246","conversion_event":"order_created","conversion_label":"R8YLCI6Siq0YEI6m6eUp","id":null},{"conversion_id":"11219391246","conversion_event":"add_to_cart","conversion_label":"YoZlCJGSiq0YEI6m6eUp","id":null}]</script>
vendor: 1 bytes, line 169
169
170<script src="//cdn-general.cybassets.com/frontend/shop/pageEventHandler-4a1e7dfec7e41476.js"></script>
vendor: 1 bytes, line 170
170
171<script src="//cdn-general.cybassets.com/frontend/shop/globalAnalysis-e4c650eb0b.js"></script>
171
172        
172<script>
173          window.c12t = {"customer_id":null};
174        </script>
174
175
176        <meta name="request-id" content="B3EA24FD1F27FFF63CAEA6A7944D3898"/>
177
178<link rel="canonical" href="https://www.zh-biotech.com/en/">
179<link rel="alternate" hreflang="zh-TW" href="https://www.zh-biotech.com/zh-TW/">
180<link rel="alternate" hreflang="en" href="https://www.zh-biotech.com/en/">
181<link rel="alternate" hreflang="x-default" href="https://www.zh-biotech.com/zh-TW/">
182<script src="//cdn-general.cybassets.com/frontend/shop/carousel-4a1e7dfec7e41476.js"></script>
182
183          
183<script>
184            window.parent.postMessage({ type: 'previewShopInit', currentUrl: window.location.href }, '*');
185          </script>
185
186
187<script src="//cdn-general.cybassets.com/frontend/appStoreSDK/main.2798231628aa7fab87a9.js"></script>
vendor: 1 bytes, line 187
187
188<script>window.CYBERBIZ_AppScriptSettings = {"shop_add_ons":"W3sidmVuZG9yX3R5cGUiOiJDWUJFUkJJWiBHb29nbGUgQW5hbHl0aWNzIDQi\nLCJhcHBfaWQiOiJRVWo1WnFvZUlPUjlaM2JaS2trMG44N3l5a0FpOWU0NURE\naDJ0YlFnaUJBIiwic2V0dGluZ3MiOnsiZ3RhZ19pZCI6IkctOEM4NzNKUDRH\nRCwgRy00QjdSSzdGSFdIIn19LHsidmVuZG9yX3R5cGUiOiJHb29nbGUgQW5h\nbHl0aWNzIDQiLCJhcHBfaWQiOiJSYkpWMTVFcVZWOHJ1Umo3NVlmV3Z1RUlD\nRm90Q0FPZm0xSDZtZ3hyNkZBIiwic2V0dGluZ3MiOnsiZ3RhZ19pZCI6Ikct\nV042RUNTOTY0OSJ9fSx7InZlbmRvcl90eXBlIjoiQ2hhdCBCb3giLCJhcHBf\naWQiOiJjOWQ4M2YwOTk2MTc0ZmJiYTg2ZWJhMDQxYWU4OThhMiIsInNldHRp\nbmdzIjp7IndpZGdldF9rZXkiOiI1eGw3YUNPLWpFWWNMLXd4In19LHsidmVu\nZG9yX3R5cGUiOiJEaWdpdGFsIEludGVsbGlnZW5jZSBUcmFja2VyIiwiYXBw\nX2lkIjoiMWI1MGE4NmRjMmQxNDE4Mzg4ZmRlZGY3YTBkNDM5YWUiLCJzZXR0\naW5ncyI6e319XQ==\n"}
189</script>
vendor: 1 bytes, line 189
189
190<script src="https://cdn.cybassets.com/appmarket/api/common/attachments/entrypoint/9d6f4550aad572e9f70abb70ae5a6552482cf617ea5e4d5a32ed4ebbb5d60d54.js"></script>
vendor: 1 bytes, line 190
190
191<script src="https://cdn.cybassets.com/appmarket/api/common/attachments/entrypoint/a810ec58aab67d16f8de1c4adf06fc7cc9f4477ec503b9cb1a998741bc692652.js"></script>
vendor: 1 bytes, line 191
191
192<script src="https://cdn.cybassets.com/appmarket/api/common/attachments/entrypoint/8766542902afa60f4adda3c555c06025d2c27771ea85a6fc657a91cddbe5c59f.js"></script>
vendor: 1 bytes, line 192
192
193<script src="https://cdn.cybassets.com/appmarket/api/common/attachments/entrypoint/35cd1f36a4a855bacbaa53900f8e17b376d4cab44c73812eef261aef6435163d.js"></script>
vendor: 1 bytes, line 193
193
194<script>window.CYBERBIZ.initializeSDK.initialize();</script>
vendor: 1 bytes, line 194
194
195<script src="//cdn-general.cybassets.com/frontend/shop/setAffliateCookie-4a1e7dfec7e41476.js"></script>
195
196
197
198
199
200
201
202
203
204
205    <style id="color_settings">
206  :root {
207    
208      --button: #f07d4a;
209    
210
211    
212      --button_text: #ffffff;
213    
214
215    
216      --accent: #f07d4a;
217    
218
219    
220      --heading: #3a3a3a;
221    
222
223    
224      --text: #987956;
225    
226
227    
228      --price: #f07d4a;
229    
230
231    
232      --discount_price: #f07d4a;
233    
234
235    
236      --theme_bg: #FFFFFF;
237    
238
239    
240      --nav_logo_bg: #FFF9F2;
241    
242
243    
244      --nav_menu_bg: #FFF9F2;
245    
246
247    
248      --nav_menu_text: #3a3a3a;
249    
250
251    
252      --nav_menu_icon: #643114;
253    
254
255    
256      --footer_bg: #fff9f2;
257    
258
259    
260      --footer_text: #3a3a3a;
261    
262
263    
264      --checkout_button: #f07d4a;
265    
266
267    
268      --checkout_accent: #643114;
269    
270
271    
272      --product_border: #b98c58;
273    
274
275    
276      --tips_text: #0C5460;
277    
278
279    
280
281    
282  }
283</style>
284
285
286
287
288  
289        <!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 74 bytes, lines 289-290
289
290          <script async src="https://www.googletagmanager.com/gtag/js?id=
290G-8C873JP4GD
vendor: 22 bytes, lines 290-291
290"></script>
291          
291<script>
292            
vendor: 183 bytes, lines 292-297
292window.dataLayer = window.dataLayer || [];
293            function gtag(){dataLayer.push(arguments);}
294            gtag('js', new Date());
295            
296            
297      gtag('config', '
297G-WN6ECS9649
vendor: 27 bytes, line 297
297', {"groups":"ecommerce"});
297gtag('config', 'AW-11219391246', {"groups":"dynamic_remarketing"});gtag('config', 'AW-11219391246', {'allow_enhanced_conversions':true});</script>
297
298      
298<script>
299        (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
300        (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
301        m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
302        })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
303
304        ga('create', '', 'auto', {'name': 'cyberbiz'});
305        ga('cyberbiz.require', 'displayfeatures');
306        ga('cyberbiz.set', 'dimension1', '17907');
307        ga('cyberbiz.require', 'ec');
308        ga('cyberbiz.send', 'pageview');
309      </script>
309
310    
311      
311<script>
vendor: 426 bytes, lines 311-318
311
312      !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
313      n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
314      n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
315      t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
316      document,'script','//connect.facebook.net/en_US/fbevents.js');
317
318      fbq('init', '
318807736417281776
vendor: 38 bytes, lines 318-319
318', {}, {'agent':'plcyberbiz'});
319      
319fbq('track', "PageView", '', { eventID: "PageView_B3EA24FD1F27FFF63CAEA6A7944D3898" });
320      var facebook_pixel_id = '807736417281776'</script>
320
321
322    </head>
323
324  <body style="display: flex; flex-direction: column;"><!-- Google Tag Manager (noscript) -->
vendor: 74 bytes, lines 324-325
324
325            <noscript><iframe src="//www.googletagmanager.com/ns.html?id=
325GTM-M7SFH7L
vendor: 105 bytes, lines 325-327
325"
326            height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
327          
327<!-- End Google Tag Manager (noscript) -->
vendor: 74 bytes, lines 327-329
327
328      <noscript><iframe
329      src="//www.googletagmanager.com/ns.html?id=
329GTM-TXD9LVJ
vendor: 186 bytes, lines 329-336
329"
330      height="0"
331      width="0"
332      style="display:none;visibility:hidden">
333      </iframe></noscript>
334    
335      <noscript><iframe
336      src="//www.googletagmanager.com/ns.html?id=
336GTM-P7528MQ
vendor: 117 bytes, lines 336-342
336"
337      height="0"
338      width="0"
339      style="display:none;visibility:hidden">
340      </iframe></noscript>
341    
342    
342<!-- Navigation -->
343    <!-- cyb_snippet liquid_helper start -->
344<script>
345	function getDiscountPriceName() {
346		return "false" === "true" ? "" : "";
347	}
348
349	function getDiscountPriceSuggestionName() {
350		return "false" === "true" ? "" : "";
351	}
352
353  document.addEventListener('DOMContentLoaded', function() {
354    const languageHandle = Cookies.get("language");
355    const defaultLanguage = {"handle":"zh-TW","title":"繁體中文","currency_code":"TWD"};
356    const languages = [{"handle":"zh-TW","title":"繁體中文","currency_code":"TWD"},{"handle":"en","title":"English","currency_code":"USD"}];
357    const currency = window.shopScriptHelper.defaultCurrency;
358    const currencies = window.shopScriptHelper.currenciesInfo;
359		window.liquidHelper = {
360			shopInternational: true,
361			defaultLanguage: defaultLanguage,
362			language: languages.find(function(l) {
363				return l.handle === languageHandle;
364			}) || defaultLanguage,
365      shopMultipleCurrenciesCheckout: false,
366			shopMultipleCurrencies: true,
367			defaultCurrencyFormat: "NT${{amount_no_decimals}}",
368			defaultCurrency: currency,
369			getCurrency: function() {
370        const currencyValue = Cookies.get("currencyValue") || currency;
371        return currencies.find(function(c) { return c.code === currencyValue; }
372      )},
373      getDefaultCurrency: function() { return currencies.find(function(c) {
374				return c.code === currency;
375			})},
376      getAvailableCurrencies: function() { return currencies.map(c => c.code) },
377      getCurrencyFormatInfo: function(currency) {
378        const currencyInfo = currencies.find(c => c.code === currency)
379        return _.pick(currencyInfo, [
380          'decimal_precision',
381          'symbol',
382          'money_format',
383          'unit',
384          'trailing_zeros',
385          'html_unit',
386          'code',
387        ]);
388      },
389			cartQuantityLimit: (function() {
390        const limit = Number("0" || undefined);
391        return limit <= 0 || isNaN(limit) ? Number.POSITIVE_INFINITY : limit;
392      })(),
393			isFirstVariantSelected:  false ,
394			isImageColorsUsed:  false ,
395			isEmptyClickable:  true ,
396			hasAddBuyProduct: '' !== "" ? true : false,
397			hasPriceWithDiscountPlugin: 'true' ? true : false,
398      conversionBonus: 1,
399      hasLocalizedShopPriceFormat: true,
400      hasCustomerCartPlugin: true,
401      isCartEnabled: true,
402      cdnHost: '//cdn-general.cybassets.com',
403      hasShopCustomPasswordRulePlugin: false,
404      hasDisableProductQuantityValidation: false,
405      hasBreadcrumbReferrerEnabled: false,
406		};
407	});
408</script>
408
409
410<!-- cyb_snippet liquid_helper end -->
411
412<script src='//cdn-general.cybassets.com/frontend/shop/navbarSection-4a1e7dfec7e41476.js' type='text/javascript'></script>
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429<style>
430  
431    #navbar {
432      --navbar-pc-title-scale: 1.0;
433      --navbar-pc-body-scale: 1.0;
434      --navbar-mobile-title-scale: 1.0;
435      --navbar-mobile-body-scale: 1.0;
436    }
437  
438
439  
440
441  
442</style>
443
444
445  <span id="navbar" class="drawer drawer--left font-size-setting-enabled">
446    <header id="header" class="qk-w--100vw qk-pos--fixed qk-t--0 qk-l--0">
447      
448
449      
450        <div id="announcement-bar"></div>
451      
452
453      
454      
455        <div class="computer_nav qk-hidden--mobile display_transparent">
456          <div class="header_logo qk-bg--nav_logo_bg">
457            <div class="qk-pos--rel">
458              <div class="qk-text--center">
459                <!-- logo start -->
460                
461                  <nav class="logo qk-display--il_bk">
462                    <a href="/" class="qk-w--100">
463                      <img
464                        src="//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjgwMDYxOTg5X-WFhum0u-WOu-iDjDIucG5nLnBuZyJdXQ.png?sha=031854de1c6a33f7"
465                        class="qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--pc_logo qk-hidden--mobile"
466                        style="width: auto; height: 52px;"
467                        alt="兆鴻生技,蜆蛋白,蜆類保健,護肝,保健品"
468                        height="52"
469                        width="auto"
470                      >
471                    </a>
472                  </nav>
473                
474                <!-- logo end -->
475                <!-- tool-nav start -->
476                
477                  <!-- cyb_snippet tool_nav start -->
478
479
480
481
482
483
484<nav class="tool-nav qk-pos--rel qk-float--r qk-display--flex">
485  <ul class="link_shelf_top qk-display--flex qk-flex--row qk-justify--end qk-align--center qk-pos--abs qk-r--0">
486    
487    
488      
489      <li class="i18n-selector qk-fs--body qk-text--nav_menu_icon qk-bd--nav_menu_icon qk-btn"></li>
490    
491    <!-- member -->
492    
493      <li class="customer_account qk-pos--rel qk-pd--05">
494        <div class="dropdown qk-pos--static">
495          <div class="qk-cursor--pointer" data-toggle="dropdown">
496            <div data-icon-type="custom_icon_type_account"></div>
497            <span class="text"></span>
498          </div>
499          <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">
500            <ul id="customer-logined-menu" style="display: none">
501              <li>
502                <div class="qk-fs--body qk-text--heading">
503                  <p class="customer-name qk-whitespace-break-spaces"></p>
504                  <p>Welcome!</p>
505                </div>
506              </li>
507            </ul>
508            <ul id="customer-not-login-menu">
509              <li class="button qk-text--center">
510                <a href="/en/account/login" class="btn-login qk-btn qk-btn--lg qk-btn--primary qk-w--100">Log in</a>
511              </li>
512              <li class="button qk-text--center">
513                <a href="/en/account/signup" class="btn-orders qk-btn qk-btn--lg qk-btn--secondary qk-w--100 qk-bg--transparent">Sign up</a>
514              </li>
515            </ul>
516            <span class="menu-bd qk-bd_t--default qk-bd--product_border"></span>
517            <ul class="member-menu qk-bd_t--default qk-bd--product_border">
518              <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg">
519                <a href="/en/account/index" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">My Account</a>
520              </li>
521              <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg">
522                <a href="/en/account/orders" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">My Order(s)</a>
523              </li>
524              <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg">
525                <a href="/en/account/coupons" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">My Coupon(s)</a>
526              </li>
527              <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg">
528                <a href="/en/account/tracking_items" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">My Wishlist</a>
529              </li>
530              <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">
531                <a href="/en/account/logout" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">Logout</a>
532              </li>
533            </ul>
534          </div>
535        </div>
536      </li>
537    
538    <!-- for money symbol -->
539    <div id="money-symbol" data-money-symbol="NT${{amount_no_decimals}}" hidden></div>
540    <!-- cart -->
541    
542      <li class="cart qk-pos--rel qk-pd--05">
543        <!--電腦版的購物車選單-->
544        <div class="dropdown qk-pos--static">
545          <div data-toggle="dropdown" class="shopcart qk-cursor--pointer" >
546            <div data-icon-type="custom_icon_type_cart"></div>
547            <span class="global-cart-count qk-circle qk-circle--sm qk-bg--accent qk-text--white qk-vert--mid qk-pos--abs qk-bd qk-bd--none" style="display: none;">0</span>
548            <span class="global-cart-loading"></span>
549          </div>
550          <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">
551            <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>
552            <p class="cart_empty qk-fs--body qk-text--heading qk-text--center">There are no items in your cart.</p>
553            <ul>
554              <li class="button qk-text--center">
555                <a class="btn-checkout qk-btn qk-btn--lg qk-btn--primary qk-w--100" href="/en/cart" style="display: none">BUY NOW</a>
556                <a class="btn-tracking qk-btn qk-btn--lg qk-btn--secondary qk-w--100 qk-bg--transparent" href="/en/account/tracking_items">Go to Wishlist</a>
557              </li>
558            </ul>
559          </div>
560        </div>
561      </li>
562    
563    <!-- search -->
564    
565    <!-- express delivery -->
566    
567  </ul>
568</nav>
569
570<!-- cyb_snippet tool_nav end -->
571                
572                <!-- tool-nav end -->
573              </div>
574            </div>
575          </div>
576          
577            <div class="header_nav qk-bg--nav_menu_bg">
578              <div class="qk-pd_x--15">
579                <div class="qk-pos--relative center">
580                  <!-- main-nav start -->
581                  <nav class="main_nav qk-display--init">
582                    <!-- cyb_snippet _main_nav_skeleton start --><ul
583    class="main_nav_skeleton link_shelf_top qk-display--flex qk-flex--row qk-flex--wrap qk-justify--center qk-align--center qk-body"
584    style="justify-content: center; visibility: hidden;"
585    aria-hidden="true"
586  ><span>
587        <li class="dropdown qk-dropdown_wrapper qk-pos--rel"><a href="/" class="qk-display--bk qk-fs--body qk-text--nav_menu_text qk-text--accent_hover qk-cursor--pointer">首頁</a></li>
588      </span><span>
589        <li class="dropdown qk-dropdown_wrapper qk-pos--rel"><a href="/collections/all" class="qk-display--bk qk-fs--body qk-text--nav_menu_text qk-text--accent_hover qk-cursor--pointer">全部商品</a></li>
590      </span><span>
591        <li class="dropdown qk-dropdown_wrapper qk-pos--rel"><a href="/collections/明星商品" class="qk-display--bk qk-fs--body qk-text--nav_menu_text qk-text--accent_hover qk-cursor--pointer">明星商品</a></li>
592      </span><span>
593        <li class="dropdown qk-dropdown_wrapper qk-pos--rel"><a href="/pages/購物須知" class="qk-display--bk qk-fs--body qk-text--nav_menu_text qk-text--accent_hover qk-cursor--pointer">購物須知</a></li>
594      </span><span>
595        <li class="dropdown qk-dropdown_wrapper qk-pos--rel"><a href="/pages/定期購" class="qk-display--bk qk-fs--body qk-text--nav_menu_text qk-text--accent_hover qk-cursor--pointer">安心定期購</a></li>
596      </span><span>
597        <li class="dropdown qk-dropdown_wrapper qk-pos--rel"><a href="/pages/about-us" class="qk-display--bk qk-fs--body qk-text--nav_menu_text qk-text--accent_hover qk-cursor--pointer">關於兆鴻生技</a></li>
598      </span><span>
599        <li class="dropdown qk-dropdown_wrapper qk-pos--rel"><a href="https://liff.line.me/2000447957-RL1l5N7D" class="qk-display--bk qk-fs--body qk-text--nav_menu_text qk-text--accent_hover qk-cursor--pointer"><a href="https://liff.line.me/2000447957-RL1l5N7D"><img src="https://scdn.line-apps.com/n/line_add_friends/btn/zh-Hant.png"  alt="LINE@加入好友" height="36" border="0"></a></a></li>
600      </span></ul><!-- cyb_snippet _main_nav_skeleton end -->
601                  </nav>
602                  <!-- main-nav end -->
603                </div>
604              </div>
605            </div>
606          
607        </div>
608      
609      <div class="qk-hidden--pc  ">
610        <!-- mobile-nav start -->
611        <nav class="mobile-nav qk-bg--nav_logo_bg">
612          <ul class="qk-display--flex qk-flex--row qk-justify--between qk-align--center qk-pd_x--05 qk-pd_y--0">
613            <!-- menu -->
614            
615              <li class="sidebar-menu-icon drawer-toggle qk-text--center qk-pd_x--05 qk-pd_y--0 qk-display--flex qk-align--center">
616                <div data-icon-type="custom_icon_type_menu"></div>
617              </li>
618            
619            <!-- logo -->
620            
621              <li class="logo qk-mg_r--auto qk-pd_x--05 qk-pd_y--0">
622                
623                  <a href="/" class="qk-display--il_flex qk-align--center qk-h--100 qk-hidden--phone">
624                    <img
625                      src="//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjgwMDU4NjYxX-WFhum0u-WOu-iDjC5naWYuZ2lmIl1d.gif?sha=b92020efb817f87a"
626                      height="25"
627                      width="auto"
628                      alt="兆鴻生技,蜆蛋白,蜆類保健,護肝,保健品"
629                    >
630                  </a>
631                
632                
633                  <a href="/" class="qk-display--il_flex qk-align--center qk-h--100 qk-hidden--tablet">
634                    <img
635                      src="//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjgwMDU4NjYxX-WFhum0u-WOu-iDjC5naWYuZ2lmIl1d.gif?sha=b92020efb817f87a"
636                      height="25"
637                      width="auto"
638                      alt="兆鴻生技,蜆蛋白,蜆類保健,護肝,保健品"
639                    >
640                  </a>
641                
642              </li>
643            
644            
645              <!-- search -->
646              
647              <!-- express delivery -->
648              
649            
650          </ul>
651        </nav>
652        <!-- mobile-nav end -->
653      </div>
654      
655    </header>
655<script>
656      (function () {
657        var isNavbarTransparent = true;
658
659        function measureHeaderOffset() {
660          var header = document.getElementById('header');
661          if (!header) return null;
662
663          var headerHeight = header.getBoundingClientRect().height;
664
665          if (isNavbarTransparent && window.matchMedia('(min-width: 992px)').matches) {
666            var computerNav = document.querySelector('.computer_nav');
667            if (computerNav) {
668              headerHeight -= computerNav.getBoundingClientRect().height;
669            }
670          }
671
672          var floatFilter = document.getElementById('float-filter');
673          var floatFilterHeight = floatFilter
674            ? floatFilter.getBoundingClientRect().height
675            : 0;
676
677          return headerHeight - floatFilterHeight;
678        }
679
680        window.measureHeaderOffset = measureHeaderOffset;
681
682        var offset = measureHeaderOffset();
683        if (offset !== null) {
684          document.body.style.paddingTop = offset + 'px';
685        }
686      })();
687    </script>
687
688    
689      <!-- Sidebar -->
690      <nav class="drawer-nav drawer-nav_width qk-bg--nav_menu_bg " role="navigation">
691        <div class="drawer-menu">
692          <!-- cyb_snippet side_menu start -->
693
694
695<ul id="index_sidebar_shelf_top" class="sidebar qk-pd_b--1">
696  
697    <li class="logo qk-pos--rel qk-bg--nav_logo_bg qk-pd_x--1 qk-pd_y--05">
698      <a href="/" class="qk-pd--0">
699        <img src="//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjgwMDYxOTg5X-WFhum0u-WOu-iDjDIucG5nLnBuZyJdXQ.png?sha=031854de1c6a33f7" height="32" width="auto" alt="logo">
700      </a>
701      <button class="drawer-toggle qk-pos--abs qk-bg--transparent qk-pd--0"></button>
702    </li>
703  
704  
705    
706
707    
708      <!-- cyb_snippet components/side_menu/menu start -->
709
710  <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>
711
712
713  
714  
715  
716    <li class="qk-pos--rel qk-pd--0">
717      
718        <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>
719      
720    </li>
721  
722
723  
724  
725  
726    <!-- cyb_snippet components/side_menu/collection_all start -->
727
728
729
730
731  <li class="qk-pos--rel qk-pd--0">
732    <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 ">
733      <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">
734        全部商品
735      </a>
736    </button>
737    <ul id="index_sidebar_collection_all_shelf_second_2" class="collapse_collection_all_index_sidebar_2 collapse shelf_second qk-pd--0  show ">
738      
739        
740        
741        <li class="qk-pos--rel qk-pd--0">
742          <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 ">
743            <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">
744              明星商品
745            </a>
746          </button>
747          <ul class="qk-bd--nav_menu_text collapse_collection_all_index_sidebar_2_1 collapse shelf_third qk-pd--0 show  ">
748            
749              <li class="qk-pos--rel qk-pd--0">
750                <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/蜆芝靈60粒裝-20240507085340">【全新升級】蜆芝靈 60粒裝 - 5瓶組合</a>
751              </li>
752            
753              <li class="qk-pos--rel qk-pd--0">
754                <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/蜆芝靈60粒裝-20240507084815">【全新升級】蜆芝靈 60粒裝 - 3瓶組合</a>
755              </li>
756            
757              <li class="qk-pos--rel qk-pd--0">
758                <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/蜆芝靈60粒裝-20230427145309">【全新升級】蜆芝靈 60粒</a>
759              </li>
760            
761              <li class="qk-pos--rel qk-pd--0">
762                <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/薑蜆雙寶-60-粒裝-20260918171105">【複方加乘】薑蜆雙寶Plus 60粒裝 - 5瓶組合</a>
763              </li>
764            
765              <li class="qk-pos--rel qk-pd--0">
766                <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/薑蜆雙寶-60-粒裝-20260918171515">【複方加乘】薑蜆雙寶Plus 60粒裝 - 3瓶組合</a>
767              </li>
768            
769              <li class="qk-pos--rel qk-pd--0">
770                <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/薑蜆雙寶-60-粒裝-20230427144347">【複方加乘】薑蜆雙寶 60粒</a>
771              </li>
772            
773              <li class="qk-pos--rel qk-pd--0">
774                <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/薑蜆雙寶-60-粒裝-20260918163815">【複方加乘】薑蜆雙寶Plus 60粒</a>
775              </li>
776            
777              <li class="qk-pos--rel qk-pd--0">
778                <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/綠淨肽-60粒裝-20240507090734">【調節血脂】綠淨肽®  60粒裝 - 5盒組合</a>
779              </li>
780            
781              <li class="qk-pos--rel qk-pd--0">
782                <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/綠淨肽-60粒裝-20240507090308">【調節血脂】綠淨肽®  60粒裝 - 3盒組合</a>
783              </li>
784            
785              <li class="qk-pos--rel qk-pd--0">
786                <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/綠淨肽-60粒裝-20230427144941">【調節血脂】綠淨肽®  60粒</a>
787              </li>
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/兆著你-草本植萃精油防蚊液-20230517151231">兆著你 草本植萃精油防蚊液x5</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/兆著你-草本植萃精油防蚊液-20240304155834">兆著你 草本植萃精油防蚊液x30</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/兆著你-草本植萃精油防蚊液-20240304160213">兆著你 草本植萃精油防蚊液x50</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/兆著你-草本植萃精油防蚊液">兆著你 草本植萃精油防蚊液</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_2" 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_2 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/蜆芝靈60粒裝-20240507085340">【全新升級】蜆芝靈 60粒裝 - 5瓶組合</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/蜆芝靈60粒裝-20240507084815">【全新升級】蜆芝靈 60粒裝 - 3瓶組合</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/蜆芝靈60粒裝-20230427145309">【全新升級】蜆芝靈 60粒</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/黃金蜆蛋白膠囊-60粒裝">黃金蜆蛋白膠囊 60粒</a>
832              </li>
833            
834          </ul>
835        </li>
836      
837        
838        
839        <li class="qk-pos--rel qk-pd--0">
840          <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 ">
841            <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">
842              薑蜆雙寶
843            </a>
844          </button>
845          <ul class="qk-bd--nav_menu_text collapse_collection_all_index_sidebar_2_3 collapse shelf_third qk-pd--0 show  ">
846            
847              <li class="qk-pos--rel qk-pd--0">
848                <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/薑蜆雙寶-60-粒裝-20260918171105">【複方加乘】薑蜆雙寶Plus 60粒裝 - 5瓶組合</a>
849              </li>
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/薑蜆雙寶-60-粒裝-20260918171515">【複方加乘】薑蜆雙寶Plus 60粒裝 - 3瓶組合</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/薑蜆雙寶-60-粒裝-20260918163815">【複方加乘】薑蜆雙寶Plus 60粒</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/薑蜆雙寶-60-粒裝-20230427144347">【複方加乘】薑蜆雙寶 60粒</a>
861              </li>
862            
863          </ul>
864        </li>
865      
866        
867        
868        <li class="qk-pos--rel qk-pd--0">
869          <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 ">
870            <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">
871              綠淨肽
872            </a>
873          </button>
874          <ul class="qk-bd--nav_menu_text collapse_collection_all_index_sidebar_2_4 collapse shelf_third qk-pd--0 show  ">
875            
876              <li class="qk-pos--rel qk-pd--0">
877                <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/綠淨肽-60粒裝-20240507090734">【調節血脂】綠淨肽®  60粒裝 - 5盒組合</a>
878              </li>
879            
880              <li class="qk-pos--rel qk-pd--0">
881                <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/綠淨肽-60粒裝-20240507090308">【調節血脂】綠淨肽®  60粒裝 - 3盒組合</a>
882              </li>
883            
884              <li class="qk-pos--rel qk-pd--0">
885                <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/綠淨肽-60粒裝-20230427144941">【調節血脂】綠淨肽®  60粒</a>
886              </li>
887            
888          </ul>
889        </li>
890      
891        
892        
893        <li class="qk-pos--rel qk-pd--0">
894          <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 ">
895            <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">
896              防蚊液
897            </a>
898          </button>
899          <ul class="qk-bd--nav_menu_text collapse_collection_all_index_sidebar_2_5 collapse shelf_third q
899k-pd--0 show  ">
900            
901              <li class="qk-pos--rel qk-pd--0">
902                <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/兆著你-草本植萃精油防蚊液">兆著你 草本植萃精油防蚊液</a>
903              </li>
904            
905              <li class="qk-pos--rel qk-pd--0">
906                <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/兆著你-草本植萃精油防蚊液-20230517151231">兆著你 草本植萃精油防蚊液x5</a>
907              </li>
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/兆著你-草本植萃精油防蚊液-20240304155834">兆著你 草本植萃精油防蚊液x30</a>
911              </li>
912            
913              <li class="qk-pos--rel qk-pd--0">
914                <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/兆著你-草本植萃精油防蚊液-20240304160213">兆著你 草本植萃精油防蚊液x50</a>
915              </li>
916            
917          </ul>
918        </li>
919      
920        
921        
922        <li class="qk-pos--rel qk-pd--0">
923          <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 ">
924            <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">
925              蜆藻精粹
926            </a>
927          </button>
928          <ul class="qk-bd--nav_menu_text collapse_collection_all_index_sidebar_2_6 collapse shelf_third qk-pd--0 show  ">
929            
930              <li class="qk-pos--rel qk-pd--0">
931                <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/蜆藻精粹-60粒裝-20240304145331">蜆藻精粹  60粒</a>
932              </li>
933            
934          </ul>
935        </li>
936      
937        
938        
939        <li class="qk-pos--rel qk-pd--0">
940          <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_7" aria-expanded=" true ">
941            <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">
942              綠淨肽大組數優惠
943            </a>
944          </button>
945          <ul class="qk-bd--nav_menu_text collapse_collection_all_index_sidebar_2_7 collapse shelf_third qk-pd--0 show  ">
946            
947              <li class="qk-pos--rel qk-pd--0">
948                <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/綠淨肽-60粒裝-20230427144941">【調節血脂】綠淨肽®  60粒</a>
949              </li>
950            
951          </ul>
952        </li>
953      
954        
955        
956        <li class="qk-pos--rel qk-pd--0">
957          <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_8" aria-expanded=" true ">
958            <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">
959              蜆芝靈大組數優惠
960            </a>
961          </button>
962          <ul class="qk-bd--nav_menu_text collapse_collection_all_index_sidebar_2_8 collapse shelf_third qk-pd--0 show  ">
963            
964              <li class="qk-pos--rel qk-pd--0">
965                <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/蜆芝靈60粒裝-20230427145309">【全新升級】蜆芝靈 60粒</a>
966              </li>
967            
968          </ul>
969        </li>
970      
971        
972        
973        <li class="qk-pos--rel qk-pd--0">
974          <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_9" aria-expanded=" true ">
975            <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">
976              防蚊液大組數優惠
977            </a>
978          </button>
979          <ul class="qk-bd--nav_menu_text collapse_collection_all_index_sidebar_2_9 collapse shelf_third q
979k-pd--0 show  ">
980            
981              <li class="qk-pos--rel qk-pd--0">
982                <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/兆著你-草本植萃精油防蚊液">兆著你 草本植萃精油防蚊液</a>
983              </li>
984            
985          </ul>
986        </li>
987      
988    </ul>
989  </li>
990
991
992<!-- cyb_snippet components/side_menu/collection_all end -->
993  
994
995  
996  
997  
998    <li class="qk-pos--rel qk-pd--0">
999      
1000        <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="/collections/明星商品">明星商品</a>
1001      
1002    </li>
1003  
1004
1005  
1006  
1007  
1008    <li class="qk-pos--rel qk-pd--0">
1009      
1010        <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/購物須知">購物須知</a>
1011      
1012    </li>
1013  
1014
1015  
1016  
1017  
1018    <li class="qk-pos--rel qk-pd--0">
1019      
1020        <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/定期購">安心定期購</a>
1021      
1022    </li>
1023  
1024
1025  
1026  
1027  
1028    <li class="qk-pos--rel qk-pd--0">
1029      
1030        <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>
1031      
1032    </li>
1033  
1034
1035  
1036  
1037  
1038    <li class="qk-pos--rel qk-pd--0">
1039      
1040        <a class="qk-fw--bold qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="https://liff.line.me/2000447957-RL1l5N7D"><a href="https://liff.line.me/2000447957-RL1l5N7D"><img src="https://scdn.line-apps.com/n/line_add_friends/btn/zh-Hant.png"  alt="LINE@加入好友" height="36" border="0"></a></a>
1041      
1042    </li>
1043  
1044
1045
1046<script>
1047  $('button a').on('click', function(e) {e.stopPropagation()});
1048</script>
1048
1049
1050<!-- cyb_snippet components/side_menu/menu end -->
1051    
1052  
1053  
1054    
1055      <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">Account</li>
1056      <li class="qk-pos--rel qk-pd--0">
1057        <div class="customer-logined-menu qk-display--il_bk qk-w--100 qk-text--left" style="display: none">
1058          <a href="/en/account/index" class="qk-text--nav_menu_text qk-fw--bold qk-fs--body">My Account</a>
1059        </div>
1060      </li>
1061      <li class="qk-pos--rel qk-pd--0">
1062        <div class="customer-logined-menu qk-display--il_bk qk-w--100 qk-text--left" style="display: none">
1063          <a href="/en/account/orders" class="qk-text--nav_menu_text qk-fw--bold qk-fs--body">My Order(s)</a>
1064        </div>
1065      </li>
1066      <li class="qk-pos--rel qk-pd--0">
1067        <div class="customer-logined-menu qk-display--il_bk qk-w--100 qk-text--left" style="display: none">
1068          <a href="/en/account/logout" class="qk-text--nav_menu_text qk-fw--bold qk-fs--body">Logout</a>
1069        </div>
1070      </li>
1071      <li class="qk-pos--rel qk-pd--0">
1072        <a href="/en/account/login">
1073          <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 ">
1074            <span class="qk-text--nav_menu_bg qk-fw--500 qk-fs--body">
1075              Log in
1076            </span>
1077          </div>
1078        </a>
1079      </li>
1080      <li class="qk-pos--rel qk-pd--0">
1081        <a href="/en/account/signup">
1082          <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">
1083            <span class="qk-text--nav_menu_text qk-fs--body qk-fw--500">
1084              Sign up
1085            </span>
1086          </div>
1087        </a>
1088      </li>
1089    
1090    
1091    
1092    
1093      <li class="category_title qk-bd--nav_menu_text qk-fs--breadcrumb qk-text--nav_menu_text qk-bd_y--default qk-fw--500">
1094        
1095          Language
1096        
1097        
1098          |
1099        
1100        
1101          Currency
1102        
1103      </li>
1104      <li id="side-menu-modal__button" class="qk-text--nav_menu_text qk-fw--bold language_button qk-fs--body qk-text--nav_menu_text">
1105      </li>
1106    
1107  
1108</ul>
1109
1110<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/sidebar-4a1e7dfec7e41476.css' rel='stylesheet' type='text/css' media='all' />
1111
1112<script>
1113  $(document).ready(function(){
1114    // 側邊選單
1115    if ($('.drawer').length){
1116      $('.drawer').drawer();
1117      $('.bt-toggle').click(function(){
1118        setTimeout(function(){
1119          $('.drawer')[0].iScroll.refresh()
1120        },500)
1121      })
1122    }
1123  });
1124</script>
1124
1125
1126<script>
1127  $(document).ready(function(){
1128    const languageSize = 2
1129    const currencySize = 13
1130
1131    const initLanguageAndCurrency = ({language,code})=> {
1132      const contentSelector = $("#side-menu-modal__button");
1133      let content = ''
1134      const isMutipleCurrencies = true
1135      const isMultiLanguages = true
1136      if ( isMultiLanguages && languageSize > 1 ) content = language || (liquidHelper.language && liquidHelper.language.title)
1137      if ( isMutipleCurrencies && (code && content === '')) content = code
1138      else if (isMutipleCurrencies && (code && content !=='')) content = `${content}|${code}`
1139      contentSelector.text(content)
1140    }
1141
1142    let code = ''
1143    let language = ''
1144    if (liquidHelper.language) language  = liquidHelper.language
1145    if (liquidHelper.getCurrency()) code = liquidHelper.getCurrency().code
1146
1147    initLanguageAndCurrency({ language:language.title, code })
1148
1149    $("#side-menu-modal__button").click(function() {
1150      const clickable = languageSize > 1 || currencySize > 1
1151      if (clickable) {
1152        $('.drawer').drawer('close');
1153        const event = new CustomEvent("i18n_selector_clicked");
1154        document.dispatchEvent(event);
1155      }
1156    });
1157
1158    document.addEventListener('i18n_modal_confirmed', (e) => {
1159      const { languageTitle, currency } = e.detail;
1160      initLanguageAndCurrency({ language: languageTitle, code: currency });
1161    });
1162  });
1163
1164</script>
1164
1165
1166
1167<!-- cyb_snippet side_menu end -->
1168
1169        </div>
1170      </nav>
1171      <!-- Bottombar -->
1172      
1173        <div
1174          id="mobile-bottom-bar"
1175          class="qk-display--flex qk-justify--around qk-bg--nav_logo_bg qk-w--100vw qk-pos--fixed qk-b--0 qk-hidden--pc"
1176        >
1177          <!-- home -->
1178          <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">
1179            <a id="home-nav-icon" href="/">
1180              <div data-icon-type="custom_icon_type_home"></div>
1181            </a>
1182          </div>
1183          <!-- tracking items -->
1184          <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">
1185            <a href="/en/account/tracking_items">
1186              <div data-icon-type="custom_icon_type_tracking_items" c></div>
1187            </a>
1188          </div>
1189          <!-- cart -->
1190          
1191            <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">
1192              <a
1193                href="/en/cart"
1194                class="qk-display--il_flex qk-flex--row qk-justify--center qk-align--center qk-vert--mid qk-pos--rel"
1195              >
1196                <div data-icon-type="custom_icon_type_cart"></div>
1197                <span
1198                  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"
1199                  style="display: none;"
1200                  >0</span
1201                >
1202              </a>
1203            </div>
1204          
1205          <!-- member -->
1206          
1207            <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">
1208              <a id="customer-phone-nav-icon" href="/en/account/login">
1209                <div data-icon-type="custom_icon_type_account"></div>
1210              </a>
1211            </div>
1212          
1213        </div>
1214      
1215    
1216  </span>
1217
1218<div id="index-popular-tags"></div>
1219
1220<style id="timer_color">
1221  :root {
1222    
1223      --timer_text: #ffffff;
1224    
1225
1226    
1227      --timer_bg: #000000;
1228    
1229  }
1230</style>
1231
1232<script>
1233  window.language = {"account_name":"Bank Account Name","add_cart_error_try_again":"Network error, please try again.","add_to_cart":"ADD TO CART","addcart_rate_limit_desc":"seconds until you can try again. We recommend staying on this page.","address1":"Return Address","all_filters":"All Filters","apply_fail":"Application Failed","apply_return":"Return Application","apply_return_success":"Refund Request Sent","apply_success":"Successful Application","arrive_soon":"Arriving Soon","articles_total":"Total of {{ totalArticleCounts }} articles","bank_account":"Bank Account","bank_branch_name":"Name of Branch","bonus_redemption":"Exchange Credit Point(s)","cancel":"Cancel","cart_price_total":"Total","check_order":"My Order(s)","choose_branch_bank":"Select Bank Branch","choose_return_reason":"Select Return Reason","city":"City","common_price":"Retail Price","comply_group_number":"Comply {{comply_group_number}} group(s) of discount, ","confirm":"Confirm","confirm_return":"Apply Refund","confirm_submit":"Submit","congratulations_for_verify_mobile_success":"Congratulations, you've successfully verified your phone!","contact_form":"Contact Form","continue_reading":"Continue Reading","country_placeholder":"Select country","coupon_free_shipping":"Free Shipping Coupon","coupon_items":"Coupon Discount Item","date_error":"Date error","default_sort":"Store Recommendations","deliver_error":"Delivery Error","discount_detail":"Discount Details","email":"Email Address","email_placeholder":"Enter your email, e.g.: [email protected]","enter_account_name":"Enter bank account name","enter_bank_account":"Enter bank account number","enter_return_reason":"Please specify the return reason...","error_message":"An error has occurred when sending a verification message; please try again later.","fail_operation":"Something went wrong; please try again later!","filter_button":"Filter","filter_no_result":"Sorry, no results","free":"Free","gift_price":"Discount Price","gift_purchase":"Gift with purchase","go_check_email":"Please check your mailbox; we've just sent you an email.","group_percent_discount":"{{percent_discount}} % off item(s) in the group.","has_stock":"In Stock","include_discount_and_shipping_fee":"Including discount and shipping fee","invalid_email":"Invalid Email","invalid_name":"Name required","invalid_phone_number":"Phone number required","invalid_question_content":"Please enter your message","keep_shopping":"Keep Shopping","keyin_address1":"Please enter the address we should collect the returning goods","keyin_city":"Please enter city name","keyin_zip":"Please enter postal code","less_then_one":"Quantity must be greater than 0; please select the amount to purchase.","line_item_quantity":"Quantity: {{ lineItemQuantity }}","literal_points":"point(s)","login_btn":"Log in","mail_send_fail":"Failed to send mail.","message_confirmation_token_error":"Error in verification code.","messenger_error_please_try_again":"An error has occurred when sending the message; please try again later.","mobile_number_error":"Mobile phone number in error.","name":"Name","name_placeholder":"Enter your name","new_password_is_sent":"New password is sent.","new_product_defect":"Defect on New Product","nn_collection_save_more_money_title":"for {{price}}","no_stock":"Out of Stock","notification_enabled":"Notification enabled","notify_me_when_stock_arrives":"Sold out! Notify me when the product is available.","onsale":"On Sale","order_date":"Order Date","order_number":"Order Number","order_retrun_confirm":"Are you sure you want to request a refund?","ori_price":"Original Price","others":"Others","over_cart_limit":"Quantity exceeds shopping cart limit; please remove some items and place the order again.","over_product_quantity":"Quantity exceeds the purchase limit; please reduce the quantity selected.","over_stock_count":"Quantity exceeds inventory stock. Remaining {{ count }}","over_stock_quantity":"The quantity entered exceeds the stock quantity. Please decrease your order.","phone_number":"Phone Number","phone_number_placeholder":"Enter your phone number","piece":"{{quantity}} item(s)","please_choose_bank":"Select Bank","please_choose_product":"Please select specifications.","please_choose_variant":"Please select product specifications.","please_enter_number":"Please enter a number.","please_reselect":"Try removing some filters to 
1233see more items","please_send_and_confirm_verify_code":"Please send and confirm the verification code.","pre_order":"Pre-order Goods","price_asc":"Price Low To High","price_desc":"Price High To Low","price_filter":"Price","price_includes_tax":"(includes consumption tax of {{ tax }})","product_content_defect":"Wrong Product or Incomplete Product","product_defect":"Defective Product","product_limit_buy":"Limited purchase of this product {{ count }} items","product_rate_limit_btn":"Re-enter product page","product_rate_limit_desc":"seconds until you can re-enter the product page. We recommend staying on this page.","product_rate_limit_title":"High demand right now, please wait","product_rate_limit_warn":"Leaving this page may increase your wait time.","product_sold":"Sold {{ productSold }} products","products_total":"Total of {{ totalProductCounts }} products","quantity":"Quantity","quantity_over_product_stock":"The quantity entered exceeds available product stock. Please decrease your order.","question_content":"Message","question_content_placeholder":"Please enter your message","question_submit_fail":"Something went wrong; please try again later!","question_submit_success":"The question has been sent successfully. We will contact you as soon as possible!","question_type":"Question Type","reached_favorable":"Promotion Reached","recent_days_sold_desc":"Best Seller","reenter_password_still_error":"Error: Password does not match.","refund":"Refund Amount","refund_account":"Refund Account","refund_info":"Refund Information","refund_invoice_check":"I agree to the cancellation of the invoice or the \"Tax Payment Certificate\", and give consent to {{company_name}} to be handled at discretion in order to expedite the refund process.","resend_verify_code":"Resend verification code.","reset_all_filters":"Reset All Filters","reset_filter_button":"Reset Filter","return":"Return","return_address":"Return Address","return_email_notification":"A copy of the refund details have been sent to your email","return_info":"Return Information","return_instruction":"Return Information","return_msg_Australia":"1. If any defects or breakages are found upon receiving the goods, and you need to apply for an exchange or refund, please enter \"My Account\", find your order and click \"View Status\", then click on \"Apply Refund\" as soon as possible.\u003cbr\u003e 2. After receiving the refund application, we will contact you to retrieve the goods. If you have any return questions, you can leave a message to the shop on the \"Order(s)\" page. Please do not send back the goods before confirming with the shop.\u003cbr\u003e 3. When returning or exchanging goods, please keep the original package intact (including purchased goods, accessories, gifts, etc.).\u003cbr\u003e 4. Once your returned item is received and inspected, an exchange or a refund will be made according to the shop's return policy.\u003cbr\u003e 5. Please refer to the shop's return policy for detailed information and guidance.\u003cbr\u003e","return_msg_Japan":"1. If any defects or breakages are found upon receiving the goods, and you need to apply for an exchange or refund, please enter \"My Account\", find your order and click \"View Status\", then click on \"Apply Refund\" as soon as possible. Please refer to the shop's return policy for detailed information and guidance.\u003cbr\u003e 2. When returning or exchanging goods, please keep the original package intact (including purchased goods, accessories, gifts, etc.).\u003cbr\u003e 3. After receiving the refund application, we will contact you to retrieve the goods. \u003cbr\u003e 4. If you have any return questions, you can leave a message to the shop on the \"Order(s)\" page. Please do not send back the goods before confirming with the shop.\u003cbr\u003e 5. Once your returned item is received and inspected, an exchange or a refund will be made according to the shop's return policy.\u003cbr\u003e","return_msg_Japan_to_Taiwan":"1. If any defects or breakages are found upon receiving the goods, and you need to apply for an exchange or refund, please enter \"My Account\", find your order and click \"View Status\", then click on \"Apply Refund\" as soon as possible. Please refer to the shop's return policy for detailed information and guidance.\u003cbr\u003e 2. When returning or exchanging goods, please keep the original package intact (including purchased goods, accessories, gifts, etc.).\u003cbr\u003e 3. After receiving the refund application, we will c
1233ontact you to retrieve the goods. \u003cbr\u003e 4. If you have any return questions, you can leave a message to the shop on the \"Order(s)\" page. Please do not send back the goods before confirming with the shop.\u003cbr\u003e 5. Once your returned item is received and inspected, an exchange or a refund will be made according to the shop's return policy.\u003cbr\u003e","return_msg_SEA":"1. If any defects or breakages are found upon receiving the goods, and you need to apply for an exchange or refund, please enter \"My Account\", find your order and click \"View Status\", then click on \"Apply Refund\" as soon as possible. Please refer to the shop's return policy for detailed information and guidance.\u003cbr\u003e 2. When returning or exchanging goods, please keep the original package intact (including purchased goods, accessories, gifts, etc.).\u003cbr\u003e 3. After receiving the refund application, we will contact you to retrieve the goods. \u003cbr\u003e 4. If you have any return questions, you can leave a message to the shop on the \"Order(s)\" page. Please do not send back the goods before confirming with the shop.\u003cbr\u003e 5. Once your returned item is received and inspected, an exchange or a refund will be made according to the shop's return policy.\u003cbr\u003e","return_msg_Taiwan":"1. If any defects or breakages are found upon receiving the goods, and you need to apply for an exchange or refund, please enter to \" My Account\", find your order and click \"My Order(s)\", then click on \"Apply Refund\" as soon as possible. Please refer to the shop's return policy for detailed information and guidance.\u003cbr\u003e 2. When returning or exchanging goods, please keep the original package intact (including purchased goods, accessories, gifts, etc.).\u003cbr\u003e 3. After receiving the refund application, we will contact you to retrieve the goods. If you have any return questions, you can click \"Message Shop\" on the \"My Order(s)\" page. Please do not send back the goods by yourself.\u003cbr\u003e 4. Please print this application form and send it with the goods.\u003cbr\u003e 5. Once your returned item is received and reviewed, a refund will be made to your original payment method; it would take up to 5 to 10 days until it shows on your bank statement.\u003cbr\u003e","return_msg_USA":"1. If any defects or breakages are found upon receiving the goods, and you need to apply for an exchange or refund, please enter \"My Account\", find your order and click \"View Status\", then click on \"Apply Refund\" as soon as possible. Please refer to the shop's return policy for detailed information and guidance.\u003cbr\u003e 2. When returning or exchanging goods, please keep the original package intact (including purchased goods, accessories, gifts, etc.).\u003cbr\u003e 3. After receiving the refund application, we will contact you to retrieve the goods. \u003cbr\u003e 4. If you have any return questions, you can leave a message to the shop on the \"Order(s)\" page. Please do not send back the goods before confirming with the shop.\u003cbr\u003e 5. Once your returned item is received and inspected, an exchange or a refund will be made according to the shop's return policy.\u003cbr\u003e","return_product":"Product Return Request","return_reason":"Return Reason","save_more_money_discount":"to enjoy {{percent_discount}}% off.","save_more_money_dollar":"Get {{dollar}} discount","search_article_label":"Article results ({{ totalArticleCounts }})","search_no_result":"Sorry, no results found by searching: {{ queryString }}. Please try a different word.","search_product_label":"Product results ({{ totalProductCounts }})","search_total":"Search: {{ queryString }} / {{ totalSearchCount }} item(s) found","select_sort_by":"Sort By","sell_from_asc":"Store Essentials","sell_from_desc":"New Arrivals","send_too_many_times_try_again_later":"Sent too many times, please try again later.","sending_msg_few_minutes_get":"SMS sending… You'll receive a verification code in a few minutes.","shipping_fee":"Shipping Fee","sold_out":"Sold Out","state_placeholder":"Select state / province","submit":"Submit","subtotal":"Subtotal","success_operation":"Message Sent!","successfully_copy_tracking_number":"Tracking number copied successfully","system_busy_try_again":"System busy; please try again later.","tax":"Tax","thanks_for_advise":"Thanks for your feedback.","thanks_you_have_signed_up":"Thanks for registering!","total_bonus_redemption":"Total Credit Point(s) Redemption","tw_city_placeholder":"County / City","tw_district_placeholder":"District","unreach_favorable":"Promotion Unreached","verification_error_please_correct":"Error during verification, please try again.","verify_success":"Verification code confirmed.","view_product":"View Product","vip_shipping_free":"Free Shipping For Members","zip":"ZIP / Postcode","suggested_range":"Suggested Range","periodic_order_label":"Subscription","check_account_length":"Bank Account Length Validation"}
1234  $(document).ready(function(){
1235    if(window.location.pathname != '' && window.location.pathname != '/' ){
1236      document.getElementById('index-popular-tags').style.display = 'none'
1237    }
1238    // 倒數計時
1239    
1240
1241    function adjustContentTop() {
1242      const offset = window.measureHeaderOffset();
1243      if (offset === null) return;
1244      $("body").css({ "padding-top": offset + "px" });
1245    }
1246
1247    window.adjustContentTop = adjustContentTop;
1248
1249    // navbar設定透明
1250    
1251      var prevScrollpos = window.pageYOffset;
1252
1253      $(window).on('scroll load resize', function () {
1254        if (!window.matchMedia('(min-width: 992px)').matches) {
1255          return;
1256        }
1257        var headerBannerHeight = window.measureHeaderOffset();
1258        if (headerBannerHeight === null) {
1259          return;
1260        }
1261        var currentScrollPos = window.pageYOffset;
1262        if (currentScrollPos === 0) {
1263          $('.computer_nav').addClass('display_transparent');
1264        } else if (currentScrollPos > prevScrollpos && currentScrollPos >= headerBannerHeight) {
1265          $('#header').css({ transform: "translate(0, -100%)", transition: 'all .3s' });
1266          $('.computer_nav').removeClass('display_transparent');
1267        } else {
1268          $('#header').css({ transform: "none", transition: 'all .3s' });
1269          $('.computer_nav').removeClass('display_transparent');
1270        }
1271        prevScrollpos = currentScrollPos;
1272      });
1273      $('.computer_nav').on('mouseover', function () {
1274          $(this).removeClass('display_transparent');
1275      });
1276      $('.computer_nav').on('mouseout', function () {
1277        if ($('.dropdown_menu').hasClass('show')) {
1278          return;
1279        } else if (window.pageYOffset === 0) {
1280          $(this).addClass('display_transparent');
1281        }
1282      });
1283    
1284
1285    // Call it first once DOM is ready to prevent CLS
1286    adjustContentTop();
1287
1288    // 延遲初始化,等待 app banner 初始化完成
1289    $(window).on("resize", adjustContentTop);
1290
1291    // 使用 setTimeout 確保 banner 狀態已經確定
1292    $(window).on("load", function() {
1293      setTimeout(function() {
1294        adjustContentTop();
1295      }, 200); // 給 banner 足夠時間初始化
1296    });
1297
1298    $('img.header_banner').on('load', adjustContentTop);
1299
1300    window.renderNavbarSection('.main_nav', {
1301        navbarCollections: [{"title":"明星商品","url":"/collections/明星商品","products":[{"title":"【全新升級】蜆芝靈 60粒裝 - 5瓶組合","url":"/products/蜆芝靈60粒裝-20240507085340"},{"title":"【全新升級】蜆芝靈 60粒裝 - 3瓶組合","url":"/products/蜆芝靈60粒裝-20240507084815"},{"title":"【全新升級】蜆芝靈 60粒","url":"/products/蜆芝靈60粒裝-20230427145309"},{"title":"【複方加乘】薑蜆雙寶Plus 60粒裝 - 5瓶組合","url":"/products/薑蜆雙寶-60-粒裝-20260918171105"},{"title":"【複方加乘】薑蜆雙寶Plus 60粒裝 - 3瓶組合","url":"/products/薑蜆雙寶-60-粒裝-20260918171515"},{"title":"【複方加乘】薑蜆雙寶 60粒","url":"/products/薑蜆雙寶-60-粒裝-20230427144347"},{"title":"【複方加乘】薑蜆雙寶Plus 60粒","url":"/products/薑蜆雙寶-60-粒裝-20260918163815"},{"title":"【調節血脂】綠淨肽®  60粒裝 - 5盒組合","url":"/products/綠淨肽-60粒裝-20240507090734"},{"title":"【調節血脂】綠淨肽®  60粒裝 - 3盒組合","url":"/products/綠淨肽-60粒裝-20240507090308"},{"title":"【調節血脂】綠淨肽®  60粒","url":"/products/綠淨肽-60粒裝-20230427144941"},{"title":"兆著你 草本植萃精油防蚊液x5","url":"/products/兆著你-草本植萃精油防蚊液-20230517151231"},{"title":"兆著你 草本植萃精油防蚊液x30","url":"/products/兆著你-草本植萃精油防蚊液-20240304155834"},{"title":"兆著你 草本植萃精油防蚊液x50","url":"/products/兆著你-草本植萃精油防蚊液-20240304160213"},{"title":"兆著你 草本植萃精油防蚊液","url":"/products/兆著你-草本植萃精油防蚊液"}]},{"title":"黃金蜆蛋白","url":"/collections/黃金蜆蛋白","products":[{"title":"【全新升級】蜆芝靈 60粒裝 - 5瓶組合","url":"/products/蜆芝靈60粒裝-20240507085340"},{"title":"【全新升級】蜆芝靈 60粒裝 - 3瓶組合","url":"/products/蜆芝靈60粒裝-20240507084815"},{"title":"【全新升級】蜆芝靈 60粒","url":"/products/蜆芝靈60粒裝-20230427145309"},{"title":"黃金蜆蛋白膠囊 60粒","url":"/products/黃金蜆蛋白膠囊-60粒裝"}]},{"title":"薑蜆雙寶","url":"/collections/薑蜆雙寶","products":[{"title":"【複方加乘】薑蜆雙寶Plus 60粒裝 - 5瓶組合","url":"/products/薑蜆雙寶-60-粒裝-20260918171105"},{"title":"【複方加乘】薑蜆雙寶Plus 60粒裝 - 3瓶組合","url":"/products/薑蜆雙寶-60-粒裝-20260918171515"},{"title":"【複方加乘】薑蜆雙寶Plus 60粒","url":"/products/薑蜆雙寶-60-粒裝-20260918163815"},{"title":"【複方加乘】薑蜆雙寶 60粒","url":"/products/薑蜆雙寶-60-粒裝-20230427144347"}]},{"title":"綠淨肽","url":"/collections/綠淨肽","products":[{"title":"【調節血脂】綠淨肽®  60粒裝 - 5盒組合","url":"/products/綠淨肽-60粒裝-20240507090734"},{"title":"【調節血脂】綠淨肽®  60粒裝 - 3盒組合","url":"/products/綠淨肽-60粒裝-20240507090308"},{"title":"【調節血脂】綠淨肽®  60粒","url":"/products/綠淨肽-60粒裝-20230427144941"}]},{"title":"防蚊液","url":"/collections/防蚊液","products":[{"title":"兆著你 草本植萃精油防蚊液","url":"/products/兆著你-草本植萃精油防蚊液"},{"title":"兆著你 草本植萃精油防蚊液x5","url":"/products/兆著你-草本植萃精油防蚊液-20230517151231"},{"title":"兆著你 草本植萃精油防蚊液x30","url":"/products/兆著你-草本植萃精油防蚊液-20240304155834"},{"title":"兆著你 草本植萃精油防蚊液x50","url":"/products/兆著你-草本植萃精油防蚊液-20240304160213"}]},{"title":"蜆藻精粹","url":"/collections/蜆藻精粹","products":[{"title":"蜆藻精粹  60粒","url":"/products/蜆藻精粹-60粒裝-20240304145331"}]},{"title":"綠淨肽大組數優惠","url":"/collections/綠淨肽大組數優惠","products":[{"title":"【調節血脂】綠淨肽®  60粒","url":"/products/綠淨肽-60粒裝-20230427144941"}]},{"title":"蜆芝靈大組數優惠","url":"/collections/蜆芝靈大組數優惠","products":[{"title":"【全新升級】蜆芝靈 60粒","url":"/products/蜆芝靈60粒裝-20230427145309"}]},{"title":"防蚊液大組數優惠","url":"/collections/防蚊液大組數優惠","products":[{"title":"兆著你 草本植萃精油防蚊液","url":"/products/兆著你-草本植萃精油防蚊液"}]}],
1302        navbarItems: [{"id":465408,"title":"首頁","url":"/","item_type":"frontpage","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1006139,"title":"全部商品","url":"/collections/all","item_type":"collections_all","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1006146,"title":"明星商品","url":"/collections/明星商品","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":474027,"title":"購物須知","url":"/pages/購物須知","item_type":"page","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":595476,"title":"安心定期購","url":"/pages/定期購","item_type":"page","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":465411,"title":"關於兆鴻生技","url":"/pages/about-us","item_type":"page","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1122399,"title":"\u003ca href=\"https://liff.line.me/2000447957-RL1l5N7D\"\u003e\u003cimg src=\"https://scdn.line-apps.com/n/line_add_friends/btn/zh-
1302Hant.png\"  alt=\"LINE@加入好友\" height=\"36\" border=\"0\"\u003e\u003c/a\u003e","url":"https://liff.line.me/2000447957-RL1l5N7D","item_type":"http","subtitle":null,"icon_image_url":null,"menuItems":null}],
1303        settings: {
1304          menuDisplayStyle: "three_dimension_menu",
1305          pcLogoImgUrl: "//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjgwMDYxOTg5X-WFhum0u-WOu-iDjDIucG5nLnBuZyJdXQ.png?sha=031854de1c6a33f7",
1306          mobileLogoImgUrl: "//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjgwMDU4NjYxX-WFhum0u-WOu-iDjC5naWYuZ2lmIl1d.gif?sha=b92020efb817f87a",
1307          navbarDisplayStyle: "displayDefault",
1308        }
1309      }
1310    );
1311
1312
1313    // for link menu
1314    const linkMenuElement = document.querySelector('.link-nav');
1315    const data = []
1316    data.forEach((item) => {
1317      const wrapper = document.createElement('a');
1318      const link = document.createElement('ul');
1319
1320      wrapper.href = item.url;
1321      link.textContent = item.title;
1322      link.classList.add('link-item');
1323
1324      wrapper.appendChild(link);
1325      linkMenuElement.appendChild(wrapper);
1326    });
1327
1328    // for safe-area space on iOS devices
1329    const userAgent = navigator.userAgent;
1330    const isIOS = /iPad|iPhone|iPod/.test(userAgent) && !window.MSStream;
1331    const isLiff = /Line\/[\d.]+/i.test(userAgent);
1332    const $mobileBottomBar = $('#mobile-bottom-bar');
1333
1334    if ($mobileBottomBar.length && isIOS && isLiff) {
1335      $mobileBottomBar.addClass('is-ios-liff');
1336    }
1337  });
1338  document.addEventListener('DOMContentLoaded', function() {
1339    window.getCartAmount = function() {
1340      return parseInt($('.global-cart-count').html());
1341    };
1342  });
1343</script>
1343
1344
1345<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/navbar-4a1e7dfec7e41476.js' type='text/javascript'></script>
vendor: 1 bytes, line 1345
1345
1346<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/currencies-4a1e7dfec7e41476.js' type='text/javascript'></script>
1346
1347<!-- cyb_snippet i18n_modal start -->
1348
1349  
1349<script src='//cdn-general.cybassets.com/frontend/shop/i18nSetting-4a1e7dfec7e41476.js' type='text/javascript'></script>
1349
1350  
1350<script type="text/javascript">
1351    $(document).ready(function() {
1352      const props = {
1353        isMultiLanguages: true,
1354        isMultiCurrencies: true,
1355      }
1356      
1357        props.languageOptions = [{"handle":"zh-TW","title":"繁體中文","currency_code":"TWD"},{"handle":"en","title":"English","currency_code":"USD"}]
1358      
1359      
1360        props.currencyOptions = [{"html_unit":"A${{amount}}","email_unit":"A${{amount}}","name":"澳洲元 (AUD)","html":"A${{amount}}","trailing_zeros":true,"unit":"","decimal_precision":2,"money_format":"%u%n","format":"A${{amount}}","code":"AUD","symbol":"A$","email":"A${{amount}}"},{"html_unit":"\u0026#165;{{amount}}","email_unit":"¥{{amount}}","name":"人民幣 (CNY)","html":"\u0026#165;{{amount}}","trailing_zeros":true,"unit":"RMB","decimal_precision":2,"money_format":"%u%n","format":"\u0026#165;{{amount}}","code":"CNY","symbol":"¥","email":"¥{{amount}}"},{"html_unit":"\u0026euro;{{amount}} EUR","email_unit":"€{{amount}} EUR","name":"歐元 (EUR)","html":"\u0026euro;{{amount}}","trailing_zeros":true,"unit":"EUR","decimal_precision":2,"money_format":"%u%n","format":"\u0026euro;{{amount}} EUR","code":"EUR","symbol":"€","email":"€{{amount}}"},{"html_unit":"£{{amount}}","email_unit":"£{{amount}}","name":"英鎊 (GBP)","html":"£{{amount}}","trailing_zeros":true,"unit":"","decimal_precision":2,"money_format":"%u%n","format":"£{{amount}}","code":"GBP","symbol":"£","email":"£{{amount}}"},{"html_unit":"HK${{amount}}","email_unit":"HK${{amount}}","name":"港元 (HKD)","html":"${{amount}}","trailing_zeros":true,"unit":"","decimal_precision":2,"money_format":"%u%n","format":"HK${{amount}}","code":"HKD","symbol":"HK$","email":"${{amount}}"},{"html_unit":"\u0026#165;{{amount_no_decimals}}","email_unit":"¥{{amount_no_decimals}}","name":"日幣 (JPY)","html":"\u0026#165;{{amount_no_decimals}}","trailing_zeros":false,"unit":"","decimal_precision":0,"money_format":"%u%n","format":"\u0026#165;{{amount_no_decimals}}","code":"JPY","symbol":"¥","email":"¥{{amount_no_decimals}}"},{"html_unit":"₩{{amount_no_decimals}}","email_unit":"₩{{amount_no_decimals}}","name":"韓圓 (KRW)","html":"₩{{amount_no_decimals}}","trailing_zeros":false,"unit":"","decimal_precision":0,"money_format":"%u%n","format":"₩{{amount_no_decimals}}","code":"KRW","symbol":"₩","email":"₩{{amount_no_decimals}}"},{"html_unit":"RM {{amount}}","email_unit":"RM {{amount}}","name":"馬來西亞令吉 (MYR)","html":"RM {{amount}}","trailing_zeros":true,"unit":"","decimal_precision":2,"money_format":"%u%n","format":"RM {{amount}}","code":"MYR","symbol":"RM ","email":"RM {{amount}}"},{"html_unit":"S${{amount}}","email_unit":"S${{amount}}","name":"新加坡元 (SGD)","html":"S${{amount}}","trailing_zeros":true,"unit":"","decimal_precision":2,"money_format":"%u%n","format":"S${{amount}}","code":"SGD","symbol":"S$","email":"S${{amount}}"},{"html_unit":"฿{{amount}}","email_unit":"฿{{amount}}","name":"泰銖 (THB)","html":"฿{{amount}}","trailing_zeros":true,"unit":"","decimal_precision":2,"money_format":"%u%n","format":"฿{{amount}}","code":"THB","symbol":"฿","email":"฿{{amount}}"},{"html_unit":"NT${{amount_no_decimals}}","email_unit":"NT${{amount_no_decimals}}","name":"新台幣 (TWD)","html":"NT${{amount_no_decimals}}","trailing_zeros":false,"unit":"","decimal_precision":0,"money_format":"%u%n","format":"NT${{amount_no_decimals}}","code":"TWD","symbol":"NT$","email":"NT${{amount_no_decimals}}"},{"html_unit":"${{amount}} USD","email_unit":"${{amount}} USD","name":"美元 (USD)","html":"${{amount}}","trailing_zeros":true,"unit":"USD","decimal_precision":2,"money_format":"%u%n","format":"${{amount}} USD","code":"USD","symbol":"$","email":"${{amount}}"},{"html_unit":"{{amount_no_decimals}}₫","email_unit":"{{amount_no_decimals}}₫","name":"越南盾 (VND)","html":"{{amount_no_decimals}}₫","trailing_zeros":false,"unit":"","decimal_precision":0,"money_format":"%n%u","format":"{{amount_no_decimals}}₫","code":"VND","symbol":"₫","email":"{{amount_no_decimals}}₫"}]
1361      
1362      window.renderI18nSetting('.i18n-selector', props)
1363    })
1364  </script>
1364
1365
1366
1367<!-- cyb_snippet i18n_modal end -->
1368<!-- cyb_snippet _load_fonts start -->
1369<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/load_fonts-4a1e7dfec7e41476.js' type='text/javascript'></script>
vendor: 1 bytes, line 1369
1369
1370<script>
1371  document.addEventListener('DOMContentLoaded', function() {
1372    window.loadFontSetting("{'ja':{'value':'Noto Sans JP'},'zh-TW':{'value':'Noto Sans TC'},'en':{'value':'Noto Sans TC'},'zh-CN':{'value':'Noto Sans TC'}}")
1373  })
1374</script>
1374
1375
1376<!-- cyb_snippet _load_fonts end -->
1377<!-- cyb_snippet _custom_icon start -->
1378<script src='//cdn-general.cybassets.com/frontend/shop/navIcon-4a1e7dfec7e41476.js' type='text/javascript'></script>
1378
1379
1380<script>
1381  (function() {
1382    const iconUrlMap = new Map([
1383      ['custom_icon_type_home', null],
1384      ['custom_icon_type_tracking_items', null],
1385      ['custom_icon_type_account', null],
1386      ['custom_icon_type_cart', null],
1387      ['custom_icon_type_search', null],
1388      ['custom_icon_type_menu', null]
1389    ]);
1390    const elements = document.querySelectorAll('[data-icon-type]');
1391    elements.forEach((element, index) => {
1392      const iconAttributes = element.getAttribute('data-icon-type');
1393
1394      const uniqueId = `icon_${iconAttributes}_${index}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
1395      element.id = uniqueId;
1396      window.renderNavCustomIcon(`#${uniqueId}`, {
1397        navIconStyle: "icon_type_default",
1398        customIconUrl: iconUrlMap.get(iconAttributes) || '',
1399        iconAttributes: iconAttributes,
1400        currentTemplate: "index",
1401      });
1402    });
1403  })();
1404</script>
1404
1405
1406<!-- cyb_snippet _custom_icon end -->
1407
1408
1409
1410    
1411  
1412    
1412<script src='//cdn-general.cybassets.com/frontend/shop/announcementBar-4a1e7dfec7e41476.js' type='text/javascript'></script>
1412
1413
1414    
1415
1416    
1417
1418    
1418<script>
1419      $(document).ready(function() {
1420        window.renderAnnouncementBar('#announcement-bar', {
1421          sectionId: "announcement_bar",
1422          isIndex: true,
1423        });
1424      });
1425    </script>
1425
1426  
1427
1428
1429
1430
1431
1432    <!-- template -->
1433    <div id="template" style="flex:1 0 auto; background-color: var(--theme_bg);">
1434      
1434<script type="application/ld+json">
1435{
1436  "@context": "https://schema.org",
1437  "@type": "FAQPage",
1438  "mainEntity": [{
1439    "@type": "Question",
1440    "name": "兆鴻生技黃金蜆蛋白",
1441    "acceptedAnswer": {
1442      "@type": "Answer",
1443      "text": "蜆蛋白抗發炎,蜆蛋白深度護肝,蜆蛋白加速傷口癒合,蜆蛋白雙向抗發炎
1444"
1445    }
1446  }, {
1447    "@type": "Question",
1448    "name": "蜆蛋白精準抗發炎",
1449    "acceptedAnswer": {
1450      "@type": "Answer",
1451      "text": ":蜆蛋白就有獨家「雙向調節」機轉,蜆蛋白是市售蜆精無法企及的科學高度。蜆蛋白能主動平衡體內的發炎反應:
1452•	顯著提升抗發炎因子 (IL-10),為細胞穿上防彈衣。
1453•	有效降低促發炎因子 (TNF-α),從源頭阻斷疲勞與損傷。
1454肌肉修復:高強度訓練後,體內肌肉損傷指數(CPK / LDH)往往居高不下。 實驗數據顯示,蜆蛋白能顯著降低運動後的肌肉損傷指數。 這意味著:你的恢復時間變短了,再次回到賽場(或職場)的爆發力更強了。
1455突破撞牆:耐力與護肝的完美共生
1456肝臟是能量代謝的總指揮。透過 FCE 蜆蛋白富含的關鍵胺基酸與精胺酸 (Arginine):
1457•	啟動一氧化氮循環,加速代謝廢物。
1458•	延長運動耐力,延緩疲勞感產生。 不僅保護肝組織免受氧化壓力傷害,更讓你突破體能的「撞牆期」。
1459"
1460    }
1461  }]
1462}
1463</script>
1463
1464
1465
1466
1467
1468<div class="index">
1469
1470  
1471
1472
1473
1474
1475
1476
1477
1478
1479<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/_main_slider_custom-4a1e7dfec7e41476.css' rel='stylesheet' type='text/css' media='all' />
1480
1481<style>
1482  [id="_main_slider_custom"] {
1483    margin: 0 0px 48px !important;
1484  }
1485  @media (max-width: 576px) {
1486    .main-slider-placeholder {
1487      display: none !important;
1488    }
1489    .swiper-container {
1490      visibility: visible !important;
1491    }
1492  }
1493  @media (max-width: 991px) {
1494    [id="_main_slider_custom"] {
1495      margin: 0 0px 24px !important;
1496    }
1497  }
1498</style>
1499
1500<section id="_main_slider_custom" class="main-slider qk-pos--rel">
1501  
1502  
1503
1504  <div
1505    class="swiper swiper-container"
1506    
1507  >
1508    <div class="swiper-wrapper qk-align--center">
1509      
1510      
1511      
1512        <div class="swiper-slide">
1513          
1514            
1515            <a
1516              href="/collections/明星商品"
1517              class="img-flex qk-align--stretch qk-display--contents"
1518              target=""
1519              rel=""
1520            >
1521          
1522          
1523          
1524          
1525          
1526          
1527            <picture>
1528              
1529                <source
1530                  media="(max-width: 576px)"
1531                  data-srcset="//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzkxMzMyOTIzXzIwMjYxMDA3XzU3Nng1MDAuanBnLmpwZWciXV0.jpeg?sha=c2d6c2fced0296d2"
1532                  alt="兆鴻生技產品"
1533                >
1534              
1535              
1536                <source
1537                  media="(max-width: 992px)"
1538                  data-srcset="//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzkxMzMyOTIyXzIwMjYxMDA3Xzk2MHg2MDAuanBnLmpwZWciXV0.jpeg?sha=2ae9d8ad491eeee1"
1539                  alt="兆鴻生技產品"
1540                >
1541              
1542              <img
1543                id="slider-image"
1544                data-src="//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzkxMzMyOTIzXzIwMjYxMDA3LmpwZy5qcGVnIl1d.jpeg?sha=b620e29bc7564a87"
1545                height="auto"
1546                alt="兆鴻生技產品"
1547                class="swiper-lazy"
1548              >
1549            </picture>
1550
1551            
1552            
1553            
1554            
1555            
1556            
1557            
1558            
1559            
1560            
1561          
1562          
1563            </a>
1564          
1565          
1566            <div class="swiper-lazy-preloader"></div>
1567          
1568        </div>
1569      
1570        <div class="swiper-slide">
1571          
1572            <span class="img-flex qk-align--stretch qk-display--contents">
1573          
1574          
1575          
1576          
1577          
1578          
1579            <picture>
1580              
1581                <source
1582                  media="(max-width: 576px)"
1583                  data-srcset="//cdn-general.cybassets.com/theme_src/i18n_nolli/default_img/main_slider_item_1_mobile.png"
1584                  alt=""
1585                >
1586              
1587              
1588              <img
1589                id="slider-image"
1590                data-src="//cdn-general.cybassets.com/theme_src/i18n_nolli/default_img/main_slider_item_1.png"
1591                height="auto"
1592                alt=""
1593                class="swiper-lazy"
1594              >
1595            </picture>
1596
1597            
1598            
1599            
1600            
1601            
1602            
1603            
1604            
1605            
1606            
1607          
1608          
1609            </span>
1610          
1611          
1612            <div class="swiper-lazy-preloader"></div>
1613          
1614        </div>
1615      
1616        <div class="swiper-slide">
1617          
1618            <span class="img-flex qk-align--stretch qk-display--contents">
1619          
1620          
1621          
1622          
1623          
1624          
1625            <picture>
1626              
1627                <source
1628                  media="(max-width: 576px)"
1629                  data-srcset="//cdn-general.cybassets.com/theme_src/i18n_nolli/default_img/main_slider_item_2_mobile.png"
1630                  alt=""
1631                >
1632              
1633              
1634              <img
1635                id="slider-image"
1636                data-src="//cdn-general.cybassets.com/theme_src/i18n_nolli/default_img/main_slider_item_2.png"
1637                height="auto"
1638                alt=""
1639                class="swiper-lazy"
1640              >
1641            </picture>
1642
1643            
1644            
1645            
1646            
1647            
1648            
1649            
1650            
1651            
1652            
1653          
1654          
1655            </span>
1656          
1657          
1658            <div class="swiper-lazy-preloader"></div>
1659          
1660        </div>
1661      
1662        <div class="swiper-slide">
1663          
1664            
1665            <a
1666              href="/products/綠淨肽-60粒裝-20230427144941"
1667              class="img-flex qk-align--stretch qk-display--contents"
1668              target=""
1669              rel=""
1670            >
1671          
1672          
1673          
1674          
1675          
1676          
1677            <picture>
1678              
1679                <source
1680                  media="(max-width: 576px)"
1681                  data-srcset="//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzgwMjE4MjExXzIwMjUxMDAyX-e2oOa3qOiCvV81NzZ4NTAwLmpwZy5qcGVnIl1d.jpeg?sha=cadee8a131eae02f"
1682                  alt="【調節血脂】綠淨肽"
1683                >
1684              
1685              
1686                <source
1687                  media="(max-width: 992px)"
1688                  data-srcset="//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzgwMjE4MjEwXzIwMjUxMDAyX-e2oOa3qOiCvV85NjB4NjAwLmpwZy5qcGVnIl1d.jpeg?sha=54bee6de9a7a6a4c"
1689                  alt="【調節血脂】綠淨肽"
1690                >
1691              
1692              <img
1693                id="slider-image"
1694                data-src="//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzgwMjE4MjExXzIwMjUxMDAyX-e2oOa3qOiCvS5qcGcuanBlZyJdXQ.jpeg?sha=cad5287801d94bd5"
1695                height="auto"
1696                alt="【調節血脂】綠淨肽"
1697                class="swiper-lazy"
1698              >
1699            </picture>
1700
1701            
1702            
1703            
1704            
1705            
1706            
1707            
1708            
1709            
1710            
1711          
1712          
1713            </a>
1714          
1715          
1716            <div class="swiper-lazy-preloader"></div>
1717          
1718        </div>
1719      
1720        <div class="swiper-slide">
1721          
1722            
1723            <a
1724              href="/collections/防蚊液"
1725              class="img-flex qk-align--stretch qk-display--contents"
1726              target=""
1727              rel=""
1728            >
1729          
1730          
1731          
1732          
1733          
1734          
1735            <picture>
1736              
1737                <source
1738                  media="(max-width: 576px)"
1739                  data-srcset="//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzgyMTc3MjgwXzIwMjYwNjIzX-mYsuiaiua2sl81NzZ4NTAwLmpwZy5qcGVnIl1d.jpeg?sha=eabec98dc457de8a"
1740                  alt="兆著你 防蚊液"
1741                >
1742              
1743              
1744                <source
1745                  media="(max-width: 992px)"
1746                  data-srcset="//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzgyMTc3MjgwXzIwMjYwNjIzX-mYsuiaiua2sl85NjB4NjAwLmpwZy5qcGVnIl1d.jpeg?sha=2b52637b59d79653"
1747                  alt="兆著你 防蚊液"
1748                >
1749              
1750              <img
1751                id="slider-image"
1752                data-src="//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzgyMTc3MjgwXzIwMjYwNjIzX-mYsuiaiua2si5qcGcuanBlZyJdXQ.jpeg?sha=e20bb236a079972c"
1753                height="auto"
1754                alt="兆著你 防蚊液"
1755                class="swiper-lazy"
1756              >
1757            </picture>
1758
1759            
1760            
1761            
1762            
1763            
1764            
1765            
1766            
1767            
1768            
1769          
1770          
1771            </a>
1772          
1773          
1774            <div class="swiper-lazy-preloader"></div>
1775          
1776        </div>
1777      
1778        <div class="swiper-slide">
1779          
1780            
1781            <a
1782              href="https://www.zh-biotech.com/zh-TW/collections/%E6%98%8E%E6%98%9F%E5%95%86%E5%93%81"
1783              class="img-flex qk-align--stretch qk-display--contents"
1784              target=""
1785              rel=""
1786            >
1787          
1788          
1789          
1790          
1791          
1792          
1793            <picture>
1794              
1795                <source
1796                  media="(max-width: 576px)"
1797                  data-srcset="//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzA4NTAxMjczXzIwMjQwMjIxX-e0heWIqem7nuaVuF81NzZ4NTAwLmpwZy5qcGVnIl1d.jpeg?sha=e3bf239c2214d7cf"
1798                  alt="線上購物紅利點數活動"
1799                >
1800              
1801              
1802                <source
1803                  media="(max-width: 992px)"
1804                  data-srcset="//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzA4NTAxMjczXzIwMjQwMjIxX-e0heWIqem7nuaVuF85NjB4NjAwLmpwZy5qcGVnIl1d.jpeg?sha=228a10c0c08a3b53"
1805                  alt="線上購物紅利點數活動"
1806                >
1807              
1808              <img
1809                id="slider-image"
1810                data-src="//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNzA4NTAxMjU2XzIwMjQwMjIxX-e0heWIqem7nuaVuC5qcGcuanBlZyJdXQ.jpeg?sha=c5070e33bfad880c"
1811                height="auto"
1812                alt="線上購物紅利點數活動"
1813                class="swiper-lazy"
1814              >
1815            </picture>
1816
1817            
1818            
1819            
1820            
1821            
1822            
1823            
1824            
1825            
1826            
1827          
1828          
1829            </a>
1830          
1831          
1832            <div class="swiper-lazy-preloader"></div>
1833          
1834        </div>
1835      
1836    </div>
1837    
1838      <div
1839        class="qk-swiper_btn qk-swiper_btn--lg qk-swiper_btn--v2 qk-swiper_btn--prev main_slider_custom_prev qk-hidden--mobile"
1840      ></div>
1841      <div
1842        class="qk-swiper_btn qk-swiper_btn--lg qk-swiper_btn--v2 qk-swiper_btn--next main_slider_custom_next qk-hidden--mobile"
1843      ></div>
1844    
1845  </div>
1846  
1847    <div class="qk-swiper_pg qk-w--100 qk-mg_t--1 qk-text--center main_slider_pagination"></div>
1848  
1849</section>
1850
1851<script>
1852  $(document).ready(function(){
1853    let isDynamicLoading = false;
1854    let settingObj = {
1855      id: '_main_slider_custom',
1856      mobile_img_number: Number('1'),
1857      mobile_img_space: Number('8'),
1858      img_number: Number('1'),
1859      img_space: Number('12'),
1860      swiper_delay: '5',
1861    }
1862    window.mainSlider = function(obj){
1863    var id = themeHelper.escapeId(obj.id);
1864    var slideCount = $(`#${obj.id} .swiper-slide`).length
1865    var autoLoop = true
1866    if (slideCount <= 1){
1867      autoLoop = false
1868    }
1869    var mainSlider = new Swiper('#' + id + ' .swiper-container', {
1870      preloadImages: false,
1871      slidesPerView: Number(obj.mobile_img_number),
1872      spaceBetween: Number(obj.mobile_img_space),
1873      breakpoints: {
1874        0:{
1875          slidesPerView: Number(obj.mobile_img_number),
1876          spaceBetween: Number(obj.mobile_img_space),
1877        },
1878        991: {
1879          slidesPerView: Number(obj.img_number),
1880          spaceBetween: Number(obj.img_space),
1881        }
1882      },
1883      // Enable lazy loading
1884      observer: true,
1885      observeParents: true,
1886      autoheight: true,
1887      lazy: {
1888        loadPrevNext: true,
1889      },
1890      freeMode: {
1891        enabled: true,
1892        sticky: true,
1893        momentum: true,
1894        momentumRatio: 0.4,
1895        momentumVelocityRatio: 0.1,
1896      },
1897      loop: autoLoop,
1898      autoplay: { delay: obj.swiper_delay * 1000 },
1899      speed: Number('300.0'),
1900      pagination: {
1901        el: '#' + id + ' .main_slider_pagination',
1902        clickable: true,
1903      },
1904      navigation: {
1905        nextEl: '#' + id + ' .main_slider_custom_next',
1906        prevEl: '#' + id + ' .main_slider_custom_prev',
1907      },
1908      on: {
1909        init: function () {
1910          if (isDynamicLoading && !window.matchMedia("(max-width: 576px)").matches) {
1911            document.querySelector('#' + id + ' .main-slider-placeholder').style.display = 'none';
1912            document.querySelector('#' + id + ' .swiper-container').style.visibility = 'visible';
1913          }
1914        },
1915      }
1916    });
1917    }
1918    if (isDynamicLoading) {
1919        window.DynamicLoading.setupComponent({
1920        sectionId: "_main_slider_custom",
1921        sectionSettingData: settingObj,
1922        entryName:'mainSlider',
1923        source:'https://cdnjs.cloudflare.com/ajax/libs/Swiper/5.4.5/js/swiper.js',
1924        componentType:'js',
1925        hiddenDom: true
1926      });
1927    }else{
1928      mainSlider(settingObj);
1929    }
1930  })
1931</script>
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/_index_4_blocks-4a1e7dfec7e41476.css' rel='stylesheet' type='text/css' media='all' />
1946<script src='//cdn-general.cybassets.com/frontend/shop/productDisplay-4a1e7dfec7e41476.js' type='text/javascript'></script>
1946
1947
1948<style>
1949  [id="_index_4_blocks"] {
1950    margin: 0 180px 48px !important;
1951  }
1952
1953  @media (min-width: 992px) {
1954    [id="_index_4_blocks"] .block:not(.last-row) {
1955      margin-bottom: 10px !important;
1956    }
1957    [id="_index_4_blocks"] .block-default-width-margin:not(:first-of-type),
1958    [id="_index_4_blocks"] .block-not-first-margin {
1959      margin-left: 10px !important;
1960    }
1961  }
1962
1963  @media (max-width: 991px) {
1964    [id="_index_4_blocks"] {
1965      margin: 0 0px 24px !important;
1966    }
1967    [id="_index_4_blocks"] > .qk-display--flex.qk-flex--wrap {
1968      gap: 10px;
1969      justify-content: flex-start;
1970    }
1971    [id="_index_4_blocks"] .block {
1972      flex: 0 0 calc((100% - (1 - 1) * 10px) / 1);
1973    }
1974  }
1975
1976  .video-block-loading {
1977    background-color: #eeee;
1978    position: absolute;
1979    top: 0;
1980    bottom: 0;
1981    left: 0;
1982    width: 100%;
1983    height: 100%;
1984  }
1985</style>
1986
1987<script>
1988
1989  $(document).ready(function() {
1990    let isDynamicLoading = false;
1991    if (isDynamicLoading) {
1992      window.DynamicLoading.setupComponent({
1993          sectionId:'_index_4_blocks',
1994          componentType:'liquid',
1995        });
1996    }
1997    
1998      
1999    
2000      
2001    
2002      
2003    
2004  })
2005</script>
2005
2006
2007<script>
2008  function buildYoutubeEmbedUrl(url, options) {
2009    const YT_REGEX = /^.*(youtu\.be\/|v\/|u\/\w\/|embed\/|watch\?v=|&v=|shorts\/)([^#&?]*).*/;
2010    const match = (url || '').match(YT_REGEX);
2011    const videoId = match && match[2].length === 11 ? match[2] : '';
2012
2013    if (!videoId) {
2014      return '';
2015    }
2016
2017    const autoPlay = options && options.autoPlay;
2018    const hideControls = options && options.hideControls;
2019    const loop = options && options.loop;
2020
2021    const searchParams = new URLSearchParams();
2022
2023    searchParams.set('autoplay', autoPlay ? '1' : '0');
2024    // 若自動播放,預設靜音以符合瀏覽器限制
2025    searchParams.set('mute', autoPlay ? '1' : '0');
2026    searchParams.set('playsinline', '1');
2027
2028    searchParams.set('controls', hideControls ? '0' : '1');
2029    searchParams.set('rel', '0');
2030
2031    if (loop) {
2032      searchParams.set('loop', '1');
2033      searchParams.set('playlist', videoId);
2034    }
2035
2036    return 'https://www.youtube.com/embed/' + videoId + '?' + searchParams.toString();
2037  }
2038
2039  function parseYtUrlOnLoad(target, url, autoPlay, hideControls, loop) {
2040    const finalUrl = buildYoutubeEmbedUrl(url, {
2041      autoPlay: autoPlay,
2042      hideControls: hideControls,
2043      loop: loop,
2044    });
2045
2046    if (!finalUrl || target.src === finalUrl) {
2047      return;
2048    }
2049
2050    const handleVideoLoad = function () {
2051      try {
2052        const wrapper = $(target).closest('.embed-responsive')[0];
2053        if (wrapper) {
2054          // 關閉 loading skeleton
2055          const loading = wrapper.querySelector('.video-block-loading');
2056          if (loading) {
2057            loading.style.display = 'none';
2058          }
2059        }
2060      } catch (e) {
2061        console.error('iframe onload 處理失敗', e);
2062      } finally {
2063        target.removeEventListener('load', handleVideoLoad);
2064      }
2065    };
2066
2067    target.addEventListener('load', handleVideoLoad);
2068
2069    target.src = finalUrl;
2070    if (hideControls && autoPlay) {
2071      target.style.pointerEvents = 'none';
2072    }
2073
2074    // 判斷是不是 YouTube shorts,決定要不要加上 .short-youtube class
2075    try {
2076      const isShort = (url || '').indexOf('/shorts/') !== -1;
2077      if (isShort) {
2078        const wrapper = $(target).closest('.embed-responsive')[0];
2079        if (wrapper) {
2080          wrapper.classList.add('short-youtube');
2081        }
2082      }
2083    } catch (e) {
2084      console.error('isShort 判斷失敗', e);
2085    }
2086  }
2087
2088
2089  window.addEventListener('load', function () {
2090    const sectionEl = document.getElementById('_index_4_blocks');
2091    if (!sectionEl) return;
2092
2093    const options = {
2094      threshold: 0.25,
2095    };
2096
2097    
2098      
2099    
2100      
2101    
2102      
2103    
2104  });
2105</script>
2105
2106
2107<section id="_index_4_blocks" class="index-4-blocks">
2108  <div class="qk-display--flex qk-flex--wrap">
2109    
2110    
2111      
2112      
2113      <div class="block image mobile-1-col last-row" style="width: calc(33.3% - 6.66px);">
2114        
2115            <div class="img-card" id="index_4_blocks_block_1">
2116              
2117              
2118                
2119                  <img
2120                    src="//cdn-general.cybassets.com/theme_src/i18n_nolli/default_img/index_4_blocks_1_block_1.png"
2121                    class="qk-w--100 qk-hidden--mobile"
2122                    alt=""
2123                  >
2124                
2125              
2126              
2127                
2128                  <img
2129                    src="//cdn-general.cybassets.com/theme_src/i18n_nolli/default_img/index_4_blocks_1_block_1.png"
2130                    class="qk-w--100 qk-display--bk qk-hidden--phone qk-hidden--pc"
2131                    alt=""
2132                  >
2133                
2134              
2135              
2136                
2137                  <img
2138                    src="//cdn-general.cybassets.com/theme_src/i18n_nolli/default_img/index_4_blocks_1_block_1.png"
2139                    class="qk-w--100 qk-display--bk qk-hidden--pc qk-hidden--tablet"
2140                    alt=""
2141                  >
2142                
2143              
2144              
2145              <div class="advance-rich-text-content-container">
2146                
2147              </div>
2148            </div>
2149          
2150      </div>
2151    
2152      
2153      
2154      <div class="block image mobile-1-col block-not-first-margin last-row" style="width: calc(33.3% - 6.66px);">
2155        
2156            <div class="img-card" id="index_4_blocks_block_2">
2157              
2158              
2159                
2160                  <img
2161                    src="//cdn-general.cybassets.com/theme_src/i18n_nolli/default_img/index_4_blocks_1_block_2.png"
2162                    class="qk-w--100 qk-hidden--mobile"
2163                    alt=""
2164                  >
2165                
2166              
2167              
2168                
2169                  <img
2170                    src="//cdn-general.cybassets.com/theme_src/i18n_nolli/default_img/index_4_blocks_1_block_2.png"
2171                    class="qk-w--100 qk-display--bk qk-hidden--phone qk-hidden--pc"
2172                    alt=""
2173                  >
2174                
2175              
2176              
2177                
2178                  <img
2179                    src="//cdn-general.cybassets.com/theme_src/i18n_nolli/default_img/index_4_blocks_1_block_2.png"
2180                    class="qk-w--100 qk-display--bk qk-hidden--pc qk-hidden--tablet"
2181                    alt=""
2182                  >
2183                
2184              
2185              
2186              <div class="advance-rich-text-content-container">
2187                
2188              </div>
2189            </div>
2190          
2191      </div>
2192    
2193      
2194      
2195      <div class="block image mobile-1-col block-not-first-margin last-row" style="width: calc(33.3% - 6.66px);">
2196        
2197            <div class="img-card" id="index_4_blocks_block_3">
2198              
2199              
2200                
2201                  <img
2202                    src="//cdn-general.cybassets.com/theme_src/i18n_nolli/default_img/index_4_blocks_1_block_3.png"
2203                    class="qk-w--100 qk-hidden--mobile"
2204                    alt=""
2205                  >
2206                
2207              
2208              
2209                
2210                  <img
2211                    src="//cdn-general.cybassets.com/theme_src/i18n_nolli/default_img/index_4_blocks_1_block_3.png"
2212                    class="qk-w--100 qk-display--bk qk-hidden--phone qk-hidden--pc"
2213                    alt=""
2214                  >
2215                
2216              
2217              
2218                
2219                  <img
2220                    src="//cdn-general.cybassets.com/theme_src/i18n_nolli/default_img/index_4_blocks_1_block_3.png"
2221                    class="qk-w--100 qk-display--bk qk-hidden--pc qk-hidden--tablet"
2222                    alt=""
2223                  >
2224                
2225              
2226              
2227              <div class="advance-rich-text-content-container">
2228                
2229              </div>
2230            </div>
2231          
2232      </div>
2233    
2234  </div>
2235</section>
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/_index_4_blocks-4a1e7dfec7e41476.css' rel='stylesheet' type='text/css' media='all' />
2250<script src='//cdn-general.cybassets.com/frontend/shop/productDisplay-4a1e7dfec7e41476.js' type='text/javascript'></script>
2250
2251
2252<style>
2253  [id="1680063739968_4"] {
2254    margin: 0 0px 50px !important;
2255  }
2256
2257  @media (min-width: 992px) {
2258    [id="1680063739968_4"] .block:not(.last-row) {
2259      margin-bottom: 10px !important;
2260    }
2261    [id="1680063739968_4"] .block-default-width-margin:not(:first-of-type),
2262    [id="1680063739968_4"] .block-not-first-margin {
2263      margin-left: 10px !important;
2264    }
2265  }
2266
2267  @media (max-width: 991px) {
2268    [id="1680063739968_4"] {
2269      margin: 0 0px 50px !important;
2270    }
2271    [id="1680063739968_4"] > .qk-display--flex.qk-flex--wrap {
2272      gap: 10px;
2273      justify-content: flex-start;
2274    }
2275    [id="1680063739968_4"] .block {
2276      flex: 0 0 calc((100% - (1 - 1) * 10px) / 1);
2277    }
2278  }
2279
2280  .video-block-loading {
2281    background-color: #eeee;
2282    position: absolute;
2283    top: 0;
2284    bottom: 0;
2285    left: 0;
2286    width: 100%;
2287    height: 100%;
2288  }
2289</style>
2290
2291<script>
2292
2293  $(document).ready(function() {
2294    let isDynamicLoading = false;
2295    if (isDynamicLoading) {
2296      window.DynamicLoading.setupComponent({
2297          sectionId:'1680063739968_4',
2298          componentType:'liquid',
2299        });
2300    }
2301    
2302      
2303    
2304  })
2305</script>
2305
2306
2307<script>
2308  function buildYoutubeEmbedUrl(url, options) {
2309    const YT_REGEX = /^.*(youtu\.be\/|v\/|u\/\w\/|embed\/|watch\?v=|&v=|shorts\/)([^#&?]*).*/;
2310    const match = (url || '').match(YT_REGEX);
2311    const videoId = match && match[2].length === 11 ? match[2] : '';
2312
2313    if (!videoId) {
2314      return '';
2315    }
2316
2317    const autoPlay = options && options.autoPlay;
2318    const hideControls = options && options.hideControls;
2319    const loop = options && options.loop;
2320
2321    const searchParams = new URLSearchParams();
2322
2323    searchParams.set('autoplay', autoPlay ? '1' : '0');
2324    // 若自動播放,預設靜音以符合瀏覽器限制
2325    searchParams.set('mute', autoPlay ? '1' : '0');
2326    searchParams.set('playsinline', '1');
2327
2328    searchParams.set('controls', hideControls ? '0' : '1');
2329    searchParams.set('rel', '0');
2330
2331    if (loop) {
2332      searchParams.set('loop', '1');
2333      searchParams.set('playlist', videoId);
2334    }
2335
2336    return 'https://www.youtube.com/embed/' + videoId + '?' + searchParams.toString();
2337  }
2338
2339  function parseYtUrlOnLoad(target, url, autoPlay, hideControls, loop) {
2340    const finalUrl = buildYoutubeEmbedUrl(url, {
2341      autoPlay: autoPlay,
2342      hideControls: hideControls,
2343      loop: loop,
2344    });
2345
2346    if (!finalUrl || target.src === finalUrl) {
2347      return;
2348    }
2349
2350    const handleVideoLoad = function () {
2351      try {
2352        const wrapper = $(target).closest('.embed-responsive')[0];
2353        if (wrapper) {
2354          // 關閉 loading skeleton
2355          const loading = wrapper.querySelector('.video-block-loading');
2356          if (loading) {
2357            loading.style.display = 'none';
2358          }
2359        }
2360      } catch (e) {
2361        console.error('iframe onload 處理失敗', e);
2362      } finally {
2363        target.removeEventListener('load', handleVideoLoad);
2364      }
2365    };
2366
2367    target.addEventListener('load', handleVideoLoad);
2368
2369    target.src = finalUrl;
2370    if (hideControls && autoPlay) {
2371      target.style.pointerEvents = 'none';
2372    }
2373
2374    // 判斷是不是 YouTube shorts,決定要不要加上 .short-youtube class
2375    try {
2376      const isShort = (url || '').indexOf('/shorts/') !== -1;
2377      if (isShort) {
2378        const wrapper = $(target).closest('.embed-responsive')[0];
2379        if (wrapper) {
2380          wrapper.classList.add('short-youtube');
2381        }
2382      }
2383    } catch (e) {
2384      console.error('isShort 判斷失敗', e);
2385    }
2386  }
2387
2388
2389  window.addEventListener('load', function () {
2390    const sectionEl = document.getElementById('1680063739968_4');
2391    if (!sectionEl) return;
2392
2393    const options = {
2394      threshold: 0.25,
2395    };
2396
2397    
2398      
2399      {
2400        const target = sectionEl.querySelector('#video-block-1680063739971_1');
2401
2402        if (!target) {
2403          return;
2404        }
2405
2406        const callback = (entries, observer) => {
2407          entries.forEach(entry => {
2408            if (entry.isIntersecting) {
2409              const iframe = target.querySelector('iframe');
2410              parseYtUrlOnLoad(
2411                iframe,
2412                'https://youtu.be/BehdoVBymKk&loop=1&autoplay=1&mute=1',
2413                true,
2414                false,
2415                true
2416              );
2417
2418              observer.unobserve(entry.target);
2419            }
2420          });
2421        };
2422
2423        const observer = new IntersectionObserver(callback, options);
2424        observer.observe(target);
2425      }
2426      
2427    
2428  });
2429</script>
2429
2430
2431<section id="1680063739968_4" class="index-4-blocks">
2432  <div class="qk-display--flex qk-flex--wrap">
2433    
2434    
2435      
2436      
2437      <div class="block video mobile-1-col last-row" style="width: calc(100% - 0.0px);">
2438        
2439            
2440            <div class="embed-responsive only-video" id="video-block-1680063739971_1">
2441              <iframe
2442                frameborder="0"
2443                allowfullscreen
2444                allow="autoplay; encrypted-media"
2445              ></iframe>
2446              
2447                <div class="video-block-loading" >
2448                </div>
2449              
2450            </div>
2451          
2452      </div>
2453    
2454  </div>
2455</section>
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/_index_4_blocks-4a1e7dfec7e41476.css' rel='stylesheet' type='text/css' media='all' />
2470<script src='//cdn-general.cybassets.com/frontend/shop/productDisplay-4a1e7dfec7e41476.js' type='text/javascript'></script>
2470
2471
2472<style>
2473  [id="1680063869940_4"] {
2474    margin: 0 0px 50px !important;
2475  }
2476
2477  @media (min-width: 992px) {
2478    [id="1680063869940_4"] .block:not(.last-row) {
2479      margin-bottom: 10px !important;
2480    }
2481    [id="1680063869940_4"] .block-default-width-margin:not(:first-of-type),
2482    [id="1680063869940_4"] .block-not-first-margin {
2483      margin-left: 10px !important;
2484    }
2485  }
2486
2487  @media (max-width: 991px) {
2488    [id="1680063869940_4"] {
2489      margin: 0 0px 40px !important;
2490    }
2491    [id="1680063869940_4"] > .qk-display--flex.qk-flex--wrap {
2492      gap: 10px;
2493      justify-content: flex-start;
2494    }
2495    [id="1680063869940_4"] .block {
2496      flex: 0 0 calc((100% - (1 - 1) * 10px) / 1);
2497    }
2498  }
2499
2500  .video-block-loading {
2501    background-color: #eeee;
2502    position: absolute;
2503    top: 0;
2504    bottom: 0;
2505    left: 0;
2506    width: 100%;
2507    height: 100%;
2508  }
2509</style>
2510
2511<script>
2512
2513  $(document).ready(function() {
2514    let isDynamicLoading = false;
2515    if (isDynamicLoading) {
2516      window.DynamicLoading.setupComponent({
2517          sectionId:'1680063869940_4',
2518          componentType:'liquid',
2519        });
2520    }
2521    
2522      
2523    
2524  })
2525</script>
2525
2526
2527<script>
2528  function buildYoutubeEmbedUrl(url, options) {
2529    const YT_REGEX = /^.*(youtu\.be\/|v\/|u\/\w\/|embed\/|watch\?v=|&v=|shorts\/)([^#&?]*).*/;
2530    const match = (url || '').match(YT_REGEX);
2531    const videoId = match && match[2].length === 11 ? match[2] : '';
2532
2533    if (!videoId) {
2534      return '';
2535    }
2536
2537    const autoPlay = options && options.autoPlay;
2538    const hideControls = options && options.hideControls;
2539    const loop = options && options.loop;
2540
2541    const searchParams = new URLSearchParams();
2542
2543    searchParams.set('autoplay', autoPlay ? '1' : '0');
2544    // 若自動播放,預設靜音以符合瀏覽器限制
2545    searchParams.set('mute', autoPlay ? '1' : '0');
2546    searchParams.set('playsinline', '1');
2547
2548    searchParams.set('controls', hideControls ? '0' : '1');
2549    searchParams.set('rel', '0');
2550
2551    if (loop) {
2552      searchParams.set('loop', '1');
2553      searchParams.set('playlist', videoId);
2554    }
2555
2556    return 'https://www.youtube.com/embed/' + videoId + '?' + searchParams.toString();
2557  }
2558
2559  function parseYtUrlOnLoad(target, url, autoPlay, hideControls, loop) {
2560    const finalUrl = buildYoutubeEmbedUrl(url, {
2561      autoPlay: autoPlay,
2562      hideControls: hideControls,
2563      loop: loop,
2564    });
2565
2566    if (!finalUrl || target.src === finalUrl) {
2567      return;
2568    }
2569
2570    const handleVideoLoad = function () {
2571      try {
2572        const wrapper = $(target).closest('.embed-responsive')[0];
2573        if (wrapper) {
2574          // 關閉 loading skeleton
2575          const loading = wrapper.querySelector('.video-block-loading');
2576          if (loading) {
2577            loading.style.display = 'none';
2578          }
2579        }
2580      } catch (e) {
2581        console.error('iframe onload 處理失敗', e);
2582      } finally {
2583        target.removeEventListener('load', handleVideoLoad);
2584      }
2585    };
2586
2587    target.addEventListener('load', handleVideoLoad);
2588
2589    target.src = finalUrl;
2590    if (hideControls && autoPlay) {
2591      target.style.pointerEvents = 'none';
2592    }
2593
2594    // 判斷是不是 YouTube shorts,決定要不要加上 .short-youtube class
2595    try {
2596      const isShort = (url || '').indexOf('/shorts/') !== -1;
2597      if (isShort) {
2598        const wrapper = $(target).closest('.embed-responsive')[0];
2599        if (wrapper) {
2600          wrapper.classList.add('short-youtube');
2601        }
2602      }
2603    } catch (e) {
2604      console.error('isShort 判斷失敗', e);
2605    }
2606  }
2607
2608
2609  window.addEventListener('load', function () {
2610    const sectionEl = document.getElementById('1680063869940_4');
2611    if (!sectionEl) return;
2612
2613    const options = {
2614      threshold: 0.25,
2615    };
2616
2617    
2618      
2619    
2620  });
2621</script>
2621
2622
2623<section id="1680063869940_4" class="index-4-blocks">
2624  <div class="qk-display--flex qk-flex--wrap">
2625    
2626    
2627      
2628      
2629      <div class="block image mobile-1-col block-default-width-margin last-row" style="width: calc(100.0% - 0.0px);">
2630        
2631            <div class="img-card" id="1680063869942_0">
2632              
2633              
2634                
2635                  <img
2636                    src="//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjgzNzg1NjI2X-WFjemBiy3pm7vohabniYguanBnLmpwZWciXV0.jpeg?sha=e4ff56310d7e71f4"
2637                    class="qk-w--100 qk-hidden--mobile"
2638                    alt=""
2639                  >
2640                
2641              
2642              
2643                
2644                  <img
2645                    src="//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjgzNzg1NjI2X-WFjemBiy3pm7vohabniYguanBnLmpwZWciXV0.jpeg?sha=e4ff56310d7e71f4"
2646                    class="qk-w--100 qk-display--bk qk-hidden--phone qk-hidden--pc"
2647                    alt=""
2648                  >
2649                
2650              
2651              
2652                
2653                  <img
2654                    src="//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjgzNzg3MDU1X-WFjemBiy3miYvmqZ_niYguanBnLmpwZWciXV0.jpeg?sha=9da5987f49564a20"
2655                    class="qk-w--100 qk-display--bk qk-hidden--pc qk-hidden--tablet"
2656                    alt=""
2657                  >
2658                
2659              
2660              
2661              <div class="advance-rich-text-content-container">
2662                
2663              </div>
2664            </div>
2665          
2666      </div>
2667    
2668  </div>
2669</section>
2670
2671
2672
2673
2674  <!-- 加入購物車 -->
2675  
2676    <!-- cyb_snippet new_addcart_modal start -->
2677<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/vue_product_modal-4a1e7dfec7e41476.css' rel='stylesheet' type='text/css' media='all' />
2678
2679<div id="new-addcart-modal" class="container">
2680  <transition name="modal">
2681    <product-modal
2682      v-if="showProductModal"
2683      :only-description="onlyDescription"
2684      :product-url="popProductUrl"
2685      :color="color"
2686      :is-collection="isCollection"
2687      :is-show-description="isShowDescription"
2688      :is-quick-buy="isQuickBuy"
2689      :selected-variant-id="selectedVariantId"
2690      :categories="categories"
2691      :call-back="checkoutAddToCartCallback"
2692      ref="productModal"
2693    >
2694    </product-modal>
2695  </transition>
2696</div>
2697
2698<!-- cyb_snippet components/product_modal/product_modal start -->
2699<script type="text/x-template" id="product-modal">
2700  <div class="modal-mask qk-h--100 qk-w--100 qk-l--0 qk-t--0 qk-pos--fixed" @click="closeModal">
2701    <div class="modal-content qk-bd--none qk-center qk-bg--theme_bg" :class="{'only-description': onlyDescription}" @click.stop>
2702      <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>
2703      <div class="modal-body custom-scrollbar qk-w--100">
2704        <div v-if="!isLoading">
2705          <div id="checkout-product" class="row">
2706            <div class="col-sm-6 col-xs-4">
2707              <photo-swiper
2708                :mediaItems="swiperItems"
2709                :current-image-index="currentImageIndex"
2710                :current-variant="currentVariant"
2711                :video-after-image="videoAfterImage"
2712              ></photo-swiper>
2713            </div>
2714            <div class="col-sm-6 col-xs-8">
2715              <h4 class="qk-fs--hd2 qk-fw--bold qk-text--heading qk-mg--0" v-html="product.title"></h4>
2716              <p class="product_brief qk-text--text qk-fs--body" v-html="product.brief"></p>
2717              <p class="product_slogan qk-text--heading qk-fs--body" v-html="product.slogan"></p>
2718              <div class="swiper_thumbnails" style="margin-bottom: 10px;">
2719                <swiper-thumbnails
2720                  :mediaItems="swiperItems"
2721                  :current-image-index="currentImageIndex"
2722                  :title="product.title"
2723                  @update-current-image-index="(thumbnailIndex) => { currentImageIndex = thumbnailIndex }"
2724                ></swiper-thumbnails>
2725              </div>
2726              
2727              <div v-if="!hidePrice" style="margin-bottom: 10px;">
2728                
2729                <span class="price-title qk-fs--body qk-fw--500 qk-text--heading">${ priceTitleTag }</span>
2730                
2731                <div>
2732                  <span v-html="variantPrice" class="variant-price qk-fs--hd1 qk-fw--bold" :class="[isDiscountPrice ? 'qk-text--discount_price' : 'qk-text--price']"></span>
2733                  <del v-html="marketPrice" class="variant-del-price qk-fs--body qk-fw--500 qk-text--text"></del>
2734                </div>
2735              </div>
2736              <div v-if="!onlyDescription" class="controls">
2737                <div class="variant-quantity qk-display--flex qk-flex--column">
2738                  <div v-if="hasVariant" class="product-variant-options">
2739                    <div v-for="(option, index) in optionInfo" class="product-variant-option" :class="{'product-variant-option--hidden': shouldHideSingleVariantOptions}">
2740                      <div class="advance variant-select-option" v-if="styledShopMenu==='dropDownType'">
2741                      
2742                        <label>${option.name}</label>
2743                        <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>
2744                        <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}`)">
2745                          <option value="null" class="select_option-hidden">Please select ${option.name}</option>
2746                          <option :style="{ visibility : isMobileSize ? 'hidden' : 'visible' }" v-for="(types) in option.types" :disabled="!types.isValid" :value="types.name">${types.name}</option>
2747                        </select>
2748                        <span class="select_placeholder-color" v-if="currentOption[`option${index + 1}`] === null" v-show="isMobileSize" @click="onClickSelectModal(option,`option${index + 1}`)">Please select ${option.name}</span>
2749                        <span v-else :value="currentOption[`option${index + 1}`]" v-show="isMobileSize" @click="onClickSelectModal(option,`option${index + 1}`)" v-html="currentOption[`option${index + 1}`]"></span>
2750                      </div>
2751                      <advance-option v-else :option-key="'option' + (index + 1)" :option="option" :current-option="currentOption" :toggle-current-option="toggleCurrentOption"/>
2752                    </div>
2753                  </div>
2754                  <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)">
2755                    <div class="list_block custom-scrollbar qk-of_x--hidden">
2756                      <h4 class="qk-text--heading qk-fs--body">Applicable Promotions
2757                      </h4>
2758                      <template v-if="displayPeriodicSalesPages">
2759                        <div v-for="salesPage in product.showableSalesPages" class="discount-list">
2760                          <span class="discount-label qk-fs--breadcrumb qk-bd--default qk-bd--accent qk-bg--white qk-display--il_bk qk-text--accent">Subscription
2761                          </span>
2762                          <a class="discount-title qk-text--accent qk-fs--body" :href="salesPage.path">${ salesPage.title }</a>
2763                        </div>
2764                      </template>
2765                      <template v-for="discounts in discountsList">
2766                        <div v-for="discount in discounts" class="discount-list">
2767                          <a v-if="discount.url" :href="discount.url" class="discount-title qk-text--accent qk-fs--body">
2768                            ${ discount.title }
2769                          </a>
2770                          <span v-else class="discount-title qk-text--accent qk-fs--body">${ discount.title }</span>
2771                        </div>
2772                      </template>
2773                    </div>
2774                  </div>
2775                  <div v-if="showPurchaseControls" class="product-quantity qk-bd--product_border" v-show="!isMobileSize">
2776                    <div class="btn-group qk-w--100" role="group" aria-label="First group">
2777                      <button class="btn add-down qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityDecrease">-</button>
2778                      <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">
2779                      <button class="btn add-up qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityIncrease">+</button>
2780                    </div>
2781                  </div>
2782                </div>
2783                <div v-if="showPurchaseControls" class="add-button-wrapper">
2784                  <!-- cyb_snippet _product_modal_button start -->
2785<button
2786  class="btn btn-default add-button qk-cursor--pointer qk-w--100 qk-btn--primary"
2787  :class="{selected: isChoose, adding: adding || isHideAddCartBtn, secondary: isSecondaryBtn, 'qk-btn--disabled': isHideAddCartBtn && isNewNnCollection, 'qk-bd--none': isHideAddCartBtn && isNewNnCollection}"
2788  type="button"
2789  :disabled="isHideAddCartBtn"
2790  @click="addProduct"
2791>
2792  ${ addCartText }
2793</button>
2794
2795<!-- cyb_snippet _product_modal_button end -->
2796                </div>
2797                <div class="product-others qk-fs--body">
2798                  <span class="product-love">
2799                    <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">
2800                      <svg
2801                        width="15"
2802                        height="15"
2803                        viewBox="0 0 24 24"
2804                        fill="none"
2805                        xmlns="http://www.w3.org/2000/svg">
2806                        <path
2807                          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"
2808                          stroke="currentColor"
2809                          stroke-width="2"
2810                          stroke-linecap="round"
2811                          stroke-linejoin="round" />
2812                      </svg>
2813                      Add to Wishlist
2814                    </a>
2815                  </span>
2816                  <span class="product_sold qk-text--text" v-if="false">
2817                    <span>Sold : 
2818                      ${ product.totalSold }
2819                      Item(s)
2820                    </span>
2821                  </span>
2822                  <span class="product_bonus qk-text--text" v-if="true">
2823                    Redeemable credit(s) per item
2824                    <span class="val qk-fw--600 qk-fs--hd2" v-if="currentVariant">${currentVariant.maxUsableBonus}</span>
2825                    <span class="val qk-fw--600 qk-fs--hd2" v-else>${maxUsableBonus}</span>
2826                    credit(s)
2827                    <span v-html="bonusToPrice"/>
2828                  </span>
2829                </div>
2830                <div class='product_limit_buy qk-fs--body' v-show="product.minBuy > 0 || product.limitBuy > 0">
2831                  ${limitBuyText}
2832                </div>
2833              </div>
2834            </div>
2835          </div>
2836          <div v-if="isShowDescription" class="row">
2837            <div class="col-sm-12">
2838              
2839                <div v-if="product.bodyHtml">
2840                  <h5 class="section-heading qk-bd--heading qk-fs--hd2 qk-text--heading">
2841                    Description
2842                  </h5>
2843                  <div class="ckeditor">
2844                    <div v-html="product.bodyHtml"></div>
2845                  </div>
2846                </div>
2847              
2848              
2849                <div v-if="otherDescriptions['product_description_section_spec']">
2850                  <h5 class="section-heading qk-bd--heading qk-fs--hd2 qk-text--heading">
2851                    Specification
2852                  </h5>
2853                  <div class="ckeditor">
2854                    <div v-html="otherDescriptions['product_description_section_spec']"></div>
2855                  </div>
2856                </div>
2857              
2858              
2859            </div>
2860          </div>
2861        </div>
2862        <div v-show="isLoading" style="text-align: center; padding-bottom: 20px;">
2863          <i class="fas fa-spinner fa-spin fa-fw fa-2x"></i>
2864        </div>
2865      </div>
2866        <!-- cyb_snippet _product_modal_button_mobile start -->
2867 <div
2868  v-if="showPurchaseControls"
2869  v-show="isMobileSize"
2870  class="mobile_footer"
2871  :class="{'mobile_footer-z': variantSize > 1 }">
2872        <div class="product-quantity">
2873          <div class="btn-group qk-w--100" role="group" aria-label="First group">
2874            <button class="btn add-down qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityDecrease">-</button>
2875            <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">
2876            <button class="btn add-up qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityIncrease">+</button>
2877          </div>
2878        </div>
2879        <button
2880          v-if="!isLoading && !onlyDescription"
2881          class="btn btn-mobile add-button qk-btn qk-btn--primary qk-btn--lg"
2882          :class="{selected: isChoose, adding: adding || isHideAddCartBtn, 'qk-btn--disabled': isHideAddCartBtn && isNewNnCollection, 'qk-bd--none': isHideAddCartBtn && isNewNnCollection}"
2883          type="button"
2884          :disabled="isHideAddCartBtn"
2885          @click="addProduct">
2886            ${ addCartText }
2887        </button>
2888</div>
2889<div
2890  class="mobile-modal"
2891  :class="{ 'modal-open': isModalSelectShow && isMobileSize }">
2892        <div class="mobile_modal-content">
2893          <div class="modal_close-button">
2894            <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>
2895          </div>
2896          
2897          <p>Please select ${modalOption.name}</p>
2898          <div class="modal_select-templete qk-display--flex qk-of_y--auto qk-w--100">
2899            <div class="options-container">
2900              <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>
2901            </div>
2902          </div>
2903          <div v-if="variantSize > 1" class="modal_select_footer qk-display--flex">
2904            <button type="button" class="modal_cancel qk-bd--default qk-btn--secondary qk-bd--button qk-text--button" @click="onChangeModalSelect(false,false)">Cancel</button>
2905            <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)">Finish</button>
2906          </div>
2907        </div>
2908</div>
2909
2910<!-- cyb_snippet _product_modal_button_mobile end -->
2911    </div>
2912  </div>
2913</script>
2913
2914
2915<!-- cyb_snippet components/product_modal/color_image_option start -->
2916<script id="color-image-option" type="text/x-template">
2917  <div class="color-image qk-display--flex qk-flex--wrap qk-align--center">
2918    <div class="title">Color</div>
2919    <div
2920      v-for="(imageColor, index) in imageColors"
2921      :class="{
2922        'focus': !currentOption[optionKey] === option.types[index].name && currentImageIndex === index,
2923        'selected': currentOption[optionKey] === option.types[index].name,
2924        'disabled': !option.types[index].isValid
2925      }"
2926      class="image-option img-flex qk-bd--default qk-bd--transparent qk-display--block qk-pos--rel"
2927      @mouseleave="setCurrentImageIndex(index)"
2928      @mouseover="getOptionImageIndex(index)"
2929      @click="setOption(optionKey, index)"
2930    >
2931      <img v-if="imageColor !== 'noColorImage'" :src="imageColor.large" alt="image">
2932      <img v-else src="/assets/no-image-large.png" alt="image">
2933    </div>
2934  </div>
2935</script>
2935
2936
2937<script type="text/javascript">
2938  $(document).ready(function() {
2939    window.themeHelper.productModalComponents['color-image-option'] = {
2940      template: '#color-image-option',
2941      delimiters: ['${', '}'],
2942      props: {
2943        optionKey: String,
2944        option: Object,
2945        product: Object,
2946        imageColors: Array,
2947        isChoose: Boolean,
2948        currentImageIndex: Number,
2949        setCurrentImageIndex: Function,
2950        getOptionImageIndex: Function,
2951        currentOption: Object,
2952        toggleCurrentOption: Function,
2953      },
2954      methods: {
2955        setOption: function(optionKey, index) {
2956          const type = this.option.types[index];
2957          if(type.isValid){
2958            this.toggleCurrentOption(optionKey, type.name);
2959          }
2960        }
2961      }
2962    };
2963  });
2964</script>
2964
2965
2966<!-- cyb_snippet components/product_modal/color_image_option end -->
2967<!-- cyb_snippet components/product_modal/advance_option start -->
2968<script id="advance-option" type="text/x-template">
2969  <div class="advance">
2970    <div class="title qk-text--heading qk-fs--body">${option.name}</div>
2971    <div
2972      v-for="type in option.types"
2973      :class="{
2974        'selected': currentOption[optionKey] === type.name,
2975        'disabled': !type.isValid
2976      }"
2977      @click="setOption(optionKey, type)"
2978      class="option qk-btn  qk-bd--button qk-text--button qk-pd_x--1"
2979    >
2980      ${type.name}
2981    </div>
2982  </div>
2983</script>
2983
2984
2985<script type="text/javascript">
2986  $(document).ready(function() {
2987    window.themeHelper.productModalComponents['advance-option'] = {
2988      template: '#advance-option',
2989      delimiters: ['${', '}'],
2990      props: {
2991        optionKey: String,
2992        option: Object,
2993        product: Object,
2994        currentOption: Object,
2995        toggleCurrentOption: Function,
2996      },
2997      methods: {
2998        setOption: function(optionKey, type) {
2999          if(type.isValid){
3000            this.toggleCurrentOption(optionKey, type.name);
3001          }
3002        }
3003      }
3004    };
3005  });
3006</script>
3006
3007
3008<!-- cyb_snippet components/product_modal/advance_option end -->
3009
3010<!-- cyb_snippet components/product_modal/photo_swiper start -->
3011
3012
3013<script id="photo-swiper" type="text/x-template">
3014  <div ref="photoSwiper" id="photo_swiper" class="photos swiper swiper-container">
3015    <div class="swiper-wrapper">
3016      <template v-if="hasImage">
3017        <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">
3018          <video-player v-if="item.url" :video="item"
3019            :video-poster=" !!mediaItems[firstImageIndex] ? mediaItems[firstImageIndex].large : '//cdn-general.cybassets.com/img_loading.svg' "
3020          >
3021          </video-player>
3022          <img v-else class="qk-center" :src="item.large" alt="image"/>
3023        </div>
3024      </template>
3025      <div v-else class="photo swiper-slide qk-align--center qk-display--flex qk-justify--center qk-vert--text_top three_to_four_scale">
3026        <img src="//cdn-general.cybassets.com/assets/no-image-large-2b95ea56c455be9ce081d81c14eded925df68bf8fa38809e46f6af8fcdd5f9bc.png" alt="image" />
3027      </div>
3028    </div>
3029    <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>
3030    <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>
3031
3032    <div class="photo-pagination qk-bd--default qk-bd--body qk-text--center qk-text--body qk-fs--breadcrumb qk-visible-sm">
3033        <span class="current-index qk-text--default_dark">${currentImageIndex +1 }</span><span class="pagination-slash">/</span>
3034        <span>${mediaItems.length}</span>
3035      </div>
3036  </div>
3037</script>
3037
3038
3039<script>
3040  $(document).ready(function () {
3041    window.themeHelper.productModalComponents['photo-swiper'] = {
3042      template: '#photo-swiper',
3043      delimiters: ['${', '}'],
3044      props: {
3045        mediaItems: Array,
3046        currentImageIndex: Number,
3047        currentVariant: Object,
3048        videoAfterImage: Boolean,
3049      },
3050      data: function () {
3051        return {
3052          swiper: {},
3053          swiperOption: {
3054            preventInteractionOnTransition: true,
3055            rewind: true,
3056            spaceBetween: 5,
3057            slidesPerView: 1,
3058            navigation: {
3059              nextEl: '.photo-next',
3060              prevEl: '.photo-prev'
3061            }
3062          },
3063          showBtn: true,
3064          isVariantReposition: false,
3065        }
3066      },
3067      mounted: function() {
3068        this.swiper = new Swiper('#photo_swiper', this.swiperOption);
3069        this.swiper.on('slideChange', this.slideOnChange);
3070      },
3071      watch: {
3072        currentImageIndex: function() {
3073          this.slideToIndex();
3074        },
3075        currentVariant: {
3076          immediate: true,
3077          handler: function() {
3078            this.showBtn = this.mediaItems.length > 1;
3079            this.isVariantReposition = true;
3080            this.$nextTick(() => {
3081              if (this.swiper) {
3082                this.swiper.update();
3083                this.swiper.slideToLoop(this.initialItemIndex)
3084                this.slideOnChange();
3085                this.isVariantReposition = false;
3086              }
3087            });
3088          },
3089        },
3090      },
3091      computed: {
3092        hasImage: function() {
3093          return this.mediaItems.length > 0;
3094        },
3095        hasVideo: function() {
3096          return this.mediaItems.findIndex(item => !!item.url) !== -1;
3097        },
3098        variantPhotos: function() {
3099          if (this.currentVariant?.photos?.length) {
3100            return this.currentVariant.photos;
3101          } else  {
3102            return null;
3103          }
3104        },
3105        initialItemIndex: function() {
3106          if (this.hasVideo && !this.videoAfterImage) {
3107            // Focus on photo if "variant with photos" selected, video otherwise
3108            return this.variantPhotos?.length ? 1 : 0;
3109          } else {
3110            // Focus on first photo
3111            return 0;
3112          }
3113        },
3114      },
3115      methods: {
3116        slideOnChange: function() {
3117          themeHelper.EventBus.$emit('photoOnChange', this.swiper.realIndex, this.isVariantReposition);
3118        },
3119        slideToIndex: function() {
3120          if(this.swiper.realIndex != this.currentImageIndex) {
3121            this.swiper.slideToLoop(this.currentImageIndex);
3122            this.swiper.update();
3123          }
3124        },
3125      }
3126    };
3127  });
3128</script>
3128
3129
3130
3131<!-- cyb_snippet components/product_modal/video_player start -->
3132<script id="video-player" type="text/x-template">
3133  <div class="videoPlayer__wrapper" @click="handleVideoClick">
3134    <video 
3135      id='modal-video'
3136      class="videoPlayer__video qk-cursor--pointer qk-center" 
3137      :poster="videoPoster"
3138      loop defaultMuted muted playsinline webkit-playsinline autoplay
3139    >
3140      <source :src="videoUrl" type="video/mp4">
3141      <p>Your browser does not support HTML 5 video.</p>
3142    </video>
3143    <button id="modal-video-button" class="videoPlayer__pauseButton"></button>
3144  </div>
3145</script>
3145
3146
3147<script>
3148  $(document).ready(function () {
3149    window.themeHelper.productModalComponents['video-player'] = {
3150      template: '#video-player',
3151      delimiters: ['${', '}'],
3152      props: {
3153        video: Object,
3154        videoPoster: String,
3155      },
3156      data: function() {
3157        return {
3158          videoElement: null,
3159          buttonElement: null,
3160        };
3161      },
3162      mounted: function() {
3163        this.videoElement = $('#modal-video')[0];
3164        this.buttonElement = $('#modal-video-button');
3165        this.setVideoVolumeZero();
3166        this.videoElement.addEventListener('canplay', (event) => {
3167          this.sendGtag('play');
3168        }, { once: true });
3169      },
3170      computed: {
3171        videoUrl: function() {
3172          return this.video.url;
3173        }
3174      },
3175      methods: {
3176        sendGtag: function(action) {
3177          window.productVideoView && productVideoView(action);
3178        },
3179        setVideoVolumeZero: function() {
3180          this.videoElement.volume = 0;
3181        },
3182        handleVideoClick: function() {
3183          if (this.videoElement.paused){
3184            this.videoElement.play();
3185            this.sendGtag('play');
3186          } else {
3187            this.videoElement.pause();
3188            this.sendGtag('paused');
3189          }
3190          this.handleVideoButtonDisplay(this.buttonElement, this.videoElement);
3191        },
3192        handleVideoButtonDisplay: function(button, video) {
3193          button.toggleClass('videoPlayer__playButton', video.paused);
3194          button.toggleClass('videoPlayer__pauseButton', !video.paused);
3195        },
3196      }
3197    };
3198  });
3199</script>
3199
3200
3201<!-- cyb_snippet components/product_modal/video_player end -->
3202
3203<!-- cyb_snippet components/product_modal/photo_swiper end -->
3204<!-- cyb_snippet components/product_modal/swiper_thumbnails start -->
3205<script id="swiper-thumbnails" type="text/x-template">
3206  <div
3207    v-for="(thumbnail, index) in allThumbnails"
3208    :key="index"
3209    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"
3210    :class="{ focus: index === currentImageIndex }"
3211    @mouseover="updateCurrentImageIndex(index)"
3212  >
3213    <template v-if="thumbnail.isVideo">
3214      <video class="qk-w--100 qk-h--100" :src="thumbnail.url" defaultMuted playsinline></video>
3215      <button class="videoPlayer__playButton"></button>
3216    </template>
3217    <img v-else :src="thumbnail.url" :alt="title" class="qk-w--100 qk-h--100">
3218  </div>
3219</script>
3219
3220
3221<script type="text/javascript">
3222  $(document).ready(function () {
3223    window.themeHelper.productModalComponents['swiper-thumbnails'] = {
3224      template: '#swiper-thumbnails',
3225      delimiters: ['${', '}'],
3226      props: {
3227        title: String,
3228        mediaItems: Array,
3229        currentImageIndex: Number,
3230      },
3231      emits: ['updateCurrentImageIndex'],
3232      methods: {
3233        updateCurrentImageIndex: function(thumbnailIndex) {
3234          if (thumbnailIndex !== this.currentImageIndex ) {
3235            this.$emit('updateCurrentImageIndex', thumbnailIndex);
3236          }
3237        },
3238      },
3239      mounted() {
3240        // can be removed after replacing video thumbnail with img
3241        const thumbnailVideo = $('.product-thumbnail video')[0];
3242        if (!!thumbnailVideo) {
3243          thumbnailVideo.volume = 0;
3244          const promise = thumbnailVideo.play();
3245          promise.then(() => {
3246            thumbnailVideo.pause();
3247          })
3248        }
3249      },
3250      computed: {
3251        allThumbnails: function() {
3252          return this.mediaItems.map(item => ({
3253            isVideo: !!item.url,
3254            url: item.url || item.medium
3255          }));
3256        },
3257      },
3258      watch: {
3259        allThumbnails: {
3260          handler(){
3261            this.updateCurrentImageIndex(this.currentImageIndex);
3262          }
3263        }
3264      }
3265    };
3266  });
3267</script>
3267
3268
3269<!-- cyb_snippet components/product_modal/swiper_thumbnails end -->
3270
3271
3272<!-- cyb_snippet _product_modal_js start -->
3273<script type="text/javascript">
3274  $(document).ready(function() {
3275    var categoryLevels = [];
3276    var productCategoryLevels = null;
3277    var pageMainProductId = null;
3278    window.themeHelper.productModalComponents['product-modal'] = {
3279      template: '#product-modal',
3280      delimiters: [
3281        '${', '}'
3282      ],
3283      props: {
3284        onlyDescription: Boolean,
3285        cartItems: Array,
3286        groupId: Number,
3287        productUrl: String,
3288        color: String, // unused
3289        collectionId: Number,
3290        categories: Array,
3291        // 判斷是否有色票展開
3292        isCollection: {
3293          type: Boolean,
3294          required: false,
3295          default: false,
3296        },
3297        // 判斷加入購物車的方法
3298        isNnCollection: Boolean,
3299        isNewNnCollection: Boolean,
3300        isBundleDiscount: Boolean,
3301
3302        // 判斷是否顯示商品描述
3303        isShowDescription: {
3304          type: Boolean,
3305          default: true
3306        },
3307
3308        // 判斷是否為立即購買
3309        isQuickBuy: {
3310          type: Boolean,
3311          default: false
3312        },
3313        selectedVariantId: Number,
3314        callBack: Function
3315      },
3316      data: function() {
3317        return {
3318          styledShopMenu: "dropDownType",
3319          selectOption: '',
3320          selectCurrentStr:'',
3321          isModalSelectShow: false,
3322          modalOption: {},
3323          adding: false,
3324          currentImageIndex: 0,
3325          _navState: { variantId: null, photoIndex: 0 },
3326          currentOption: {
3327            option1: null,
3328            option2: null,
3329            option3: null
3330          },
3331          currentVariant: null,
3332          variantNotifications: null,
3333          currentVariantIndex: null,
3334          product: {},
3335          isChoose: false,
3336          isLoading: true,
3337          isEmptyClickable: liquidHelper.isEmptyClickable,
3338          quantity: 1,
3339          maxUsableBonus: 0,
3340          isDiscountPrice: false,
3341          displayProductDiscountsList: true,
3342          displayPeriodicSalesPages:true,
3343          discountsList: null,
3344          hasVideoPlugin: true,
3345          videoDisplayLocation: "before",
3346          hasStockNotificationPlugin: true,
3347          isDisplayPriceRange: null,
3348          hasVariantPriceRangePlugin: true,
3349          hasHideSingleVariantOptionsPlugin: false,
3350        }
3351      },
3352      mounted: function() {
3353        this.getProductDetail();
3354        $('.custom-scrollbar').addCustomScrollbar();
3355        themeHelper.EventBus.$on('photoOnChange', this.photoOnChange);
3356      },
3357      beforeUnmount: function() {
3358        themeHelper.EventBus.$off('photoOnChange', this.photoOnChange);
3359      },
3360      computed: {
3361        photoUrls: function() {
3362          return this.product.photoUrls.length > 0
3363            ? this.product.photoUrls
3364            : [this.featuredImage];
3365        },
3366        photoUrlsMap: function() {
3367          var map = {};
3368          var urls = this.product.photoUrls;
3369          this.product.photos.forEach(function(photo, index) {
3370            map[photo.photo.id] = urls[index];
3371          });
3372
3373          return map;
3374        },
3375        featuredImage: function() {
3376          return this.product.featuredImage;
3377        },
3378        swiperPhotos: function() {
3379          if (!this.photoUrls.length) {
3380            return [this.featuredImage];
3381          }
3382
3383          if (this.currentVariant && this.currentVariant.photos.length) {
3384            var map = this.photoUrlsMap;
3385            return this.currentVariant.photos.map(function(p) {
3386              return map[p.id];
3387            });
3388          }
3389
3390          return this.photoUrls;
3391        },
3392        productVideo: function() {
3393          return this.product.video;
3394        },
3395        videoAfterImage: function() {
3396          return this.videoDisplayLocation === 'after';
3397        },
3398        swiperItems: function() {
3399          const media = [...this.swiperPhotos];
3400          if (
3401            this.hasVideoPlugin && this.productVideo.url
3402          ) {
3403            this.videoAfterImage
3404              ? media.push(this.productVideo)
3405              : media.unshift(this.productVideo);
3406          }
3407          return media;
3408        },
3409        firstImageIndex: function() {
3410          return this.hasVideoPlugin && this.productVideo.url && !this.videoAfterImage
3411            ? 1
3412            : 0
3413        },
3414        otherDescriptions: function() {
3415          var descriptions = {};
3416          this.product.otherDescriptions.forEach(function(od) {
3417            descriptions[od.settingName] = od.bodyHtml;
3418          })
3419          return descriptions
3420        },
3421        variantOptions: function() {
3422          return themeHelper.variantOptions(this.product);
3423        },
3424        firstValidVariant: function() {
3425          var self = this;
3426          var result = this.product.variants.find(function(variant) {
3427            // 增加 product modal 聯絡店家 property
3428            variant.imgUrl = "";
3429            variant.productTitle = "";
3430
3431            return variant.available;
3432          });
3433
3434          return result
3435            ? result
3436            : null;
3437        },
3438        selectedValidVariant: function() {
3439          var self = this;
3440          var result = this.variantOptions.find(function(variant) {
3441            return variant.id === self.selectedVariantId;
3442          });
3443
3444          return result
3445            ? result
3446            : null;
3447        },
3448        totalInventoryQuantity: function(product) {
3449          return themeHelper.totalInventoryQuantity(this.product)
3450        },
3451        addCartText: function() {
3452          var variants = parseInt("");
3453          let isRegisteredNotification = this.currentVariant && this.variantNotifications && this.variantNotifications[this.currentVariant.id]
3454          if (this.isNnCollection || this.isBundleDiscount) {
3455            if (this.currentVariant && !themeHelper.variantIsAvailable(this.currentVariant)) {
3456              if (this.currentVariant.inventoryPolicy === 'continue') {
3457                if (this.isNnCollection) {
3458                  return this.isChoose && !this.isNewNnCollection
3459                    ? 'Ordered'
3460                    : 'Pre-order';
3461                }
3462              } else {
3463                return 'Sold out';
3464              }
3465            }
3466            if (this.totalInventoryQuantity === 0) {
3467              return 'Sold out';
3468            }
3469            return this.isChoose && !this.isNewNnCollection
3470              ? 'Selected'
3471              : 'Select';
3472          } else {
3473            if (this.isQuickBuy) {
3474              if (this.currentVariant && !themeHelper.variantIsAvailable(this.currentVariant)) {
3475                if (this.currentVariant.inventoryPolicy === 'continue'){
3476                  return 'Order Now'
3477                }
3478                return this.hasStockNotificationPlugin
3479                  ? (isRegisteredNotification
3480                    ? 'Notification enabled'
3481                    : 'Sold out! Notify me when the product is available.')
3482                  : 'Contact Shop'
3483              }
3484              return 'BUY NOW';
3485            } else {
3486              if (this.currentVariant) {
3487                if (!themeHelper.variantIsAvailable(this.currentVariant)) {
3488                  if (this.currentVariant.inventoryPolicy === 'continue'){
3489                    return 'Pre-order'
3490                  }
3491                  return this.hasStockNotificationPlugin
3492                    ? (isRegisteredNotification
3493                      ? 'Notification enabled'
3494                      : 'Sold out! Notify me when the product is available.')
3495                    : 'Contact Shop'
3496                }
3497              } else {
3498                if (this.totalInventoryQuantity === 0) {
3499                  return 'Sold out';
3500                }
3501              }
3502              return 'ADD TO CART';
3503            }
3504          }
3505        },
3506        cartItem: function() {
3507          if (!this.currentVariant) {
3508            return null
3509          }
3510          return {
3511            id: this.currentVariant.id,
3512            groupId: this.groupId,
3513            productId: this.product.id,
3514            title: this.product.title,
3515            photo: this.currentVariant.imgUrl || this.featuredImage.large,
3516            quantity: this.quantity,
3517            price: this.currentVariant.price,
3518            variant: this.currentVariant,
3519            product: this.product
3520          }
3521        },
3522        options: function() {
3523          return this.product.options;
3524        },
3525        optionTypes: function() {
3526
3527          // 先根據設定的variants來排序
3528          var self = this;
3529
3530          var option1 = [];
3531          var option2 = [];
3532          var option3 = [];
3533          this.product.variants.forEach(function(item) {
3534            if (item.option1 !== null) {
3535              option1.push(item.option1);
3536            }
3537            if (item.option2 !== null) {
3538              option2.push(item.option2);
3539            }
3540            if (item.option3 !== null) {
3541              option3.push(item.option3);
3542            }
3543          })
3544          var filteredOptionTypes = [];
3545          this.product.optionTypes.forEach(function(item, index) {
3546            filteredOptionTypes.push(self.getUniqueVariant(eval('option' + (
3547              index + 1
3548            ))).join(','));
3549          });
3550          return filteredOptionTypes;
3551        },
3552        optionInfo: function() {
3553          var self = this;
3554
3555          return self.options.map(function(option, index) {
3556            return {
3557              name: option,
3558              types: self.getOptions('option' + (
3559                index + 1
3560              ), self.optionTypes[index].split(','))
3561            }
3562          });
3563        },
3564        hasVariant: function() {
3565          return this.product.options.length > 0;
3566        },
3567        shouldHideSingleVariantOptions: function() {
3568          return this.hasHideSingleVariantOptionsPlugin &&
3569                 this.product.variants &&
3570                 this.product.variants.length <= 1;
3571        },
3572        variantSize: function() {
3573          if(this.product.options){
3574          return this.product.options.length;
3575          }
3576        },
3577        firstVariant: function() {
3578          return this.product.variants[0];
3579        },
3580        firstCheapestVariant: function() {
3581          return this.product.variants.find((v)=> (v.price === this.priceStats.minPrice));
3582        },
3583        priceStats: function() {
3584          return this.product.variants.reduce(function(acc, variant) {
3585            return {
3586              minPrice: variant.price < acc.minPrice ? variant.price : acc.minPrice,
3587              maxPrice: variant.price > acc.maxPrice ? variant.price : acc.maxPrice,
3588            };
3589          }, {
3590            minPrice: this.firstVariant.price,
3591            maxPrice: this.firstVariant.price,
3592          });
3593        },
3594        hidePrice: function() {
3595          return this.product && this.product.hidePrice === true;
3596        },
3597        salesModePurchasable: function() {
3598          return !(this.product && this.product.salesModePurchasable === false);
3599        },
3600         // - 任選折扣/紅配綠:「選擇」只是加進試算清單,不會直接下單,故只擋藏價商品
3601        // - 其他情境(商品頁、群組頁、多層級分類、搜尋、首頁商品區塊):不可購買(含藏價)就整組收掉
3602        showPurchaseControls: function() {
3603          if (this.isNnCollection || this.isBundleDiscount) {
3604            return !this.hidePrice;
3605          }
3606          return this.salesModePurchasable;
3607        },
3608        variantPrice: function() {
3609          if (this.hidePrice) {
3610            return '';
3611          }
3612          var from = liquidHelper.defaultCurrency;
3613          if (this.currentVariant) {
3614            return moneySymbol(this.currentVariant.price, from);
3615          }
3616          if (this.product.variants.length === 1) {
3617            return moneySymbol(this.firstVariant.price, from);
3618          }
3619
3620          var minPrice = this.priceStats.minPrice;
3621          var maxPrice = this.priceStats.maxPrice;
3622
3623          if (minPrice !== maxPrice && (!this.hasVariantPriceRangePlugin || this.isDisplayPriceRange)) {
3624            this.isDiscountPrice = false;
3625            return moneySymbol(minPrice, from) + '~' + moneySymbol(maxPrice, from);
3626          } else {
3627            return moneySymbol(minPrice, from);
3628          }
3629        },
3630        marketPrice: function() {
3631          if (this.hidePrice) {
3632            this.isDiscountPrice = false;
3633            return;
3634          }
3635          var from = liquidHelper.defaultCurrency;
3636          if (this.currentVariant) {
3637            this.isDiscountPrice = false;
3638            if (this.currentVariant.compareAtPrice && this.currentVariant.compareAtPrice > this.currentVariant.price) {
3639              this.isDiscountPrice = true;
3640              return moneySymbol(this.currentVariant.compareAtPrice, from);
3641            }
3642          } else {
3643            if (!_.includes(this.variantPrice, '~')) {
3644              const price =  Number(this.variantPrice.replace(/[^0-9.
3644-]/g, ""))
3645              // 未選擇款式也不顯示區間時,顯示第一個最便宜的款式的定價
3646              if (this.firstCheapestVariant.compareAtPrice && this.firstCheapestVariant.compareAtPrice > price){
3647                this.isDiscountPrice = true;
3648                return moneySymbol(this.firstCheapestVariant.compareAtPrice, from);
3649              }
3650              // 未選擇款式時要改回一般價格顏色
3651              this.isDiscountPrice = false;
3652            }
3653          }
3654        },
3655        isShowDropdownList: function() {
3656          if (this.product.options.length > 0) {
3657            return true;
3658          }
3659          return this.product.variants.length > 1
3660        },
3661        priceTitleTag: function() {
3662          return this.marketPrice
3663            ? getDiscountPriceName()
3664            : getDiscountPriceSuggestionName();
3665        },
3666        isHideAddCartBtn: function() {
3667          if (this.addCartText === 'Sold out') {
3668            return true;
3669          }
3670          return false;
3671        },
3672        isSecondaryBtn: function() {
3673          if (this.addCartText === 'Contact Shop') {
3674            return true;
3675          }
3676          return false;
3677        },
3678        variantsMaxUsableBonus: function() {
3679          var variants = this.product.variants;
3680          var maxUsableBonusArray = variants.map(function(item) {
3681            return item.maxUsableBonus
3682          });
3683          return Math.max.apply(null, maxUsableBonusArray);
3684        },
3685        bonusToPrice: function() {
3686          const bonus = this.currentVariant
3687            ? this.currentVariant.maxUsableBonus
3688            : this.maxUsableBonus;
3689          const price = Math.floor(bonus / window.liquidHelper.conversionBonus);
3690          const priceWithMoney = window.themeHelper.productDisplayCurrencyBlock(price);
3691          return "equivalent to value".replace('value', priceWithMoney);
3692        },
3693        isMobileSize: function() {
3694          return window.innerWidth <= 580
3695        },
3696        limitBuyText: function () {
3697          const minCount = this.product.minBuy;
3698          const maxCount = this.product.limitBuy;
3699          if (minCount > 0 && maxCount > 0) {
3700            return 'For this product, each order requires a minimum purchase of minCount units and allows a maximum purchase of maxCount units.'.replace('minCount', minCount).replace('maxCount', maxCount);
3701          }
3702          if (minCount > 0) {
3703            return 'This product requires a minimum order of minCount pieces per order'.replace('minCount', minCount);
3704          }
3705          if (maxCount > 0) {
3706            return 'For this product, each order allows a maximum purchase of maxCount units.'.replace('maxCount', maxCount);
3707          }
3708          return '';
3709        }
3710      },
3711      methods: {
3712        onClickSelectModal: function(objData, selectOptionStr) {
3713          this.isModalSelectShow = true;
3714          this.modalOption = objData;
3715          this.selectOption = selectOptionStr
3716          this.selectCurrentStr = this.currentOption && (String(this.currentOption[selectOptionStr]) || null)
3717        },
3718        onChangeModalSelect: function(flag, isSelect) {
3719          if(!isSelect){
3720            this.setOption(this.selectOption,this.selectCurrentStr,this.modalOption.types)
3721          }
3722          this.isModalSelectShow = flag;
3723        },
3724        setOption: function(optionKey, type, dataArr) {
3725          let flag = true
3726          dataArr.forEach(item => {
3727            if (item.name === type) {
3728              flag = item.isValid
3729            }
3730          })
3731          if (flag) {
3732            this.toggleCurrentOption(optionKey, type)
3733          }
3734        },
3735        addToWishListEvent: function() {
3736          try {
3737            if (appMarketAddToWishListEvent) {
3738              var product = this.product;
3739              var currentVariant = this.currentVariant
3740              var element = $(`.btn[data-id=${product.id}]`);
3741              var index;
3742              var listName;
3743              if (element) {
3744                index = element.data('position')
3745                listName = element.data('list')
3746              }
3747              // sku_properties:選中款式的 option pairs(當前語系),類型名 zip 值
3748              var optionValues = [currentVariant.option1, currentVariant.option2, currentVariant.option3];
3749              var properties = [];
3750              (product.options || []).forEach(function(optionName, i) {
3751                if (optionName && optionValues[i]) {
3752                  properties.push({ name: optionName, value: optionValues[i] });
3753                }
3754              });
3755              var dataSet = {
3756                name: product.title,
3757                category: product.productType,
3758                categories: (this.categories && this.categories.length) ? this.categories : (categoryLevels.length ? categoryLevels : (product.id === pageMainProductId ? productCategoryLevels : undefined)),
3759                sku: currentVariant.sku,
3760                price: currentVariant.price,
3761                compare_at_price: currentVariant.compareAtPrice,
3762                properties: properties,
3763                quantity: currentVariant.inventoryQuantity,
3764                variant: currentVariant.title,
3765                listName: listName || null,
3766                productId: product.id,
3767                variantId: currentVariant.id,
3768                index: Number(index) || 0,
3769              }
3770              appMarketAddToWishListEvent(dataSet)
3771            }
3772          } catch (e) {
3773            console.error(e)
3774          }
3775        },
3776        addWishList: function() {
3777          if (this.currentVariant === null) {
3778            window.msg('Please select product specifications', 'warning').show();
3779            return;
3780          }
3781          var productVariantId = this.currentVariant.id;
3782          var addToWishListEvent = this.addToWishListEvent
3783          $.ajax({
3784            method: 'POST',
3785            url: '/tracking_items',
3786            dataType: 'json',
3787            data: {
3788              product_variant_id: productVariantId
3789            },
3790            success: function(response) {
3791              if (response.message) {
3792                window.msg(response.message, 'success').show();
3793                addToWishListEvent()
3794              }
3795
3796              if (response.error) {
3797                window.msg(response.error, 'error').show();
3798
3799              }
3800              if (response.info) {
3801                window.msg(response.info, 'info').show();
3802              }
3803              if (response.success === false) {
3804                if (window.liquidHelper && window.liquidHelper.language && window.liquidHelper.language.handle) {
3805                  window.location = "/" + window.liquidHelper.language.handle + "/account/login";
3806                } else {
3807                  window.location = "/account/login";
3808                }
3809              }
3810            }
3811          });
3812        },
3813        setChoose: function(currentVariant) {
3814          this.maxUsableBonus = 0;
3815          var quantity = 1;
3816          var cartItem = null;
3817          if (!this.isNnCollection && this.cartItems) {
3818            cartItem = this.normalGetChoosenItem(currentVariant);
3819          }
3820          if (this.isNnCollection) {
3821            cartItem = this.nnCollectionGetChoosenItem(currentVariant);
3822          }
3823          this.isChoose = !! cartItem;
3824          if (this.isNewNnCollection) {
3825            return
3826          }
3827          this.quantity = cartItem
3828            ? cartItem.quantity
3829            : this.quantity;
3830
3831          // product modal 聯絡店家情境
3832          if (currentVariant) {
3833            var photoIndex = 0;
3834            if (! currentVariant.imgUrl) {
3835              currentVariant.imgUrl = this.swiperPhotos.length > 0
3836                ? (this.swiperPhotos[photoIndex] && this.swiperPhotos[photoIndex].large)
3837                : this.featuredImage.large;
3838            }
3839            currentVariant.productTitle = this.product.title + ' - ' + this.currentVariant.title;
3840          }
3841        },
3842        normalGetChoosenItem: function(currentVariant) {
3843          return this.cartItems.find(function(cartItem) {
3844            return currentVariant && cartItem.id === currentVariant.id;
3845          });
3846        },
3847        nnCollectionGetChoosenItem: function(currentVariant) {
3848          var isSelected = null;
3849          if (! currentVariant) {
3850            return isSelected;
3851          }
3852          if (this.isNewNnCollection) {
3853            var cart = store.get(`SpecialCollectionCart_${this.collectionId}`);
3854            isSelected = cart && cart.find((item) => item.variant_id == currentVariant.id) || null;
3855          } else {
3856            store.each(function(value, key) {
3857              var productId = _.includes(key, 'Pro' + currentVariant.productId);
3858              var variantID = _.includes(key, 'Var' + currentVariant.id);
3859              if (productId && variantID) {
3860                isSelected = store.get(key);
3861              }
3862            });
3863          }
3864
3865          return isSelected;
3866        },
3867        // get product detail
3868        getProductDetail: function() {
3869          var self = this;
3870
3871          $.ajax({
3872            url: self.productUrl + '.json',
3873            type: 'GET',
3874            timeout: 30000,
3875            beforeSend: function() {
3876              self.isLoading = true;
3877            },
3878            error: function(xhr) {
3879              self.closeModal();
3880              if (xhr.status === 429) {
3881                window.showAddCartRateLimitModal(5);
3882                return;
3883              }
3884              window.msg('Network error, please try again later', 'error').show();
3885            }
3886          }).done(function(data) {
3887            if (data.id) {
3888              var productData = [themeHelper.toCamelCase(data)];
3889              self.product = themeHelper.priceWithDiscount(productData, liquidHelper.hasPriceWithDiscountPlugin)[0];
3890              self.maxUsableBonus = self.variantsMaxUsableBonus;
3891              if (self.product.variants.length === 1 || liquidHelper.isFirstVariantSelected || self.selectedVariantId) {
3892                self.currentVariant = self.firstValidVariant;
3893                // 如果已經自選商品,則商品頁下滑加入購物車顯示自選商品
3894                if (self.selectedVariantId) {
3895                  self.currentVariant = self.selectedValidVariant;
3896                }
3897                if (self.currentVariant) {
3898                  self.setChoose(self.currentVariant);
3899                  self.setDefaultOption();
3900                }
3901              }
3902              if (self.displayProductDiscountsList) {
3903                self.setUpDiscountsTag(data);
3904              }
3905              self.isLoading = false;
3906              if (self.product && self.product.variants) {
3907                self.product.variants.forEach(function(discountedVariant) {
3908                  var rawVariant = data.variants.find(function(v) { return v.id === discountedVariant.id; });
3909                  if (rawVariant) { rawVariant.price = discountedVariant.price; }
3910                });
3911              }
3912              viewItem && viewItem(data, { collectionId: '', collectionName: null, categories: (self.categories && self.categories.length) ? self.categories : (categoryLevels.length ? categoryLevels : (data.id === pageMainProductId ? productCategoryLevels : undefined)) });
3913
3914              (function() {
3915                // Read login status from cacheable, skip GET /pv_notification if not login.
3916                if (window.store && window.store.get('customer')) {
3917                  var cacheableCustomer = window.store.get('customer');
3918                  if (cacheableCustomer.notLogin) {
3919                    return;
3920                  }
3921                }
3922                $.ajax({
3923                  url: '/pv_notification',
3924                  method: 'GET',
3925                  dataType: 'json',
3926                  data: {
3927                    product_id: parseInt(data.id)
3928                  },
3929                  success: function(response) {
3930                    self.variantNotifications = response.variants;
3931                  }
3932                })
3933              })();
3934            } else {
3935              window.msg('Network error, please try again later', 'error').show();
3936              self.closeModal()
3937            }
3938          })
3939        },
3940        // product image btn
3941        photoOnChange: function(photoIndex, isVariantReposition) {
3942          var visiblePhotos = (this.currentVariant && this.currentVariant.photos.length)
3943            ? this.currentVariant.photos
3944            : this.product.photos.map(function(p) { return p.photo; });
3945          var result = themeHelper.buildNavigateItemImagePayload(this._navState, {
3946            product: this.product,
3947            currentVariant: this.currentVariant,
3948            visiblePhotos: visiblePhotos,
3949            slideIndex: photoIndex,
3950            videoOffset: this.firstImageIndex,
3951          });
3952          this._navState = result.nextState;
3953          if (result.payload && !isVariantReposition) {
3954            window.navigateItemImage(result.payload);
3955          }
3956          this.currentImageIndex = photoIndex;
3957        },
3958        toggleCurrentOption: function(key, value) {
3959          this.currentOption[key] =
3960            (this.currentOption[key] === value || value === 'null') ? null : value;
3961          var variantIndex = this.getVariantIndex();
3962          if (variantIndex !== -1) {
3963            this.currentVariant = this.product.variants[variantIndex];
3964          } else {
3965            this.currentVariant = null;
3966          }
3967          this.setChoose(this.product.variants[variantIndex]);
3968          if (this.currentOption[key] !== null) {
3969            var optionIndex = parseInt(key.replace('option', '')) - 1;
3970            appStoreSelectItemEvent(this.product, this.product.options[optionIndex], this.currentOption[key], this.currentVariant);
3971          }
3972        },
3973        toggleNotification: function() {
3974          var self = this;
3975          var variantId = this.currentVariant.id;
3976
3977          $.ajax({
3978            url: '/toggle_pv_notification',
3979            method: 'POST',
3980            dataType: 'json',
3981            data: {
3982              product_variant_id: variantId
3983            },
3984            success: function(response) {
3985              self.variantNotifications[variantId] = response.notice;
3986              window.msg(response.message, "success").show();
3987            },
3988            error: function(xhr) {
3989              var response = xhr.responseJSON;
3990              var msg = response && response.error || "Network error, please try again later";
3991              window.msg(msg, "error").show();
3992            }
3993          })
3994        },
3995        getOptionImageIndex: function(index) {
3996          this.currentImageIndex = index;
3997        },
3998        quantityDecrease: function() {
3999          if (this.cartItem) {
4000            themeHelper.EventBus.$emit('quantityDecrease', this.cartItem, false);
4001            this.quantity = this.cartItem.quantity
4002          } else {
4003            window.msg("Please select product specifications", 'warning').show();
4004          }
4005        },
4006        quantityIncrease: function() {
4007          if (this.cartItem) {
4008            themeHelper.EventBus.$emit('quantityIncrease', this.cartItem, false);
4009            this.quantity = this.cartItem.quantity
4010          } else {
4011            window.msg("Please select product specifications", 'warning').show();
4012          }
4013        },
4014        quantityChange: function(el) {
4015          if (this.cartItem) {
4016            themeHelper.EventBus.$emit('quantityChange', parseInt(el.target.value), this.cartItem, false);
4017            this.quantity = this.cartItem.quantity;
4018            el.target.value = this.cartItem.quantity;
4019          } else {
4020            window.msg("Please select product specifications", 'warning').show();
4021          }
4022        },
4023        addProduct: function() {
4024          if (this.addCartText === 'Contact Shop') {
4025            $('#messagebuy-Modal').data('variant', this.currentVariant);
4026            $('#messagebuy-Modal').modal('show');
4027            $('#messagebuy-Modal').css("background-color", "rgba(0, 0, 0, .6)");
4028          } else if (
4029            this.addCartText === 'Notification enabled' ||
4030            this.addCartText === 'Sold out! Notify me when the product is available.'
4031          ) {
4032              this.toggleNotification();
4033          } else {
4034            if (this.cartItem) {
4035              try {
4036                if (this.isChoose) {
4037                  themeHelper.EventBus.$emit('updateStore', 'update', this.cartItem, this.callBack)
4038                } else {
4039                  themeHelper.EventBus.$emit('updateStore', 'add', this.cartItem, this.callBack)
4040                }
4041
4042                this.adding = true;
4043                this.closeModal();
4044              } catch (e) {
4045                window.msg("Unusual product specification; please select again.", 'error').show();
4046              }
4047            } else {
4048              window.msg("Please select product specifications", 'warning').show();
4049            }
4050          }
4051        },
4052        closeModal: function() {
4053          themeHelper.EventBus.$emit('closeProductModal');
4054        },
4055        setDefaultOption: function() {
4056          var self = this;
4057          Object.keys(self.currentOption).map(function(optionKey) {
4058            self.currentOption[optionKey] = self.currentVariant[optionKey];
4059          });
4060        },
4061        getVariantIndex: function() {
4062          var self = this;
4063          return self.product.variants.findIndex(function(variant, index) {
4064            var isVariant = true;
4065            Object.keys(self.currentOption).forEach(function(option) {
4066              if (variant[option] !== self.currentOption[option]) {
4067                isVariant = false;
4068              }
4069            });
4070            return isVariant;
4071          });
4072        },
4073
4074        // 篩選重複品項
4075        getUniqueVariant: function(variants) {
4076          return variants.filter(function(value, index, self) {
4077            return self.indexOf(value) === index;
4078          });
4079        },
4080        groupBy(xs, key) {
4081          return xs.reduce(function(rv, x) {
4082            (rv[x[key]] = rv[x[key]] || []).push(x);
4083            return rv;
4084          }, {});
4085        },
4086        setUpDiscountsTag(data) {
4087          var self = this;
4088          var languagePrefix = '/' + ((window.shopScriptHelper && window.shopScriptHelper.i18nLocale) || 'zh-TW');
4089          $.ajax({
4090            url: languagePrefix + self.productUrl + '/discounts_list',
4091            method: 'GET',
4092            success: function(result) {
4093              if (result.length > 0) {
4094                var discounts_list = self.groupBy(result, 'campaign_type');
4095                self.discountsList = discounts_list;
4096              } else {
4097                self.discountsList = null;
4098              }
4099            }
4100          });
4101        },
4102        getOptions: function(optionKey, optionTypes) {
4103          var self = this;
4104          return optionTypes.map(function(optionType, index) {
4105            var isValid = true;
4106
4107            // 選出包含目前type的variant
4108            var matchVariants = self.product.variants.filter(function(variant) {
4109              return variant[optionKey] === optionType;
4110            });
4111
4112            // 篩選已勾選type
4113            Object.keys(self.currentOption).forEach(function(currentOptionKey) {
4114              if (currentOptionKey !== optionKey) {
4115                matchVariants = matchVariants.filter(function(variant) {
4116                  if (self.currentOption[currentOptionKey]) {
4117                    return variant[currentOptionKey] === self.currentOption[currentOptionKey]
4118                  } else {
4119                    return true;
4120                  }
4121                });
4122              }
4123            });
4124            if (matchVariants.length === 0) {
4125              isValid = false;
4126            }
4127            if (! self.isEmptyClickable) {
4128              isValid = false;
4129              matchVariants.find(function(item) {
4130                if (item.inventoryQuantity === null || item.inventoryQuantity > 0 || item.inventoryPolicy === 'continue') {
4131                  isValid = true;
4132                }
4133              });
4134            }
4135            return {name: optionType, isValid: isValid}
4136          });
4137        }
4138      }
4139    };
4140  });
4141</script>
4141
4142
4143<!-- cyb_snippet _product_modal_js end -->
4144
4145<!-- cyb_snippet components/product_modal/product_modal end -->
4146
4147<!-- cyb_snippet messagebuy_modal start -->
4148
4149
4150<!-- cyb_snippet messagebuy_modal end -->
4151<!-- cyb_snippet components/rate_limit_modal start -->
4152<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/rate_limit_modal-4a1e7dfec7e41476.css' rel='stylesheet' type='text/css' media='all' />
4153
4154<div class="modal fade" id="rate-limit-modal" tabindex="-1" role="dialog" aria-hidden="true" data-backdrop="static" data-keyboard="false">
4155  <div class="modal-dialog modal-dialog-centered" role="document">
4156    <div class="modal-content">
4157      <div class="modal-body">
4158        <div class="qk-text--default_dark rate-limit-text">
4159          <p id="rate-limit-title">High demand right now, please wait</p>
4160          <p class="qk-fs--body qk-fw--500 rate-limit-message">
4161            <span class="qk-text--error" id="rate-limit-countdown"></span>
4162            <span id="rate-limit-desc"></span>
4163          </p>
4164          <p class="qk-fs--body qk-fw--500 rate-limit-message" id="rate-limit-warn">Leaving this page may increase your wait time.</p>
4165        </div>
4166        <button id="rate-limit-btn" class="btn qk-btn qk-btn--primary" disabled>Re-enter product page</button>
4167      </div>
4168    </div>
4169  </div>
4170</div>
4171
4172<script>
4173  window.showRateLimitModal = function(countdownSec) {
4174    var countdown = countdownSec || 5;
4175    var $modal = $('#rate-limit-modal');
4176    var $btn = $modal.find('#rate-limit-btn');
4177    var $countdownEl = $modal.find('#rate-limit-countdown');
4178
4179    $btn.show();
4180    $modal.find('#rate-limit-desc').text(language["product_rate_limit_desc"]);
4181    $countdownEl.text(countdown);
4182    $btn.prop('disabled', true);
4183    $modal.modal('show');
4184
4185    var timer = setInterval(function() {
4186      countdown--;
4187      $countdownEl.text(countdown);
4188      if (countdown <= 0) {
4189        clearInterval(timer);
4190        $btn.prop('disabled', false);
4191      }
4192    }, 1000);
4193
4194    $btn.off('click').on('click', function() {
4195      location.reload();
4196    });
4197  }
4198
4199  window.showAddCartRateLimitModal = function(countdownSec) {
4200    var countdown = countdownSec || 5;
4201    var $modal = $('#rate-limit-modal');
4202    var $countdownEl = $modal.find('#rate-limit-countdown');
4203
4204    $modal.find('#rate-limit-btn').hide();
4205    $modal.find('#rate-limit-desc').text(language["addcart_rate_limit_desc"]);
4206    $countdownEl.text(countdown);
4207    $modal.modal('show');
4208
4209    var timer = setInterval(function() {
4210      countdown--;
4211      $countdownEl.text(countdown);
4212      if (countdown <= 0) {
4213        clearInterval(timer);
4214        $modal.modal('hide');
4215      }
4216    }, 1000);
4217  }
4218</script>
4218
4219
4220<!-- cyb_snippet components/rate_limit_modal end -->
4221
4222<script>
4223  $(document).ready(function() {
4224    const shouldSkipQuantityCheck = false;
4225    const newAddCartModalApp = new window.themeHelper.LiquidVueHandler({
4226      componentNames: Object.keys(window.themeHelper.productModalComponents),
4227      mountSelector: '#new-addcart-modal',
4228      autoMount: false,
4229    });
4230
4231    newAddCartModalApp.createApp({
4232      el: '#new-addcart-modal',
4233      delimiters: ['${', '}'],
4234      data() {
4235        return {
4236          collectionId: 0,
4237          categories: [],
4238          color: '', // unused
4239          isCollection: true,
4240          productQuantity: 0,
4241          onlyDescription: false,
4242          showProductModal: false,
4243          popProductUrl: '',
4244          loading: false,
4245        };
4246      },
4247      mounted: function() {
4248        themeHelper.EventBus.$on('closeProductModal',this.closeProductModal);
4249        themeHelper.EventBus.$on('updateStore', this.addProduct);
4250        themeHelper.EventBus.$on('quantityDecrease', this.quantityDecrease);
4251        themeHelper.EventBus.$on('quantityIncrease', this.quantityIncrease);
4252        themeHelper.EventBus.$on('quantityChange', this.quantityChange);
4253      },
4254      methods: {
4255        addProduct: function(actionType, productData, checkoutAddToCartCallback){
4256          var self = this;
4257          var pageViewId = window.CYBERBIZ && window.CYBERBIZ.dis && window.CYBERBIZ.dis.pageViewId;
4258          $.ajax({
4259            method: 'POST',
4260            url: '/cart/add',
4261            headers: pageViewId ? { 'X-Cyb-Page-View-Id': pageViewId } : {},
4262            data: {
4263              id: productData.id,
4264              quantity: productData.quantity,
4265            },
4266            dataType: 'json',
4267            beforeSend: function() {
4268              self.loading = true;
4269              themeHelper.ajaxLoadingMsg('loading');
4270              $('.shopcart').dropdown('hide')
4271              $('.global-cart-count').hide();
4272              $('.global-cart-loading').show();
4273              $('.global-cart-loading').html('<i class="fa fa-spinner fa-pulse" style="vertical-align: middle;"></i>');
4274            },
4275            error: function(xhr) {
4276              $('.global-cart-loading').hide();
4277              $('.global-cart-count').show();
4278              self.loading = false;
4279              if (xhr.status === 429) {
4280                themeHelper.ajaxLoadingMsg('hide', 0);
4281                self.closeProductModal();
4282                window.showAddCartRateLimitModal(5);
4283                return;
4284              }
4285              themeHelper.ajaxLoadingMsg('fail', 2000);
4286            }
4287          }).done(function(data, status, request){
4288            // product modal 立即購買按鈕
4289            window.sendAddToCartEvent && sendAddToCartEvent({
4290              price: productData.price,
4291              quantity: productData.quantity,
4292              id: productData.product.id,
4293              name: productData.product.title,
4294              category: productData.product.productType,
4295              brand: productData.product.vendor,
4296              qc: productData.variant.qc,
4297              variant: {
4298                id: productData.variant.id,
4299                title: productData.variant.title,
4300                sku: productData.variant.sku,
4301                price: productData.variant.price,
4302                qc: productData.variant.qc,
4303              },
4304              position: "商品彈出視窗",
4305              request,
4306            })
4307            if (self.isQuickBuy) {
4308              if (window.liquidHelper && window.liquidHelper.language && window.liquidHelper.language.handle) {
4309                window.location = "/" + window.liquidHelper.language.handle + "/cart";
4310              } else {
4311                window.location = "/cart";
4312              }
4313            } else {
4314              themeHelper.ajaxLoadingMsg('success');
4315              pullNavCart();
4316              $('.shopcart').dropdown('show')
4317              $('.global-cart-loading').hide();
4318              self.loading = false;
4319            }
4320            if(typeof checkoutAddToCartCallback === 'function'){
4321              var callbackData = {
4322                id: productData.id,
4323                quantity: productData.quantity,
4324                title: productData.product ? productData.product.title : productData.title || ''
4325              };
4326              checkoutAddToCartCallback(callbackData)
4327            }
4328            peh.emit('product:add_to_cart', [{
4329              variantId: productData.id,
4330              quantity: productData.quantity
4331            }], self.collectionId);
4332          }).fail(function(e){
4333            if (e.status === 429) {
4334              return;
4335            }
4336            let err_msg = e.responseJSON.err_msg;
4337            err_msg && err_msg.length > 0 ?
4338              window.msg(e.responseJSON.err_msg, 'warning').show():
4339              window.msg("Network error, please try again.", 'warning').show();
4340          })
4341        },
4342        quantityDecrease: function(cartItem, isAdded){
4343          if (cartItem.quantity > 1) {
4344            cartItem.quantity -= 1;
4345          } else {
4346            window.msg("Quantity must be greater than 0;
4346 please select the amount to purchase.", 'warning').show();
4347          }
4348        },
4349        quantityIncrease: function(cartItem, isAdded){
4350          const limitQuantity = cartItem.variant.inventoryQuantity;
4351          const limitBuy = cartItem.product.limitBuy
4352          if (limitBuy && cartItem.quantity >= limitBuy) {
4353            product_limit_buy = "Limited purchase of this product limitBuy items".replace('limitBuy', limitBuy)
4354            window.msg(product_limit_buy, 'warning').show();
4355            return;
4356          } else if (cartItem.quantity >= liquidHelper.cartQuantityLimit) {
4357            window.msg("Quantity exceeds shopping cart limit; please remove some items and place the order again.", 'warning').show();
4358          } else if ( cartItem.quantity < limitQuantity || limitQuantity === null ||
4359            cartItem.variant.inventoryPolicy == "continue" || shouldSkipQuantityCheck) {
4360            cartItem.quantity += 1;
4361          } else {
4362            this.showInventoryMessage(limitQuantity);
4363          }
4364        },
4365        quantityChange: function(quantity, cartItem, isAdded){
4366          const limitBuy = cartItem.product.limitBuy
4367          var limitQuantity = cartItem.variant.inventoryQuantity;
4368          var inventoryPolicy = cartItem.variant.inventoryPolicy;
4369          if (Number.isInteger(quantity)) {
4370            if (quantity >= 1) {
4371              if (limitBuy && quantity >= limitBuy) {
4372                product_limit_buy = "Limited purchase of this product limitBuy items".replace('limitBuy', limitBuy)
4373                window.msg(product_limit_buy, 'warning').show();
4374              } else if (quantity > liquidHelper.cartQuantityLimit) {
4375                window.msg("Quantity exceeds shopping cart limit; please remove some items and place the order again.", 'warning').show();
4376              } else if (quantity <= limitQuantity || limitQuantity === null || inventoryPolicy == "continue" || shouldSkipQuantityCheck) {
4377                cartItem.quantity = quantity;
4378              } else {
4379                cartItem.quantity = limitQuantity;
4380                this.showInventoryMessage(limitQuantity);
4381              }
4382            } else {
4383              window.msg("Quantity must be greater than 0; please select the amount to purchase.", 'warning').show();
4384            }
4385          } else {
4386            window.msg("Quantity input error", 'warning').show();
4387          }
4388        },
4389        popModal: function(productUrl, collectionId, color, isCollection, isShowDescription, isQuickBuy, variantId, checkoutAddToCartCallback, categories){
4390          this.showProductModal = true;
4391          this.collectionId = collectionId;
4392          this.categories = categories || [];
4393          this.popProductUrl = productUrl;
4394          this.color = color || ''; // unused
4395          this.isCollection = isCollection || false;
4396          this.isShowDescription = isShowDescription != false;
4397          this.isQuickBuy = isQuickBuy || false;
4398          this.selectedVariantId = parseInt(variantId) || undefined;
4399          this.checkoutAddToCartCallback = checkoutAddToCartCallback;
4400          document.body.style.overflow = "hidden";
4401        },
4402        closeProductModal: function() {
4403          this.showProductModal = false;
4404          document.body.style.overflow = "";
4405        },
4406        showInventoryMessage: function(inventoryQuantity) {
4407          const stockMessage = "Quantity exceeds inventory stock. Remaining count".replace('count', inventoryQuantity || 0);
4408          window.msg(stockMessage, 'warning').show();
4409        },
4410      }
4411    });
4412
4413    for (const componentName in window.themeHelper.productModalComponents) {
4414      newAddCartModalApp.component(
4415        componentName,
4416        window.themeHelper.productModalComponents[componentName],
4417      );
4418    }
4419
4420    window.new_addcart_modal = newAddCartModalApp.mount();
4421  });
4422</script>
4422
4423
4424<!-- cyb_snippet new_addcart_modal end -->
4425    
4425<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/new_cart-4a1e7dfec7e41476.js' type='text/javascript'></script>
4425
4426  
4427</div>
4428
4429    </div>
4430
4431    <!-- Footer -->
4432    
4433
4434
4435
4436
4437
4438
4439<style>
4440  
4441  
4442  @media(min-width: 991px) {
4443    .display_x .left-content > div {
4444      max-width: calc(100% / 3);
4445    }
4446  }
4447</style>
4448
4449<div id="index-recommendation"></div>
4450
4451<footer id="footer" class="qk-fs--body qk-bg--footer_bg">
4452  
4453    
4454    <div class="qk-container display_y">
4455      <div class="footer_content qk-mg--0 qk-display--flex qk-justify--between">
4456        <div class="left-content qk-flex--1">
4457          
4458            
4459              <div class="item contact qk-text--left">
4460                
4461                  <p class="footer_title qk-fs--title qk-text--footer_text">Informations</p>
4462                
4463                <ul>
4464                  
4465                    <li class="phone qk-bd_r--default qk-bd--footer_text qk-display--il_bk">
4466                      <span class="qk-text--footer_text">Customer Service Hotline: 09-87654321</span>
4467                    </li>
4468                  
4469                  
4470                    <li class="fax qk-bd_r--default qk-bd--footer_text qk-display--il_bk">
4471                      <span class="qk-text--footer_text">Customer Service Fax: 02-22345678</span>
4472                    </li>
4473                  
4474                  
4475                    <li class="time qk-bd_r--default qk-bd--footer_text qk-display--il_bk">
4476                      <span class="qk-text--footer_text">Customer Service: 10:30am - 6:30pm</span>
4477                    </li>
4478                  
4479                  
4480                    <br>
4481                    <li class="mail qk-bd_r--default qk-bd--footer_text qk-cursor--pointer qk-display--il_bk">
4482                      <a class="qk-text--footer_text" href="mailto:[email protected]">Email: [email protected]</a>
4483                    </li>
4484                  
4485                  
4486                    <li class="address qk-bd_r--default qk-bd--footer_text qk-display--il_bk">
4487                      <span class="qk-text--footer_text">Address: Waterloo, IN 46793, United States</span>
4488                    </li>
4489                  
4490                  
4491                </ul>
4492              </div>
4493              
4494          
4495            
4496              <div class="link-list-container">
4497                
4498                  <p class="footer_title qk-fs--title qk-text--footer_text">About Us</p>
4499                
4500                <div class="item horizontal qk-text--left">
4501                  <ul class="qk-display--flex qk-flex--wrap">
4502                    
4503                      
4504                        <li class="qk-display--il_bk">
4505                          
4506                            <a
4507                              class="qk-text--footer_text"
4508                              href="/search"
4509                              rel="noopener noreferrer"
4510                              target="_blank">查詢</a>
4511                          
4512                        </li>
4513                      
4514                        <li class="qk-display--il_bk">
4515                          
4516                            <a
4517                              class="qk-text--footer_text"
4518                              href="/pages/about-us"
4519                              rel="noopener noreferrer"
4520                              target="_blank">關於我們</a>
4521                          
4522                        </li>
4523                      
4524                        <li class="qk-display--il_bk">
4525                          
4526                            <a
4527                              class="qk-text--footer_text"
4528                              href="/account/index"
4529                              rel="noopener noreferrer"
4530                              target="_blank">我的帳戶</a>
4531                          
4532                        </li>
4533                      
4534                        <li class="qk-display--il_bk">
4535                          
4536                            <a
4537                              class="qk-text--footer_text"
4538                              href="/pages/privacy"
4539                              rel="noopener noreferrer"
4540                              target="_blank">隱私政策</a>
4541                          
4542                        </li>
4543                      
4544                        <li class="qk-display--il_bk">
4545                          
4546                            <a
4547                              class="qk-text--footer_text"
4548                              href="/pages/terms"
4549                              rel="noopener noreferrer"
4550                              target="_blank">服務條款</a>
4551                          
4552                        </li>
4553                      
4554                    
4555                  </ul>
4556                </div>
4557              </div>
4558              
4559          
4560            
4561              <div id="1680064031226_2" class="rich-text-editor-container qk-text--footer_text item qk-flex--1">
4562                
4563                  <p class="footer_title qk-fs--title rich-text-editor-title"></p>
4564                
4565                <div class="rich-text-content-container">
4566                  
4567                </div>
4568              </div>
4569            
4570          
4571        </div>
4572        <div class="right-content qk-display--flex qk-flex--column">
4573          
4574            <div class="fb_fanpage qk-hidden--mobile">
4575              <div class="fb_fans_page_area">
4576                <div
4577                  class="fb-page"
4578                  data-href="https://www.facebook.com/168548957238384"
4579                  data-width="500"
4580                  data-adapt-container-width="true"
4581                  data-hide-cover="false"
4582                  data-show-facepile="true">
4583                  <blockquote cite="https://www.facebook.com/168548957238384" class="fb-xfbml-parse-ignore">
4584                    <a target="_blank" rel="noopener noreferrer" href="https://www.facebook.com/168548957238384"></a>
4585                  </blockquote>
4586                </div>
4587              </div>
4588            </div>
4589          
4590          <div class="media qk-display--il">
4591            <div class="item social_media qk-h--auto qk-float--l">
4592              <ul>
4593                
4594                  <li class="qk-display--il_bk">
4595                    <a target="_blank" rel="noopener noreferrer" href="https://www.facebook.com/%E5%85%86%E9%B4%BB-%E9%BB%83%E9%87%91%E8%9C%86%E8%9B%8B%E7%99%BD-168548957238384">
4596                      <svg
4597                        class="facebook-svg"
4598                        xmlns="http://www.w3.org/2000/svg"
4599                        width="40"
4600                        height="40"
4601                        viewBox="0 0 40 40">
4602                        <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" />
4603                      </svg>
4604                    </a>
4605                  </li>
4606                
4607                
4608                
4609                  <li class="qk-display--il_bk">
4610                    <a target="_blank" rel="noopener noreferrer" href="https://liff.line.me/2000447957-RL1l5N7D">
4611                      <svg
4612                        class="line-svg"
4613                        xmlns="http://www.w3.org/2000/svg"
4614                        width="40"
4615                        height="40"
4616                        viewBox="0 0 40 40">
4617                        <rect class="qk-svg--footer_text" width="40" height="40" rx="20" />
4618                        <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" />
4619                        <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" />
4620                        <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" />
4621                        <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" />
4622                        <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" />
4623                      </svg>
4624                    </a>
4625                  </li>
4626                
4627                
4628              </ul>
4629            </div>
4630          </div>
4631        </div>
4632      </div>
4633    </div>
4634    
4635  <div class="copyright qk-text--footer_text qk-bd--footer_text qk-text--left qk-bd_t--default">
4636    <div class="qk-container container qk-fw--500">
4637      <span>Copyright ©</span>
4638      <a class="qk-text--link" href="/">
4639        <span>兆鴻生技股份有限公司</span>
4640      </a>
4641      <span>All Rights Reserved.</span>
4642      <span>Designed by
4643      </span>
4644      <a
4645        class="qk-text--link"
4646        href="https://www.cyberbiz.io?utm_source=poweredbycyberbiz"
4647        target="_blank"
4648        rel="noopener noreferrer"
4649        title="Designed by CYBERBIZ">CYBERBIZ</a>.
4650    </div>
4651  </div>
4652  
4653</footer>
4654<script>
4655  $(document).ready(function() {
4656    let isDynamicLoading = false;
4657
4658    let menusData = {
4659      
4660        
4661      
4662        
4663          "footer": {
4664            
4665              "type": "items",
4666              "data": [
4667                
4668                
4669                  
4670                    {
4671                      "title": "查詢",
4672                      "url": "/search",
4673                      "item_type": "search"
4674                    },
4675                  
4676                    {
4677                      "title": "關於我們",
4678                      "url": "/pages/about-us",
4679                      "item_type": "page"
4680                    },
4681                  
4682                    {
4683                      "title": "我的帳戶",
4684                      "url": "/account/index",
4685                      "item_type": "http"
4686                    },
4687                  
4688                    {
4689                      "title": "隱私政策",
4690                      "url": "/pages/privacy",
4691                      "item_type": "privacy"
4692                    },
4693                  
4694                    {
4695                      "title": "服務條款",
4696                      "url": "/pages/terms",
4697                      "item_type": "terms"
4698                    }
4699                  
4700                
4701              ]
4702            
4703          },
4704        
4705      
4706        
4707      
4708    };
4709
4710    if (isDynamicLoading) {
4711      window.DynamicLoading.setupComponent({
4712          sectionId: '#footer',
4713          callbackData:{
4714            section: {"type":"footer","visible":true,"settings":{"footer_link":"footer","display_facebook":true,"shop_facebook":"https://www.facebook.com/%E5%85%86%E9%B4%BB-%E9%BB%83%E9%87%91%E8%9C%86%E8%9B%8B%E7%99%BD-168548957238384","display_instagram":false,"shop_instagram":"https://www.instagram.com/?hl=zh-tw","display_line":true,"shop_line":"https://liff.line.me/2000447957-RL1l5N7D","display_youtube":false,"shop_youtube":"https://www.youtube.com/","footer_link_arrangement":"display_y","display_facebook_fan_block":true},"block_order":["default_contact_info","default_link_list","1680064031226_2"],"blocks":{"default_link_list":{"type":"link_list_setting","custom_name":"選單","thumbnail":"list","draggable":true,"visible":true,"settings":{"dict_link_list_block_title":"About Us","footer_link":"footer"}},"default_contact_info":{"type":"contact_info_setting","custom_name":"聯絡資訊","thumbnail":"contactInfo","draggable":true,"visible":true,"settings":{"dict_contact_info_block_title":"Informations","display_phone":"true","dict_phone_number":"09-87654321","display_fax_number":true,"dict_shop_fax_number":"02-22345678","display_shop_email":"true","dict_shop_email":"[email protected]","display_shop_address":"true","dict_shop_address":"Waterloo, IN 46793, United States","display_office_time":"true","dict_shop_office_time":"10:30am - 6:30pm"}},"default_link_list_2":{"type":"link_list_setting","custom_name":"選單","visible":true,"settings":{"dict_link_list_block_title":"Menu","footer_link":"main-menu"}},"1680064031226_2":{"type":"rich_text_editor_setting","custom_name":"自訂文字","visible":true,"settings":{"dict_rich_text_title":"","dict_rich_text_content":""}}},"custom_name":"頁腳"},
4715            shop: {
4716              name: '兆鴻生技股份有限公司',
4717              cyberbiz_link: 'https://www.cyberbiz.io?utm_source=poweredbycyberbiz',
4718              facebook_fan_page: 'https://www.facebook.com/168548957238384',
4719            },
4720            menus: menusData,
4721            is_display_facebook_fan_block: true
4722            },
4723          entryName:'renderFooterSection',
4724          source:'//cdn-general.cybassets.com/frontend/shop/footerSection-4a1e7dfec7e41476.js',
4725        });
4726    }
4727  });
4728</script>
4728
4729
4730<!-- cyb_snippet _tracking_code start -->
4731      
4731<script>
4732        window.fbAsyncInit = function() {
4733          FB.init({
4734          appId : '1879319405715249',
4735          xfbml : true,
4736          version : 'v24.0',
4737          });
4738        };
4739        (function(d, s, id){
4740          var js, fjs = d.getElementsByTagName(s)[0];
4741          if (d.getElementById(id)) {return;}
4742          js = d.createElement(s);
4743          js.id = id;
4744          js.src = 'https://connect.facebook.net/zh_TW/sdk.js';
4745          fjs.parentNode.insertBefore(js, fjs);
4746        }(document, 'script', 'facebook-jssdk'));
4747      </script>
4747
4748
4749
4750<script>
4751  // for scupio
4752  if (document.querySelector("meta[name=\"scupio_mid\"]")) {
4753    mid = document.querySelector("meta[name=\"scupio_mid\"]").content;
4754  } else {
4755    mid = "";
4756  }
4757  if (!window.is_scupio_sent && mid) {
4758    window._bwtm = window._bwtm || []
4759    window._bwtm.push({
4760      "mid": mid,
4761      "uid": ""
4762    });
4763  }
4764</script>
4764
4765
4766<!-- cyb_snippet _tracking_code end -->
4767
4768<script>
4769  $(document).ready(function(){
4770    if(window.location.pathname != '' && window.location.pathname != '/' ){
4771      document.getElementById('index-recommendation').style.display = 'none'
4772    }
4773  });
4774</script>
4774
4775
4776
4777
4778    <!-- Fast-Events -->
4779    <!-- cyb_snippet fast_events start -->
4780
4781
4782<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/fast_events-4a1e7dfec7e41476.js' type='text/javascript'></script>
4782
4783<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/fast_events-4a1e7dfec7e41476.css' rel='stylesheet' type='text/css' media='all' />
4784
4785<!-- cyb_snippet fast_events end -->
4786
4787    <div class="bottom-right qk-pos--fixed">
4788      <!-- gototop -->
4789      <div id="gototop" class="qk-display--none qk-text--center">
4790        <a href="javascript:void(0)" class="qk-circle qk-circle--lg qk-pos--relative qk-text--center">
4791          <i class="fas fa-chevron-up"></i>
4792        </a>
4793      </div>
4794
4795      <!-- popup -->
4796      
4797
4798
4799
4800<div id="popup-wrapper" class="qk-display--none"></div>
4801
4802<template id="popup-template">
4803  <div
4804    :class="status"
4805    v-if="hasContent"
4806    id="popup-section"
4807  >
4808    <transition name="backdrop">
4809      <div
4810        v-if="shouldShowPopup"
4811        @click.capture="minifyPopup"
4812        id="popup-backdrop"
4813        class="qk-w--100vw qk-h--100vh qk-pos--fixed qk-t--0 qk-l--0 qk-tst"
4814      >
4815      </div>
4816    </transition>
4817    <transition name="onShow">
4818      <div
4819        @click.self="showPopup"
4820        @transitionstart="updateGameStatus('start', this)"
4821        @transitionend="updateGameStatus('end', this)"
4822        class="popup-content qk-display--flex qk-align--center qk-tst qk-tst_dur--30 qk-tst_timing--ease_o"
4823      >
4824        <div
4825          v-for="block in blocks"
4826          :key="block.id"
4827          :class="[block.type, minifiedBlockClasses, block.settings.icon_size]"
4828          class="block qk-tst qk-tst_dur--30 qk-tst_timing--ease_o qk-of--auto"
4829        >
4830          <div v-if="block.type === 'image'" class="qk-pos--rel">
4831            <img
4832              v-show="!shouldShowPopup"
4833              :src="block.settings.dict_icon_image_url"
4834              class="qk-tst qk-tst_dur--30 qk-tst_timing--ease_o"
4835              alt="popup button"
4836            >
4837            <a
4838              v-show="shouldShowPopup"
4839              :href="block.settings.dict_link"
4840              :target="block.settings.target"
4841              :rel="block.settings.rel"
4842              class="qk-display--flex qk-align--center"
4843              @click="linkClicked"
4844            >
4845              <picture>
4846                <source :srcset="block.settings.dict_mobile_image_url" media="(max-width: 576px)">
4847                <source :srcset="block.settings.dict_tablet_image_url" media="(max-width: 992px)">
4848                <img
4849                  :src="block.settings.dict_image_url"
4850                  class="qk-tst qk-tst_dur--30 qk-tst_timing--ease_o"
4851                  alt="popup picture"
4852                />
4853              </picture>
4854            </a>
4855          </div>
4856          <div v-if="block.type === 'video'">
4857            <iframe
4858              :src="block.settings.dict_video_link"
4859              frameborder="0"
4860              class="qk-center--y qk-w--100 qk-h--100"
4861            ></iframe>
4862          </div>
4863          <div v-if="block.type === 'game'">
4864            <div v-show="gameStatus === 'show'" :class="{ 'show-game': gameStatus === 'show' }">
4865              <iframe
4866                class="cb-game-iframe iframe-loading"
4867                :src="getGameIframeSrc(block)"
4868                style="border: none;"
4869              >
4870                Loading
4871              </iframe>
4872            </div>
4873            <div v-show="gameStatus === 'minified'">
4874              <img
4875                src="//cdn-general.cybassets.com/game_assets/game_minified_new.png"
4876                class="qk-h--100 qk-w--100"
4877                alt="game minified icon"
4878              />
4879            </div>
4880          </div>
4881          <div
4882            v-if="block.type === 'carousel'"
4883            :id="`popup-carousel-${block.id}`"
4884          >
4885          </div>
4886        </div>
4887      </div>
4888    </transition>
4889    <transition name="backdrop">
4890      <div
4891        v-if="shouldShowPopup"
4892        @click.capture="minifyPopup"
4893        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"
4894      >
4895      </div>
4896    </transition>
4897  </div>
4898</template>
4899
4900<script>
4901  $(document).ready(function() {
4902    const CDN_HOST = '//cdn-general.cybassets.com';
4903    const section = {"type":"popup","visible":true,"blocks":{"popup_block_1":{"type":"image","visible":true,"settings":{"dict_image_url":"/theme_src/i18n_nolli/default_img/popup_image.png","icon_size":"small"},"custom_name":"圖片"},"1688357362999_0":{"type":"image","custom_name":"圖片","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjk1ODg0NTM1X0xJTkVA5Yqg5YWl5aW95Y-LLnBuZy5wbmciXV0.png?sha=d67e259af8de794f","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjk1ODg0NTM1X0xJTkVA5Yqg5YWl5aW95Y-LLnBuZy5wbmciXV0.png?sha=d67e259af8de794f","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjk1ODg0NTM1X0xJTkVA5Yqg5YWl5aW95Y-LLnBuZy5wbmciXV0.png?sha=d67e259af8de794f","icon_size":"large","dict_link":"https://liff.line.me/2000447957-RL1l5N7D","dict_icon_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjE3OTA3L2F0dGFjaGVkX3Bob3Rvcy8xNjk1ODg0NTM1X0xJTkVA5Yqg5YWl5aW95Y-LLnBuZy5wbmciXV0.png?sha=d67e259af8de794f"}}},"block_order":["1688357362999_0"],"settings":{},"custom_name":"彈窗廣告"};
4904    var popupSection = Vue.createApp({
4905      template: '#popup-template',
4906      delimiters: ['${', '}'],
4907      data() {
4908        const isOmniauthPage = ['omniauth_terms_agreement', 'omniauth_mobile/']
4909          .some(path => location.pathname.includes(path));
4910        return {
4911          status: 'minified',
4912          gameStatus: 'show',
4913          blocks: isOmniauthPage
4914            ? []
4915            : section.block_order && section.block_order.reduce(
4916                function(acc, blockId) {
4917                  const block = section.blocks[blockId];
4918                  if (block && block.visible) {
4919                    acc.push({
4920                      ...block,
4921                      id: blockId,
4922                    });
4923                  }
4924                  return acc;
4925                },
4926                [],
4927              ),
4928          hasAddedGameScript: false,
4929        };
4930      },
4931      computed: {
4932        hasContent: function() {
4933          return !!(this.blocks && this.blocks.length > 0);
4934        },
4935        minifiedBlockClasses: function() {
4936          return this.status === 'minified' ? 'qk-pointer--none qk-unselectable' : '';
4937        },
4938        shouldShowPopup: function() {
4939          return this.status === 'show';
4940        }
4941      },
4942      methods: {
4943        unhidePopup: function(storedStatus) {
4944          this.status = storedStatus;
4945          $('#popup-wrapper').removeClass('qk-display--none');
4946        },
4947        showPopup: function() {
4948          if (this.status !== 'show') {
4949            this.status = 'show';
4950            this.saveStatus(this.status);
4951          }
4952        },
4953        minifyPopup: function() {
4954          this.status = 'minified';
4955          this.saveStatus('minified');
4956        },
4957        loadStatus: function() {
4958          return JSON.parse(localStorage.getItem('popupStatus'));
4959        },
4960        saveStatus: function(status) {
4961          if (status) {
4962            localStorage.setItem('popupStatus', JSON.stringify({
4963              status: status,
4964              setTime: new Date().getTime(),
4965            }));
4966          }
4967        },
4968        linkClicked: function() {
4969          this.saveStatus('minified');
4970        },
4971        parseVideoLink: function(settings) {
4972          settings.dict_video_link = themeHelper.parseYtUrl(settings.dict_video_link);
4973        },
4974        setupImageSrc: function (settings) {
4975          settings.dict_image_url = this.addCdnHost(settings.dict_image_url);
4976          if (settings.dict_tablet_image_url) {
4977            settings.dict_tablet_image_url = this.addCdnHost(settings.dict_tablet_image_url);
4978          }
4979          if (settings.dict_mobile_image_url) {
4980            settings.dict_mobile_image_url = this.addCdnHost(settings.dict_mobile_image_url);
4981          }
4982          settings.dict_icon_image_url = this.addCdnHost(settings.dict_icon_image_url) || settings.dict_image_url;
4983        },
4984        addCdnHost: function(url) {
4985          if (!url) {
4986            return url; // only add cdn host if url is not empty
4987          }
4988
4989          try {
4990            new URL(url);
4991            return url; // already a valid url, cdn host not needed
4992          } catch {
4993            return `${CDN_HOST}${url}`;
4994          }
4995        },
4996        initStatus: function() {
4997          let newStatus = 'show';
4998          const popupStatus = this.loadStatus();
4999          const currentTime = new Date().getTime();
5000          const oneDay = 1000 * 60 * 60 * 24;
5001          const hasStoredStatus = popupStatus && currentTime - popupStatus.setTime < oneDay;
5002          const redirectedByGameLogin = !this.hasRedirectUrl() && this.redirectedByGameLogin();
5003          const isLoggingIn = this.isLoggingIn();
5004          const isCartPage = window.location.pathname.split('/').includes('carts');
5005
5006          if (hasStoredStatus && !redirectedByGameLogin) {
5007            newStatus = popupStatus.status;
5008          }
5009
5010          if (isLoggingIn) {
5011            newStatus = 'minified';
5012          } else {
5013            localStorage.removeItem('redirectedByPopup');
5014          }
5015
5016          setTimeout(() => {
5017            this.status = newStatus;
5018            this.gameStatus = newStatus;
5019            this.saveStatus(newStatus);
5020            if(!isCartPage){
5021              this.unhidePopup(newStatus);
5022            }
5023          }, 1000);
5024        },
5025        initBlocks: function() {
5026          if (this.hasContent) {
5027            this.blocks.forEach(block => {
5028              switch(block.type) {
5029                case 'image':
5030                  this.setupImageSrc(block.settings);
5031
5032                  const isOpenInNewTab = block.settings.link_open_in_new_tab;
5033                  if (isOpenInNewTab) {
5034                    block.settings.target = '_blank';
5035                    block.settings.rel = 'noopener noreferrer';
5036                  }
5037
5038                  break;
5039                case 'video':
5040                  this.parseVideoLink(block.settings);
5041                  break;
5042              }
5043            })
5044          }
5045        },
5046        getGameIframeSrc: function (block) {
5047          return `/games/${block.settings.dict_game_handle}`
5048        },
5049        updateGameStatus: function(type, element) {
5050          if (
5051            (type === 'start' && this.status === 'minified')
5052            || (type === 'end' && this.status === 'show')
5053          ) {
5054            this.gameStatus = this.status;
5055          }
5056        },
5057        setupGameRedirects: function() {
5058          window.addEventListener('pagehide', () => {
5059            const isGameActive = document.body.getElementsByClassName('show-game').length;
5060            if (isGameActive) {
5061              localStorage.setItem('redirectedByPopup', 'true');
5062              this.saveStatus('minified');
5063            }
5064          });
5065        },
5066        hasRedirectUrl: function() {
5067          return (new URLSearchParams(location.search)).has('redirect_url');
5068        },
5069        redirectedByGameLogin: function() {
5070          return localStorage.getItem('redirectedByPopup');
5071        },
5072        isLoggingIn: function() {
5073          const loginRelatedPathnames = [
5074            'account/signup',
5075            'account/login',
5076            'account/customer/password/new',
5077            'pages/terms'
5078          ];
5079          return loginRelatedPathnames.some(path => location.pathname.includes(path));
5080        }
5081      },
5082      created: function() {
5083        this.initStatus();
5084        this.initBlocks();
5085        this.setupGameRedirects();
5086      },
5087      mounted: function() {
5088        this.blocks.forEach((block) => {
5089          if (block.type === 'carousel' && block.settings.dict_c
5089arousel) {
5090            renderCarousel(`#popup-carousel-${block.id}`, {
5091              title: block.settings.dict_carousel,
5092              CDN_HOST,
5093              onLinkClick: () => this.linkClicked(),
5094            });
5095          }
5096        });
5097      },
5098    });
5099    popupSection.mount('#popup-wrapper');
5100  });
5101</script>
5101
5102
5103
5104
5105    </div>
5106
5107    <!-- ajaxloading -->
5108    <div id="ajaxloading" class="qk-display--none qk-h--100vh qk-w--100vw qk-l--0 qk-t--0 qk-pos--fixed">
5109      <div class="ajaxbody qk-pos--abs qk-l--50 qk-t--50 qk-text--center">
5110        <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">
5111          <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"/>
5112          <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 "/>
5113          <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"/>
5114          <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"/>
5115          <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"/>
5116          <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"/>
5117        </svg>
5118        <div class="success_msg title qk-display--none qk-pos--abs qk-l--0 qk-w--100 qk-text--center">Added to Cart</div>
5119        <div class="success_update_msg title qk-display--none qk-pos--abs qk-l--0 qk-w--100 qk-text--center">Shopping Cart Updated</div>
5120        <div class="fail_msg title qk-display--none qk-pos--abs qk-l--0 qk-w--100 qk-text--center">Network error, please try again!</div>
5121      </div>
5122    </div>
5123  
5123<script src="//cdn-general.cybassets.com/assets/referral-code-trace-5fcbbe026a61c36b5f09a1615a1c168688205205d9d3e7ee854181a66b64a6ed.js"></script>
5123<script>        $(function () {
5124          function getCookie(e){for(var t=e+"=",n=decodeURIComponent(document.cookie),o=n.split(";"),i=0;i<o.length;i++){for(var r=o[i];" "==r.charAt(0);)r=r.substring(1);if(0==r.indexOf(t))return r.substring(t.length,r.length)}return""}
5125          var html = '<a href="/admin" style="position:fixed;top:10px;right:10px;z-index:3000;background-color:rgba(0,0,0,0.6);border-radius:3px;color:#eee;padding:10px;font-size:0.85em;line-height:1.3;"><h5 style="margin:0 0 5px 0;color:#66DFFF;font-size:15px;">Back to admin panel</h5>(Only managers can see this message)</a><button id="DontEnterAdmin" class="close" style="right:10px;top:8px;padding:10px 10px 20px 20px;position:fixed;color:#fff;font-size:20px;line-height:12px;z-index:4000;">×</button>'
5126          var adminFromCookie = parseInt(getCookie('cyberbiz_admin'))
5127          if (adminFromCookie === 1) {
5128            $(document.body).append($(html))
5129            $('button#DontEnterAdmin').on('click', function(e) {
5130              e.preventDefault();
5131              $('a[href="/admin"]').remove()
5132              $('button#DontEnterAdmin').remove()
5133            })
5134          } else if (adminFromCookie !== 0) {
5135            $.ajax({
5136              method: 'GET',
5137              url: '/check_admin',
5138              dataType: 'json'
5139            }).done(function(data) {
5140              if (!!data.admin) {
5141                $(document.body).append($(html))
5142              }
5143            })
5144          }
5145        })
5146</script>
5146</body>
5147
5148  
5148<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/sub_vendor-4a1e7dfec7e41476.js' type='text/javascript'></script>
5148
5149  
5149<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/theme_helper-4a1e7dfec7e41476.js' type='text/javascript'></script>
5149
5150
5151  <!-- theme assets -->
5152  
5152<script src='//cdn-general.cybassets.com/s/files/17907/theme/98525/assets/js/1692861443_a3b80cfa_main.js?1692861443' type='text/javascript'></script>
5152
5153  
5153<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/theme-4a1e7dfec7e41476.js' type='text/javascript'></script>
5153
5154
5155  <!-- for cache -->
5156  
5156<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/cacheable-4a1e7dfec7e41476.js' type='text/javascript'></script>
5156
5157</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.