PageSourceSearch

https://www.femobook.com.tw/

html femobook.com.tw collected 2026-09-29 10:15:55 UTC 300,823 bytes, 5,991 lines download raw bytes

1<!DOCTYPE html>
2<html lang="zh-TW" style="height:100%;">
3  <head>
4      
4<script>
5        window.dataLayer = window.dataLayer || [];
6      </script>
6
7    <!-- Google Tag Manager -->
8            
8<script>
vendor: 375 bytes, lines 8-12
8(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
9            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
10            j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
11            'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
12            })(window,document,'script','dataLayer','
12GTM-P9KBTW4J
vendor: 3 bytes, line 12
12');
12</script>
12
13          
13<script>var google_tag_manager_id = 'GTM-P9KBTW4J';</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    <meta charset="utf-8">
24<meta http-equiv="X-UA-Compatible" content="IE=edge">
25<meta name="viewport" content="width=device-width, initial-scale=1">
26<link rel="icon" href="https://cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3NzUxNTM0XzMxMzI1NTM1MV8xMTE2NTc1Mjg0MDU4MThfNzE3ODI4NTQ4NDE3OTY1MjAwX24uanBnLmpwZWciXV0.jpeg?convert=false&sha=6bef36928c393981">
27<link rel="apple-touch-icon" href="https://cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3NzUxNTM0XzMxMzI1NTM1MV8xMTE2NTc1Mjg0MDU4MThfNzE3ODI4NTQ4NDE3OTY1MjAwX24uanBnLmpwZWciXV0.jpeg?convert=false&sha=6bef36928c393981">
28
29<meta property="og:site_name" content="femobook" />
30
31<!-- og tag -->
32
33  <meta name="keywords" content="電動磨豆機" />
34  <meta name="description" content="來自台灣的電動磨豆機品牌" />
35  <meta property="og:title" content="femobook 電動磨豆機" />
36  <meta property="og:description" content="來自台灣的電動磨豆機品牌" />
37  <meta property="og:url" content="https://www.femobook.com.tw" />
38  <meta property="og:type" content="website" />
39
40
41<!-- og image -->
42
43  
44  <meta property="og:image" content="https://cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3NzUxNTM0XzMxMzI1NTM1MV8xMTE2NTc1Mjg0MDU4MThfNzE3ODI4NTQ4NDE3OTY1MjAwX24uanBnLmpwZWciXV0.jpeg?sha=6bef36928c393981" />
45  
46
47
48<title>
49  
50    femobook 電動磨豆機
51  
52</title>
53
54
55
56<script src='//cdn-general.cybassets.com/frontend/shop/useSettingsData-3a2e378145f8a165.js' type='text/javascript'></script>
56
57
58
59
60  
60<script>
61    window.setSettingsData({"draggable_sections":{"404":[],"index":["1715063788940_0","1716620994813_0","1715271445372_0","1715274086521_1","1716791046824_5","1715069870196_5","1715274387306_7","1716090072546_1","1767148807242_8","_index_product_banner","_index_4_blocks","1746692951347_3","1746693569979_3"],"product":["product_info","product_description","board_comments","related_products"],"collection":[],"category":[],"blog":[],"article":[],"cart":[],"contact":[],"express_delivery":[],"search":[],"combo_product":["combo_product_info","combo_product_desc","board_comments"],"page":["1715063788940_0","1716620994813_0","1715271445372_0","1715274086521_1","1716791046824_5","1715069870196_5","1715274387306_7","1716090072546_1","_index_4_blocks","_index_product_banner"]},"sections":{"navbar":{"type":"navbar","visible":true,"settings":{"navbar_image_logo_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE1Mjc2NzY2X0xvZ28t77y3MjIweEgyNi5wbmcucG5nIl1d.png?sha=2f37ee574ddbc515","navbar_image_logo_tablet_url":"","navbar_image_logo_mobile_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE1Mjc3MjU5X00tTG9nby3vvLc4MzV4SDEwMC5wbmcucG5nIl1d.png?sha=db63d05446c4665e","main_nav":"main-menu","slider_primary_linklist":"main-menu","slider_primary_linklist_set_open":false,"nav_show_three_dimension":true,"search_enabled":true,"display_only_index":false,"dict_header_banner_image_url":"","dict_header_banner_image_tablet_url":"","dict_header_banner_image_mobile_url":"","dict_header_banner_link":"/pages/promotion-aug","display_count_down":true,"navbar_display_style":"rowNav","menu_display_style":"three_dimension_menu","header_banner_start":"2026-08-02T00:00:00+08:00","header_banner_end":"2026-08-05T00:00:00+08:00","timer_text_color":"#FFFFFF","timer_bg_color":"#3994f7","navbar_background_transparent":true,"display_banner_type":"textBanner","header_banner_simple_text_size":"16","header_banner_simple_text_color":"#ffffff","header_banner_simple_bg":"#1E3A8A","link_menu_enabled":false,"link_menu":"undefined","header_banner_simple_text":"【限時 3 天】8/2(日)至 8/4(二),活動期間內於官網下單磨豆機,即享本島免運送貨","link_open_in_new_tab":false,"header_banner_image_alt":"","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/femobookTW","display_instagram":true,"shop_instagram":"https://www.instagram.com/femobook_taiwan/","display_line":true,"shop_line":"https://lin.ee/iOSBDQ1","display_youtube":true,"shop_youtube":"https://youtube.com/@femobook?si=6pEjEuT9H4d5BGk7","footer_link_arrangement":"display_x","display_facebook_fan_block":true},"block_order":["default_link_list","1715275917129_0","1715275918567_0"],"blocks":{"default_link_list":{"type":"link_list_setting","custom_name":"選單","thumbnail":"list","draggable":true,"visible":true,"settings":{"dict_link_list_block_title":"關於我們","footer_link":"關於我們"}},"default_contact_info":{"type":"contact_info_setting","custom_name":"聯絡資訊","thumbnail":"contactInfo","draggable":true,"visible":true,"settings":{"dict_contact_info_block_title":"聯絡資訊","display_phone":true,"dict_phone_number":"02-22687300","display_fax_number":false,"dict_shop_fax_number":"0222345678","display_shop_email":true,"dict_shop_email":"[email protected]","display_shop_address":true,"dict_shop_address":"新北市土城區中央路3段281å··11弄9號12樓","display_office_time":true,"dict_shop_office_time":"10:00-17:00"}},"1715275917129_0":{"type":"link_list_setting","custom_name":"選單","visible":true,"settings":{"dict_link_list_block_title":"購物資訊","footer_link":"購物資訊"}},"1715275918567_0":{"type":"link_list_setting","custom_name":"選單","visible":true,"settings":{"dict_link_list_block_title":"條款政策","footer_link":"條款政策"}}},"custom_name":"頁腳"},"_main_slider_custom":{"type":"_main_slider_custom","visible":true,"blocks":{"display_main_slider_item_1":{"type":"image","visible":true,"settings":{"dict_link":"","dict_image_url":"/theme_src/i18n_shoestore/default_img/new_main_slider_item_1_lg.jpg","dict_tablet_image_url":"","dict_mobile_image_url":""}},"display_main_slider_item_2":{"type":"image","visible":true,"settings":{"dict_link":"","dict_image_url":"/theme_src/i18n_shoestore/default_img/new_main_slider_item_2_lg.jpg","dict_tablet_image_url":"","dict_mobile_image_url":""}},"display_main_slider_item_3":{"type":"image","visible":true,"settings":{"dict_link":"","dict_image_url":"/theme_src/i18n_shoestore/default_img/new_main_slider_item_3_lg.jpg","dict_tablet_image_url":"","dict_mobile_image_url":""}},"display_main_slider_item_4":{"type":"image","visible":false,"settings":{"dict_link":"","dict_image_url":"","dict_tablet_image_url":"","dict_mobile_image_url":""}},"display_main_slider_item_5":{"type":"image","visible":false,"settings":{"dict_link":"","dict_image_url":"","dict_tablet_image_url":"","dict_mobile_image_url":""}}},"block_order":["display_main_slider_item_1","display_main_slider_item_2","display_main_slider_item_3","display_main_slider_item_4","display_main_slider_item_5"],"settings":{}},"_index_product_banner":{"type":"_index_product_banner","visible":false,"settings":{"dict_link":"","dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzY3MTUxNjI1X-ihqOagvDEgKDEzKS5wbmcucG5nIl1d.png?sha=d9706b9f298349fe","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzY3MTUxOTAyX-ihqOagvDEgKDExKS5wbmcucG5nIl1d.png?sha=c413d78751e893ee","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzY3MTUxODM1X21f6KGo5qC8MSAoMTApLnBuZy5wbmciXV0.png?sha=1271e6f3bd536d02","display_cta_btn":false,"cta_btn_display_style":"topPosition","dict_cta_btn_text":"","cta_btn_bg_color":"#ff0f0f","cta_btn_text_color":"#ffffff","margin_x":"100","margin_bottom":"10","mobile_margin_x":"0","mobile_margin_bottom":"10","product_banner_image_alt":""},"custom_name":"橫幅廣告"},"_index_8_blocks":{"type":"_index_8_blocks","visible":false,"settings":{"dict_title":"","collection_handle":"frontpage","limit":"12","product_arrangement":"1","product_alignment":"leftPosition","margin_x":"0","margin_bottom":"50","mobile_margin_x":"0","mobile_margin_bottom":"24","product_display":"displayDefault"},"custom_name":"商品分類"},"_index_4_blogs":{"type":"_index_4_blogs","visible":false,"blocks":{"index_4_blogs_1":{"type":"blog","visible":true,"settings":{"blog_handle":"news"},"custom_name":"部落格"},"index_4_blogs_2":{"type":"blog","visible":true,"settings":{"blog_handle":"news"},"custom_name":"部落格"},"index_4_blogs_3":{"type":"blog","visible":true,"settings":{"blog_handle":"news"},"custom_name":"部落格"},"index_4_blogs_4":{"type":"blog","visible":true,"settings":{"blog_handle":"news"},"custom_name":"部落格"}},"block_order":["index_4_blogs_1","index_4_blogs_2","index_4_blogs_3","index_4_blogs_4"],"settings":{"dict_title":"更多資訊","margin_x":"0","margin_bottom":"50","mobile_margin_x":"0","mobile_margin_bottom":"50"},"custom_name":"分頁頁籤"},"_index_4_blocks":{"type":"_index_4_blocks","visible":true,"blocks":{"display_index_4_block_1":{"type":"image","visible":true,"settings":{"title":"","dict_link":"/products/a2","dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzUzODYzNDUzX0Ey55Si5ZOB5YiG6aGe5ZyWICgyKS5wbmcucG5nIl1d.png?sha=0e9d6c6134b518ae","dict_tablet_image_url":"","dict_mobile_image_url":"","block_propotion":"","dict_image_description":""},"custom_name":"圖片"},"1715066831584_3":{"type":"html","custom_name":"自訂HTML","visible":true,"settings":{"dict_body_html":"hi"}},"1715066860568_3":{"type":"html","custom_name":"自訂HTML","visible":false,"settings":{"dict_body_html":"oh"}},"1715274486572_0":{"type":"image","custom_name":"圖片","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE1Mjc0MjExX2E1LVcxMDAweEgxMDAwLTEwMC5qcGcuanBlZyJdXQ.jpeg?sha=1fe75f3dbcfb7940","dict_tablet_image_url":"","dict_mobile_image_url":"","dict_link":"/products/a5","block_propotion":"","dict_image_description":""}},"1715274488005_0":{"type":"image","custom_name":"圖片","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE2NzAxMjk0X2E2LVcxMDAweEgxMDAwLTEwMC5qcGcuanBlZyJdXQ.jpeg?sha=5c811ab7a8cb4967","dict_tablet_image_url":"","dict_mobile_image_url":"","dict_link":"/products/a68","block_propotion":"","dict_image_description":""}},"1721378186690_0":{"type":"image","custom_name":"圖片","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzIxMzgxMjc1XzE3MTUyNzQyMTFfYTQtVzEwMDB4SDEwM
61DAtMTAwLmpwZy0oMSkuanBnLmpwZWciXV0.jpeg?sha=d72deee16f821e61","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzIxMzgxMjc1XzE3MTUyNzQyMTFfYTQtVzEwMDB4SDEwMDAtMTAwLmpwZy0oMSkuanBnLmpwZWciXV0.jpeg?sha=d72deee16f821e61","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzIxMzgxMjc1XzE3MTUyNzQyMTFfYTQtVzEwMDB4SDEwMDAtMTAwLmpwZy0oMSkuanBnLmpwZWciXV0.jpeg?sha=d72deee16f821e61","dict_link":"/products/a3","custom_block_image_alt":"","dict_image_description":""}},"1722312400782_0":{"type":"image","custom_name":"圖片","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzIzNjkyNDMyX2E0ei5qcGcuanBlZyJdXQ.jpeg?sha=1c087743a8914e78","dict_tablet_image_url":"","dict_mobile_image_url":"","dict_link":"/products/a4z","dict_image_description":""}}},"block_order":["1715274488005_0","1715274486572_0","1721378186690_0","1722312400782_0","display_index_4_block_1"],"custom_name":"自訂排版設計","settings":{"margin_x":"120","margin_bottom":"39","margin_block":"40","mobile_margin_x":"40","mobile_margin_bottom":"0","mobile_columns":1,"mobile_margin_block":"28","mobile_align":"left"}},"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_shoestore/default_img/new_index_4_blocks_1.jpg","dict_tablet_image_url":"","dict_mobile_image_url":""}}},"block_order":["express_delivery_display_index_4_block_1"]},"custom_text":{"type":"custom_text","visible":true,"settings":{}},"blog":{"type":"blog","visible":true,"settings":{"article_limit_in_blog_page":"6"}},"article":{"type":"article","visible":true,"settings":{"display_blog_menu":true,"dict_blog_tags_title":"文章分類","blog_latest_post_limit":"2"}},"category":{"type":"category","visible":true,"settings":{"category_sidebar_set_open":false,"category_product_block_limit":"4","category_product_swiper_item_limit":"6","category_product_item_limit":"18"}},"shop_setting":{"type":"shop_setting","visible":true,"settings":{"favicon_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3NzUxNTM0XzMxMzI1NTM1MV8xMTE2NTc1Mjg0MDU4MThfNzE3ODI4NTQ4NDE3OTY1MjAwX24uanBnLmpwZWciXV0.jpeg?sha=6bef36928c393981","og_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3NzUxNTM0XzMxMzI1NTM1MV8xMTE2NTc1Mjg0MDU4MThfNzE3ODI4NTQ4NDE3OTY1MjAwX24uanBnLmpwZWciXV0.jpeg?sha=6bef36928c393981","shop_title":"電動磨豆機","shop_description":"來自台灣的電動磨豆機品牌","shop_keywords":"電動磨豆機","prevent_right_click":false},"custom_name":"全站設定"},"color_settings":{"type":"color_settings","visible":true,"settings":{"button_color":"#3493FF","button_text_color":"#FFFFFF","accent_color":"#1963b8","heading_color":"#ffffff","text_color":"#B4B4B4","price_color":"#C39D6F","discount_price_color":"#C39D6F","theme_bg_color":"#252525","product_border_color":"#E2E2E2","tips_text_color":"#0C5460","nav_logo_bg_color":"#252525","nav_menu_bg_color":"#252525","nav_menu_text_color":"#ffffff","nav_menu_icon_color":"#ffffff","footer_bg_color":"#000000","footer_text_color":"#FFFFFF","checkout_button_color":"#3493FF","checkout_accent_color":"#0A2B6C"},"custom_name":"顏色設定"},"popup":{"type":"popup","visible":true,"blocks":{"popup_block_1":{"type":"image","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzg5OTY3NzczX0ZFTU9CT09LXyjkuK3np4sp6YCj5YGH5YWs5ZGK5ZyWXzE5MjAuanBnLmpwZWciXV0.jpeg?sha=7eefa7ae65baf094","icon_size":"middle","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzg5OTY3Nzg3X0ZFTU9CT09LXyjkuK3np4sp6YCj5YGH5YWs5ZGK5ZyWXzk2MC5qcGcuanBlZyJdXQ.jpeg?sha=1fd544fc9fea809d","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzg5OTY3ODQ5X0ZFTU9CT09LXyjkuK3np4sp6YCj5YGH5YWs5ZGK5ZyWXzQ4MC5qcGcuanBlZyJdXQ.jpeg?sha=3a8144f6f4b91d03","dict_link":"","dict_icon_
61image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzg5OTY3ODA4X0ZFTU9CT09LXyjkuK3np4sp6YCj5YGH5YWs5ZGK5ZyWXzQ4MC5qcGcuanBlZyJdXQ.jpeg?sha=9704da9f633e7dd9","link_open_in_new_tab":false},"custom_name":"圖片"}},"block_order":["popup_block_1"],"settings":{},"custom_name":"彈窗廣告"},"product_info":{"type":"product_info","visible":true,"settings":{"display_product_sku":false,"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":false,"use_custom_related_cols":false,"dict_group_related_cols_related_product":"相關商品","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":"","collection_sidebar_set_open":false,"collection_pagination_limit":"24","is_infinite_scroll":false},"custom_name":"商品分類設定"},"404":{"type":"404","visible":true,"settings":{"image_url":"/theme_src/i18n_shoestore/default_img/404_img.png","dict_404_image_url":"/theme_src/i18n_shoestore/default_img/404_img.png","dict_title_text":"抱歉,此頁面不存在或者已經被移除","dict_btn_text":"返回首頁"}},"blogs_all":{"type":"blogs_all","visible":true,"settings":{}},"bundle_discounts":{"type":"bundle_discounts","visible":true,"settings":{}},"cart":{"type":"cart","visible":true,"settings":{}},"cart_empty":{"type":"cart_empty","visible":true,"settings":{}},"page":{"type":"page","visible":true,"settings":{}},"search":{"type":"search","visible":true,"settings":{"search_link_list":"main-menu"}},"customers/account":{"type":"customers/account","visible":true,"settings":{}},"customers/account_edit":{"type":"customers/account_edit","visible":true,"settings":{}},"customers/activate_account":{"type":"customers/activate_account","visible":true,"settings":{}},"customers/addresses":{"type":"customers/addresses","visible":true,"settings":{}},"customers/bonus_points":{"type":"customers/bonus_points","visible":true,"settings":{}},"customers/cancel":{"type":"customers/cancel","visible":true,"settings":{}},"customers/coupons":{"type":"customers/coupons","visible":true,"settings":{}},"customers/forgot_password":{"type":"customers/forgot_password","visible":true,"settings":{}},"customers/login":{"type":"customers/login","visible":true,"settings":{}},"customers/message":{"type":"customers/message","visible":true,"settings":{}},"customers/messages":{"type":"customers/messages","visible":true,"settings":{}},"customers/modify_password":{"type":"customers/modify_password","visible":true,"settings":{}},"customers/order":{"type":"customers/order","visible":true,"settings":{}},"customers/orders":{"type":"customers/orders","visible":true,"settings":{}},"customers/periodic_order":{"type":"customers/periodic_order","visible":true,"settings":{}},"customers/periodic_orders":{"type":"customers/periodic_orders","visible":true,"settings":{}},"customers/other_valid_orders":{"type":"customers/other_valid_orders","visible":true,"settings":{}},"customers/register":{"type":"customers/register","visible":true,"settings":{}},"customers/reset_password":{"type":"customers/reset_password","visible":true,"settings":{}},"customers/return":{"type":"customers/return","visible":true,"settings":{}},"customers/tracking_items":{"type":"customers/tracking_items","visible":true,"settings":{}},"express_delivery-navbar":{"type":"express_delivery-navbar","visible":true,"settings":{}},"express_delivery-content":{"type":"express_delivery-content","visible":true,"settings":{}},"1715063788940_0":{"type":"_main_slider_custom","custom_name":"輪播素材","visible":true,"settings":{"swiper_delay":"3","margin_x":"0","margin_bottom":"50","image_number":"1","image_space":"12","mobile_margin_x":"0","mobile_margin_bottom":"50","mobile_image_number":"1","mobile_image_space":"8","transition_speed":"0.3"},"blocks":{"1715063788943_0":{"type":"image","custom_name":"素材","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE1MDYyOTY2X0JOXzAx5qmr5byPLVcxOTIweEgxMDgwLmpwZy5qcGVnIl1d.jpeg?sha=5c7f909ca3a92a56","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE1MDYyOTY2X0JOXzAx5qmr5byPLVcxOTIweEgxMDgwLmpwZy5qcGVnIl1d.jpeg?sha=5c7f909ca3a92a56","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE1MDYyOTY2X0JOXzAx55u05byPLVc0ODB4SDY0MC5qcGcuanBlZyJdXQ.jpeg?sha=0c4e28d6018507b6","dict_link":"/products/a68","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":""}},"1715063830156_0":{"type":"image","custom_name":"小雨","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzIxNzIyODQ2XzEuanBnLmpwZWciXV0.jpeg?sha=dc6d34702f0aa227","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzIxNzIyODQ2XzEuanBnLmpwZWciXV0.jpeg?sha=dc6d34702f0aa227","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzIxNzIyODQ2XzEuanBnLmpwZWciXV0.jpeg?sha=dc6d34702f0aa227","dict_link":"","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":""}},"1719210168707_0":{"type":"image","custom_name":"2大賽事","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzIzNTM1OTA3X-mVt-aWuUdETuW7o-WRiue0oOadkCAoMjA0OCB4IDExNTIg5YOP57SgKSAoMjI0MCB4IDgwMCDlg4_ntKApICgyKS5qcGcuanBlZyJdXQ.jpeg?sha=7587263ccd470347","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzIzNTM1OTA3X-mVt-aWuUdETuW7o-WRiue0oOadkCAoMjA0OCB4IDExNTIg5YOP57SgKSAoMjI0MCB4IDgwMCDlg4_ntKApICgyKS5qcGcuanBlZyJdXQ.jpeg?sha=7587263ccd470347","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzIzNTM1OTMwX--8p--8pO-8ruato-aWueW9oiAoNDgwIHggNjQwIOWDj-e0oCkgKDEpLmpwZy5qcGVnIl1d.jpeg?sha=5c3e605
61aeb5ed402","dict_link":"/pages/grinderselection","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":""}},"1726492131583_0":{"type":"image","custom_name":"咖啡展攻略","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzMwOTU4NTgxXzExNSDlj7DljJflsZXnmbzmlofkv67mlLkgKDE5MjAgeCAxMDgwIOWDj-e0oCkgKDIpLnBuZy5wbmciXV0.png?sha=7f6b7d9e51572d79","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzMwOTU4NTgxXzExNSDlj7DljJflsZXnmbzmlofkv67mlLkgKDE5MjAgeCAxMDgwIOWDj-e0oCkgKDIpLnBuZy5wbmciXV0.png?sha=7f6b7d9e51572d79","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzMwOTU4Mzk2XzExNSDlj7DljJflsZXnmbzmlofkv67mlLkgKDQ4MCB4IDEwODAg5YOP57SgKSAoMSkucG5nLnBuZyJdXQ.png?sha=681a6b1422a993f6","dict_link":"/pages/2024-coffee-show","main_slider_image_alt":"","slide_contents_display":"left","slide_btn_text":"","slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff","link_open_in_new_tab":true,"dict_slide_btn_text":"","dict_slide_btn_link":""}},"1731486743926_0":{"type":"image","custom_name":"線上咖啡展","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzMzNDQ3NzYxX2ZlbW_nt5rkuIrlkpbllaHlsZUgICgxOTIwIHggMTA4MCDlg4_ntKApLmpwZy5qcGVnIl1d.jpeg?sha=b222b8184eb96400","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzMzNDQ3NzYwX2ZlbW_nt5rkuIrlkpbllaHlsZUgKDEwODAgeCAxMDgwIOWDj-e0oCkucG5nLnBuZyJdXQ.png?sha=3fc2d01960089b1c","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzMzNDQ3NzYwX2ZlbW_nt5rkuIrlkpbllaHlsZUgKDQ4MCB4IDcyMCDlg4_ntKApLnBuZy5wbmciXV0.png?sha=be11d4845a8bf274","dict_link":"/collections/allproduct","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":""}},"1755156890973_0":{"type":"image","custom_name":"A2隨身帶走","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzU1MTYwNTk2X2ZlbW9fYTJfMTkyMC03NjguanBnLmpwZWciXV0.jpeg?sha=b03495f280df5a94","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzU1MTU3MTM4X2ZlbW9fYTJfOTYwLTM4MC5wbmcucG5nIl1d.png?sha=08b16d196dfcbfa5","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzU1MTU3MTQ0X2ZlbW9fYTJfNDgwLTY0MC5wbmcucG5nIl1d.png?sha=ced2e2e9c17fcbaa","dict_link":"/products/a2","slide_contents_display":"center","dict_slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff"}},"1755157225067_0":{"type":"image","custom_name":"A68世界咖啡大賽","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzU1MTU3MzAyX2ZlbW9fYTY4X1YyLV8xOTIwLTc2OC5qcGcuanBlZyJdXQ.jpeg?sha=3798edc7a9c9216e","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzU1MTU3MzA5X2ZlbW9fYTY4X1YyIF85NjAtMzgwLnBuZy5wbmciXV0.png?sha=7361772d9f7c7c57","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzU1MTU3MzE3X2ZlbW9fYTY4X1YyIF80ODAtNjQwLnBuZy5wbmciXV0.png?sha=365f5b5e4047af75","dict_link":"/products/a68","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"}},"1762389346695_0":{"type":"image","custom_name":"2025線上咖啡展","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzYyODUyMzI4XzIwMjUxMSDnt5rkuIrlkpbllaHlsZUgKDMpLmpwZy5qcGVnIl1d.jpeg?sha=c7e4fbb741bb9670","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzYyMzg5NDc3XzIwMjUxMSDnt5rkuIrlkpbllaHlsZU5NjAtMzgwLmpwZy5qcGVnIl1d.jpeg?sha=d5641db3c786634b","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzYyMzg5NjUxXzEx5pyILUZlbW_lrpjntrLlgJLmlbguanBnLmpwZWciXV0.jpeg?sha=3e9f56921bf3efaa","dict_link":"https://www.femobook.com.tw/pages/promotion-november","slide_contents_display":"left","dict_slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff","link_open_in_new_tab":true}},"1762389681400_0":{"type":"image","custom_name":"2025咖啡展","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzYyMzg5Njk2X2ZlbW_lkpbllaHlsZVfMTkyMC03NjguanBnLmpwZWciXV0.jpeg?sha=3d0ed29c0b1ca8f4","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzYyMzg5NzA3X2ZlbW_lkpbllaHlsZVfOTYwLTM4MC5wbmcucG5nIl1d.png?sha=9a5e716c49bf9c79","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzYyMzg5NzE1X2ZlbW_lkpbllaHlsZVfMTA4MC0xMDgwLnBuZy5wbmciXV0.png?sha=d96d365a1a29d70c","dict_link":"/pages/2025-coffee-show","link_open_in_new_tab":true,"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"}},"1778634731605_0":{"type":"image","custom_name":"A2公告","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzc5MjY4Nzg5X-OAkEZlbW9ib29rIEEyIOWVhuWTgeWFrOWRiuOAkSAoMTkyMCB4IDEwMDAg5YOP57SgKS5wbmcucG5nIl1d.png?sha=416efb8effce3b3a","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzc5MjY4Nzg5X-OAkEZlbW9ib29rIEEyIOWVhuWTgeWFrOWRiuOAkSAoMTkyMCB4IDEwMDAg5YOP57SgKS5wbmcucG5nIl1d.png?sha=416efb8effce3b3a","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzc5MjY4Nzg5X-OAkEZlbW9ib29rIEEyIOWVhuWTgeWFrOWRiuOAkSAoMTkyMCB4IDEwMDAg5YOP57SgKS5wbmcucG5nIl1d.png?sha=416efb8effce3b3a","dict_link":"","slide_contents_display":"left","dict_slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff"}},"1781228773309_0":{"type":"image","custom_name":"202609會員活動","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzg4MTU5NDc2XzIwMjYwODIwX0ZFTU9CT09LX-S5neaciOacg-WToeaXpV8xOTIwLmpwZy5qcGVnIl1d.jpeg?sha=78f7efe5a85060ef","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzg4MTU5NDg4XzIwMjYwODIwX0ZFTU9CT09LX-S5neaciOacg-WToeaXpV85NjAuanBnLmpwZWciXV0.jpeg?sha=ab64f921b478e5be","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzg4MTU5NDk3XzIwMjYwODIwX0ZFTU9CT09LX-S5neaciOacg-WToeaXpV80ODAuanBnLmpwZWciXV0.jpeg?sha=f006f761796fe533","dict_link":"/products/a68","link_open_in_new_tab":false,"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"}},"1781229145844_0":{"type":"image","custom_name":"A68","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzgyODg0NTU3XzIwMjYwNjI2X-WumOe2skJOKEE2OClCXzE5MjAuanBnLmpwZWciXV0.jpeg?sha=bf7ecaf4d9cf6750","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzgyODg0NTY3XzIwMjYwNjI2X-WumOe2skJOKEE2OClCXzk2MC5qcGcuanBlZyJdXQ.jpeg?sha=47d4196d613d2e80","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzgyODg0NTc2XzIwMjYwNjI2X-WumOe2skJOKEE2OClCXzQ4MC5qcGcuanBlZyJdXQ.jpeg?sha=7862b123c70181cf","dict_link":"/products/a68","link_open_in_new_tab":true,"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"}},"1781508746058_0":{"type":"image","custom_name":"端午節連假公告","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzgxNTA4NzYyX-err-WNiF8xOTIwLnBuZy5wbmciXV0.png?sha=ee8b9bce26a5a939","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzgxNTA4NzYyX-err-WNiF8xOTIwLnBuZy5wbmciXV0.png?sha=ee8b9bce26a5a939","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzgxNTA4NzYyX-err-WNiF8xOTIwLnBuZy5wbmciXV0.png?sha=ee8b9bce26a5a939","dict_link":"","slide_contents_display":"left","dict_slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff"}},"1782884623786_0":{"type":"image","custom_name":"A4Z","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzgyODg0NjQzXzIwMjYwNjI2X-WumOe2skJOKEE0WilCXzE5MjAuanBnLmpwZWciXV0.jpeg?sha=b16aa30d808d007f","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzgyODg0NjU0XzIwMjYwNjI2X-WumOe2skJOKEE0WilCXzk2MC5qcGcuanBlZyJdXQ.jpeg?sha=605adb9d60a46df5","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzgyODg0NjYxXzIwMjYwNjI2X-WumOe2skJOKEE0WilCXzQ4MC5qcGcuanBlZyJdXQ.jpeg?sha=6f080a3c39c33d84","dict_link":"/products/a4z","link_open_in_new_tab":true,"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":["1781228773309_0","1781229145844_0","1782884623786_0","1755157225067_0","1781508746058_0","1762389681400_0","1762389346695_0","1731486743926_0","1726492131583_0","1719210168707_0","1715063788943_0","1715063830156_0","1755156890973_0","1778634731605_0"]},"1715069870196_5":{"type":"_custom_html","custom_name":"自訂HTML","visible":false,"settings":{"margin_x":"120","margin_bottom":"0","mobile_margin_x":"25","mobile_margin_bottom":"","dict_body_html":"\u003ciframe id=\"desktop-yt\" width=\"100%\" height=\"700px\" src=\"https://www.youtube.com/embed/X0Hwzg580fc?si=CDyhhUzq6YI7kPyB\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen\u003e\u003c/iframe\u003e\n\u003ciframe id=\"mobile-yt\" width=\"100%\" height=\"100%\" src=\"https://www.youtube.com/embed/X0Hwzg580fc?si=CDyhhUzq6YI7kPyB\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen\u003e\u003c/iframe\u003e"},"blocks":{},"block_order":[]},"1715271445372_0":{"type":"_main_slider_custom","custom_name":"輪播素材","visible":true,"settings":{"swiper_delay":"5","margin_x":"0","margin_bottom":"0","image_number":"1","image_space":"12","mobile_margin_x":"0","mobile_margin_bottom":"0","mobile_image_number":"1","mobile_image_space":"8","transition_speed":"0.3"},"blocks":{"1715271445376_0":{"type":"image","custom_name":"素材","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0NjU4X-WVhueUqOmmlumBuC1XNzEweEg0NjQtMTAwLmpwZy5qcGVnIl1d.jpeg?sha=4ceaf5b0756e9ed4","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0NjU4X-WVhueUqOmmlumBuC1XNzEweEg0NjQtMTAwLmpwZy5qcGVnIl1d.jpeg?sha=4ceaf5b0756e9ed4","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0NjU3X00t5ZWG55So6aaW6YG4LVczMDB4SDIwMC0xMDAuanBnLmpwZWciXV0.jpeg?sha=361309baa0ffcc08","dict_link":"/products/a68","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":""}},"1715273994664_0":{"type":"image","custom_name":"素材","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0NjU3X-S-v-WIqeaUnOW4ti1XNzEweEg0NjQtMTAwLmpwZy5qcGVnIl1d.jpeg?sha=558c2cb058308516","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0NjU3X-S-v-WIqeaUnOW4ti1XNzEweEg0NjQtMTAwLmpwZy5qcGVnIl1d.jpeg?sha=558c2cb058308516","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0NjU3X00t5L6_5Yip5aW95pSc5bi2LVczMDB4SDIwMC0xMDAuanBnLmpwZWciXV0.jpeg?sha=3ae4a1734bdd11e7","dict_link":"/products/a4","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":""}},"1715273996021_0":{"type":"image","custom_name":"素材","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0NzczX-aTuuaUpOmBqeeUqC1XNzEweEg0NjQtMTAwLmpwZy5qcGVnIl1d.jpeg?sha=aeffc3212aaa2a55","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0NzczX-aTuuaUpOmBqeeUqC1XNzEweEg0NjQtMTAwLmpwZy5qcGVnIl1d.jpeg?sha=aeffc3212aaa2a55","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0Nzc3X00t5pO65pSk6YGp55SoLVczMDB4SDIwMC0xMDAuanBnLmpwZWciXV0.jpeg?sha=36a0fc34f2878871","dict_link":"/products/a5","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":""}}},"block_order":["1715271445376_0","1715273994664_0","1715273996021_0"]},"1715274086521_1":{"type":"_index_product_banner","custom_name":"橫幅廣告","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0ODU2X-WwiOWIqeaooee1hOioreioiC3vvLcxNDIweEgyMjAucG5nLnBuZyJdXQ.png?sha=491d673ac283b687","dict_tablet_image_url":"","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0ODU2X00t5bCI54K657K-5ZOB5ZKW5ZWh5omT6YCgLVczMDB4SDEyMC5wbmcucG5nIl1d.png?sha=bd86e7472b968923","dict_link":"","cta_btn_display_style":"topPosition","cta_btn_bg_color":"#000000","cta_btn_text_color":"#ffffff","margin_x":"120","margin_bottom":"12","mobile_margin_x":"26","mobile_margin_bottom":"24"},"blocks":{},"block_order":[]},"1715274387306_7":{"type":"_text_editor_section","custom_name":"文字編輯","visible":true,"settings":{"margin_x":"120","margin_bottom":"40","mobile_margin_x":"20","mobile_margin_bottom":"40","dict_advanced_rich_text_content":"\u003cp style=\"text-align:center;\"\u003e\u003cspan style=\"color: rgb(255,255,255);font-size: 16px;\"\u003e隨著精品咖啡浪潮來襲,處理法日新月異,咖啡豆品質不斷提升,磨豆機也需要與時俱進,讓咖啡農努力的果實,得以呈現最美好的咖啡風味從使用者的體驗出發,把時間留給享用咖啡的美好時刻,解決過往研磨咖啡時的麻煩問題\u003c/span\u003e\u003c/p\u003e\n"},"blocks":{},"block_order":[]},"1715369570801_6":{"type":"_graphic_introduction","custom_name":"圖文介紹","visible":true,"settings":{"text_display":"midPosition","graphic_text":"#ffffff","graphic_bg"
61:"#000000","margin_x":"0","margin_bottom":"0","mobile_margin_x":"0","mobile_margin_bottom":"0","dict_image_url":"","dict_tablet_image_url":"","dict_mobile_image_url":"","btn_display":"leftSide","block_propotion":"50"},"blocks":{"1715369570819_0":{"type":"title","custom_name":"標題","visible":true,"settings":{"dict_rich_text_title":"使用LINE@與我們聯繫","dict_size":"24"}},"1715369570820_2":{"type":"button","custom_name":"按鈕","visible":true,"settings":{"dict_btn_text":"立即加入","graphic-button_bg":"#3493FF","graphic-button_text":"#FFFFFF","dict_graphic_button_link":"https://line.me/R/ti/p/@167sncrs?oat_content=url\u0026ts=06031744"}}},"block_order":["1715369570819_0","1715369570820_2"]},"1716090072546_1":{"type":"_index_product_banner","custom_name":"橫幅廣告","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MzM1NjI0X-WwiOeCuueyvuWTgeWSluWVoeaJk-mAoC3vvLcxNDIweEgyMjAtMTAwLmpwZy5qcGVnIl1d.jpeg?sha=6c283392efe9aff6","dict_tablet_image_url":"","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MzM1NjI0X00t5bCI5Yip5qih57WE6Kit6KiILVczMDB4SDEyMC0xMDAuanBnLmpwZWciXV0.jpeg?sha=d45c9e524c965173","dict_link":"","cta_btn_display_style":"topPosition","cta_btn_bg_color":"#000000","cta_btn_text_color":"#ffffff","margin_x":"118","margin_bottom":"50","mobile_margin_x":"22","mobile_margin_bottom":"24"},"blocks":{},"block_order":[]},"1716620994813_0":{"type":"_main_slider_custom","custom_name":"輪播素材","visible":true,"settings":{"swiper_delay":"3","margin_x":"0","margin_bottom":"0","image_number":"1","image_space":"12","mobile_margin_x":"0","mobile_margin_bottom":"0","mobile_image_number":"1","mobile_image_space":"8","transition_speed":"0.3"},"blocks":{"1716620994827_0":{"type":"image","custom_name":"素材","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0NjA3X-WmguS9leaMkemBuC1XNzEweEg0NjQtMTAwLmpwZy5qcGVnIl1d.jpeg?sha=1e000e54abf23ead","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0NjA3X-WmguS9leaMkemBuC1XNzEweEg0NjQtMTAwLmpwZy5qcGVnIl1d.jpeg?sha=1e000e54abf23ead","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0NjE1X00t5aaC5L2V5oyR6YG4LVczMDB4SDIwMC0xMDAuanBnLmpwZWciXV0.jpeg?sha=e880424c3634c8e4","dict_link":"/pages/grinderselection","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":""}},"1716621308499_0":{"type":"image","custom_name":"素材","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE1NDQ4ODkyX-WmguS9leaMkemBuC1XNzEweEg0NjQtMTAwLmpwZy5qcGVnIl1d.jpeg?sha=8bc1b3b6583bf9a7","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE1NDQ4ODkyX-WmguS9leaMkemBuC1XNzEweEg0NjQtMTAwLmpwZy5qcGVnIl1d.jpeg?sha=8bc1b3b6583bf9a7","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE1NDQ4ODkyX-WmguS9leaMkemBuC1XNzEweEg0NjQtMTAwLmpwZy5qcGVnIl1d.jpeg?sha=8bc1b3b6583bf9a7","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":""}}},"block_order":["1716620994827_0","1716621308499_0"]},"1716791046824_5":{"type":"_custom_html","custom_name":"自訂HTML","visible":true,"settings":{"margin_x":"120","margin_bottom":"-10","mobile_margin_x":"24","mobile_margin_bottom":"-10","dict_body_html":"\u003cdiv\u003e\u003cimg loading=\"lazy\" id=\"desktop-yt\" width=\"100%\" height=\"100%\" src=\"//cdn-general.cybassets.com/s/files/28976/ckeditor/pictures/content_aa0da766-1b26-4734-8ac7-419429da2126.gif\" with=\"100%\" heigh=\"400\"  alt=\"極速快拆\"\u003e\u003c/div\u003e\n\u003cdiv\u003e\u003cimg loading=\"lazy\" id=\"mobile-yt\" width=\"100%\" height=\"100%\" src=\"//cdn-general.cybassets.com/s/files/28976/ckeditor/pictures/content_aa0da766-1b26-4734-8ac7-419429da2126.gif\" with=\"100%\" heigh=\"400\"  alt=\"極速快拆\"\u003e\u003c/div\u003e"},"blocks":{},"block_order":[]},"1746692951347_3":{"type":"_index_4_blogs","custom_name":"咖啡知識","visible":true,"settings":{"dict_title":"更多資訊","margin_x":"0","margin_bottom":"50","mobile_margin_x":"0","mobile_margin_bottom":"50","article_c
61olumns":"4"},"blocks":{"1746692951349_0":{"type":"blog","custom_name":"部落格","visible":true,"settings":{"blog_handle":"coffee-information"}},"1746693105187_0":{"type":"blog","custom_name":"部落格","visible":true,"settings":{"blog_handle":"reviews"}}},"block_order":["1746692951349_0","1746693105187_0"]},"1746693569979_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":{"1746693569980_0":{"type":"blog","custom_name":"部落格","visible":true,"settings":{"blog_handle":"合作店家資訊"}}},"block_order":["1746693569980_0"]},"1767148807242_8":{"type":"_text_editor_section","custom_name":"文字編輯","visible":true,"settings":{"margin_x":"0","margin_bottom":"0","mobile_margin_x":"0","mobile_margin_bottom":"0","dict_advanced_rich_text_content":"\u003cp style=\"text-align:center;\"\u003e\u003cspan style=\"color: rgb(255,255,255);font-size: 24px;\"\u003e商品比較表\u003c/span\u003e\u003c/p\u003e\n"},"blocks":{},"block_order":[]},"announcement_bar":{"type":"announcement_bar","visible":true,"blocks":{"announcement_bar_block_1":{"type":"text","visible":true,"settings":{"display_only_index":false,"display_period":"limited","dict_link":"/products/a68","link_open_in_new_tab":false,"dict_image_url":"","dict_image_tablet_url":"","dict_image_mobile_url":"","image_alt":"","dict_content":"\u003cp\u003e【限時 3 天】9/1(二)至 9/3(四),活動期間內於官網下單A68,即享本島免運送貨\u003c/p\u003e\n","text_size":"16","text_color":"#ffffff","bg_color":"#1E3A8A","timer_text_color":"#FFFFFF","timer_bg_color":"#3994f7","migrated_from_navbar":true},"custom_name":"文字"},"1788160806658_2":{"type":"countdown","custom_name":"倒數","visible":true,"settings":{"display_only_index":false,"display_period":"limited","dict_title_text":"A68限時優惠","timer_text_color":"#f2d1a9","timer_bg_color":"#0c1aaa"}},"1789963162964_1":{"type":"text","custom_name":"文字","visible":true,"settings":{"display_only_index":false,"display_period":"limited","dict_content":"\u003cp\u003e【連假公告】因應 9/25(五)- 9/28(一) 中秋連假,客服與物流將暫停服務。9/23(三) 10:00 後成立的訂單,將於 9/29(二)起依序處理。\u003c/p\u003e\n","text_size":"16","text_color":"#ffffff","bg_color":"#000000"}}},"block_order":["announcement_bar_block_1","1788160806658_2","1789963162964_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":"2019秋季鞋款新品上市","dict_index_event_slider_item_2_link":"#","index_event_slider_item_3_display":true,"dict_index_event_slider_item_3_title":"全館任選三件結帳再享折扣!!8折!!","dict_index_event_slider_item_3_link":"#","index_event_slider_item_4_display":true,"dict_index_event_slider_item_4_title":"FINAL SALE/夏天熱銷百搭鞋款補貨到店","dict_index_event_slider_item_4_link":"#","index_event_slider_item_5_display":true,"dict_index_event_slider_item_5_title":"熱賣倒數","dict_index_event_slider_item_5_link":"#","index_event_slider_item_6_display":true,"dict_index_event_slider_item_6_title":"現在註冊會員即可享折扣金$50(現折)","dict_index_event_slider_item_6_link":"#","index_event_slider_item_7_display":false,"dict_index_event_slider_item_7_title":"","dict_index_event_slider_item_7_link":"","
61index_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":false,"is_first_selected":false,"display_product_images_color":false,"discount_product_images_color_expand":false,"display_product_discounts_list":true,"display_discount_price_name":true,"discount_price_slogan_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzU0NjQzMzcxX3NhbGUucG5nLnBuZyJdXQ.png?sha=8baed6104b5e3506","dict_discount_price_name":"","display_discount_price_suggestion_name":false,"dict_discount_price_suggestion_name":"","display_product_section_description":true,"dict_product_section_description":"商品介紹","description_section_spec_setting":true,"dict_product_description_section_spec":"規格說明","description_section_shipping_setting":true,"dict_product_description_section_shipping":"運送方式","vip_custom_price_visible":false,"display_global_event_1":false,"dict_show_global_event_1_link":"#","display_global_event_2":false,"dict_show_global_event_2_link":"#","display_global_event_3":false,"dict_show_global_event_3_link":"#","display_contact_address":true,"dict_contact_address":"測試地址","show_google_map":true,"show_google_map_iframe":"\u003ciframe src=\"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3613.6479170127777!2d121.56760821400371!3d25.07991984260527!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x3442ac6fbd841bbd%3A0x64e16bcf25e3da31!2zMTE05Y-w5YyX5biC5YWn5rmW5Y2A55Ge5YWJ6LevNTEz5be3MzDomZ8!5e0!3m2!1szh-TW!2stw!4v1485156761267\" width=\"600\" height=\"450\" frameborder=\"0\" style=\"border:0\" allowfullscreen\u003e\u003c/iframe\u003e","display_selected_blog":true,"selected_blog":"news","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":"buttonType","product_scale":"default_scale","display_product_vendor":false,"product_video_display_location":"before","product_text_align":"start","product_labels":{"items":[{"id":"sale_label","kind":"system","title":"特價標籤","display":true,"type":"image","dict_text":{"zh-TW":""},"image":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzU0NjQzMzcxX3NhbGUucG5nLnBuZyJdXQ.png?sha=8baed6104b5e3506","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":"f2074d94-4f2f-45a3-a203-97be92fe5fc7","kind":"custom","title":"自定義標籤 1","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"},{"id":"cbde2685-7943-455e-b75f-2c63ee7ea471","kind":"custom","title":"自定義標籤 2","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"},{"id":"f1d5c02f-5122-4aa9-91c5-434b87236a88","kind":"custom","title":"自定義標籤 3","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"},{"id":"00fe6e0b-92cf-466f-aede-918895023108","kind":"custom","title":"自定義標籤 4","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"},{"id":"feb4d0f2-25fb-4019-883e-73e739ab4f4d","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"});
62  </script>
62
63
64
65
66
67
68
69
70
71  
71<script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","url":"https://www.femobook.com.tw","logo":"https://cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE1Mjc2NzY2X0xvZ28t77y3MjIweEgyNi5wbmcucG5nIl1d.png?sha=2f37ee574ddbc515"}</script>
71<script type="application/ld+json">{"@context":"https://schema.org/","@type":"WebSite","name":"femobook","url":"https://www.femobook.com.tw","potentialAction":{"@type":"SearchAction","target":"www.femobook.com.tw/search?q={search_term_string}","query-input":"required name=search_term_string"}}</script>
71
72
73
74
75    <!-- for vendor -->
76    <!-- cyb_snippet _bootstrap start -->
77
78<!-- cyb_snippet _bootstrap end -->
79    <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/vendor-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' />
80
81    <!-- common css rulesets -->
82    <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/common-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' />
83
84    <!-- for navbar -->
85    <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/navbar-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' />
86
87    <!-- for footer -->
88    <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/footer-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' />
89
90    <!-- theme assets -->
91    <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/main-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' />
92
93    <!-- for vendor -->
94    
94<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/vendor-3a2e378145f8a165.js' type='text/javascript'></script>
94
95    
96    <!-- for custom css -->
97    <link href='//cdn-general.cybassets.com/s/files/28976/theme/106642/assets/css/1716705944_2bef44c3_custom.css?1716705944' rel='stylesheet' type='text/css' media='all' />
98
99            
99<script>
100          window.sci = "eyJzaG9wX2lkIjoyODk3Niwic2hvcF9wbGFuIjoibWFzdGVyX3BsdXMiLCJk\naW1fYWZmaWxpYXRlIjpudWxsLCJjdXN0b21lcl9pZCI6bnVsbCwiY3VzdG9t\nZXJfbmFtZSI6bnVsbCwic2hvcF9uYW1lIjoiZmVtb2Jvb2siLCJzaGFyZV9h\ndHRyaWJ1dGlvbl9lbmFibGVkIjpmYWxzZX0=\n";
101        </script>
101
102
103
104<meta name="csrf-param" content="authenticity_token" />
105<meta name="csrf-token" content="YGpr_mmmR_jP2EGg8DDajQmSCn1liwVtI9q3q-TnXsa2YiF0AKt01hI4Ex77GfRW7RSSZ8gROzf8aAku79Yj1A" />
106<script>(function () {
107  window.gaConfigurations = {"useProductIdInProductEvents":false};
108})();
109</script>
vendor: 1 bytes, line 109
109
110<script>(function () {
111  window.CYBERBIZ_PageContext = {"page_type":"home"};
112})();
113</script>
113
114<link href="//cdn-general.cybassets.com/frontend/shop/quark-3a2e378145f8a165.css" rel="stylesheet" type="text/css" media="all" />
115        
115<script>
116          window.shopScriptHelper = {
117            i18nLocale: "zh-TW",
118            i18nLocaleDefault: "zh-TW",
119            availableCurrencies: [],
120            defaultCurrency: "TWD",
121            currenciesInfo: [{"code":"TWD","email":"NT${{amount_no_decimals}}","unit":"","money_format":"%u%n","trailing_zeros":false,"symbol":"NT$","decimal_precision":0,"format":"NT${{amount_no_decimals}}","email_unit":"NT${{amount_no_decimals}}","html_unit":"NT${{amount_no_decimals}}","html":"NT${{amount_no_decimals}}","name":"新台幣 (TWD)"}],
122            vueOverrideTranslations: {"zh-TW":{"vue":{"theme_pages":{"order_return":{"address1":"詳細退貨地址:路/巷/弄/號/樓","keyin_address1":"請填寫詳細退貨地址:路/巷/弄/號/樓"}}}}},
123            hasI18nInContextEditing: false,
124            shopMultipleCurrenciesCheckout: false,
125            hasLocalizedShopPriceFormat: true,
126          }
127        </script>
127
128
129        
130        
130<script
131          src="//cdn-general.cybassets.com/frontend/shop/tolgeeIntegration-3a2e378145f8a165.js">
132        </script>
132
133        
133<script defer>
134          /*
135          * Enable in-context translation for Liquid part on the page.
136          * This must be executed last to prevent conflicts with other Vue apps.
137          * So put it to `onload`, which will be executed after DOM ready's app mount
138          */
139          window.onload = function() {
140            if (
141              window.shopScriptHelper &&
142              window.shopScriptHelper.hasI18nInContextEditing
143            ) {
144              window.initTolgeeForLiquid()
145            }
146          }
147        </script>
147
148
149<script> var google_con_event_labels = [{"conversion_id":"17005712776","conversion_event":"order_created","conversion_label":"27DiCJ3llr8aEIir-qw_","id":null},{"conversion_id":"17005712776","conversion_event":"add_to_cart","conversion_label":"xUDiCIeRmL8aEIir-qw_","id":null},{"conversion_id":"18440271667","conversion_event":"order_created","conversion_label":"H6tfCMbj7vQcELPugNlE","id":null},{"conversion_id":"18440271667","conversion_event":"add_to_cart","conversion_label":"fgcmCMnj7vQcELPugNlE","id":null},{"conversion_id":"18440271667","conversion_event":"all","conversion_label":"3u9JCMzj7vQcELPugNlE","id":null}]</script>
vendor: 1 bytes, line 149
149
150<script src="//cdn-general.cybassets.com/frontend/shop/pageEventHandler-3a2e378145f8a165.js"></script>
vendor: 1 bytes, line 150
150
151<script src="//cdn-general.cybassets.com/frontend/shop/globalAnalysis-e4c650eb0b.js"></script>
151
152        
152<script>
153          window.c12t = {"customer_id":null};
154        </script>
154
155
156        <meta name="request-id" content="E41C7E5AAA452FBFBD95796DB370B1DB"/>
157
158<link rel="canonical" href="https://www.femobook.com.tw/">
159<script src="//cdn-general.cybassets.com/frontend/shop/carousel-3a2e378145f8a165.js"></script>
159
160          
160<script>
161            window.parent.postMessage({ type: 'previewShopInit', currentUrl: window.location.href }, '*');
162          </script>
162
163
164<script src="//cdn-general.cybassets.com/frontend/appStoreSDK/main.2798231628aa7fab87a9.js"></script>
vendor: 1 bytes, line 164
164
165<script>window.CYBERBIZ_AppScriptSettings = {"shop_add_ons":"W3sidmVuZG9yX3R5cGUiOiJDWUJFUkJJWiBHb29nbGUgQW5hbHl0aWNzIDQi\nLCJhcHBfaWQiOiJRVWo1WnFvZUlPUjlaM2JaS2trMG44N3l5a0FpOWU0NURE\naDJ0YlFnaUJBIiwic2V0dGluZ3MiOnsiZ3RhZ19pZCI6IkctRjM3SjBNWTI4\nTiwgRy00QjdSSzdGSFdIIn19LHsidmVuZG9yX3R5cGUiOiJHb29nbGUgQW5h\nbHl0aWNzIDQiLCJhcHBfaWQiOiJSYkpWMTVFcVZWOHJ1Umo3NVlmV3Z1RUlD\nRm90Q0FPZm0xSDZtZ3hyNkZBIiwic2V0dGluZ3MiOnsiZ3RhZ19pZCI6Ikct\nMEJaS0c1OFBGOCJ9fSx7InZlbmRvcl90eXBlIjoiQ2hhdCBCb3giLCJhcHBf\naWQiOiJjOWQ4M2YwOTk2MTc0ZmJiYTg2ZWJhMDQxYWU4OThhMiIsInNldHRp\nbmdzIjp7IndpZGdldF9rZXkiOiJDUlhaWEcyaHg1enhhTzBaIn19XQ==\n"}
166</script>
vendor: 1 bytes, line 166
166
167<script src="https://cdn.cybassets.com/appmarket/api/common/attachments/entrypoint/9d6f4550aad572e9f70abb70ae5a6552482cf617ea5e4d5a32ed4ebbb5d60d54.js"></script>
vendor: 1 bytes, line 167
167
168<script src="https://cdn.cybassets.com/appmarket/api/common/attachments/entrypoint/a810ec58aab67d16f8de1c4adf06fc7cc9f4477ec503b9cb1a998741bc692652.js"></script>
vendor: 1 bytes, line 168
168
169<script src="https://cdn.cybassets.com/appmarket/api/common/attachments/entrypoint/8766542902afa60f4adda3c555c06025d2c27771ea85a6fc657a91cddbe5c59f.js"></script>
vendor: 1 bytes, line 169
169
170<script>window.CYBERBIZ.initializeSDK.initialize();</script>
vendor: 1 bytes, line 170
170
171<script src="//cdn-general.cybassets.com/frontend/shop/setAffliateCookie-3a2e378145f8a165.js"></script>
171
172
173
174
175
176
177
178
179
180
181    <style id="color_settings">
182  :root {
183    
184      --button: #3493FF;
185    
186
187    
188      --button_text: #FFFFFF;
189    
190
191    
192      --accent: #1963b8;
193    
194
195    
196      --heading: #ffffff;
197    
198
199    
200      --text: #B4B4B4;
201    
202
203    
204      --price: #C39D6F;
205    
206
207    
208      --discount_price: #C39D6F;
209    
210
211    
212      --theme_bg: #252525;
213    
214
215    
216      --nav_logo_bg: #252525;
217    
218
219    
220      --nav_menu_bg: #252525;
221    
222
223    
224      --nav_menu_text: #ffffff;
225    
226
227    
228      --nav_menu_icon: #ffffff;
229    
230
231    
232      --footer_bg: #000000;
233    
234
235    
236      --footer_text: #FFFFFF;
237    
238
239    
240      --checkout_button: #3493FF;
241    
242
243    
244      --checkout_accent: #0A2B6C;
245    
246
247    
248      --product_border: #E2E2E2;
249    
250
251    
252      --tips_text: #0C5460;
253    
254
255    
256
257    
258  }
259</style>
260
261
262
263    
264    <!--get btn-->
265    
265<script defer src="https://static.getbutton.io/widget/bundle.js?id=GALZO"></script>
265
266    <!----------->
267    <meta name="google-site-verification" content="tx1F9ymOrflZJTyB0Ree0SSxEL2J5mQfZUBlxMcEBWE" />
268    <meta name="ahrefs-site-verification" content="6329c1ed88dc25501a8180df6bb23342a41c2d9da8b5ce180877c42219b82712">
269    
269<script src="https://analytics.ahrefs.com/analytics.js" data-key="xeXqy8Dm89kkppIQy5/xGA" async></script>
269
270  
271        <!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 74 bytes, lines 271-272
271
272          <script async src="https://www.googletagmanager.com/gtag/js?id=
272G-F37J0MY28N
vendor: 22 bytes, lines 272-273
272"></script>
273          
273<script>
274            window.dataLayer = window.dataLayer || [];
275            function gtag(){dataLayer.push(arguments);}
276            gtag('js', new Date());
277            gtag('config', 'G-F37J0MY28N', {"groups":"cyberbiz","custom_map":{"dimension1":"shop_id","dimension2":"customer_id","dimension3":"infinite_scroll","dimension4":"dim_affiliate"},"shop_id":28976,"dim_affiliate":null});
278            gtag('config', 'UA-64017614-1', {"groups":"cyberbiz","custom_map":{"dimension1":"shop_id","dimension2":"customer_id","dimension3":"infinite_scroll","dimension4":"dim_affiliate"},"shop_id":28976,"dim_affiliate":null});
279      gtag('config', 'AW-18440271667', {"groups":"dynamic_remarketing"});</script>
279
280      
280<script>
281        (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
282        (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
283        m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
284        })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
285
286        ga('create', '', 'auto', {'name': 'cyberbiz'});
287        ga('cyberbiz.require', 'displayfeatures');
288        ga('cyberbiz.set', 'dimension1', '28976');
289        ga('cyberbiz.require', 'ec');
290        ga('cyberbiz.send', 'pageview');
291      </script>
291
292    
293      
293<script>
vendor: 426 bytes, lines 293-300
293
294      !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
295      n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
296      n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
297      t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
298      document,'script','//connect.facebook.net/en_US/fbevents.js');
299
300      fbq('init', '
300825138022886326
vendor: 38 bytes, lines 300-301
300', {}, {'agent':'plcyberbiz'});
301      
301fbq('track', "PageView", '', { eventID: "PageView_E41C7E5AAA452FBFBD95796DB370B1DB" });
302      var facebook_pixel_id = '825138022886326'</script>
302
303
304    </head>
305
306  <body style="display: flex; flex-direction: column;"><!-- Google Tag Manager (noscript) -->
vendor: 74 bytes, lines 306-307
306
307            <noscript><iframe src="//www.googletagmanager.com/ns.html?id=
307GTM-P9KBTW4J
vendor: 105 bytes, lines 307-309
307"
308            height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
309          
309<!-- End Google Tag Manager (noscript) -->
vendor: 74 bytes, lines 309-311
309
310      <noscript><iframe
311      src="//www.googletagmanager.com/ns.html?id=
311GTM-TXD9LVJ
vendor: 117 bytes, lines 311-317
311"
312      height="0"
313      width="0"
314      style="display:none;visibility:hidden">
315      </iframe></noscript>
316    
317    
317<!-- Navigation -->
318    <!-- cyb_snippet liquid_helper start -->
319<script>
320	function getDiscountPriceName() {
321		return "true" === "true" ? "" : "";
322	}
323
324	function getDiscountPriceSuggestionName() {
325		return "false" === "true" ? "" : "";
326	}
327
328  document.addEventListener('DOMContentLoaded', function() {
329    const languageHandle = Cookies.get("language");
330    const defaultLanguage = {"currency_code":"TWD","handle":"zh-TW","title":"繁體中文"};
331    const languages = [];
332    const currency = window.shopScriptHelper.defaultCurrency;
333    const currencies = window.shopScriptHelper.currenciesInfo;
334		window.liquidHelper = {
335			shopInternational: false,
336			defaultLanguage: defaultLanguage,
337			language: languages.find(function(l) {
338				return l.handle === languageHandle;
339			}) || defaultLanguage,
340      shopMultipleCurrenciesCheckout: false,
341			shopMultipleCurrencies: false,
342			defaultCurrencyFormat: "NT${{amount_no_decimals}}",
343			defaultCurrency: currency,
344			getCurrency: function() {
345        const currencyValue = Cookies.get("currencyValue") || currency;
346        return currencies.find(function(c) { return c.code === currencyValue; }
347      )},
348      getDefaultCurrency: function() { return currencies.find(function(c) {
349				return c.code === currency;
350			})},
351      getAvailableCurrencies: function() { return currencies.map(c => c.code) },
352      getCurrencyFormatInfo: function(currency) {
353        const currencyInfo = currencies.find(c => c.code === currency)
354        return _.pick(currencyInfo, [
355          'decimal_precision',
356          'symbol',
357          'money_format',
358          'unit',
359          'trailing_zeros',
360          'html_unit',
361          'code',
362        ]);
363      },
364			cartQuantityLimit: (function() {
365        const limit = Number("0" || undefined);
366        return limit <= 0 || isNaN(limit) ? Number.POSITIVE_INFINITY : limit;
367      })(),
368			isFirstVariantSelected:  false ,
369			isImageColorsUsed:  false ,
370			isEmptyClickable:  false ,
371			hasAddBuyProduct: '' !== "" ? true : false,
372			hasPriceWithDiscountPlugin: 'true' ? true : false,
373      conversionBonus: 1,
374      hasLocalizedShopPriceFormat: true,
375      hasCustomerCartPlugin: true,
376      isCartEnabled: true,
377      cdnHost: '//cdn-general.cybassets.com',
378      hasShopCustomPasswordRulePlugin: false,
379      hasDisableProductQuantityValidation: false,
380      hasBreadcrumbReferrerEnabled: false,
381		};
382	});
383</script>
383
384
385<!-- cyb_snippet liquid_helper end -->
386
387<script src='//cdn-general.cybassets.com/frontend/shop/navbarSection-3a2e378145f8a165.js' type='text/javascript'></script>
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404<style>
405  
406    #navbar {
407      --navbar-pc-title-scale: 1.0;
408      --navbar-pc-body-scale: 1.0;
409      --navbar-mobile-title-scale: 1.0;
410      --navbar-mobile-body-scale: 1.0;
411    }
412  
413
414  
415
416  
417</style>
418
419
420  <span id="navbar" class="drawer drawer--left font-size-setting-enabled">
421    <header id="header" class="qk-w--100vw qk-pos--fixed qk-t--0 qk-l--0">
422      
423
424      
425        <div id="announcement-bar"></div>
426      
427
428      
429      
430        
431
432        <div class="computer_nav row_nav qk-hidden--mobile display_transparent">
433          <div class="header_logo qk-bg--nav_logo_bg">
434            <div class="qk-pos--rel">
435              <div class="qk-text--center qk-display--flex">
436                <!-- logo start -->
437                
438                
439                  <nav class="logo qk-display--il_bk">
440                    <a href="/" class="qk-w--100">
441                      <img
442                        src="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE1Mjc2NzY2X0xvZ28t77y3MjIweEgyNi5wbmcucG5nIl1d.png?sha=2f37ee574ddbc515"
443                        class="qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--pc_logo qk-hidden--mobile"
444                        style="width: auto; height: 52px;"
445                        alt=""
446                        height="52"
447                        width="auto"
448                      >
449                    </a>
450                  </nav>
451                
452                <!-- logo end -->
453                
454                  <div class="header_nav qk-flex--1">
455                    <div class="qk-pos--relative center qk-pd_r--1 qk-w--100">
456                      <!-- main-nav start -->
457                      <nav class="main_nav qk-display--init"></nav>
458                      <!-- main-nav end -->
459                    </div>
460                  </div>
461                
462                <!-- tool-nav start -->
463                
464                  <div style="display: flex; align-items: center; position: relative; top: -12px;">
465                    <!-- cyb_snippet tool_nav start -->
466
467
468
469
470
471
472<nav class="tool-nav qk-pos--rel qk-float--r qk-display--flex">
473  <ul class="link_shelf_top qk-display--flex qk-flex--row qk-justify--end qk-align--center qk-pos--abs qk-r--0">
474    
475    
476    <!-- member -->
477    
478      <li class="customer_account qk-pos--rel qk-pd--05">
479        <div class="dropdown qk-pos--static">
480          <div class="qk-cursor--pointer" data-toggle="dropdown">
481            <div data-icon-type="custom_icon_type_account"></div>
482            <span class="text"></span>
483          </div>
484          <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">
485            <ul id="customer-logined-menu" style="display: none">
486              <li>
487                <div class="qk-fs--body qk-text--heading">
488                  <p class="customer-name qk-whitespace-break-spaces"></p>
489                  <p>您好!</p>
490                </div>
491              </li>
492            </ul>
493            <ul id="customer-not-login-menu">
494              <li class="button qk-text--center">
495                <a href="/account/login" class="btn-login qk-btn qk-btn--lg qk-btn--primary qk-w--100">會員登入</a>
496              </li>
497              <li class="button qk-text--center">
498                <a href="/account/signup" class="btn-orders qk-btn qk-btn--lg qk-btn--secondary qk-w--100 qk-bg--transparent">註冊新會員</a>
499              </li>
500            </ul>
501            <span class="menu-bd qk-bd_t--default qk-bd--product_border"></span>
502            <ul class="member-menu qk-bd_t--default qk-bd--product_border">
503              <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg">
504                <a href="/account/index" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">我的帳戶</a>
505              </li>
506              <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg">
507                <a href="/account/orders" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">
507訂單查詢</a>
508              </li>
509              <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg">
510                <a href="/account/coupons" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">專屬優惠券</a>
511              </li>
512              <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg">
513                <a href="/account/tracking_items" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">收藏清單</a>
514              </li>
515              <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">
516                <a href="/account/logout" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">會員登出</a>
517              </li>
518            </ul>
519          </div>
520        </div>
521      </li>
522    
523    <!-- for money symbol -->
524    <div id="money-symbol" data-money-symbol="NT${{amount_no_decimals}}" hidden></div>
525    <!-- cart -->
526    
527      <li class="cart qk-pos--rel qk-pd--05">
528        <!--電腦版的購物車選單-->
529        <div class="dropdown qk-pos--static">
530          <div data-toggle="dropdown" class="shopcart qk-cursor--pointer" >
531            <div data-icon-type="custom_icon_type_cart"></div>
532            <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>
533            <span class="global-cart-loading"></span>
534          </div>
535          <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">
536            <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 default_scale"></div>
537            <p class="cart_empty qk-fs--body qk-text--heading qk-text--center">目前的購物車是空的!</p>
538            <ul>
539              <li class="button qk-text--center">
540                <a class="btn-checkout qk-btn qk-btn--lg qk-btn--primary qk-w--100" href="/cart" style="display: none">立即購買</a>
541                <a class="btn-tracking qk-btn qk-btn--lg qk-btn--secondary qk-w--100 qk-bg--transparent" href="/account/tracking_items">前往收藏清單</a>
542              </li>
543            </ul>
544          </div>
545        </div>
546      </li>
547    
548    <!-- search -->
549    
550      <li class="search qk-pos--rel qk-pd--05" id="search-icon">
551        <div class="dropdown qk-pos--static">
552          <div class="qk-cursor--pointer" data-toggle="dropdown">
553            <div data-icon-type="custom_icon_type_search"></div>
554          </div>
555          <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">
556            <div class="search-area qk-display--flex qk-flex--row qk-justify--start qk-align--center qk-vert--mid">
557              <form action="/search" class="form-inline qk-search_form qk-display--flex qk-justfify--between qk-align--center qk-flex--1">
558                <input class="search-input form-control qk-inputbox qk-inputbox--lg qk-flex--1 qk-w--100 qk-bg--transparent qk-text--heading" type="search" placeholder="搜尋" aria-label="Search" name="q" value="" />
559                <button class="search-btn qk-btn qk-btn--lg qk-btn--primary qk-pd--0" type="submit">搜尋</button>
560              </form>
561            </div>
562          </div>
563        </div>
564      </li>
565    
566    <!-- express delivery -->
567    
568  </ul>
569</nav>
570
571<!-- cyb_snippet tool_nav end -->
572                  </div>
573                
574                
575                <!-- tool-nav end -->
576              </div>
577            </div>
578          </div>
579        </div>
580      
581      <div class="qk-hidden--pc  ">
582        <!-- mobile-nav start -->
583        <nav class="mobile-nav qk-bg--nav_logo_bg">
584          <ul class="qk-display--flex qk-flex--row qk-justify--between qk-align--center qk-pd_x--05 qk-pd_y--0">
585            <!-- menu -->
586            
587              <li class="sidebar-menu-icon drawer-toggle qk-text--center qk-pd_x--05 qk-pd_y--0 qk-display--flex qk-align--center">
588                <div data-icon-type="custom_icon_type_menu"></div>
589              </li>
590            
591            <!-- logo -->
592            
593              <li class="logo qk-mg_r--auto qk-pd_x--05 qk-pd_y--0">
594                
595                  <a href="/" class="qk-display--il_flex qk-align--center qk-h--100 qk-hidden--phone">
596                    <img
597                      src="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE1Mjc2NzY2X0xvZ28t77y3MjIweEgyNi5wbmcucG5nIl1d.png?sha=2f37ee574ddbc515"
598                      height="25"
599                      width="auto"
600                      alt=""
601                    >
602                  </a>
603                
604                
605                  <a href="/" class="qk-display--il_flex qk-align--center qk-h--100 qk-hidden--tablet">
606                    <img
607                      src="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE1Mjc3MjU5X00tTG9nby3vvLc4MzV4SDEwMC5wbmcucG5nIl1d.png?sha=db63d05446c4665e"
608                      height="25"
609                      width="auto"
610                      alt=""
611                    >
612                  </a>
613                
614              </li>
615            
616            
617              <!-- search -->
618              
619                <li class="search qk-text--center qk-pd_x--05 qk-pd_y--0 qk-display--flex qk-align--center ">
620                  <div class="dropdown qk-pos--static qk-text--center">
621                    <div class="qk-cursor--pointer" data-toggle="dropdown">
622                      <div data-icon-type="custom_icon_type_search"></div>
623                    </div>
624                    <div
625                      class="qk-dropdown_menu dropdown-menu qk-w--100vw qk-bg--theme_bg qk-bd--default qk-bd--product_border qk-mg--0"
626                      role="menu"
627                    >
628                      <div class="search-area qk-display--flex qk-flex--row qk-justify--start qk-align--center qk-sp_bt--5 qk-w--100">
629                        <form action="/search" class="form-inline qk-display--flex qk-justfify--center qk-flex--1">
630                          <div class="form-inline qk-search_form qk-display--flex qk-justfify--center qk-align--center qk-flex--1">
631                            <input
632                              class="form-control qk-flex--1 qk-inputbox qk-inputbox--lg qk-bg--trans
632parent qk-text--heading"
633                              type="search"
634                              placeholder="搜尋"
635                              aria-label="Search"
636                              name="q"
637                              value=""
638                            >
639                            <button class="search-btn qk-btn qk-btn--lg qk-btn--primary qk-pd--0" type="submit">
640                              搜尋
641                            </button>
642                          </div>
643                        </form>
644                      </div>
645                    </div>
646                  </div>
647                </li>
648              
649              <!-- express delivery -->
650              
651            
652          </ul>
653        </nav>
654        <!-- mobile-nav end -->
655      </div>
656      
657    </header>
658    
659      <!-- Sidebar -->
660      <nav class="drawer-nav drawer-nav_width qk-bg--nav_menu_bg " role="navigation">
661        <div class="drawer-menu">
662          <!-- cyb_snippet side_menu start -->
663
664
665<ul id="index_sidebar_shelf_top" class="sidebar qk-pd_b--1">
666  
667    <li class="logo qk-pos--rel qk-bg--nav_logo_bg qk-pd_x--1 qk-pd_y--05">
668      <a href="/" class="qk-pd--0">
669        <img src="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE1Mjc2NzY2X0xvZ28t77y3MjIweEgyNi5wbmcucG5nIl1d.png?sha=2f37ee574ddbc515" height="32" width="auto" alt="logo">
670      </a>
671      <button class="drawer-toggle qk-pos--abs qk-bg--transparent qk-pd--0"></button>
672    </li>
673  
674  
675    
676
677    
678      <!-- cyb_snippet components/side_menu/menu start -->
679
680  <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>
681
682
683  
684  
685  
686    <li class="qk-pos--rel qk-pd--0">
687      
688        <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/grinderselection"> 磨豆機如何挑選</a>
689      
690    </li>
691  
692
693  
694  
695  
696    <li class="qk-pos--rel qk-pd--0">
697      <button class="linklist bt-toggle qk-fw--bold  collapsed  qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-text--nav_menu_text qk-bg--nav_menu_bg qk-pos--rel" data-toggle="collapse" data-target=".collapse_index_sidebar_2" aria-expanded=" false ">
698        
699          <span class="qk-cursor--pointer qk-text--nav_menu_text"> 電動磨豆機款式 </span>
700        
701      </button>
702      <ul id="index_sidebar_shelf_second_2" class="collapse_index_sidebar_2 collapse shelf_second  qk-pd--0">
703        
704          
705          
706          
707            <li class="qk-pos--rel qk-pd--0">
708              
709                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/collections/pourover">
710                  手沖專用磨豆機
711                </a>
712              
713            </li>
714          
715        
716          
717          
718          
719            <li class="qk-pos--rel qk-pd--0">
720              
721                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/collections/espresso">
722                  義式推薦磨豆機
723                </a>
724              
725            </li>
726          
727        
728          
729          
730          
731            <li class="qk-pos--rel qk-pd--0">
732              
733                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/collections/both">
734                  手沖和義式兩用磨豆機
735                </a>
736              
737            </li>
738          
739        
740          
741          
742          
743            <li class="qk-pos--rel qk-pd--0">
744              
745                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/collections/rechargeable">
746                  充電型磨豆機
747                </a>
748              
749            </li>
750          
751        
752          
753          
754          
755            <li class="qk-pos--rel qk-pd--0">
756              
757                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/collections/plugin">
758                  插電型磨豆機
759                </a>
760              
761            </li>
762          
763        
764      </ul>
765    </li>
766  
767
768  
769  
770  
771    <li class="qk-pos--rel qk-pd--0">
772      <button class="linklist bt-toggle qk-fw--bold  collapsed  qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-text--nav_menu_text qk-bg--nav_menu_bg qk-pos--rel" data-toggle="collapse" data-target=".collapse_index_sidebar_3" aria-expanded=" false ">
773        
774          <a class="qk-text--nav_menu_text" href="/collections/allproduct">
774 所有商品 </a>
775        
776      </button>
777      <ul id="index_sidebar_shelf_second_3" class="collapse_index_sidebar_3 collapse shelf_second  qk-pd--0">
778        
779          
780          
781          
782            <li class="qk-pos--rel qk-pd--0">
783              
784                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/products/a68">
785                  A68 電動磨豆機
786                </a>
787              
788            </li>
789          
790        
791          
792          
793          
794            <li class="qk-pos--rel qk-pd--0">
795              
796                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/products/a5">
797                  A5 電動磨豆機-充電式
798                </a>
799              
800            </li>
801          
802        
803          
804          
805          
806            <li class="qk-pos--rel qk-pd--0">
807              
808                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/products/a5-plug-in">
809                  A5 電動磨豆機-插電式
810                </a>
811              
812            </li>
813          
814        
815          
816          
817          
818            <li class="qk-pos--rel qk-pd--0">
819              
820                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/products/a4">
821                  A4 便攜式電動磨豆機
822                </a>
823              
824            </li>
825          
826        
827          
828          
829          
830            <li class="qk-pos--rel qk-pd--0">
831              
832                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/products/a4z">
833                  A4Z 便攜式電動磨豆機
834                </a>
835              
836            </li>
837          
838        
839          
840          
841          
842            <li class="qk-pos--rel qk-pd--0">
843              
844                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/products/a3">
845                  A3 電動磨豆機-充電式
846                </a>
847              
848            </li>
849          
850        
851          
852          
853          
854            <li class="qk-pos--rel qk-pd--0">
855              
856                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/products/a3-plug-in">
857                  A3 電動磨豆機-插電式
858                </a>
859              
860            </li>
861          
862        
863          
864          
865          
866            <li class="qk-pos--rel qk-pd--0">
867              
868                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/products/a2">
869                  A2隨身型充電磨豆機
870                </a>
871              
872            </li>
873          
874        
875          
876          
877          
878            <li class="qk-pos--rel qk-pd--0">
879              
880                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/products/a3a4a5bag">
881                  A3/A4/A5收納包
882                </a>
883              
884            </li>
885          
886        
887      </ul>
888    </li>
889  
890
891  
892  
893  
894    <li class="qk-pos--rel qk-pd--0">
895      <button class="linklist bt-toggle qk-fw--bold  collapsed  qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-text--nav_menu_text qk-bg--nav_menu_bg qk-pos--rel" data-toggle="collapse" data-target=".collapse_index_sidebar_4" aria-expanded=" false ">
896        
897          <a class="qk-text--nav_menu_text" href="/pages/reviews"> 職人推薦 </a>
898        
899      </button>
900      <ul id="index_sidebar_shelf_second_4" class="collapse_index_sidebar_4 collapse shelf_second  qk-pd--0">
901        
902          
903          
904          
905            <li class="qk-pos--rel qk-pd--0">
906              
907                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/pages/reviews-a68">
908                  A68 電動磨豆機
909                </a>
910              
911            </li>
912          
913        
914          
915          
916          
917            <li class="qk-pos--rel qk-pd--0">
918              
919                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/pages/reviews-a5">
920                  A5 電動磨豆機
921                </a>
922              
923            </li>
924          
925        
926          
927          
928          
929            <li class="qk-pos--rel qk-pd--0">
930              
931                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/pages/reviews-a4">
932                  A4 便攜式電動磨豆機
933                </a>
934              
935            </li>
936          
937        
938          
939          
940          
941            <li class="qk-pos--rel qk-pd--0">
942              
943                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/pages/reviews-a4z">
944                  A4Z 便攜式電動磨豆機
945                </a>
946              
947            </li>
948          
949        
950          
951          
952          
953            <li class="qk-pos--rel qk-pd--0">
954              
955                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/pages/reviews-a3">
956                  A3 電動磨豆機
957                </a>
958              
959            </li>
960          
961        
962          
963          
964          
965            <li class="qk-pos--rel qk-pd--0">
966              
967                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/pages/reviews-a2">
968                  A2 隨身型充電磨豆機
969                </a>
970              
971            </li>
972          
973        
974      </ul>
975    </li>
976  
977
978  
979  
980  
981    <li class="qk-pos--rel qk-pd--0">
982      <button class="linklist bt-toggle qk-fw--bold  collapsed  qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-text--nav_menu_text qk-bg--nav_menu_bg qk-pos--rel" data-toggle="collapse" data-target=".collapse_index_sidebar_5" aria-expanded=" false ">
983        
984          <span class="qk-cursor--pointer qk-text--nav_menu_text"> 體驗預約 </span>
985        
986      </button>
987      <ul id="index_sidebar_shelf_second_5" class="collapse_index_sidebar_5 collapse shelf_second  qk-pd--0">
988        
989          
990          
991          
992            <li class="qk-pos--rel qk-pd--0">
993              
994                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/pages/ourstore">
995                  預約資訊
996                </a>
997              
998            </li>
999          
1000        
1001      </ul>
1002    </li>
1003  
1004
1005  
1006  
1007  
1008    <li class="qk-pos--rel qk-pd--0">
1009      <button class="linklist bt-toggle qk-fw--bold  collapsed  qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-text--nav_menu_text qk-bg--nav_menu_bg qk-pos--rel" data-toggle="collapse" data-target=".collapse_index_sidebar_6" aria-expanded=" false ">
1010        
1011          <span class="qk-cursor--pointer qk-text--nav_menu_text"> 常見問題 </span>
1012        
1013      </button>
1014      <ul id="index_sidebar_shelf_second_6" class="collapse_index_sidebar_6 collapse shelf_second  qk-pd--0">
1015        
1016          
1017          
1018          
1019            <li class="qk-pos--rel qk-pd--0">
1020              
1021                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/pages/faq-purchasepolicy">
1022                  購物說明
1023                </a>
1024              
1025            </li>
1026          
1027        
1028          
1029          
1030          
1031            <li class="qk-pos--rel qk-pd--0">
1032              
1033                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/pages/faq-manual">
1034                  產品使用相關
1035                </a>
1036              
1037            </li>
1038          
1039        
1040          
1041          
1042          
1043            <li class="qk-pos--rel qk-pd--0">
1044              
1045                <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/pages/faq-warranty">
1046                  保固維修
1047                </a>
1048              
1049            </li>
1050          
1051        
1052      </ul>
1053    </li>
1054  
1055
1056  
1057  
1058  
1059    <li class="qk-pos--rel qk-pd--0">
1060      
1061        <a class="qk-fw--bold qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/blogs/coffee-information">部落格</a>
1062      
1063    </li>
1064  
1065
1066  
1067  
1068  
1069    <li class="qk-pos--rel qk-pd--0">
1070      
1071        <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://www.femobook.com/">
1071ENGLISH</a>
1072      
1073    </li>
1074  
1075
1076
1077<script>
1078  $('button a').on('click', function(e) {e.stopPropagation()});
1079</script>
1079
1080
1081<!-- cyb_snippet components/side_menu/menu end -->
1082    
1083  
1084  
1085    
1086      <li class="category_account-title qk-bd--nav_menu_text qk-fs--breadcrumb qk-text--nav_menu_text qk-bd_y--default qk-fw--500">帳戶</li>
1087      <li class="qk-pos--rel qk-pd--0">
1088        <div class="customer-logined-menu qk-display--il_bk qk-w--100 qk-text--left" style="display: none">
1089          <a href="/account/index" class="qk-text--nav_menu_text qk-fw--bold qk-fs--body">我的帳戶</a>
1090        </div>
1091      </li>
1092      <li class="qk-pos--rel qk-pd--0">
1093        <div class="customer-logined-menu qk-display--il_bk qk-w--100 qk-text--left" style="display: none">
1094          <a href="/account/orders" class="qk-text--nav_menu_text qk-fw--bold qk-fs--body">訂單查詢</a>
1095        </div>
1096      </li>
1097      <li class="qk-pos--rel qk-pd--0">
1098        <div class="customer-logined-menu qk-display--il_bk qk-w--100 qk-text--left" style="display: none">
1099          <a href="/account/logout" class="qk-text--nav_menu_text qk-fw--bold qk-fs--body">會員登出</a>
1100        </div>
1101      </li>
1102      <li class="qk-pos--rel qk-pd--0">
1103        <a href="/account/login">
1104          <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 ">
1105            <span class="qk-text--nav_menu_bg qk-fw--500 qk-fs--body">
1106              會員登入
1107            </span>
1108          </div>
1109        </a>
1110      </li>
1111      <li class="qk-pos--rel qk-pd--0">
1112        <a href="/account/signup">
1113          <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">
1114            <span class="qk-text--nav_menu_text qk-fs--body qk-fw--500">
1115              註冊新會員
1116            </span>
1117          </div>
1118        </a>
1119      </li>
1120    
1121    
1122    
1123    
1124  
1125</ul>
1126
1127<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/sidebar-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' />
1128
1129<script>
1130  $(document).ready(function(){
1131    // 側邊選單
1132    if ($('.drawer').length){
1133      $('.drawer').drawer();
1134      $('.bt-toggle').click(function(){
1135        setTimeout(function(){
1136          $('.drawer')[0].iScroll.refresh()
1137        },500)
1138      })
1139    }
1140  });
1141</script>
1141
1142
1143
1144<!-- cyb_snippet side_menu end -->
1145
1146        </div>
1147      </nav>
1148      <!-- Bottombar -->
1149      
1150        <div
1151          id="mobile-bottom-bar"
1152          class="qk-display--flex qk-justify--around qk-bg--nav_logo_bg qk-w--100vw qk-pos--fixed qk-b--0 qk-hidden--pc"
1153        >
1154          <!-- home -->
1155          <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">
1156            <a id="home-nav-icon" href="/">
1157              <div data-icon-type="custom_icon_type_home"></div>
1158            </a>
1159          </div>
1160          <!-- tracking items -->
1161          <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">
1162            <a href="/account/tracking_items">
1163              <div data-icon-type="custom_icon_type_tracking_items" c></div>
1164            </a>
1165          </div>
1166          <!-- cart -->
1167          
1168            <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">
1169              <a
1170                href="/cart"
1171                class="qk-display--il_flex qk-flex--row qk-justify--center qk-align--center qk-vert--mid qk-pos--rel"
1172              >
1173                <div data-icon-type="custom_icon_type_cart"></div>
1174                <span
1175                  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"
1176                  style="display: none;"
1177                  >0</span
1178                >
1179              </a>
1180            </div>
1181          
1182          <!-- member -->
1183          
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 id="customer-phone-nav-icon" href="/account/login">
1186                <div data-icon-type="custom_icon_type_account"></div>
1187              </a>
1188            </div>
1189          
1190        </div>
1191      
1192    
1193  </span>
1194
1195<div id="index-popular-tags"></div>
1196
1197<style id="timer_color">
1198  :root {
1199    
1200      --timer_text: #FFFFFF;
1201    
1202
1203    
1204      --timer_bg: #3994f7;
1205    
1206  }
1207</style>
1208
1209<script>
1210  window.language = {"account_name":"戶名","add_cart_error_try_again":"加入購物車有誤,請重新嘗試","add_to_cart":"加入購物車","addcart_rate_limit_desc":"秒後可再試一次,建議您停留在此頁面。","address1":"詳細退貨地址:路/å··/弄/號/樓","all_filters":"所有篩選條件","apply_fail":"申請失敗","apply_return":"退貨申請","apply_return_success":"您的退貨申請已成立","apply_success":"申請成功","arrive_soon":"即將到貨","articles_total":"共 {{ totalArticleCounts }} 篇文章","bank_account":"銀行帳號","bank_branch_name":"分行名稱","bonus_redemption":"紅利換購","cancel":"取消","cart_price_total":"結帳金額約","check_order":"訂單查詢","choose_branch_bank":"請選擇分行","choose_return_reason":"請選擇退貨原因","city":"城市","common_price":"定價: ","comply_group_number":"符合 {{comply_group_number}} 組優惠,","confirm":"確認","confirm_return":"申請退貨","confirm_submit":"確定送出","congratulations_for_verify_mobile_success":"恭喜,您已成功驗證您的手機!","contact_form":"聯絡我們","continue_reading":"繼續閱讀","country_placeholder":"請選擇國家","coupon_free_shipping":"免運券折抵","coupon_items":"優惠券折扣項目","date_error":"日期錯誤","default_sort":"預設排序","deliver_error":"寄送商品錯誤","discount_detail":"折扣明細","email":"電子郵件","email_placeholder":"請輸入您的電子郵件,例:[email protected]","enter_account_name":"請輸入戶名","enter_bank_account":"請輸入銀行帳號","enter_return_reason":"請填寫退貨原因...","error_message":"驗證簡訊發生錯誤,請稍後再試。","fail_operation":"操作失敗!","filter_button":"篩選","filter_no_result":"很抱歉,無商品符合篩選條件","free":"免費","gift_price":"加購價","gift_purchase":"滿額/件贈","go_check_email":"請至信箱收取信件","group_percent_discount":"組合內商品打{{discount}}折","has_stock":"尚有庫存 ","include_discount_and_shipping_fee":"含優惠折扣與運費","invalid_email":"這不是有效的電子郵件","invalid_name":"姓名為必填","invalid_phone_number":"聯絡電話為必填","invalid_question_content":"問題內容為必填","keep_shopping":"繼續購物","keyin_address1":"請填寫詳細退貨地址:路/å··/弄/號/樓","keyin_city":"請輸入城市","keyin_zip":"請輸入郵遞區號","less_then_one":"數量不得少於1","line_item_quantity":"數量:{{ lineItemQuantity }}","literal_points":"點","login_btn":"會員登入","mail_send_fail":"信件寄送失敗","message_confirmation_token_error":"簡訊驗證碼有誤","messenger_error_please_try_again":"簡訊寄送發生錯誤,請稍後再試。","mobile_number_error":"手機號碼有誤","name":"姓名","name_placeholder":"請輸入您的姓名","new_password_is_sent":"已送出新密碼","new_product_defect":"新品瑕疵","nn_collection_save_more_money_title":"可享,買 {{quantity}} ä»¶ {{price}} 元優惠","no_stock":"庫存不足","notification_enabled":"已登記補貨通知","notify_me_when_stock_arrives":"已售完,貨到通知我","onsale":"特價","order_date":"訂購日期","order_number":"訂單編號","order_retrun_confirm":"您確認要申請退貨?","ori_price":"原價","others":"其他","over_cart_limit":"數量超過購買上限","over_product_quantity":"數量超過庫存","over_stock_count":"商品庫存剩餘 {{ count }} ä»¶","over_stock_quantity":"超過庫存數量","phone_number":"聯絡電話","phone_number_placeholder":"請輸入聯絡電話","piece":"{{quantity}} ä»¶","please_choose_bank":"請選擇銀行","please_choose_product":"請選擇商品款式","please_choose_variant":"請選擇商品款式","please_enter_number":"請輸入數字","please_reselect":"請重新輸入篩選","please_send_and_confirm_verify_code":"請先發送並確認簡訊驗證碼","pre_order":"預購商品","price_asc":"價格由低到高","price_desc":"價格由高到低","price_filter":"價格","price_includes_tax":"(內含消費稅:{{ tax }})","product_content_defect":"商品內容不全","product_defect":"商品有缺陷","product_limit_buy":"此商品限購 {{ count }} ä»¶","product_rate_limit_btn":"重新進入商品頁","product_rate_limit_desc":"秒後可重新進入商品頁,建議您停留在此頁面。","product_rate_limit_title":"目前搶購人潮眾多,請耐心等候","product_rate_limit_warn":"若離開此頁面,可能會延長等待時間。","product_sold":"已銷售:{{ productSold }}","products_total":"共 {{ totalProductCounts }} 件商品","quantity":"數量:","quantity_over_product_stock":"數量超過商品庫存","question_content":"問題å
1210…§å®¹","question_content_placeholder":"請輸入問題內容","question_submit_fail":"發生問題,請稍後再試","question_submit_success":"問題已成功送出,我們將盡快與您聯繫","question_type":"問題類型","reached_favorable":"已達優惠","recent_days_sold_desc":"本週熱賣","reenter_password_still_error":"重複輸入密碼有誤","refund":"退款金額","refund_account":"退款帳戶","refund_info":"退款資訊","refund_invoice_check":"本人同意發票作廢或「營業人銷貨退回進貨退出貨或折讓證明單」將全權由{{ envoiceCompanyName }}處理,以利加速退款作業。如有退貨/折讓,將直接開立折讓單上傳至財政部電子發票整合服務平台存證。","resend_verify_code":"重發驗證碼","reset_all_filters":"清除所有篩選","reset_filter_button":"清除篩選","return":"返回","return_address":"退貨地址","return_email_notification":"退貨申請信已寄至您的信箱","return_info":"退貨資訊","return_instruction":"退貨說明","return_msg_Australia":"1. 如收到商品後,發現有瑕疵或破損,需要申請換貨或退款,請盡速至【我的帳戶】,點擊【訂單查詢】,在選擇欲申請退貨的訂單中,點擊【申請退貨】。\u003cbr\u003e 2. 收到退貨申請後,我們會聯繫您,並啟動退貨流程。如果您有任何退貨問題,您可以在【訂單查詢】,在選擇欲申請退貨的訂單明細,留下問答紀錄。 請不要自行退貨。\u003cbr\u003e 3. 退換貨時,請保持原包裝完整(包括購買的商品、配件、贈品等)。\u003cbr\u003e 4. 符合退貨資格後,商店會再依照您的付款方式退款。\u003cbr\u003e 5. 詳細的退貨規定與流程說明,請參閱本店的退貨政策。\u003cbr\u003e","return_msg_Japan":"1. 如收到商品後,發現有瑕疵或破損,需要申請換貨或退款,請盡速至【我的帳戶】,點擊【訂單查詢】,在選擇欲申請退貨的訂單中,點擊【申請退貨】。\u003cbr\u003e 2. 收到退貨申請後,我們會聯繫您,並啟動退貨流程。如果您有任何退貨問題,您可以在【訂單查詢】,在選擇欲申請退貨的訂單明細,留下問答紀錄。 請不要自行退貨。\u003cbr\u003e 3. 退換貨時,請保持原包裝完整(包括購買的商品、配件、贈品等)。\u003cbr\u003e 4. 符合退貨資格後,商店會再依照您的付款方式退款。\u003cbr\u003e 5. 詳細的退貨規定與流程說明,請參閱本店的退貨政策。\u003cbr\u003e","return_msg_Japan_to_Taiwan":"1. 如收到商品後,發現有瑕疵或破損,需要申請換貨或退款,請盡速至【我的帳戶】,點擊【訂單查詢】,在選擇欲申請退貨的訂單中,點擊【申請退貨】。\u003cbr\u003e 2. 收到退貨申請後,我們會聯繫您,並啟動退貨流程。如果您有任何退貨問題,您可以在【訂單查詢】,在選擇欲申請退貨的訂單明細,留下問答紀錄。 請不要自行退貨。\u003cbr\u003e 3. 退換貨時,請保持原包裝完整(包括購買的商品、配件、贈品等)。\u003cbr\u003e 4. 符合退貨資格後,商店會再依照您的付款方式退款。\u003cbr\u003e 5. 詳細的退貨規定與流程說明,請參閱本店的退貨政策。\u003cbr\u003e","return_msg_SEA":"1. 如收到商品後,發現有瑕疵或破損,需要申請換貨或退款,請盡速至【我的帳戶】,點擊【訂單查詢】,在選擇欲申請退貨的訂單中,點擊【申請退貨】。\u003cbr\u003e 2. 收到退貨申請後,我們會聯繫您,並啟動退貨流程。如果您有任何退貨問題,您可以在【訂單查詢】,在選擇欲申請退貨的訂單明細,留下問答紀錄。 請不要自行退貨。\u003cbr\u003e 3. 退換貨時,請保持原包裝完整(包括購買的商品、配件、贈品等)。\u003cbr\u003e 4. 符合退貨資格後,商店會再依照您的付款方式退款。\u003cbr\u003e 5. 詳細的退貨規定與流程說明,請參閱本店的退貨政策。\u003cbr\u003e","return_msg_Taiwan":"1. 收到商品後如有發現瑕疵或破損狀況,需要辦理或換貨,請於收到貨後7天內登入『我的帳戶』頁面點選『申請退貨』。\u003cbr\u003e 2. 收到商品後可享有7天免費鑑è³
1210žæœŸï¼ˆå«ä¾‹å‡æ—¥ï¼‰ã€‚退換貨時請保持原包裝商品的完整(包含購買商品,附件,贈品等)。\u003cbr\u003e 3. 收到申請後,我們將與您聯繫取回商品。若有任何退貨問題,您可以在『訂單明細』中,點選『我要詢問』,請勿自行寄回商品。\u003cbr\u003e 4. 當你申請退貨後,請列印本申請單隨商品一起寄回。\u003cbr\u003e 5. 收到您的退貨商品並審查通過後,將於7個工作天內退款至你的退款帳戶。\u003cbr\u003e","return_msg_USA":"1. 如收到商品後,發現有瑕疵或破損,需要申請換貨或退款,請盡速至【我的帳戶】,點擊【訂單查詢】,在選擇欲申請退貨的訂單中,點擊【申請退貨】。\u003cbr\u003e 2. 收到退貨申請後,我們會聯繫您,並啟動退貨流程。如果您有任何退貨問題,您可以在【訂單查詢】,在選擇欲申請退貨的訂單明細,留下問答紀錄。 請不要自行退貨。\u003cbr\u003e 3. 退換貨時,請保持原包裝完整(包括購買的商品、配件、贈品等)。\u003cbr\u003e 4. 符合退貨資格後,商店會再依照您的付款方式退款。\u003cbr\u003e 5. 詳細的退貨規定與流程說明,請參閱本店的退貨政策。\u003cbr\u003e","return_product":"退貨商品","return_reason":"退貨原因","save_more_money_discount":"可享 {{discount}} 折優惠","save_more_money_dollar":"可省 {{dollar}}","search_article_label":"文章搜尋結果 ({{ totalArticleCounts }})","search_no_result":"很抱歉,找不到 {{ queryString }} 請重新輸入搜尋。","search_product_label":"商品搜尋結果 ({{ totalProductCounts }})","search_total":"搜尋 {{ queryString }} 結果共 {{ totalSearchCount }} 筆","select_sort_by":"選擇排序方式","sell_from_asc":"上市日期舊到新","sell_from_desc":"上市日期新到舊","send_too_many_times_try_again_later":"發送次數過多,請稍後再試","sending_msg_few_minutes_get":"簡訊發送中,幾分鐘後您將收到驗證碼","shipping_fee":"運費","sold_out":"已售完","state_placeholder":"請選擇州/省","submit":"送出","subtotal":"小計","success_operation":"操作成功!","successfully_copy_tracking_number":"已成功複製你的物流單號","system_busy_try_again":"系統忙碌,請稍後再試","tax":"稅額","thanks_for_advise":"謝謝您的å¯
1210¶è²´æ„è¦‹","thanks_you_have_signed_up":"謝謝您已註冊","total_bonus_redemption":"總紅利換購點數","tw_city_placeholder":"請選擇縣市","tw_district_placeholder":"請選擇鄉鎮市區","unreach_favorable":"未達優惠","verification_error_please_correct":"驗證有誤請修正","verify_success":"驗證碼確認成功","view_product":"查看商品","vip_shipping_free":"VIP免運費","zip":"郵遞區號","suggested_range":"建議區間:","periodic_order_label":"定期定額","check_account_length":"請檢查銀行帳號長度"}
1211  $(document).ready(function(){
1212    if(window.location.pathname != '' && window.location.pathname != '/' ){
1213      document.getElementById('index-popular-tags').style.display = 'none'
1214    }
1215    // 倒數計時
1216    
1217      var leftDay = $('.left_day');
1218      var leftHour = $('.left_hour');
1219      var leftMin = $('.left_min');
1220      var leftSec = $('.left_sec');
1221      var nowTime = '' * 1;
1222      var startTime = '' ? '' * 1 : nowTime;
1223      var endTime = '' * 1;
1224
1225      function paddedFormat(num) {
1226        return num < 10 ? "0" + num : num;
1227      };
1228
1229      function startCountDown(duration) {
1230        var left_day, left_hour, left_min, left_sec = 0;
1231        var countInterval = setInterval(function () {
1232          leftDay.html(paddedFormat(parseInt(duration / 3600 / 24)));
1233          leftHour.html(paddedFormat(parseInt(duration / 3600) % 24));
1234          leftMin.html(paddedFormat(parseInt(duration / 60) % 60));
1235          leftSec.html(paddedFormat(parseInt(duration) % 60));
1236          duration = duration - 1;
1237          if (duration < 0) {
1238            clearInterval(countInterval);
1239          };
1240        }, 1000);
1241      };
1242
1243      if (startTime <= nowTime && endTime > nowTime) {
1244        startTime = nowTime;
1245        startCountDown(endTime - startTime);
1246      }
1247    
1248
1249    function adjustContentTop() {
1250      
1251      const isNavbarTransparent = true;
1252      let headerHeight = $("#header").outerHeight();
1253      if (isNavbarTransparent && $('#template').width() >= 992) {
1254        headerHeight -= $('.computer_nav').height();
1255      }
1256      const floatFilterHeight = $('#float-filter').innerHeight() || 0;
1257      $("body").css({
1258        "padding-top": (headerHeight - floatFilterHeight) + "px",
1259      });
1260    }
1261
1262    window.adjustContentTop = adjustContentTop;
1263
1264    // navbar設定透明
1265    
1266      var prevScrollpos = window.pageYOffset;
1267
1268      $(window).on('scroll load resize', function () {
1269        if ($('#template').width() <= 992 ) {
1270          return;
1271        }
1272        var headerHeight = $('#header').height();
1273        var headerBannerHeight = headerHeight - $('.computer_nav').height();
1274        var currentScrollPos = window.pageYOffset;
1275        // 移除navbar原本留白的空間
1276        $("body").css({
1277          "padding-top": headerBannerHeight + "px",
1278        });
1279        if (currentScrollPos === 0) {
1280          $('.computer_nav').addClass('display_transparent');
1281        } else if (currentScrollPos > prevScrollpos && currentScrollPos >= headerBannerHeight) {
1282          $('#header').css({ transform: "translate(0, -100%)", transition: 'all .3s' });
1283          $('.computer_nav').removeClass('display_transparent');
1284        } else {
1285          $('#header').css({ transform: "none", transition: 'all .3s' });
1286          $('.computer_nav').removeClass('display_transparent');
1287        }
1288        prevScrollpos = currentScrollPos;
1289      });
1290      $('.computer_nav').on('mouseover', function () {
1291          $(this).removeClass('display_transparent');
1292      });
1293      $('.computer_nav').on('mouseout', function () {
1294        if ($('.dropdown_menu').hasClass('show')) {
1295          return;
1296        } else if (window.pageYOffset === 0) {
1297          $(this).addClass('display_transparent');
1298        }
1299      });
1300    
1301
1302    // Call it first once DOM is ready to prevent CLS
1303    adjustContentTop();
1304
1305    // 延遲初始化,等待 app banner 初始化完成
1306    $(window).on("resize", adjustContentTop);
1307
1308    // 使用 setTimeout 確保 banner 狀態已經確定
1309    $(window).on("load", function() {
1310      setTimeout(function() {
1311        adjustContentTop();
1312      }, 200); // 給 banner 足夠時間初始化
1313    });
1314
1315    $('img.header_banner').on('load', adjustContentTop);
1316
1317    window.renderNavbarSection('.main_nav', {
1318        navbarCollections: null,
1319        navbarItems: [{"id":1391253,"title":" 磨豆機如何挑選","url":"/pages/grinderselection","item_type":"page","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1407277,"title":"電動磨豆機款式","url":"","item_type":"linklist","subtitle":null,"icon_image_url":null,"menuItems":[{"id":1408392,"title":"手沖專用磨豆機","url":"/collections/pourover","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1408393,"title":"義式推薦磨豆機","url":"/collections/espresso","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1408394,"title":"手沖和義式兩用磨豆機","url":"/collections/both","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1407286,"title":"充電型磨豆機","url":"/collections/rechargeable","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1407287,"title":"插電型磨豆機","url":"/collections/plugin","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null}]},{"id":1446852,"title":"所有商品","url":"/collections/allproduct","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":[{"id":1446854,"title":"A68 電動磨豆機","url":"/products/a68","item_type":"product","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1446855,"title":"A5 電動磨豆機-充電式","url":"/products/a5","item_type":"product","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1505532,"title":"A5 電動磨豆機-插電式","url":"/products/a5-plug-in","item_type":"product","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1446856,"title":"A4 便攜式電動磨豆機","url":"/products/a4","item_type":"product","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1446857,"title":"A4Z 便攜式電動磨豆機","url":"/products/a4z","item_type":"product","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1446858,"title":"A3 電動磨豆機-充電式","url":"/products/a3","item_type":"product","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1557664,"title":"A3 電動磨豆機-插電式","url":"/products/a3-plug-in","item_type":"product","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1516675,"title":"A2隨身型充電磨豆機","url":"/products/a2","item_type":"product","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1557548,"title":"A3/A4/A5收納包","url":"/products/a3a4a5bag","item_type":"product","subtitle":null,"icon_image_url":null,"menuItems":null}]},{"id":1391254,"title":"職人推薦","url":"/pages/reviews","item_type":"page","subtitle":null,"icon_image_url":null,"menuItems":[{"id":1727953,"title":"A68 電動磨豆機","url":"/pages/reviews-a68","item_type":"page","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1727998,"title":"A5 電動磨豆機","url":"/pages/reviews-a5","item_type":"page","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1764010,"title":"A4 便攜式電動磨豆機","url":"/pages/reviews-a4","item_type":"page","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1764006,"title":"A4Z 便攜式電動磨豆機","url":"/pages/reviews-a4z","item_type":"page","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1742065,"title":"A3 電動磨豆機","url":"/pages/reviews-a3","item_type":"page","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1728070,"title":"A2 隨身型充電磨豆機","url":"/pages/reviews-a2","item_type":"page","subtitle":null,"icon_image_url":null,"menuItems":null}]},{"id":1297850,"title":"體驗預約","url":"","item_type":"linklist","subtitle":null,"icon_image_url":null,"menuItems":[{"id":1391345,"title":"預約資訊","url":"/pages/ourstore","item_type":"page","subtitle":null,"icon_image_url":null,"menuItems":null}]},{"id":1297852,"title":"常見問題","url":"","item_type":"linklist","subtitle":null,"icon_image_url":null,"menuItems":[{"id":1391347,"title":"購物說明","url":"/pages/faq-purchasepolicy","item_type":"page","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1391348,"title":"產品使用相關","url":"/pages/faq-manual","item_type":"page","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1391349,"title":"保固維修","url":"/pages/faq-warranty","item_type":"page","subtitle":null,"icon_image_url":null,"menuItems":null}]},{"id":1391355,"title":"部落格","url":"/blogs/coffee-information","item_type":"blog","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1391362,"title":"ENGLISH","url":" https://www.femobook.com/","item_type":"http","subtitle":null,"icon_image_url":null,"menuItems":null}],
1320        settings: {
1321          menuDisplayStyle: "three_dimension_menu",
1322          pcLogoImgUrl: "//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE1Mjc2NzY2X0xvZ28t77y3MjIweEgyNi5wbmcucG5nIl1d.png?sha=2f37ee574ddbc515",
1323          mobileLogoImgUrl: "//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE1Mjc3MjU5X00tTG9nby3vvLc4MzV4SDEwMC5wbmcucG5nIl1d.png?sha=db63d05446c4665e",
1324          navbarDisplayStyle: "rowNav",
1325        }
1326      }
1327    );
1328
1329
1330    // for link menu
1331    const linkMenuElement = document.querySelector('.link-nav');
1332    const data = []
1333    data.forEach((item) => {
1334      const wrapper = document.createElement('a');
1335      const link = document.createElement('ul');
1336
1337      wrapper.href = item.url;
1338      link.textContent = item.title;
1339      link.classList.add('link-item');
1340
1341      wrapper.appendChild(link);
1342      linkMenuElement.appendChild(wrapper);
1343    });
1344
1345    // for safe-area space on iOS devices
1346    const userAgent = navigator.userAgent;
1347    const isIOS = /iPad|iPhone|iPod/.test(userAgent) && !window.MSStream;
1348    const isLiff = /Line\/[\d.]+/i.test(userAgent);
1349    const $mobileBottomBar = $('#mobile-bottom-bar');
1350
1351    if ($mobileBottomBar.length && isIOS && isLiff) {
1352      $mobileBottomBar.addClass('is-ios-liff');
1353    }
1354  });
1355  document.addEventListener('DOMContentLoaded', function() {
1356    window.getCartAmount = function() {
1357      return parseInt($('.global-cart-count').html());
1358    };
1359  });
1360</script>
1360
1361
1362<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/navbar-3a2e378145f8a165.js' type='text/javascript'></script>
vendor: 1 bytes, line 1362
1362
1363<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/currencies-3a2e378145f8a165.js' type='text/javascript'></script>
1363
1364<!-- cyb_snippet i18n_modal start -->
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-3a2e378145f8a165.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-3a2e378145f8a165.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-3a2e378145f8a165.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      <div class="index">
1435
1436  
1437
1438
1439
1440
1441
1442
1443
1444
1445<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/_main_slider_custom-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' />
1446
1447<style>
1448  [id="1715063788940_0"] {
1449    margin: 0 0px 50px !important;
1450  }
1451  @media (max-width: 576px) {
1452    .main-slider-placeholder {
1453      display: none !important;
1454    }
1455    .swiper-container {
1456      visibility: visible !important;
1457    }
1458  }
1459  @media (max-width: 991px) {
1460    [id="1715063788940_0"] {
1461      margin: 0 0px 50px !important;
1462    }
1463  }
1464</style>
1465
1466<section id="1715063788940_0" class="main-slider qk-pos--rel">
1467  
1468  
1469
1470  <div
1471    class="swiper swiper-container"
1472    
1473  >
1474    <div class="swiper-wrapper qk-align--center">
1475      
1476      
1477      
1478        <div class="swiper-slide">
1479          
1480            
1481            <a
1482              href="/products/a68"
1483              class="img-flex qk-align--stretch qk-display--contents"
1484              target="_blank"
1485              rel="noopener noreferrer"
1486            >
1487          
1488          
1489          
1490          
1491          
1492          
1493            <picture>
1494              
1495                <source
1496                  media="(max-width: 576px)"
1497                  data-srcset="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzgyODg0NTc2XzIwMjYwNjI2X-WumOe2skJOKEE2OClCXzQ4MC5qcGcuanBlZyJdXQ.jpeg?sha=7862b123c70181cf"
1498                  alt=""
1499                >
1500              
1501              
1502                <source
1503                  media="(max-width: 992px)"
1504                  data-srcset="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzgyODg0NTY3XzIwMjYwNjI2X-WumOe2skJOKEE2OClCXzk2MC5qcGcuanBlZyJdXQ.jpeg?sha=47d4196d613d2e80"
1505                  alt=""
1506                >
1507              
1508              <img
1509                id="slider-image"
1510                data-src="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzgyODg0NTU3XzIwMjYwNjI2X-WumOe2skJOKEE2OClCXzE5MjAuanBnLmpwZWciXV0.jpeg?sha=bf7ecaf4d9cf6750"
1511                height="auto"
1512                alt=""
1513                class="swiper-lazy"
1514              >
1515            </picture>
1516
1517            
1518            
1519            
1520            
1521            
1522            
1523            
1524            
1525            
1526            
1527          
1528          
1529            </a>
1530          
1531          
1532            <div class="swiper-lazy-preloader"></div>
1533          
1534        </div>
1535      
1536        <div class="swiper-slide">
1537          
1538            
1539            <a
1540              href="/products/a4z"
1541              class="img-flex qk-align--stretch qk-display--contents"
1542              target="_blank"
1543              rel="noopener noreferrer"
1544            >
1545          
1546          
1547          
1548          
1549          
1550          
1551            <picture>
1552              
1553                <source
1554                  media="(max-width: 576px)"
1555                  data-srcset="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzgyODg0NjYxXzIwMjYwNjI2X-WumOe2skJOKEE0WilCXzQ4MC5qcGcuanBlZyJdXQ.jpeg?sha=6f080a3c39c33d84"
1556                  alt=""
1557                >
1558              
1559              
1560                <source
1561                  media="(max-width: 992px)"
1562                  data-srcset="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzgyODg0NjU0XzIwMjYwNjI2X-WumOe2skJOKEE0WilCXzk2MC5qcGcuanBlZyJdXQ.jpeg?sha=605adb9d60a46df5"
1563                  alt=""
1564                >
1565              
1566              <img
1567                id="slider-image"
1568                data-src="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzgyODg0NjQzXzIwMjYwNjI2X-WumOe2skJOKEE0WilCXzE5MjAuanBnLmpwZWciXV0.jpeg?sha=b16aa30d808d007f"
1569                height="auto"
1570                alt=""
1571                class="swiper-lazy"
1572              >
1573            </picture>
1574
1575            
1576            
1577            
1578            
1579            
1580            
1581            
1582            
1583            
1584            
1585          
1586          
1587            </a>
1588          
1589          
1590            <div class="swiper-lazy-preloader"></div>
1591          
1592        </div>
1593      
1594    </div>
1595    
1596      <div
1597        class="qk-swiper_btn qk-swiper_btn--lg qk-swiper_btn--v2 qk-swiper_btn--prev main_slider_custom_prev qk-hidden--mobile"
1598      ></div>
1599      <div
1600        class="qk-swiper_btn qk-swiper_btn--lg qk-swiper_btn--v2 qk-swiper_btn--next main_slider_custom_next qk-hidden--mobile"
1601      ></div>
1602    
1603  </div>
1604  
1605    <div class="qk-swiper_pg qk-w--100 qk-mg_t--1 qk-text--center main_slider_pagination"></div>
1606  
1607</section>
1608
1609<script>
1610  $(document).ready(function(){
1611    let isDynamicLoading = false;
1612    let settingObj = {
1613      id: '1715063788940_0',
1614      mobile_img_number: Number('1'),
1615      mobile_img_space: Number('8'),
1616      img_number: Number('1'),
1617      img_space: Number('12'),
1618      swiper_delay: '3',
1619    }
1620    window.mainSlider = function(obj){
1621    var id = themeHelper.escapeId(obj.id);
1622    var slideCount = $(`#${obj.id} .swiper-slide`).length
1623    var autoLoop = true
1624    if (slideCount <= 1){
1625      autoLoop = false
1626    }
1627    var mainSlider = new Swiper('#' + id + ' .swiper-container', {
1628      preloadImages: false,
1629      slidesPerView: Number(obj.mobile_img_number),
1630      spaceBetween: Number(obj.mobile_img_space),
1631      breakpoints: {
1632        0:{
1633          slidesPerView: Number(obj.mobile_img_number),
1634          spaceBetween: Number(obj.mobile_img_space),
1635        },
1636        991: {
1637          slidesPerView: Number(obj.img_number),
1638          spaceBetween: Number(obj.img_space),
1639        }
1640      },
1641      // Enable lazy loading
1642      observer: true,
1643      observeParents: true,
1644      autoheight: true,
1645      lazy: {
1646        loadPrevNext: true,
1647      },
1648      freeMode: {
1649        enabled: true,
1650        sticky: true,
1651        momentum: true,
1652        momentumRatio: 0.4,
1653        momentumVelocityRatio: 0.1,
1654      },
1655      loop: autoLoop,
1656      autoplay: { delay: obj.swiper_delay * 1000 },
1657      speed: Number('300.0'),
1658      pagination: {
1659        el: '#' + id + ' .main_slider_pagination',
1660        clickable: true,
1661      },
1662      navigation: {
1663        nextEl: '#' + id + ' .main_slider_custom_next',
1664        prevEl: '#' + id + ' .main_slider_custom_prev',
1665      },
1666      on: {
1667        init: function () {
1668          if (isDynamicLoading && !window.matchMedia("(max-width: 576px)").matches) {
1669            document.querySelector('#' + id + ' .main-slider-placeholder').style.display = 'none';
1670            document.querySelector('#' + id + ' .swiper-container').style.visibility = 'visible';
1671          }
1672        },
1673      }
1674    });
1675    }
1676    if (isDynamicLoading) {
1677        window.DynamicLoading.setupComponent({
1678        sectionId: "1715063788940_0",
1679        sectionSettingData: settingObj,
1680        entryName:'mainSlider',
1681        source:'https://cdnjs.cloudflare.com/ajax/libs/Swiper/5.4.5/js/swiper.js',
1682        componentType:'js',
1683        hiddenDom: true
1684      });
1685    }else{
1686      mainSlider(settingObj);
1687    }
1688  })
1689</script>
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/_main_slider_custom-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' />
1702
1703<style>
1704  [id="1716620994813_0"] {
1705    margin: 0 0px 0px !important;
1706  }
1707  @media (max-width: 576px) {
1708    .main-slider-placeholder {
1709      display: none !important;
1710    }
1711    .swiper-container {
1712      visibility: visible !important;
1713    }
1714  }
1715  @media (max-width: 991px) {
1716    [id="1716620994813_0"] {
1717      margin: 0 0px 0px !important;
1718    }
1719  }
1720</style>
1721
1722<section id="1716620994813_0" class="main-slider qk-pos--rel">
1723  
1724  
1725
1726  <div
1727    class="swiper swiper-container"
1728    
1729  >
1730    <div class="swiper-wrapper qk-align--center">
1731      
1732      
1733      
1734        <div class="swiper-slide">
1735          
1736            
1737            <a
1738              href="/pages/grinderselection"
1739              class="img-flex qk-align--stretch qk-display--contents"
1740              target=""
1741              rel=""
1742            >
1743          
1744          
1745          
1746          
1747          
1748          
1749            <picture>
1750              
1751                <source
1752                  media="(max-width: 576px)"
1753                  data-srcset="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0NjE1X00t5aaC5L2V5oyR6YG4LVczMDB4SDIwMC0xMDAuanBnLmpwZWciXV0.jpeg?sha=e880424c3634c8e4"
1754                  alt=""
1755                >
1756              
1757              
1758                <source
1759                  media="(max-width: 992px)"
1760                  data-srcset="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0NjA3X-WmguS9leaMkemBuC1XNzEweEg0NjQtMTAwLmpwZy5qcGVnIl1d.jpeg?sha=1e000e54abf23ead"
1761                  alt=""
1762                >
1763              
1764              <img
1765                id="slider-image"
1766                data-src="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0NjA3X-WmguS9leaMkemBuC1XNzEweEg0NjQtMTAwLmpwZy5qcGVnIl1d.jpeg?sha=1e000e54abf23ead"
1767                height="auto"
1768                alt=""
1769                class="swiper-lazy"
1770              >
1771            </picture>
1772
1773            
1774            
1775            
1776            
1777            
1778            
1779            
1780            
1781            
1782            
1783          
1784          
1785            </a>
1786          
1787          
1788            <div class="swiper-lazy-preloader"></div>
1789          
1790        </div>
1791      
1792    </div>
1793    
1794  </div>
1795  
1796</section>
1797
1798<script>
1799  $(document).ready(function(){
1800    let isDynamicLoading = false;
1801    let settingObj = {
1802      id: '1716620994813_0',
1803      mobile_img_number: Number('1'),
1804      mobile_img_space: Number('8'),
1805      img_number: Number('1'),
1806      img_space: Number('12'),
1807      swiper_delay: '3',
1808    }
1809    window.mainSlider = function(obj){
1810    var id = themeHelper.escapeId(obj.id);
1811    var slideCount = $(`#${obj.id} .swiper-slide`).length
1812    var autoLoop = true
1813    if (slideCount <= 1){
1814      autoLoop = false
1815    }
1816    var mainSlider = new Swiper('#' + id + ' .swiper-container', {
1817      preloadImages: false,
1818      slidesPerView: Number(obj.mobile_img_number),
1819      spaceBetween: Number(obj.mobile_img_space),
1820      breakpoints: {
1821        0:{
1822          slidesPerView: Number(obj.mobile_img_number),
1823          spaceBetween: Number(obj.mobile_img_space),
1824        },
1825        991: {
1826          slidesPerView: Number(obj.img_number),
1827          spaceBetween: Number(obj.img_space),
1828        }
1829      },
1830      // Enable lazy loading
1831      observer: true,
1832      observeParents: true,
1833      autoheight: true,
1834      lazy: {
1835        loadPrevNext: true,
1836      },
1837      freeMode: {
1838        enabled: true,
1839        sticky: true,
1840        momentum: true,
1841        momentumRatio: 0.4,
1842        momentumVelocityRatio: 0.1,
1843      },
1844      loop: autoLoop,
1845      autoplay: { delay: obj.swiper_delay * 1000 },
1846      speed: Number('300.0'),
1847      pagination: {
1848        el: '#' + id + ' .main_slider_pagination',
1849        clickable: true,
1850      },
1851      navigation: {
1852        nextEl: '#' + id + ' .main_slider_custom_next',
1853        prevEl: '#' + id + ' .main_slider_custom_prev',
1854      },
1855      on: {
1856        init: function () {
1857          if (isDynamicLoading && !window.matchMedia("(max-width: 576px)").matches) {
1858            document.querySelector('#' + id + ' .main-slider-placeholder').style.display = 'none';
1859            document.querySelector('#' + id + ' .swiper-container').style.visibility = 'visible';
1860          }
1861        },
1862      }
1863    });
1864    }
1865    if (isDynamicLoading) {
1866        window.DynamicLoading.setupComponent({
1867        sectionId: "1716620994813_0",
1868        sectionSettingData: settingObj,
1869        entryName:'mainSlider',
1870        source:'https://cdnjs.cloudflare.com/ajax/libs/Swiper/5.4.5/js/swiper.js',
1871        componentType:'js',
1872        hiddenDom: true
1873      });
1874    }else{
1875      mainSlider(settingObj);
1876    }
1877  })
1878</script>
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/_main_slider_custom-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' />
1891
1892<style>
1893  [id="1715271445372_0"] {
1894    margin: 0 0px 0px !important;
1895  }
1896  @media (max-width: 576px) {
1897    .main-slider-placeholder {
1898      display: none !important;
1899    }
1900    .swiper-container {
1901      visibility: visible !important;
1902    }
1903  }
1904  @media (max-width: 991px) {
1905    [id="1715271445372_0"] {
1906      margin: 0 0px 0px !important;
1907    }
1908  }
1909</style>
1910
1911<section id="1715271445372_0" class="main-slider qk-pos--rel">
1912  
1913  
1914
1915  <div
1916    class="swiper swiper-container"
1917    
1918  >
1919    <div class="swiper-wrapper qk-align--center">
1920      
1921      
1922      
1923        <div class="swiper-slide">
1924          
1925            
1926            <a
1927              href="/products/a68"
1928              class="img-flex qk-align--stretch qk-display--contents"
1929              target=""
1930              rel=""
1931            >
1932          
1933          
1934          
1935          
1936          
1937          
1938            <picture>
1939              
1940                <source
1941                  media="(max-width: 576px)"
1942                  data-srcset="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0NjU3X00t5ZWG55So6aaW6YG4LVczMDB4SDIwMC0xMDAuanBnLmpwZWciXV0.jpeg?sha=361309baa0ffcc08"
1943                  alt=""
1944                >
1945              
1946              
1947                <source
1948                  media="(max-width: 992px)"
1949                  data-srcset="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0NjU4X-WVhueUqOmmlumBuC1XNzEweEg0NjQtMTAwLmpwZy5qcGVnIl1d.jpeg?sha=4ceaf5b0756e9ed4"
1950                  alt=""
1951                >
1952              
1953              <img
1954                id="slider-image"
1955                data-src="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0NjU4X-WVhueUqOmmlumBuC1XNzEweEg0NjQtMTAwLmpwZy5qcGVnIl1d.jpeg?sha=4ceaf5b0756e9ed4"
1956                height="auto"
1957                alt=""
1958                class="swiper-lazy"
1959              >
1960            </picture>
1961
1962            
1963            
1964            
1965            
1966            
1967            
1968            
1969            
1970            
1971            
1972          
1973          
1974            </a>
1975          
1976          
1977            <div class="swiper-lazy-preloader"></div>
1978          
1979        </div>
1980      
1981        <div class="swiper-slide">
1982          
1983            
1984            <a
1985              href="/products/a4"
1986              class="img-flex qk-align--stretch qk-display--contents"
1987              target=""
1988              rel=""
1989            >
1990          
1991          
1992          
1993          
1994          
1995          
1996            <picture>
1997              
1998                <source
1999                  media="(max-width: 576px)"
2000                  data-srcset="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0NjU3X00t5L6_5Yip5aW95pSc5bi2LVczMDB4SDIwMC0xMDAuanBnLmpwZWciXV0.jpeg?sha=3ae4a1734bdd11e7"
2001                  alt=""
2002                >
2003              
2004              
2005                <source
2006                  media="(max-width: 992px)"
2007                  data-srcset="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0NjU3X-S-v-WIqeaUnOW4ti1XNzEweEg0NjQtMTAwLmpwZy5qcGVnIl1d.jpeg?sha=558c2cb058308516"
2008                  alt=""
2009                >
2010              
2011              <img
2012                id="slider-image"
2013                data-src="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0NjU3X-S-v-WIqeaUnOW4ti1XNzEweEg0NjQtMTAwLmpwZy5qcGVnIl1d.jpeg?sha=558c2cb058308516"
2014                height="auto"
2015                alt=""
2016                class="swiper-lazy"
2017              >
2018            </picture>
2019
2020            
2021            
2022            
2023            
2024            
2025            
2026            
2027            
2028            
2029            
2030          
2031          
2032            </a>
2033          
2034          
2035            <div class="swiper-lazy-preloader"></div>
2036          
2037        </div>
2038      
2039        <div class="swiper-slide">
2040          
2041            
2042            <a
2043              href="/products/a5"
2044              class="img-flex qk-align--stretch qk-display--contents"
2045              target=""
2046              rel=""
2047            >
2048          
2049          
2050          
2051          
2052          
2053          
2054            <picture>
2055              
2056                <source
2057                  media="(max-width: 576px)"
2058                  data-srcset="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0Nzc3X00t5pO65pSk6YGp55SoLVczMDB4SDIwMC0xMDAuanBnLmpwZWciXV0.jpeg?sha=36a0fc34f2878871"
2059                  alt=""
2060                >
2061              
2062              
2063                <source
2064                  media="(max-width: 992px)"
2065                  data-srcset="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0NzczX-aTuuaUpOmBqeeUqC1XNzEweEg0NjQtMTAwLmpwZy5qcGVnIl1d.jpeg?sha=aeffc3212aaa2a55"
2066                  alt=""
2067                >
2068              
2069              <img
2070                id="slider-image"
2071                data-src="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0NzczX-aTuuaUpOmBqeeUqC1XNzEweEg0NjQtMTAwLmpwZy5qcGVnIl1d.jpeg?sha=aeffc3212aaa2a55"
2072                height="auto"
2073                alt=""
2074                class="swiper-lazy"
2075              >
2076            </picture>
2077
2078            
2079            
2080            
2081            
2082            
2083            
2084            
2085            
2086            
2087            
2088          
2089          
2090            </a>
2091          
2092          
2093            <div class="swiper-lazy-preloader"></div>
2094          
2095        </div>
2096      
2097    </div>
2098    
2099      <div
2100        class="qk-swiper_btn qk-swiper_btn--lg qk-swiper_btn--v2 qk-swiper_btn--prev main_slider_custom_prev qk-hidden--mobile"
2101      ></div>
2102      <div
2103        class="qk-swiper_btn qk-swiper_btn--lg qk-swiper_btn--v2 qk-swiper_btn--next main_slider_custom_next qk-hidden--mobile"
2104      ></div>
2105    
2106  </div>
2107  
2108    <div class="qk-swiper_pg qk-w--100 qk-mg_t--1 qk-text--center main_slider_pagination"></div>
2109  
2110</section>
2111
2112<script>
2113  $(document).ready(function(){
2114    let isDynamicLoading = false;
2115    let settingObj = {
2116      id: '1715271445372_0',
2117      mobile_img_number: Number('1'),
2118      mobile_img_space: Number('8'),
2119      img_number: Number('1'),
2120      img_space: Number('12'),
2121      swiper_delay: '5',
2122    }
2123    window.mainSlider = function(obj){
2124    var id = themeHelper.escapeId(obj.id);
2125    var slideCount = $(`#${obj.id} .swiper-slide`).length
2126    var autoLoop = true
2127    if (slideCount <= 1){
2128      autoLoop = false
2129    }
2130    var mainSlider = new Swiper('#' + id + ' .swiper-container', {
2131      preloadImages: false,
2132      slidesPerView: Number(obj.mobile_img_number),
2133      spaceBetween: Number(obj.mobile_img_space),
2134      breakpoints: {
2135        0:{
2136          slidesPerView: Number(obj.mobile_img_number),
2137          spaceBetween: Number(obj.mobile_img_space),
2138        },
2139        991: {
2140          slidesPerView: Number(obj.img_number),
2141          spaceBetween: Number(obj.img_space),
2142        }
2143      },
2144      // Enable lazy loading
2145      observer: true,
2146      observeParents: true,
2147      autoheight: true,
2148      lazy: {
2149        loadPrevNext: true,
2150      },
2151      freeMode: {
2152        enabled: true,
2153        sticky: true,
2154        momentum: true,
2155        momentumRatio: 0.4,
2156        momentumVelocityRatio: 0.1,
2157      },
2158      loop: autoLoop,
2159      autoplay: { delay: obj.swiper_delay * 1000 },
2160      speed: Number('300.0'),
2161      pagination: {
2162        el: '#' + id + ' .main_slider_pagination',
2163        clickable: true,
2164      },
2165      navigation: {
2166        nextEl: '#' + id + ' .main_slider_custom_next',
2167        prevEl: '#' + id + ' .main_slider_custom_prev',
2168      },
2169      on: {
2170        init: function () {
2171          if (isDynamicLoading && !window.matchMedia("(max-width: 576px)").matches) {
2172            document.querySelector('#' + id + ' .main-slider-placeholder').style.display = 'none';
2173            document.querySelector('#' + id + ' .swiper-container').style.visibility = 'visible';
2174          }
2175        },
2176      }
2177    });
2178    }
2179    if (isDynamicLoading) {
2180        window.DynamicLoading.setupComponent({
2181        sectionId: "1715271445372_0",
2182        sectionSettingData: settingObj,
2183        entryName:'mainSlider',
2184        source:'https://cdnjs.cloudflare.com/ajax/libs/Swiper/5.4.5/js/swiper.js',
2185        componentType:'js',
2186        hiddenDom: true
2187      });
2188    }else{
2189      mainSlider(settingObj);
2190    }
2191  })
2192</script>
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204<script src='//cdn-general.cybassets.com/frontend/shop/productBanner-3a2e378145f8a165.js' type='text/javascript'></script>
2204
2205
2206
2207<style>
2208  [id="1715274086521_1"] {
2209    margin: 0 120px 12px !important;
2210  }
2211  @media (max-width: 991px) {
2212    [id="1715274086521_1"] {
2213      margin: 0 26px 24px !important;
2214    }
2215  }
2216</style>
2217
2218<section id="1715274086521_1" class="index-product-banner qk-display--bk qk-pos--rel">
2219  <div id="index_product_banner-1715274086521_1"></div>
2220</section>
2221
2222<script>
2223  $(document).ready(function() {
2224    let isDynamicLoading = false;
2225    if (isDynamicLoading) {
2226      window.DynamicLoading.setupComponent({
2227          sectionId:'#index_product_banner-1715274086521_1',
2228          callbackData:{
2229            sectionId: "1715274086521_1",
2230            section: {"type":"_index_product_banner","custom_name":"橫幅廣告","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0ODU2X-WwiOWIqeaooee1hOioreioiC3vvLcxNDIweEgyMjAucG5nLnBuZyJdXQ.png?sha=491d673ac283b687","dict_tablet_image_url":"","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0ODU2X00t5bCI54K657K-5ZOB5ZKW5ZWh5omT6YCgLVczMDB4SDEyMC5wbmcucG5nIl1d.png?sha=bd86e7472b968923","dict_link":"","cta_btn_display_style":"topPosition","cta_btn_bg_color":"#000000","cta_btn_text_color":"#ffffff","margin_x":"120","margin_bottom":"12","mobile_margin_x":"26","mobile_margin_bottom":"24"},"blocks":{},"block_order":[],"schedule":{"enabled_default":true,"schedule_lists":[]}},
2231            dictMobileImageUrl:"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0ODU2X00t5bCI54K657K-5ZOB5ZKW5ZWh5omT6YCgLVczMDB4SDEyMC5wbmcucG5nIl1d.png?sha=bd86e7472b968923",
2232            dictTabletImageUrl:"",
2233            dictImageUrl:"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0ODU2X-WwiOWIqeaooee1hOioreioiC3vvLcxNDIweEgyMjAucG5nLnBuZyJdXQ.png?sha=491d673ac283b687",
2234          },
2235          entryName:'renderProductBanner',
2236          source:'//cdn-general.cybassets.com/frontend/shop/productBanner-3a2e378145f8a165.js',
2237        });
2238    }else{
2239      window.renderProductBanner('#index_product_banner-1715274086521_1',
2240        {
2241          sectionId: "1715274086521_1",
2242          section: {"type":"_index_product_banner","custom_name":"橫幅廣告","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0ODU2X-WwiOWIqeaooee1hOioreioiC3vvLcxNDIweEgyMjAucG5nLnBuZyJdXQ.png?sha=491d673ac283b687","dict_tablet_image_url":"","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0ODU2X00t5bCI54K657K-5ZOB5ZKW5ZWh5omT6YCgLVczMDB4SDEyMC5wbmcucG5nIl1d.png?sha=bd86e7472b968923","dict_link":"","cta_btn_display_style":"topPosition","cta_btn_bg_color":"#000000","cta_btn_text_color":"#ffffff","margin_x":"120","margin_bottom":"12","mobile_margin_x":"26","mobile_margin_bottom":"24"},"blocks":{},"block_order":[],"schedule":{"enabled_default":true,"schedule_lists":[]}},
2243          dictMobileImageUrl:"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0ODU2X00t5bCI54K657K-5ZOB5ZKW5ZWh5omT6YCgLVczMDB4SDEyMC5wbmcucG5nIl1d.png?sha=bd86e7472b968923",
2244          dictTabletImageUrl:"",
2245          dictImageUrl:"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MjI0ODU2X-WwiOWIqeaooee1hOioreioiC3vvLcxNDIweEgyMjAucG5nLnBuZyJdXQ.png?sha=491d673ac283b687",
2246        });
2247    }
2248  });
2249</script>
2249
2250
2251
2252
2253
2254
2255
2256
2257<section id="1716791046824_5">
2258  <div><img loading="lazy" id="desktop-yt" width="100%" height="100%" src="//cdn-general.cybassets.com/s/files/28976/ckeditor/pictures/content_aa0da766-1b26-4734-8ac7-419429da2126.gif" with="100%" heigh="400"  alt="極速快拆"></div>
2259<div><img loading="lazy" id="mobile-yt" width="100%" height="100%" src="//cdn-general.cybassets.com/s/files/28976/ckeditor/pictures/content_aa0da766-1b26-4734-8ac7-419429da2126.gif" with="100%" heigh="400"  alt="極速快拆"></div>
2260</section>
2261
2262<style>
2263  [id="1716791046824_5"] {
2264    margin: 0 120px -10px !important;
2265  }
2266  @media (max-width: 991px) {
2267    [id="1716791046824_5"] {
2268      margin: 0 24px -10px !important;
2269    }
2270  }
2271</style>
2272
2273
2274<script src='//cdn-general.cybassets.com/frontend/shop/textEditorSection-3a2e378145f8a165.js' type='text/javascript'></script>
2274
2275
2276
2277
2278
2279
2280<section id="1715274387306_7">
2281  <div id="text_editor_section-1715274387306_7"></div>
2282</section>
2283
2284<script>
2285  $(document).ready(function() {
2286    window.renderTextEditorSection('#text_editor_section-1715274387306_7', {
2287      sectionId: "1715274387306_7",
2288      section: {"type":"_text_editor_section","custom_name":"文字編輯","visible":true,"settings":{"margin_x":"120","margin_bottom":"40","mobile_margin_x":"20","mobile_margin_bottom":"40","dict_advanced_rich_text_content":"\u003cp style=\"text-align:center;\"\u003e\u003cspan style=\"color: rgb(255,255,255);font-size: 16px;\"\u003e隨著精品咖啡浪潮來襲,處理法日新月異,咖啡豆品質不斷提升,磨豆機也需要與時俱進,讓咖啡農努力的果實,得以呈現最美好的咖啡風味從使用者的體驗出發,把時間留給享用咖啡的美好時刻,解決過往研磨咖啡時的麻煩問題\u003c/span\u003e\u003c/p\u003e\n"},"blocks":{},"block_order":[],"schedule":{"enabled_default":true,"schedule_lists":[]}},
2289    });
2290  })
2291</script>
2291
2292
2293
2294<style>
2295  [id="1715274387306_7"] {
2296    margin: 0 120px 40px;
2297  }
2298  @media (max-width: 991px) {
2299    [id="1715274387306_7"] {
2300      margin: 0 20px 40px;
2301    }
2302  }
2303</style>
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315<script src='//cdn-general.cybassets.com/frontend/shop/productBanner-3a2e378145f8a165.js' type='text/javascript'></script>
2315
2316
2317
2318<style>
2319  [id="1716090072546_1"] {
2320    margin: 0 118px 50px !important;
2321  }
2322  @media (max-width: 991px) {
2323    [id="1716090072546_1"] {
2324      margin: 0 22px 24px !important;
2325    }
2326  }
2327</style>
2328
2329<section id="1716090072546_1" class="index-product-banner qk-display--bk qk-pos--rel">
2330  <div id="index_product_banner-1716090072546_1"></div>
2331</section>
2332
2333<script>
2334  $(document).ready(function() {
2335    let isDynamicLoading = false;
2336    if (isDynamicLoading) {
2337      window.DynamicLoading.setupComponent({
2338          sectionId:'#index_product_banner-1716090072546_1',
2339          callbackData:{
2340            sectionId: "1716090072546_1",
2341            section: {"type":"_index_product_banner","custom_name":"橫幅廣告","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MzM1NjI0X-WwiOeCuueyvuWTgeWSluWVoeaJk-mAoC3vvLcxNDIweEgyMjAtMTAwLmpwZy5qcGVnIl1d.jpeg?sha=6c283392efe9aff6","dict_tablet_image_url":"","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MzM1NjI0X00t5bCI5Yip5qih57WE6Kit6KiILVczMDB4SDEyMC0xMDAuanBnLmpwZWciXV0.jpeg?sha=d45c9e524c965173","dict_link":"","cta_btn_display_style":"topPosition","cta_btn_bg_color":"#000000","cta_btn_text_color":"#ffffff","margin_x":"118","margin_bottom":"50","mobile_margin_x":"22","mobile_margin_bottom":"24"},"blocks":{},"block_order":[],"schedule":{"enabled_default":true,"schedule_lists":[]}},
2342            dictMobileImageUrl:"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MzM1NjI0X00t5bCI5Yip5qih57WE6Kit6KiILVczMDB4SDEyMC0xMDAuanBnLmpwZWciXV0.jpeg?sha=d45c9e524c965173",
2343            dictTabletImageUrl:"",
2344            dictImageUrl:"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MzM1NjI0X-WwiOeCuueyvuWTgeWSluWVoeaJk-mAoC3vvLcxNDIweEgyMjAtMTAwLmpwZy5qcGVnIl1d.jpeg?sha=6c283392efe9aff6",
2345          },
2346          entryName:'renderProductBanner',
2347          source:'//cdn-general.cybassets.com/frontend/shop/productBanner-3a2e378145f8a165.js',
2348        });
2349    }else{
2350      window.renderProductBanner('#index_product_banner-1716090072546_1',
2351        {
2352          sectionId: "1716090072546_1",
2353          section: {"type":"_index_product_banner","custom_name":"橫幅廣告","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MzM1NjI0X-WwiOeCuueyvuWTgeWSluWVoeaJk-mAoC3vvLcxNDIweEgyMjAtMTAwLmpwZy5qcGVnIl1d.jpeg?sha=6c283392efe9aff6","dict_tablet_image_url":"","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MzM1NjI0X00t5bCI5Yip5qih57WE6Kit6KiILVczMDB4SDEyMC0xMDAuanBnLmpwZWciXV0.jpeg?sha=d45c9e524c965173","dict_link":"","cta_btn_display_style":"topPosition","cta_btn_bg_color":"#000000","cta_btn_text_color":"#ffffff","margin_x":"118","margin_bottom":"50","mobile_margin_x":"22","mobile_margin_bottom":"24"},"blocks":{},"block_order":[],"schedule":{"enabled_default":true,"schedule_lists":[]}},
2354          dictMobileImageUrl:"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MzM1NjI0X00t5bCI5Yip5qih57WE6Kit6KiILVczMDB4SDEyMC0xMDAuanBnLmpwZWciXV0.jpeg?sha=d45c9e524c965173",
2355          dictTabletImageUrl:"",
2356          dictImageUrl:"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE3MzM1NjI0X-WwiOeCuueyvuWTgeWSluWVoeaJk-mAoC3vvLcxNDIweEgyMjAtMTAwLmpwZy5qcGVnIl1d.jpeg?sha=6c283392efe9aff6",
2357        });
2358    }
2359  });
2360</script>
2360
2361
2362
2363<script src='//cdn-general.cybassets.com/frontend/shop/textEditorSection-3a2e378145f8a165.js' type='text/javascript'></script>
2363
2364
2365
2366
2367
2368
2369<section id="1767148807242_8">
2370  <div id="text_editor_section-1767148807242_8"></div>
2371</section>
2372
2373<script>
2374  $(document).ready(function() {
2375    window.renderTextEditorSection('#text_editor_section-1767148807242_8', {
2376      sectionId: "1767148807242_8",
2377      section: {"type":"_text_editor_section","custom_name":"文字編輯","visible":true,"settings":{"margin_x":"0","margin_bottom":"0","mobile_margin_x":"0","mobile_margin_bottom":"0","dict_advanced_rich_text_content":"\u003cp style=\"text-align:center;\"\u003e\u003cspan style=\"color: rgb(255,255,255);font-size: 24px;\"\u003e商品比較表\u003c/span\u003e\u003c/p\u003e\n"},"blocks":{},"block_order":[],"schedule":{"enabled_default":true,"schedule_lists":[]}},
2378    });
2379  })
2380</script>
2380
2381
2382
2383<style>
2384  [id="1767148807242_8"] {
2385    margin: 0 0px 0px;
2386  }
2387  @media (max-width: 991px) {
2388    [id="1767148807242_8"] {
2389      margin: 0 0px 0px;
2390    }
2391  }
2392</style>
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/_index_4_blocks-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' />
2407<script src='//cdn-general.cybassets.com/frontend/shop/productDisplay-3a2e378145f8a165.js' type='text/javascript'></script>
2407
2408
2409<style>
2410  [id="_index_4_blocks"] {
2411    margin: 0 120px 39px !important;
2412  }
2413
2414  @media (min-width: 992px) {
2415    [id="_index_4_blocks"] .block:not(.last-row) {
2416      margin-bottom: 40px !important;
2417    }
2418    [id="_index_4_blocks"] .block-default-width-margin:not(:first-of-type),
2419    [id="_index_4_blocks"] .block-not-first-margin {
2420      margin-left: 40px !important;
2421    }
2422  }
2423
2424  @media (max-width: 991px) {
2425    [id="_index_4_blocks"] {
2426      margin: 0 40px 0px !important;
2427    }
2428    [id="_index_4_blocks"] > .qk-display--flex.qk-flex--wrap {
2429      gap: 28px;
2430      justify-content: flex-start;
2431    }
2432    [id="_index_4_blocks"] .block {
2433      flex: 0 0 calc((100% - (1 - 1) * 28px) / 1);
2434    }
2435  }
2436
2437  .video-block-loading {
2438    background-color: #eeee;
2439    position: absolute;
2440    top: 0;
2441    bottom: 0;
2442    left: 0;
2443    width: 100%;
2444    height: 100%;
2445  }
2446</style>
2447
2448<script>
2449
2450  $(document).ready(function() {
2451    let isDynamicLoading = false;
2452    if (isDynamicLoading) {
2453      window.DynamicLoading.setupComponent({
2454          sectionId:'_index_4_blocks',
2455          componentType:'liquid',
2456        });
2457    }
2458    
2459      
2460    
2461      
2462    
2463      
2464    
2465      
2466    
2467      
2468    
2469  })
2470</script>
2470
2471
2472<script>
2473  function buildYoutubeEmbedUrl(url, options) {
2474    const YT_REGEX = /^.*(youtu\.be\/|v\/|u\/\w\/|embed\/|watch\?v=|&v=|shorts\/)([^#&?]*).*/;
2475    const match = (url || '').match(YT_REGEX);
2476    const videoId = match && match[2].length === 11 ? match[2] : '';
2477
2478    if (!videoId) {
2479      return '';
2480    }
2481
2482    const autoPlay = options && options.autoPlay;
2483    const hideControls = options && options.hideControls;
2484    const loop = options && options.loop;
2485
2486    const searchParams = new URLSearchParams();
2487
2488    searchParams.set('autoplay', autoPlay ? '1' : '0');
2489    // 若自動播放,預設靜音以符合瀏覽器限制
2490    searchParams.set('mute', autoPlay ? '1' : '0');
2491    searchParams.set('playsinline', '1');
2492
2493    searchParams.set('controls', hideControls ? '0' : '1');
2494    searchParams.set('rel', '0');
2495
2496    if (loop) {
2497      searchParams.set('loop', '1');
2498      searchParams.set('playlist', videoId);
2499    }
2500
2501    return 'https://www.youtube.com/embed/' + videoId + '?' + searchParams.toString();
2502  }
2503
2504  function parseYtUrlOnLoad(target, url, autoPlay, hideControls, loop) {
2505    const finalUrl = buildYoutubeEmbedUrl(url, {
2506      autoPlay: autoPlay,
2507      hideControls: hideControls,
2508      loop: loop,
2509    });
2510
2511    if (!finalUrl || target.src === finalUrl) {
2512      return;
2513    }
2514
2515    const handleVideoLoad = function () {
2516      try {
2517        const wrapper = $(target).closest('.embed-responsive')[0];
2518        if (wrapper) {
2519          // 關閉 loading skeleton
2520          const loading = wrapper.querySelector('.video-block-loading');
2521          if (loading) {
2522            loading.style.display = 'none';
2523          }
2524        }
2525      } catch (e) {
2526        console.error('iframe onload 處理失敗', e);
2527      } finally {
2528        target.removeEventListener('load', handleVideoLoad);
2529      }
2530    };
2531
2532    target.addEventListener('load', handleVideoLoad);
2533
2534    target.src = finalUrl;
2535    if (hideControls && autoPlay) {
2536      target.style.pointerEvents = 'none';
2537    }
2538
2539    // 判斷是不是 YouTube shorts,決定要不要加上 .short-youtube class
2540    try {
2541      const isShort = (url || '').indexOf('/shorts/') !== -1;
2542      if (isShort) {
2543        const wrapper = $(target).closest('.embed-responsive')[0];
2544        if (wrapper) {
2545          wrapper.classList.add('short-youtube');
2546        }
2547      }
2548    } catch (e) {
2549      console.error('isShort 判斷失敗', e);
2550    }
2551  }
2552
2553
2554  window.addEventListener('load', function () {
2555    const sectionEl = document.getElementById('_index_4_blocks');
2556    if (!sectionEl) return;
2557
2558    const options = {
2559      threshold: 0.25,
2560    };
2561
2562    
2563      
2564    
2565      
2566    
2567      
2568    
2569      
2570    
2571      
2572    
2573  });
2574</script>
2574
2575
2576<section id="_index_4_blocks" class="index-4-blocks">
2577  <div class="qk-display--flex qk-flex--wrap">
2578    
2579    
2580      
2581      
2582      <div class="block image mobile-1-col block-default-width-margin last-row" style="width: calc(20.0% - 32.0px);">
2583        
2584            <div class="img-card" id="1715274488005_0">
2585              
2586              
2587                
2588                  <a href="/products/a68" class="banner qk-hidden--mobile" target="" rel="">
2589                    <img src="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE2NzAxMjk0X2E2LVcxMDAweEgxMDAwLTEwMC5qcGcuanBlZyJdXQ.jpeg?sha=5c811ab7a8cb4967" class="qk-w--100" alt="">
2590                  </a>
2591                
2592              
2593              
2594                
2595                  <a
2596                    href="/products/a68"
2597                    class="banner qk-display--bk qk-hidden--phone qk-hidden--pc"
2598                    target=""
2599                    rel=""
2600                  >
2601                    <img
2602                      src="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE2NzAxMjk0X2E2LVcxMDAweEgxMDAwLTEwMC5qcGcuanBlZyJdXQ.jpeg?sha=5c811ab7a8cb4967"
2603                      class="qk-w--100"
2604                      alt=""
2605                    >
2606                  </a>
2607                
2608              
2609              
2610                
2611                  <a
2612                    href="/products/a68"
2613                    class="banner qk-display--bk qk-hidden--pc qk-hidden--tablet"
2614                    target=""
2615                    rel=""
2616                  >
2617                    <img
2618                      src="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE2NzAxMjk0X2E2LVcxMDAweEgxMDAwLTEwMC5qcGcuanBlZyJdXQ.jpeg?sha=5c811ab7a8cb4967"
2619                      class="qk-w--100"
2620                      alt=""
2621                    >
2622                  </a>
2623                
2624              
2625              
2626              <div class="advance-rich-text-content-container">
2627                
2628              </div>
2629            </div>
2630          
2631      </div>
2632    
2633      
2634      
2635      <div class="block image mobile-1-col block-default-width-margin last-row" style="width: calc(20.0% - 32.0px);">
2636        
2637            <div class="img-card" id="1715274486572_0">
2638              
2639              
2640                
2641                  <a href="/products/a5" class="banner qk-hidden--mobile" target="" rel="">
2642                    <img src="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE1Mjc0MjExX2E1LVcxMDAweEgxMDAwLTEwMC5qcGcuanBlZyJdXQ.jpeg?sha=1fe75f3dbcfb7940" class="qk-w--100" alt="">
2643                  </a>
2644                
2645              
2646              
2647                
2648                  <a
2649                    href="/products/a5"
2650                    class="banner qk-display--bk qk-hidden--phone qk-hidden--pc"
2651                    target=""
2652                    rel=""
2653                  >
2654                    <img
2655                      src="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE1Mjc0MjExX2E1LVcxMDAweEgxMDAwLTEwMC5qcGcuanBlZyJdXQ.jpeg?sha=1fe75f3dbcfb7940"
2656                      class="qk-w--100"
2657                      alt=""
2658                    >
2659                  </a>
2660                
2661              
2662              
2663                
2664                  <a
2665                    href="/products/a5"
2666                    class="banner qk-display--bk qk-hidden--pc qk-hidden--tablet"
2667                    target=""
2668                    rel=""
2669                  >
2670                    <img
2671                      src="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzE1Mjc0MjExX2E1LVcxMDAweEgxMDAwLTEwMC5qcGcuanBlZyJdXQ.jpeg?sha=1fe75f3dbcfb7940"
2672                      class="qk-w--100"
2673                      alt=""
2674                    >
2675                  </a>
2676                
2677              
2678              
2679              <div class="advance-rich-text-content-container">
2680                
2681              </div>
2682            </div>
2683          
2684      </div>
2685    
2686      
2687      
2688      <div class="block image mobile-1-col block-default-width-margin last-row" style="width: calc(20.0% - 32.0px);">
2689        
2690            <div class="img-card" id="1721378186690_0">
2691              
2692              
2693                
2694                  <a href="/products/a3" class="banner qk-hidden--mobile" target="" rel="">
2695                    <img src="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzIxMzgxMjc1XzE3MTUyNzQyMTFfYTQtVzEwMDB4SDEwM
2695DAtMTAwLmpwZy0oMSkuanBnLmpwZWciXV0.jpeg?sha=d72deee16f821e61" class="qk-w--100" alt="">
2696                  </a>
2697                
2698              
2699              
2700                
2701                  <a
2702                    href="/products/a3"
2703                    class="banner qk-display--bk qk-hidden--phone qk-hidden--pc"
2704                    target=""
2705                    rel=""
2706                  >
2707                    <img
2708                      src="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzIxMzgxMjc1XzE3MTUyNzQyMTFfYTQtVzEwMDB4SDEwMDAtMTAwLmpwZy0oMSkuanBnLmpwZWciXV0.jpeg?sha=d72deee16f821e61"
2709                      class="qk-w--100"
2710                      alt=""
2711                    >
2712                  </a>
2713                
2714              
2715              
2716                
2717                  <a
2718                    href="/products/a3"
2719                    class="banner qk-display--bk qk-hidden--pc qk-hidden--tablet"
2720                    target=""
2721                    rel=""
2722                  >
2723                    <img
2724                      src="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzIxMzgxMjc1XzE3MTUyNzQyMTFfYTQtVzEwMDB4SDEwMDAtMTAwLmpwZy0oMSkuanBnLmpwZWciXV0.jpeg?sha=d72deee16f821e61"
2725                      class="qk-w--100"
2726                      alt=""
2727                    >
2728                  </a>
2729                
2730              
2731              
2732              <div class="advance-rich-text-content-container">
2733                
2734              </div>
2735            </div>
2736          
2737      </div>
2738    
2739      
2740      
2741      <div class="block image mobile-1-col block-default-width-margin last-row" style="width: calc(20.0% - 32.0px);">
2742        
2743            <div class="img-card" id="1722312400782_0">
2744              
2745              
2746                
2747                  <a href="/products/a4z" class="banner qk-hidden--mobile" target="" rel="">
2748                    <img src="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzIzNjkyNDMyX2E0ei5qcGcuanBlZyJdXQ.jpeg?sha=1c087743a8914e78" class="qk-w--100" alt="">
2749                  </a>
2750                
2751              
2752              
2753                
2754                  <a
2755                    href="/products/a4z"
2756                    class="banner qk-display--bk qk-hidden--phone qk-hidden--pc"
2757                    target=""
2758                    rel=""
2759                  >
2760                    <img
2761                      src="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzIzNjkyNDMyX2E0ei5qcGcuanBlZyJdXQ.jpeg?sha=1c087743a8914e78"
2762                      class="qk-w--100"
2763                      alt=""
2764                    >
2765                  </a>
2766                
2767              
2768              
2769                
2770                  <a
2771                    href="/products/a4z"
2772                    class="banner qk-display--bk qk-hidden--pc qk-hidden--tablet"
2773                    target=""
2774                    rel=""
2775                  >
2776                    <img
2777                      src="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzIzNjkyNDMyX2E0ei5qcGcuanBlZyJdXQ.jpeg?sha=1c087743a8914e78"
2778                      class="qk-w--100"
2779                      alt=""
2780                    >
2781                  </a>
2782                
2783              
2784              
2785              <div class="advance-rich-text-content-container">
2786                
2787              </div>
2788            </div>
2789          
2790      </div>
2791    
2792      
2793      
2794      <div class="block image mobile-1-col block-default-width-margin last-row" style="width: calc(20.0% - 32.0px);">
2795        
2796            <div class="img-card" id="display_index_4_block_1">
2797              
2798              
2799                
2800                  <a href="/products/a2" class="banner qk-hidden--mobile" target="" rel="">
2801                    <img src="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzUzODYzNDUzX0Ey55Si5ZOB5YiG6aGe5ZyWICgyKS5wbmcucG5nIl1d.png?sha=0e9d6c6134b518ae" class="qk-w--100" alt="">
2802                  </a>
2803                
2804              
2805              
2806                
2807                  <a
2808                    href="/products/a2"
2809                    class="banner qk-display--bk qk-hidden--phone qk-hidden--pc"
2810                    target=""
2811                    rel=""
2812                  >
2813                    <img
2814                      src="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzUzODYzNDUzX0Ey55Si5ZOB5YiG6aGe5ZyWICgyKS5wbmcucG5nIl1d.png?sha=0e9d6c6134b518ae"
2815                      class="qk-w--100"
2816                      alt=""
2817                    >
2818                  </a>
2819                
2820              
2821              
2822                
2823                  <a
2824                    href="/products/a2"
2825                    class="banner qk-display--bk qk-hidden--pc qk-hidden--tablet"
2826                    target=""
2827                    rel=""
2828                  >
2829                    <img
2830                      src="//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzUzODYzNDUzX0Ey55Si5ZOB5YiG6aGe5ZyWICgyKS5wbmcucG5nIl1d.png?sha=0e9d6c6134b518ae"
2831                      class="qk-w--100"
2832                      alt=""
2833                    >
2834                  </a>
2835                
2836              
2837              
2838              <div class="advance-rich-text-content-container">
2839                
2840              </div>
2841            </div>
2842          
2843      </div>
2844    
2845  </div>
2846</section>
2847
2848
2849
2850
2851
2852
2853<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/_index_4_blogs-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' />
2854
2855
2856<style>
2857  [id="1746692951347_3"] {
2858    margin: 0 0px 50px !important;
2859    --article-columns: 4;
2860  }
2861  [id="1746692951347_3"] .tab-pane.active .article:nth-child(n+5) {
2862    display: none;
2863  }
2864  @media (max-width: 991px) {
2865    [id="1746692951347_3"] {
2866      margin: 0 0px 50px !important;
2867    }
2868  }
2869</style>
2870
2871<section id="1746692951347_3" class="index_4_blogs">
2872  <div class="container qk-container">
2873    
2874    <div class="section-heading qk-pos--rel qk-text--center qk-bd--none qk-pd--0 ">
2875      <h2 class="qk-h2 qk-text--heading qk-display--il_bk qk-fs--hd1 qk-pos--rel qk-mg_b--0">更多資訊</h2>
2876    </div>
2877    <div class="form-group">
2878      <form>
2879        <select id="form-blogs-1746692951347_3" class="form-blogs form-control qk-display--none qk-bd--border">
2880          
2881            
2882            
2883              <option value="#block_1746692951349_0">咖啡知識</option>
2884            
2885          
2886            
2887            
2888              <option value="#block_1746693105187_0">職人推薦</option>
2889            
2890          
2891        </select>
2892      </form>
2893      <ul
2894        id="tab-blogs"
2895        class="nav nav-pills mb-3 tab-blogs qk-display--flex qk-justify--around qk-w--50"
2896        role="tablist"
2897      >
2898        
2899          
2900          
2901          
2902            <li class="nav-item">
2903              <a
2904                id="block_1746692951349_0_tab"
2905                class="blog-nav-link qk-text--heading qk-text--accent_hover qk-fs--body qk-cursor--pointer qk-pos--rel"
2906                data-toggle="pill"
2907                href="#block_1746692951349_0"
2908                role="tab"
2909                aria-controls="1746692951349_0"
2910                aria-selected="true"
2911              >
2912                咖啡知識
2913              </a>
2914            </li>
2915          
2916        
2917          
2918          
2919          
2920            <li class="nav-item">
2921              <a
2922                id="block_1746693105187_0_tab"
2923                class="blog-nav-link qk-text--heading qk-text--accent_hover qk-fs--body qk-cursor--pointer qk-pos--rel"
2924                data-toggle="pill"
2925                href="#block_1746693105187_0"
2926                role="tab"
2927                aria-controls="1746693105187_0"
2928                aria-selected=""
2929              >
2930                職人推薦
2931              </a>
2932            </li>
2933          
2934        
2935      </ul>
2936      <div class="tab-content">
2937        
2938          
2939          
2940          
2941            <div
2942              id="block_1746692951349_0"
2943              class="tab-pane fade qk-bd--default qk-bd--product_border"
2944              role="tabpanel"
2945              aria-labelledby="pills-coffee-information-tab"
2946              data-blog-url="/blogs/coffee-information"
2947            >
2948              
2949              
2950                <div class="article">
2951                  <div class="article-image qk-w--100">
2952                    <a
2953                      class="qk-display--il_bk qk-w--100 qk-pd_t--75"
2954                      href="/blogs/coffee-information/coffee-defects"
2955                      title="認識咖啡瑕疵豆|4 個辨識關鍵,喝到怪味
2955先從豆子查起"
2956                      style="background-image: url('//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2Jsb2dzLzQ4MTQwL2ltYWdlMV9mOTA5OWU0M2Y0MTljNTc4ZWIyMS5wbmciXSxbInAiLCJ0aHVtYiIsIjUwMHg1MDAiXV0.png?sha=989fde6e6d6f0fd7')"
2957                    ></a>
2958                  </div>
2959                  <div class="caption qk-flex--1">
2960                    <div class="article-title">
2961                      <a
2962                        href="/blogs/coffee-information/coffee-defects"
2963                        title="認識咖啡瑕疵豆|4 個辨識關鍵,喝到怪味先從豆子查起"
2964                        class="qk-text--heading qk-fs--body qk-text--heading_hover"
2965                      >
2966                        認識咖啡瑕疵豆|4 個辨識關鍵,喝到怪味先從豆子查起
2967                      </a>
2968                    </div>
2969                    <div class="article_readmore qk-w--100">
2970                      <a href="/blogs/coffee-information/coffee-defects" class="qk-text--text qk-fs--body">
2971                        繼續閱讀
2972                      </a>
2973                    </div>
2974                  </div>
2975                </div>
2976              
2977                <div class="article">
2978                  <div class="article-image qk-w--100">
2979                    <a
2980                      class="qk-display--il_bk qk-w--100 qk-pd_t--75"
2981                      href="/blogs/coffee-information/la-flor-del-cafe"
2982                      title="花神咖啡4大特色:一次搞懂香氣與風味魅力"
2983                      style="background-image: url('//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2Jsb2dzLzQ4MTQwL2ltYWdlMV84NzhlNGY4Y2UyZmYxZDg0N2ZmNC5wbmciXSxbInAiLCJ0aHVtYiIsIjUwMHg1MDAiXV0.png?sha=b1bbd7f47f4e1964')"
2984                    ></a>
2985                  </div>
2986                  <div class="caption qk-flex--1">
2987                    <div class="article-title">
2988                      <a
2989                        href="/blogs/coffee-information/la-flor-del-cafe"
2990                        title="花神咖啡4大特色:一次搞懂香氣與風味魅力"
2991                        class="qk-text--heading qk-fs--body qk-text--heading_hover"
2992                      >
2993                        花神咖啡4大特色:一次搞懂香氣與風味魅力
2994                      </a>
2995                    </div>
2996                    <div class="article_readmore qk-w--100">
2997                      <a href="/blogs/coffee-information/la-flor-del-cafe" class="qk-text--text qk-fs--body">
2998                        繼續閱讀
2999                      </a>
3000                    </div>
3001                  </div>
3002                </div>
3003              
3004                <div class="article">
3005                  <div class="article-image qk-w--100">
3006                    <a
3007                      class="qk-display--il_bk qk-w--100 qk-pd_t--75"
3008                      href="/blogs/coffee-information/latte-art"
3009                      title="咖啡拉花4步驟練習:新手在家也能拉出漂亮的圖"
3010                      style="background-image: url('//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2Jsb2dzLzQ4MTQwL2ltYWdlM180OTRhMTRlYzM1YzY5NDVhYzdhZC5wbmciXSxbInAiLCJ0aHVtYiIsIjUwMHg1MDAiXV0.png?sha=9b51ccf252918ffa')"
3011                    ></a>
3012                  </div>
3013                  <div class="caption qk-flex--1">
3014                    <div class="article-title">
3015                      <a
3016                        href="/blogs/coffee-information/latte-art"
3017                        title="咖啡拉花4步驟練習:新手在家也能拉出漂亮的圖"
3018                        class="qk-text--heading qk-fs--body qk-text--heading_hover"
3019                      >
3020                        咖啡拉花4步驟練習:新手在家也能拉出漂亮的圖
3021                      </a>
3022                    </div>
3023                    <div class="article_readmore qk-w--100">
3024                      <a href="/blogs/coffee-information/latte-art" class="qk-text--text qk-fs--body">
3025                        繼續閱讀
3026                      </a>
3027                    </div>
3028                  </div>
3029                </div>
3030              
3031                <div class="article">
3032                  <div class="article-image qk-w--100">
3033                    <a
3034                      class="qk-display--il_bk qk-w--100 qk-pd_t--75"
3035                      href="/blogs/coffee-information/green-coffee-beans"
3036                      title="怎麼判斷咖啡生豆好壞?這4個關鍵指標要先搞懂"
3037                      style="background-image: url('//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2Jsb2dzLzQ4MTQwL2ltYWdlMV8zN2M1NGIxODE5MTU5ZWQ4NDVjNC5wbmciXSxbInAiLCJ0aHVtYiIsIjUwMHg1MDAiXV0.png?sha=9920c34408c16d9e')"
3038                    ></a>
3039                  </div>
3040                  <div class="caption qk-flex--1">
3041                    <div class="article-title">
3042                      <a
3043                        href="/blogs/coffee-information/green-coffee-beans"
3044                        title="怎麼判斷咖啡生豆好壞?這4個關鍵指標要先搞懂"
3045                        class="qk-text--heading qk-fs--body qk-text--heading_hover"
3046                      >
3047                        怎麼判斷咖啡生豆好壞?這4個關鍵指標要先搞懂
3048                      </a>
3049                    </div>
3050                    <div class="article_readmore qk-w--100">
3051                      <a href="/blogs/coffee-information/green-coffee-beans" class="qk-text--text qk-fs--body">
3052                        繼續閱讀
3053                      </a>
3054                    </div>
3055                  </div>
3056                </div>
3057              
3058                <div class="article">
3059                  <div class="article-image qk-w--100">
3060                    <a
3061                      class="qk-display--il_bk qk-w--100 qk-pd_t--75"
3062                      href="/blogs/coffee-information/coffee-cherry"
3063                      title="咖啡櫻桃是什麼?咖啡豆原來是它的種子"
3064                      style="background-image: url('//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2Jsb2dzLzQ4MTQwL2ltYWdlMV85ZmNmMzViZTNjNmVlYjczNWI2Ni5wbmciXSxbInAiLCJ0aHVtYiIsIjUwMHg1MDAiXV0.png?sha=fa2a9e202f914286')"
3065                    ></a>
3066                  </div>
3067                  <div class="caption qk-flex--1">
3068                    <div class="article-title">
3069                      <a
3070                        href="/blogs/coffee-information/coffee-cherry"
3071                        title="咖啡櫻桃是什麼?咖啡豆原來是它的種子"
3072                        class="qk-text--heading qk-fs--body qk-text--heading_hover"
3073                      >
3074                        咖啡櫻桃是什麼?咖啡豆原來是它的種子
3075                      </a>
3076                    </div>
3077                    <div class="article_readmore qk-w--100">
3078                      <a href="/blogs/coffee-information/coffee-cherry" class="qk-text--text qk-fs--body">
3079                        繼續閱讀
3080                      </a>
3081                    </div>
3082                  </div>
3083                </div>
3084              
3085            </div>
3086          
3087        
3088          
3089          
3090          
3091            <div
3092              id="block_1746693105187_0"
3093              class="tab-pane fade qk-bd--default qk-bd--product_border"
3094              role="tabpanel"
3095              aria-labelledby="pills-reviews-tab"
3096              data-blog-url="/blogs/reviews"
3097            >
3098              
3099              
3100                <div class="article">
3101                  <div class="article-image qk-w--100">
3102                    <a
3103                      class="qk-display--il_bk qk-w--100 qk-pd_t--75"
3104                      href="/blogs/reviews/20250813"
3105                      title="Femobook A4Z 電動磨豆機使用心得┃法國咖啡沖煮冠軍Charity Cheung"
3106                      style="background-image: url('//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2Jsb2dzLzQ3OTc2L0NoYXJpdHkg5Lit5paH5a6Y57ay5Li76aCBIOipleWDueWbnumliyAoMylfMjIzN2M2ZjFmZDdjMzU4NDZjMmIucG5nIl0sWyJwIiwidGh1bWIiLCI1MDB4NTAwIl1d.png?sha=7c5944dbd6631660')"
3107                    ></a>
3108                  </div>
3109                  <div class="caption qk-flex--1">
3110                    <div class="article-title">
3111                      <a
3112                        href="/blogs/reviews/20250813"
3113                        title="Femobook A4Z 電動磨豆機使用心得┃法國咖啡沖煮冠軍Charity Cheung"
3114                        class="qk-text--heading qk-fs--body qk-text--heading_hover"
3115                      >
3116                        Femobook A4Z 電動磨豆機使用心得┃法國咖啡沖煮冠軍Charity Cheung
3117                      </a>
3118                    </div>
3119                    <div class="article_readmore qk-w--100">
3120                      <a href="/blogs/reviews/20250813" class="qk-text--text qk-fs--body">
3121                        繼續閱讀
3122                      </a>
3123                    </div>
3124                  </div>
3125                </div>
3126              
3127                <div class="article">
3128                  <div class="article-image qk-w--100">
3129                    <a
3130                      class="qk-display--il_bk qk-w--100 qk-pd_t--75"
3131                      href="/blogs/reviews/182701"
3132                      title="Femobook A2 電動磨豆機新品開箱┃元食咖啡直播分享"
3133                      style="background-image: url('//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2Jsb2dzLzQ3OTc2L-S_iuWFgyDkuK3mloflrpjntrLkuLvpoIEg6KmV5YO55Zue6aWLX2QzMDg5ZjVlZWUzMzRjYzkyM2YzLnBuZyJdLFsicCIsInRodW1iIiwiNTAweDUwMCJdXQ.png?sha=c0ff4ee483175b32')"
3134                    ></a>
3135                  </div>
3136                  <div class="caption qk-flex--1">
3137                    <div class="article-title">
3138                      <a
3139                        href="/blogs/reviews/182701"
3140                        title="Femobook A2 電動磨豆機新品開箱┃元食咖啡直播分享"
3141                        class="qk-text--heading qk-fs--body qk-text--heading_hover"
3142                      >
3143                        Femobook A2 電動磨豆機新品開箱┃元食咖啡直播分享
3144                      </a>
3145                    </div>
3146                    <div class="article_readmore qk-w--100">
3147                      <a href="/blogs/reviews/182701" class="qk-text--text qk-fs--body">
3148                        繼續閱讀
3149                      </a>
3150                    </div>
3151                  </div>
3152                </div>
3153              
3154                <div class="article">
3155                  <div class="article-image qk-w--100">
3156                    <a
3157                      class="qk-display--il_bk qk-w--100 qk-pd_t--75"
3158                      href="/blogs/reviews/177170"
3159                      title="Femobook A68電動磨豆機開箱分享┃Daddy Got Coffee"
3160                      style="background-image: url('//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2Jsb2dzLzQ3OTc2L0p1c3RpbiDkuK3mloflrpjntrLkuLvpoIEg6KmV5YO55Zue6aWLICgzKV82YzA2M2UwMTQx
3160Mjk3YTIwZWUzMS5wbmciXSxbInAiLCJ0aHVtYiIsIjUwMHg1MDAiXV0.png?sha=6103fc8113a1fc35')"
3161                    ></a>
3162                  </div>
3163                  <div class="caption qk-flex--1">
3164                    <div class="article-title">
3165                      <a
3166                        href="/blogs/reviews/177170"
3167                        title="Femobook A68電動磨豆機開箱分享┃Daddy Got Coffee"
3168                        class="qk-text--heading qk-fs--body qk-text--heading_hover"
3169                      >
3170                        Femobook A68電動磨豆機開箱分享┃Daddy Got Coffee
3171                      </a>
3172                    </div>
3173                    <div class="article_readmore qk-w--100">
3174                      <a href="/blogs/reviews/177170" class="qk-text--text qk-fs--body">
3175                        繼續閱讀
3176                      </a>
3177                    </div>
3178                  </div>
3179                </div>
3180              
3181                <div class="article">
3182                  <div class="article-image qk-w--100">
3183                    <a
3184                      class="qk-display--il_bk qk-w--100 qk-pd_t--75"
3185                      href="/blogs/reviews/165616"
3186                      title="A5電動磨豆機分享┃The Coffee Chronicler"
3187                      style="background-image: url('//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2Jsb2dzLzQ3OTc2L0Fzc2VyIOS4reaWh-WumOe2suS4u-mggSDoqZXlg7nlm57ppYtfYzliZTFhMTRlNDNhZjgwMjYxNDkucG5nIl0sWyJwIiwidGh1bWIiLCI1MDB4NTAwIl1d.png?sha=1b14299a2a6fa286')"
3188                    ></a>
3189                  </div>
3190                  <div class="caption qk-flex--1">
3191                    <div class="article-title">
3192                      <a
3193                        href="/blogs/reviews/165616"
3194                        title="A5電動磨豆機分享┃The Coffee Chronicler"
3195                        class="qk-text--heading qk-fs--body qk-text--heading_hover"
3196                      >
3197                        A5電動磨豆機分享┃The Coffee Chronicler
3198                      </a>
3199                    </div>
3200                    <div class="article_readmore qk-w--100">
3201                      <a href="/blogs/reviews/165616" class="qk-text--text qk-fs--body">
3202                        繼續閱讀
3203                      </a>
3204                    </div>
3205                  </div>
3206                </div>
3207              
3208                <div class="article">
3209                  <div class="article-image qk-w--100">
3210                    <a
3211                      class="qk-display--il_bk qk-w--100 qk-pd_t--75"
3212                      href="/blogs/reviews/a68-ply"
3213                      title="Femobook A68 電動磨豆機使用心得┃加拿大咖啡沖煮冠軍Ply"
3214                      style="background-image: url('//cdn-general.cybassets.com')"
3215                    ></a>
3216                  </div>
3217                  <div class="caption qk-flex--1">
3218                    <div class="article-title">
3219                      <a
3220                        href="/blogs/reviews/a68-ply"
3221                        title="Femobook A68 電動磨豆機使用心得┃加拿大咖啡沖煮冠軍Ply"
3222                        class="qk-text--heading qk-fs--body qk-text--heading_hover"
3223                      >
3224                        Femobook A68 電動磨豆機使用心得┃加拿大咖啡沖煮冠軍Ply
3225                      </a>
3226                    </div>
3227                    <div class="article_readmore qk-w--100">
3228                      <a href="/blogs/reviews/a68-ply" class="qk-text--text qk-fs--body">
3229                        繼續閱讀
3230                      </a>
3231                    </div>
3232                  </div>
3233                </div>
3234              
3235            </div>
3236          
3237        
3238      </div>
3239      <div id="view-more-1746692951347_3">
3240        <a
3241          href="#"
3242          class="btn-seemore qk-text--center qk-text--heading qk-text--accent_hover qk-fw--500 qk-display--bk"
3243        >
3244          查看更多
3245        </a>
3246      </div>
3247    </div>
3248  </div>
3249</section>
3250<script>
3251  $(document).ready(function () {
3252    const sectionId = '1746692951347_3';
3253
3254    function updateViewMoreLink() {
3255      const blogUrl = $('#' + sectionId + ' .tab-pane.active').data('blog-url');
3256      $('#view-more-' + sectionId + ' a').attr('href', blogUrl || '#');
3257    }
3258
3259    $('#' + sectionId + ' a[data-toggle="pill"]').on('shown.bs.tab', updateViewMoreLink);
3260
3261    $('#form-blogs-' + sectionId).on('change', function (e) {
3262      $('#' + sectionId + ' a[href="' + $(this).val() + '"]').tab('show');
3263    });
3264
3265    var firstOption = $('#' + sectionId + ' .form-blogs').find('option')[0];
3266    if (!firstOption) {
3267      return;
3268    }
3269    $('#' + sectionId + ' ' + firstOption.value + '_tab').addClass('show active');
3270    $('#' + sectionId + ' ' + firstOption.value).addClass('show active');
3271
3272    updateViewMoreLink();
3273  });
3274</script>
3274
3275
3276
3277
3278  <!-- 加入購物車 -->
3279  
3280    <!-- cyb_snippet new_addcart_modal start -->
3281<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/vue_product_modal-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' />
3282
3283<div id="new-addcart-modal" class="container">
3284  <transition name="modal">
3285    <product-modal
3286      v-if="showProductModal"
3287      :only-description="onlyDescription"
3288      :product-url="popProductUrl"
3289      :color="color"
3290      :is-collection="isCollection"
3291      :is-show-description="isShowDescription"
3292      :is-quick-buy="isQuickBuy"
3293      :selected-variant-id="selectedVariantId"
3294      :categories="categories"
3295      :call-back="checkoutAddToCartCallback"
3296      ref="productModal"
3297    >
3298    </product-modal>
3299  </transition>
3300</div>
3301
3302<!-- cyb_snippet components/product_modal/product_modal start -->
3303<script type="text/x-template" id="product-modal">
3304  <div class="modal-mask qk-h--100 qk-w--100 qk-l--0 qk-t--0 qk-pos--fixed" @click="closeModal">
3305    <div class="modal-content qk-bd--none qk-center qk-bg--theme_bg" :class="{'only-description': onlyDescription}" @click.stop>
3306      <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>
3307      <div class="modal-body custom-scrollbar qk-w--100">
3308        <div v-if="!isLoading">
3309          <div id="checkout-product" class="row">
3310            <div class="col-sm-6 col-xs-4">
3311              <photo-swiper
3312                :mediaItems="swiperItems"
3313                :current-image-index="currentImageIndex"
3314                :current-variant="currentVariant"
3315                :video-after-image="videoAfterImage"
3316              ></photo-swiper>
3317            </div>
3318            <div class="col-sm-6 col-xs-8">
3319              <h4 class="qk-fs--hd2 qk-fw--bold qk-text--heading qk-mg--0" v-html="product.title"></h4>
3320              <p class="product_brief qk-text--text qk-fs--body" v-html="product.brief"></p>
3321              <p class="product_slogan qk-text--heading qk-fs--body" v-html="product.slogan"></p>
3322              <div class="swiper_thumbnails" style="margin-bottom: 10px;">
3323                <swiper-thumbnails
3324                  :mediaItems="swiperItems"
3325                  :current-image-index="currentImageIndex"
3326                  :title="product.title"
3327                  @update-current-image-index="(thumbnailIndex) => { currentImageIndex = thumbnailIndex }"
3328                ></swiper-thumbnails>
3329              </div>
3330              
3331              <div v-if="!hidePrice" style="margin-bottom: 10px;">
3332                
3333                <span class="price-title qk-fs--body qk-fw--500 qk-text--heading">${ priceTitleTag }</span>
3334                
3335                <div>
3336                  <span v-html="variantPrice" class="variant-price qk-fs--hd1 qk-fw--bold" :class="[isDiscountPrice ? 'qk-text--discount_price' : 'qk-text--price']"></span>
3337                  <del v-html="marketPrice" class="variant-del-price qk-fs--body qk-fw--500 qk-text--text"></del>
3338                </div>
3339              </div>
3340              <div v-if="!onlyDescription" class="controls">
3341                <div class="variant-quantity qk-display--flex qk-flex--column">
3342                  <div v-if="hasVariant" class="product-variant-options">
3343                    <div v-for="(option, index) in optionInfo" class="product-variant-option" :class="{'product-variant-option--hidden': shouldHideSingleVariantOptions}">
3344                      <div class="advance variant-select-option" v-if="styledShopMenu==='dropDownType'">
3345                      
3346                        <label>${option.name}</label>
3347                        <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>
3348                        <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}`)">
3349                          <option value="null" class="select_option-hidden">請選擇${option.name}</option>
3350                          <option :style="{ visibility : isMobileSize ? 'hidden' : 'visible' }" v-for="(types) in option.types" :disabled="!types.isValid" :value="types.name">${types.name}</option>
3351                        </select>
3352                        <span class="select_placeholder-color" v-if="currentOption[`option${index + 1}`] === null" v-show="isMobileSize" @click="onClickSelectModal(option,`option${index + 1}`)">請選擇${option.name}</span>
3353                        <span v-else :value="currentOption[`option${index + 1}`]" v-show="isMobileSize" @click="onClickSelectModal(option,`option${index + 1}`)" v-html="currentOption[`option${index + 1}`]"></span>
3354                      </div>
3355                      <advance-option v-else :option-key="'option' + (index + 1)" :option="option" :current-option="currentOption" :toggle-current-option="toggleCurrentOption"/>
3356                    </div>
3357                  </div>
3358                  <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)">
3359                    <div class="list_block custom-scrollbar qk-of_x--hidden">
3360                      <h4 class="qk-text--heading qk-fs--body">此商品參與的優惠活動
3361                      </h4>
3362                      <template v-if="displayPeriodicSalesPages">
3363                        <div v-for="salesPage in product.showableSalesPages" class="discount-list">
3364                          <span class="discount-label qk-fs--breadcrumb qk-bd--default qk-bd--accent qk-bg--white qk-display--il_bk qk-text--accent">定期定額
3365                          </span>
3366                          <a class="discount-title qk-text--accent qk-fs--body" :href="salesPage.path">${ salesPage.title }</a>
3367                        </div>
3368                      </template>
3369                      <template v-for="discounts in discountsList">
3370                        <div v-for="discount in discounts" class="discount-list">
3371                          <a v-if="discount.url" :href="discount.url" class="discount-title qk-text--accent qk-fs--body">
3372                            ${ discount.title }
3373                          </a>
3374                          <span v-else class="discount-title qk-text--accent qk-fs--body">${ discount.title }</span>
3375                        </div>
3376                      </template>
3377                    </div>
3378                  </div>
3379                  <div v-if="showPurchaseControls" class="product-quantity qk-bd--product_border" v-show="!isMobileSize">
3380                    <div class="btn-group qk-w--100" role="group" aria-label="First group">
3381                      <button class="btn add-down qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityDecrease">-</button>
3382                      <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">
3383                      <button class="btn add-up qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityIncrease">+</button>
3384                    </div>
3385                  </div>
3386                </div>
3387                <div v-if="showPurchaseControls" class="add-button-wrapper">
3388                  <!-- cyb_snippet _product_modal_button start -->
3389<button
3390  class="btn btn-default add-button qk-cursor--pointer qk-w--100 qk-btn--primary"
3391  :class="{selected: isChoose, adding: adding || isHideAddCartBtn, secondary: isSecondaryBtn, 'qk-btn--disabled': isHideAddCartBtn && isNewNnCollection, 'qk-bd--none': isHideAddCartBtn && isNewNnCollection}"
3392  type="button"
3393  :disabled="isHideAddCartBtn"
3394  @click="addProduct"
3395>
3396  ${ addCartText }
3397</button>
3398
3399<!-- cyb_snippet _product_modal_button end -->
3400                </div>
3401                <div class="product-others qk-fs--body">
3402                  <span class="product-love">
3403                    <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">
3404                      <svg
3405                        width="15"
3406                        height="15"
3407                        viewBox="0 0 24 24"
3408                        fill="none"
3409                        xmlns="http://www.w3.org/2000/svg">
3410                        <path
3411                          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"
3412                          stroke="currentColor"
3413                          stroke-width="2"
3414                          stroke-linecap="round"
3415                          stroke-linejoin="round" />
3416                      </svg>
3417                      加入最愛
3418                    </a>
3419                  </span>
3420                  <span class="product_sold qk-text--text" v-if="false">
3421                    <span>已銷售:
3422                      ${ product.totalSold }
3423                      ä»¶
3424                    </span>
3425                  </span>
3426                  <span class="product_bonus qk-text--text" v-if="false">
3427                    此商品 「 最高 」可以折抵紅利
3428                    <span class="val qk-fw--600 qk-fs--hd2" v-if="currentVariant">${currentVariant.maxUsableBonus}</span>
3429                    <span class="val qk-fw--600 qk-fs--hd2" v-else>${maxUsableBonus}</span>
3430                    點
3431                    <span v-html="bonusToPrice"/>
3432                  </span>
3433                </div>
3434                <div class='product_limit_buy qk-fs--body' v-show="product.minBuy > 0 || product.limitBuy > 0">
3435                  ${limitBuyText}
3436                </div>
3437              </div>
3438            </div>
3439          </div>
3440          <div v-if="isShowDescription" class="row">
3441            <div class="col-sm-12">
3442              
3443                <div v-if="product.bodyHtml">
3444                  <h5 class="section-heading qk-bd--heading qk-fs--hd2 qk-text--heading">
3445                    商品介紹
3446                  </h5>
3447                  <div class="ckeditor">
3448                    <div v-html="product.bodyHtml"></div>
3449                  </div>
3450                </div>
3451              
3452              
3453                <div v-if="otherDescriptions['product_description_section_spec']">
3454                  <h5 class="section-heading qk-bd--heading qk-fs--hd2 qk-text--heading">
3455                    規格說明
3456                  </h5>
3457                  <div class="ckeditor">
3458                    <div v-html="otherDescriptions['product_description_section_spec']"></div>
3459                  </div>
3460                </div>
3461              
3462              
3463                <div v-if="otherDescriptions['product_description_section_shipping']">
3464                  <h5 class="section-heading qk-bd--heading qk-fs--hd2 qk-text--heading">
3465                    運送方式
3466                  </h5>
3467                  <div class="ckeditor">
3468                    <div v-html="otherDescriptions['product_description_section_shipping']"></div>
3469                  </div>
3470                </div>
3471              
3472            </div>
3473          </div>
3474        </div>
3475        <div v-show="isLoading" style="text-align: center; padding-bottom: 20px;">
3476          <i class="fas fa-spinner fa-spin fa-fw fa-2x"></i>
3477        </div>
3478      </div>
3479        <!-- cyb_snippet _product_modal_button_mobile start -->
3480 <div
3481  v-if="showPurchaseControls"
3482  v-show="isMobileSize"
3483  class="mobile_footer"
3484  :class="{'mobile_footer-z': variantSize > 1 }">
3485        <div class="product-quantity">
3486          <div class="btn-group qk-w--100" role="group" aria-label="First group">
3487            <button class="btn add-down qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityDecrease">-</button>
3488            <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">
3489            <button class="btn add-up qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityIncrease">+</button>
3490          </div>
3491        </div>
3492        <button
3493          v-if="!isLoading && !onlyDescription"
3494          class="btn btn-mobile add-button qk-btn qk-btn--primary qk-btn--lg"
3495          :class="{selected: isChoose, adding: adding || isHideAddCartBtn, 'qk-btn--disabled': isHideAddCartBtn && isNewNnCollection, 'qk-bd--none': isHideAddCartBtn && isNewNnCollection}"
3496          type="button"
3497          :disabled="isHideAddCartBtn"
3498          @click="addProduct">
3499            ${ addCartText }
3500        </button>
3501</div>
3502<div
3503  class="mobile-modal"
3504  :class="{ 'modal-open': isModalSelectShow && isMobileSize }">
3505        <div class="mobile_modal-content">
3506          <div class="modal_close-button">
3507            <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>
3508          </div>
3509          
3510          <p>請選擇${modalOption.name}</p>
3511          <div class="modal_select-templete qk-display--flex qk-of_y--auto qk-w--100">
3512            <div class="options-container">
3513              <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>
3514            </div>
3515          </div>
3516          <div v-if="variantSize > 1" class="modal_select_footer qk-display--flex">
3517            <button type="button" class="modal_cancel qk-bd--default qk-btn--secondary qk-bd--button qk-text--button" @click="onChangeModalSelect(false,false)">取消</button>
3518            <button type="button" class="qk-btn qk-btn--primary qk-btn--lg qk-fs--body qk-bd--button qk-test--button_text" @click="onChangeModalSelect(false,true)">完成</button>
3519          </div>
3520        </div>
3521</div>
3522
3523<!-- cyb_snippet _product_modal_button_mobile end -->
3524    </div>
3525  </div>
3526</script>
3526
3527
3528<!-- cyb_snippet components/product_modal/color_image_option start -->
3529<script id="color-image-option" type="text/x-template">
3530  <div class="color-image qk-display--flex qk-flex--wrap qk-align--center">
3531    <div class="title">顏色</div>
3532    <div
3533      v-for="(imageColor, index) in imageColors"
3534      :class="{
3535        'focus': !currentOption[optionKey] === option.types[index].name && currentImageIndex === index,
3536        'selected': currentOption[optionKey] === option.types[index].name,
3537        'disabled': !option.types[index].isValid
3538      }"
3539      class="image-option img-flex qk-bd--default qk-bd--transparent qk-display--block qk-pos--rel"
3540      @mouseleave="setCurrentImageIndex(index)"
3541      @mouseover="getOptionImageIndex(index)"
3542      @click="setOption(optionKey, index)"
3543    >
3544      <img v-if="imageColor !== 'noColorImage'" :src="imageColor.large" alt="image">
3545      <img v-else src="/assets/no-image-large.png" alt="image">
3546    </div>
3547  </div>
3548</script>
3548
3549
3550<script type="text/javascript">
3551  $(document).ready(function() {
3552    window.themeHelper.productModalComponents['color-image-option'] = {
3553      template: '#color-image-option',
3554      delimiters: ['${', '}'],
3555      props: {
3556        optionKey: String,
3557        option: Object,
3558        product: Object,
3559        imageColors: Array,
3560        isChoose: Boolean,
3561        currentImageIndex: Number,
3562        setCurrentImageIndex: Function,
3563        getOptionImageIndex: Function,
3564        currentOption: Object,
3565        toggleCurrentOption: Function,
3566      },
3567      methods: {
3568        setOption: function(optionKey, index) {
3569          const type = this.option.types[index];
3570          if(type.isValid){
3571            this.toggleCurrentOption(optionKey, type.name);
3572          }
3573        }
3574      }
3575    };
3576  });
3577</script>
3577
3578
3579<!-- cyb_snippet components/product_modal/color_image_option end -->
3580<!-- cyb_snippet components/product_modal/advance_option start -->
3581<script id="advance-option" type="text/x-template">
3582  <div class="advance">
3583    <div class="title qk-text--heading qk-fs--body">${option.name}</div>
3584    <div
3585      v-for="type in option.types"
3586      :class="{
3587        'selected': currentOption[optionKey] === type.name,
3588        'disabled': !type.isValid
3589      }"
3590      @click="setOption(optionKey, type)"
3591      class="option qk-btn  qk-bd--button qk-text--button qk-pd_x--1"
3592    >
3593      ${type.name}
3594    </div>
3595  </div>
3596</script>
3596
3597
3598<script type="text/javascript">
3599  $(document).ready(function() {
3600    window.themeHelper.productModalComponents['advance-option'] = {
3601      template: '#advance-option',
3602      delimiters: ['${', '}'],
3603      props: {
3604        optionKey: String,
3605        option: Object,
3606        product: Object,
3607        currentOption: Object,
3608        toggleCurrentOption: Function,
3609      },
3610      methods: {
3611        setOption: function(optionKey, type) {
3612          if(type.isValid){
3613            this.toggleCurrentOption(optionKey, type.name);
3614          }
3615        }
3616      }
3617    };
3618  });
3619</script>
3619
3620
3621<!-- cyb_snippet components/product_modal/advance_option end -->
3622
3623<!-- cyb_snippet components/product_modal/photo_swiper start -->
3624
3625
3626<script id="photo-swiper" type="text/x-template">
3627  <div ref="photoSwiper" id="photo_swiper" class="photos swiper swiper-container">
3628    <div class="swiper-wrapper">
3629      <template v-if="hasImage">
3630        <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 default_scale">
3631          <video-player v-if="item.url" :video="item"
3632            :video-poster=" !!mediaItems[firstImageIndex] ? mediaItems[firstImageIndex].large : '//cdn-general.cybassets.com/img_loading.svg' "
3633          >
3634          </video-player>
3635          <img v-else class="qk-center" :src="item.large" alt="image"/>
3636        </div>
3637      </template>
3638      <div v-else class="photo swiper-slide qk-align--center qk-display--flex qk-justify--center qk-vert--text_top default_scale">
3639        <img src="//cdn-general.cybassets.com/assets/no-image-large-2b95ea56c455be9ce081d81c14eded925df68bf8fa38809e46f6af8fcdd5f9bc.png" alt="image" />
3640      </div>
3641    </div>
3642    <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>
3643    <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>
3644
3645    <div class="photo-pagination qk-bd--default qk-bd--body qk-text--center qk-text--body qk-fs--breadcrumb qk-visible-sm">
3646        <span class="current-index qk-text--default_dark">${currentImageIndex +1 }</span><span class="pagination-slash">/</span>
3647        <span>${mediaItems.length}</span>
3648      </div>
3649  </div>
3650</script>
3650
3651
3652<script>
3653  $(document).ready(function () {
3654    window.themeHelper.productModalComponents['photo-swiper'] = {
3655      template: '#photo-swiper',
3656      delimiters: ['${', '}'],
3657      props: {
3658        mediaItems: Array,
3659        currentImageIndex: Number,
3660        currentVariant: Object,
3661        videoAfterImage: Boolean,
3662      },
3663      data: function () {
3664        return {
3665          swiper: {},
3666          swiperOption: {
3667            preventInteractionOnTransition: true,
3668            rewind: true,
3669            spaceBetween: 5,
3670            slidesPerView: 1,
3671            navigation: {
3672              nextEl: '.photo-next',
3673              prevEl: '.photo-prev'
3674            }
3675          },
3676          showBtn: true,
3677          isVariantReposition: false,
3678        }
3679      },
3680      mounted: function() {
3681        this.swiper = new Swiper('#photo_swiper', this.swiperOption);
3682        this.swiper.on('slideChange', this.slideOnChange);
3683      },
3684      watch: {
3685        currentImageIndex: function() {
3686          this.slideToIndex();
3687        },
3688        currentVariant: {
3689          immediate: true,
3690          handler: function() {
3691            this.showBtn = this.mediaItems.length > 1;
3692            this.isVariantReposition = true;
3693            this.$nextTick(() => {
3694              if (this.swiper) {
3695                this.swiper.update();
3696                this.swiper.slideToLoop(this.initialItemIndex)
3697                this.slideOnChange();
3698                this.isVariantReposition = false;
3699              }
3700            });
3701          },
3702        },
3703      },
3704      computed: {
3705        hasImage: function() {
3706          return this.mediaItems.length > 0;
3707        },
3708        hasVideo: function() {
3709          return this.mediaItems.findIndex(item => !!item.url) !== -1;
3710        },
3711        variantPhotos: function() {
3712          if (this.currentVariant?.photos?.length) {
3713            return this.currentVariant.photos;
3714          } else  {
3715            return null;
3716          }
3717        },
3718        initialItemIndex: function() {
3719          if (this.hasVideo && !this.videoAfterImage) {
3720            // Focus on photo if "variant with photos" selected, video otherwise
3721            return this.variantPhotos?.length ? 1 : 0;
3722          } else {
3723            // Focus on first photo
3724            return 0;
3725          }
3726        },
3727      },
3728      methods: {
3729        slideOnChange: function() {
3730          themeHelper.EventBus.$emit('photoOnChange', this.swiper.realIndex, this.isVariantReposition);
3731        },
3732        slideToIndex: function() {
3733          if(this.swiper.realIndex != this.currentImageIndex) {
3734            this.swiper.slideToLoop(this.currentImageIndex);
3735            this.swiper.update();
3736          }
3737        },
3738      }
3739    };
3740  });
3741</script>
3741
3742
3743
3744<!-- cyb_snippet components/product_modal/video_player start -->
3745<script id="video-player" type="text/x-template">
3746  <div class="videoPlayer__wrapper" @click="handleVideoClick">
3747    <video 
3748      id='modal-video'
3749      class="videoPlayer__video qk-cursor--pointer qk-center" 
3750      :poster="videoPoster"
3751      loop defaultMuted muted playsinline webkit-playsinline autoplay
3752    >
3753      <source :src="videoUrl" type="video/mp4">
3754      <p>你的瀏覽器不支援 HTML 5 video</p>
3755    </video>
3756    <button id="modal-video-button" class="videoPlayer__pauseButton"></button>
3757  </div>
3758</script>
3758
3759
3760<script>
3761  $(document).ready(function () {
3762    window.themeHelper.productModalComponents['video-player'] = {
3763      template: '#video-player',
3764      delimiters: ['${', '}'],
3765      props: {
3766        video: Object,
3767        videoPoster: String,
3768      },
3769      data: function() {
3770        return {
3771          videoElement: null,
3772          buttonElement: null,
3773        };
3774      },
3775      mounted: function() {
3776        this.videoElement = $('#modal-video')[0];
3777        this.buttonElement = $('#modal-video-button');
3778        this.setVideoVolumeZero();
3779        this.videoElement.addEventListener('canplay', (event) => {
3780          this.sendGtag('play');
3781        }, { once: true });
3782      },
3783      computed: {
3784        videoUrl: function() {
3785          return this.video.url;
3786        }
3787      },
3788      methods: {
3789        sendGtag: function(action) {
3790          window.productVideoView && productVideoView(action);
3791        },
3792        setVideoVolumeZero: function() {
3793          this.videoElement.volume = 0;
3794        },
3795        handleVideoClick: function() {
3796          if (this.videoElement.paused){
3797            this.videoElement.play();
3798            this.sendGtag('play');
3799          } else {
3800            this.videoElement.pause();
3801            this.sendGtag('paused');
3802          }
3803          this.handleVideoButtonDisplay(this.buttonElement, this.videoElement);
3804        },
3805        handleVideoButtonDisplay: function(button, video) {
3806          button.toggleClass('videoPlayer__playButton', video.paused);
3807          button.toggleClass('videoPlayer__pauseButton', !video.paused);
3808        },
3809      }
3810    };
3811  });
3812</script>
3812
3813
3814<!-- cyb_snippet components/product_modal/video_player end -->
3815
3816<!-- cyb_snippet components/product_modal/photo_swiper end -->
3817<!-- cyb_snippet components/product_modal/swiper_thumbnails start -->
3818<script id="swiper-thumbnails" type="text/x-template">
3819  <div
3820    v-for="(thumbnail, index) in allThumbnails"
3821    :key="index"
3822    class="product-thumbnail img-flex qk-of--hidden qk-display--il_bk qk-cursor--pointer qk-bd--default qk-bd--transparent default_scale"
3823    :class="{ focus: index === currentImageIndex }"
3824    @mouseover="updateCurrentImageIndex(index)"
3825  >
3826    <template v-if="thumbnail.isVideo">
3827      <video class="qk-w--100 qk-h--100" :src="thumbnail.url" defaultMuted playsinline></video>
3828      <button class="videoPlayer__playButton"></button>
3829    </template>
3830    <img v-else :src="thumbnail.url" :alt="title" class="qk-w--100 qk-h--100">
3831  </div>
3832</script>
3832
3833
3834<script type="text/javascript">
3835  $(document).ready(function () {
3836    window.themeHelper.productModalComponents['swiper-thumbnails'] = {
3837      template: '#swiper-thumbnails',
3838      delimiters: ['${', '}'],
3839      props: {
3840        title: String,
3841        mediaItems: Array,
3842        currentImageIndex: Number,
3843      },
3844      emits: ['updateCurrentImageIndex'],
3845      methods: {
3846        updateCurrentImageIndex: function(thumbnailIndex) {
3847          if (thumbnailIndex !== this.currentImageIndex ) {
3848            this.$emit('updateCurrentImageIndex', thumbnailIndex);
3849          }
3850        },
3851      },
3852      mounted() {
3853        // can be removed after replacing video thumbnail with img
3854        const thumbnailVideo = $('.product-thumbnail video')[0];
3855        if (!!thumbnailVideo) {
3856          thumbnailVideo.volume = 0;
3857          const promise = thumbnailVideo.play();
3858          promise.then(() => {
3859            thumbnailVideo.pause();
3860          })
3861        }
3862      },
3863      computed: {
3864        allThumbnails: function() {
3865          return this.mediaItems.map(item => ({
3866            isVideo: !!item.url,
3867            url: item.url || item.medium
3868          }));
3869        },
3870      },
3871      watch: {
3872        allThumbnails: {
3873          handler(){
3874            this.updateCurrentImageIndex(this.currentImageIndex);
3875          }
3876        }
3877      }
3878    };
3879  });
3880</script>
3880
3881
3882<!-- cyb_snippet components/product_modal/swiper_thumbnails end -->
3883
3884
3885<!-- cyb_snippet _product_modal_js start -->
3886<script type="text/javascript">
3887  $(document).ready(function() {
3888    var categoryLevels = [];
3889    var productCategoryLevels = null;
3890    var pageMainProductId = null;
3891    window.themeHelper.productModalComponents['product-modal'] = {
3892      template: '#product-modal',
3893      delimiters: [
3894        '${', '}'
3895      ],
3896      props: {
3897        onlyDescription: Boolean,
3898        cartItems: Array,
3899        groupId: Number,
3900        productUrl: String,
3901        color: String, // unused
3902        collectionId: Number,
3903        categories: Array,
3904        // 判斷是否有色票展開
3905        isCollection: {
3906          type: Boolean,
3907          required: false,
3908          default: false,
3909        },
3910        // 判斷加入購物車的方法
3911        isNnCollection: Boolean,
3912        isNewNnCollection: Boolean,
3913        isBundleDiscount: Boolean,
3914
3915        // 判斷是否顯示商品描述
3916        isShowDescription: {
3917          type: Boolean,
3918          default: true
3919        },
3920
3921        // 判斷是否為立即購買
3922        isQuickBuy: {
3923          type: Boolean,
3924          default: false
3925        },
3926        selectedVariantId: Number,
3927        callBack: Function
3928      },
3929      data: function() {
3930        return {
3931          styledShopMenu: "buttonType",
3932          selectOption: '',
3933          selectCurrentStr:'',
3934          isModalSelectShow: false,
3935          modalOption: {},
3936          adding: false,
3937          currentImageIndex: 0,
3938          _navState: { variantId: null, photoIndex: 0 },
3939          currentOption: {
3940            option1: null,
3941            option2: null,
3942            option3: null
3943          },
3944          currentVariant: null,
3945          variantNotifications: null,
3946          currentVariantIndex: null,
3947          product: {},
3948          isChoose: false,
3949          isLoading: true,
3950          isEmptyClickable: liquidHelper.isEmptyClickable,
3951          quantity: 1,
3952          maxUsableBonus: 0,
3953          isDiscountPrice: false,
3954          displayProductDiscountsList: true,
3955          displayPeriodicSalesPages:false,
3956          discountsList: null,
3957          hasVideoPlugin: true,
3958          videoDisplayLocation: "before",
3959          hasStockNotificationPlugin: true,
3960          isDisplayPriceRange: null,
3961          hasVariantPriceRangePlugin: true,
3962          hasHideSingleVariantOptionsPlugin: false,
3963        }
3964      },
3965      mounted: function() {
3966        this.getProductDetail();
3967        $('.custom-scrollbar').addCustomScrollbar();
3968        themeHelper.EventBus.$on('photoOnChange', this.photoOnChange);
3969      },
3970      beforeUnmount: function() {
3971        themeHelper.EventBus.$off('photoOnChange', this.photoOnChange);
3972      },
3973      computed: {
3974        photoUrls: function() {
3975          return this.product.photoUrls.length > 0
3976            ? this.product.photoUrls
3977            : [this.featuredImage];
3978        },
3979        photoUrlsMap: function() {
3980          var map = {};
3981          var urls = this.product.photoUrls;
3982          this.product.photos.forEach(function(photo, index) {
3983            map[photo.photo.id] = urls[index];
3984          });
3985
3986          return map;
3987        },
3988        featuredImage: function() {
3989          return this.product.featuredImage;
3990        },
3991        swiperPhotos: function() {
3992          if (!this.photoUrls.length) {
3993            return [this.featuredImage];
3994          }
3995
3996          if (this.currentVariant && this.currentVariant.photos.length) {
3997            var map = this.photoUrlsMap;
3998            return this.currentVariant.photos.map(function(p) {
3999              return map[p.id];
4000            });
4001          }
4002
4003          return this.photoUrls;
4004        },
4005        productVideo: function() {
4006          return this.product.video;
4007        },
4008        videoAfterImage: function() {
4009          return this.videoDisplayLocation === 'after';
4010        },
4011        swiperItems: function() {
4012          const media = [...this.swiperPhotos];
4013          if (
4014            this.hasVideoPlugin && this.productVideo.url
4015          ) {
4016            this.videoAfterImage
4017              ? media.push(this.productVideo)
4018              : media.unshift(this.productVideo);
4019          }
4020          return media;
4021        },
4022        firstImageIndex: function() {
4023          return this.hasVideoPlugin && this.productVideo.url && !this.videoAfterImage
4024            ? 1
4025            : 0
4026        },
4027        otherDescriptions: function() {
4028          var descriptions = {};
4029          this.product.otherDescriptions.forEach(function(od) {
4030            descriptions[od.settingName] = od.bodyHtml;
4031          })
4032          return descriptions
4033        },
4034        variantOptions: function() {
4035          return themeHelper.variantOptions(this.product);
4036        },
4037        firstValidVariant: function() {
4038          var self = this;
4039          var result = this.product.variants.find(function(variant) {
4040            // 增加 product modal 聯絡店家 property
4041            variant.imgUrl = "";
4042            variant.productTitle = "";
4043
4044            return variant.available;
4045          });
4046
4047          return result
4048            ? result
4049            : null;
4050        },
4051        selectedValidVariant: function() {
4052          var self = this;
4053          var result = this.variantOptions.find(function(variant) {
4054            return variant.id === self.selectedVariantId;
4055          });
4056
4057          return result
4058            ? result
4059            : null;
4060        },
4061        totalInventoryQuantity: function(product) {
4062          return themeHelper.totalInventoryQuantity(this.product)
4063        },
4064        addCartText: function() {
4065          var variants = parseInt("");
4066          let isRegisteredNotification = this.currentVariant && this.variantNotifications && this.variantNotifications[this.currentVariant.id]
4067          if (this.isNnCollection || this.isBundleDiscount) {
4068            if (this.currentVariant && !themeHelper.variantIsAvailable(this.currentVariant)) {
4069              if (this.currentVariant.inventoryPolicy === 'continue') {
4070                if (this.isNnCollection) {
4071                  return this.isChoose && !this.isNewNnCollection
4072                    ? '已預購'
4073                    : '預購商品';
4074                }
4075              } else {
4076                return '已售完';
4077              }
4078            }
4079            if (this.totalInventoryQuantity === 0) {
4080              return '已售完';
4081            }
4082            return this.isChoose && !this.isNewNnCollection
4083              ? '已選購'
4084              : '選購';
4085          } else {
4086            if (this.isQuickBuy) {
4087              if (this.currentVariant && !themeHelper.variantIsAvailable(this.currentVariant)) {
4088                if (this.currentVariant.inventoryPolicy === 'continue'){
4089                  return '立即預購'
4090                }
4091                return this.hasStockNotificationPlugin
4092                  ? (isRegisteredNotification
4093                    ? '已登記補貨通知'
4094                    : '已售完,貨到通知我')
4095                  : '聯絡店家'
4096              }
4097              return '立即購買';
4098            } else {
4099              if (this.currentVariant) {
4100                if (!themeHelper.variantIsAvailable(this.currentVariant)) {
4101                  if (this.currentVariant.inventoryPolicy === 'continue'){
4102                    return '預購商品'
4103                  }
4104                  return this.hasStockNotificationPlugin
4105                    ? (isRegisteredNotification
4106                      ? '已登記補貨通知'
4107                      : '已售完,貨到通知我')
4108                    : '聯絡店家'
4109                }
4110              } else {
4111                if (this.totalInventoryQuantity === 0) {
4112                  return '已售完';
4113                }
4114              }
4115              return '加入購物車';
4116            }
4117          }
4118        },
4119        cartItem: function() {
4120          if (!this.currentVariant) {
4121            return null
4122          }
4123          return {
4124            id: this.currentVariant.id,
4125            groupId: this.groupId,
4126            productId: this.product.id,
4127            title: this.product.title,
4128            photo: this.currentVariant.imgUrl || this.featuredImage.large,
4129            quantity: this.quantity,
4130            price: this.currentVariant.price,
4131            variant: this.currentVariant,
4132            product: this.product
4133          }
4134        },
4135        options: function() {
4136          return this.product.options;
4137        },
4138        optionTypes: function() {
4139
4140          // 先根據設定的variants來排序
4141          var self = this;
4142
4143          var option1 = [];
4144          var option2 = [];
4145          var option3 = [];
4146          this.product.variants.forEach(function(item) {
4147            if (item.option1 !== null) {
4148              option1.push(item.option1);
4149            }
4150            if (item.option2 !== null) {
4151              option2.push(item.option2);
4152            }
4153            if (item.option3 !== null) {
4154              option3.push(item.option3);
4155            }
4156          })
4157          var filteredOptionTypes = [];
4158          this.product.optionTypes.forEach(function(item, index) {
4159            filteredOptionTypes.push(self.getUniqueVariant(eval('option' + (
4160              index + 1
4161            ))).join(','));
4162          });
4163          return filteredOptionTypes;
4164        },
4165        optionInfo: function() {
4166          var self = this;
4167
4168          return self.options.map(function(option, index) {
4169            return {
4170              name: option,
4171              types: self.getOptions('option' + (
4172                index + 1
4173              ), self.optionTypes[index].split(','))
4174            }
4175          });
4176        },
4177        hasVariant: function() {
4178          return this.product.options.length > 0;
4179        },
4180        shouldHideSingleVariantOptions: function() {
4181          return this.hasHideSingleVariantOptionsPlugin &&
4182                 this.product.variants &&
4183                 this.product.variants.length <= 1;
4184        },
4185        variantSize: function() {
4186          if(this.product.options){
4187          return this.product.options.length;
4188          }
4189        },
4190        firstVariant: function() {
4191          return this.product.variants[0];
4192        },
4193        firstCheapestVariant: function() {
4194          return this.product.variants.find((v)=> (v.price === this.priceStats.minPrice));
4195        },
4196        priceStats: function() {
4197          return this.product.variants.reduce(function(acc, variant) {
4198            return {
4199              minPrice: variant.price < acc.minPrice ? variant.price : acc.minPrice,
4200              maxPrice: variant.price > acc.maxPrice ? variant.price : acc.maxPrice,
4201            };
4202          }, {
4203            minPrice: this.firstVariant.price,
4204            maxPrice: this.firstVariant.price,
4205          });
4206        },
4207        hidePrice: function() {
4208          return this.product && this.product.hidePrice === true;
4209        },
4210        salesModePurchasable: function() {
4211          return !(this.product && this.product.salesModePurchasable === false);
4212        },
4213         // - 任選折扣/紅配綠:「選擇」只是加進試算清單,不會直接下單,故只擋藏價商品
4214        // - 其他情境(商品頁、群組頁、多層級分類、搜尋、首頁商品區塊):不可購買(含藏價)就整組收掉
4215        showPurchaseControls: function() {
4216          if (this.isNnCollection || this.isBundleDiscount) {
4217            return !this.hidePrice;
4218          }
4219          return this.salesModePurchasable;
4220        },
4221        variantPrice: function() {
4222          if (this.hidePrice) {
4223            return '';
4224          }
4225          var from = liquidHelper.defaultCurrency;
4226          if (this.currentVariant) {
4227            return moneySymbol(this.currentVariant.price, from);
4228          }
4229          if (this.product.variants.length === 1) {
4230            return moneySymbol(this.firstVariant.price, from);
4231          }
4232
4233          var minPrice = this.priceStats.minPrice;
4234          var maxPrice = this.priceStats.maxPrice;
4235
4236          if (minPrice !== maxPrice && (!this.hasVariantPriceRangePlugin || this.isDisplayPriceRange)) {
4237            this.isDiscountPrice = false;
4238            return moneySymbol(minPrice, from) + '~' + moneySymbol(maxPrice, from);
4239          } else {
4240            return moneySymbol(minPrice, from);
4241          }
4242        },
4243        marketPrice: function() {
4244          if (this.hidePrice) {
4245            this.isDiscountPrice = false;
4246            return;
4247          }
4248          var from = liquidHelper.defaultCurrency;
4249          if (this.currentVariant) {
4250            this.isDiscountPrice = false;
4251            if (this.currentVariant.compareAtPrice && this.currentVariant.compareAtPrice > this.currentVariant.price) {
4252              this.isDiscountPrice = true;
4253              return moneySymbol(this.currentVariant.compareAtPrice, from);
4254            }
4255          } else {
4256            if (!_.includes(this.variantPrice, '~')) {
4257              const price =  Number(this.variantPrice.replace(/[^0-9.
4257-]/g, ""))
4258              // 未選擇款式也不顯示區間時,顯示第一個最便宜的款式的定價
4259              if (this.firstCheapestVariant.compareAtPrice && this.firstCheapestVariant.compareAtPrice > price){
4260                this.isDiscountPrice = true;
4261                return moneySymbol(this.firstCheapestVariant.compareAtPrice, from);
4262              }
4263              // 未選擇款式時要改回一般價格顏色
4264              this.isDiscountPrice = false;
4265            }
4266          }
4267        },
4268        isShowDropdownList: function() {
4269          if (this.product.options.length > 0) {
4270            return true;
4271          }
4272          return this.product.variants.length > 1
4273        },
4274        priceTitleTag: function() {
4275          return this.marketPrice
4276            ? getDiscountPriceName()
4277            : getDiscountPriceSuggestionName();
4278        },
4279        isHideAddCartBtn: function() {
4280          if (this.addCartText === '已售完') {
4281            return true;
4282          }
4283          return false;
4284        },
4285        isSecondaryBtn: function() {
4286          if (this.addCartText === '聯絡店家') {
4287            return true;
4288          }
4289          return false;
4290        },
4291        variantsMaxUsableBonus: function() {
4292          var variants = this.product.variants;
4293          var maxUsableBonusArray = variants.map(function(item) {
4294            return item.maxUsableBonus
4295          });
4296          return Math.max.apply(null, maxUsableBonusArray);
4297        },
4298        bonusToPrice: function() {
4299          const bonus = this.currentVariant
4300            ? this.currentVariant.maxUsableBonus
4301            : this.maxUsableBonus;
4302          const price = Math.floor(bonus / window.liquidHelper.conversionBonus);
4303          const priceWithMoney = window.themeHelper.productDisplayCurrencyBlock(price);
4304          return "(約等於 value )".replace('value', priceWithMoney);
4305        },
4306        isMobileSize: function() {
4307          return window.innerWidth <= 580
4308        },
4309        limitBuyText: function () {
4310          const minCount = this.product.minBuy;
4311          const maxCount = this.product.limitBuy;
4312          if (minCount > 0 && maxCount > 0) {
4313            return '此商品每筆訂單最少需購買 minCount 件,最多可購買 maxCount 件'.replace('minCount', minCount).replace('maxCount', maxCount);
4314          }
4315          if (minCount > 0) {
4316            return '此商品每筆訂單最少需購買 minCount 件'.replace('minCount', minCount);
4317          }
4318          if (maxCount > 0) {
4319            return '此商品每筆訂單最多可購買 maxCount 件'.replace('maxCount', maxCount);
4320          }
4321          return '';
4322        }
4323      },
4324      methods: {
4325        onClickSelectModal: function(objData, selectOptionStr) {
4326          this.isModalSelectShow = true;
4327          this.modalOption = objData;
4328          this.selectOption = selectOptionStr
4329          this.selectCurrentStr = this.currentOption && (String(this.currentOption[selectOptionStr]) || null)
4330        },
4331        onChangeModalSelect: function(flag, isSelect) {
4332          if(!isSelect){
4333            this.setOption(this.selectOption,this.selectCurrentStr,this.modalOption.types)
4334          }
4335          this.isModalSelectShow = flag;
4336        },
4337        setOption: function(optionKey, type, dataArr) {
4338          let flag = true
4339          dataArr.forEach(item => {
4340            if (item.name === type) {
4341              flag = item.isValid
4342            }
4343          })
4344          if (flag) {
4345            this.toggleCurrentOption(optionKey, type)
4346          }
4347        },
4348        addToWishListEvent: function() {
4349          try {
4350            if (appMarketAddToWishListEvent) {
4351              var product = this.product;
4352              var currentVariant = this.currentVariant
4353              var element = $(`.btn[data-id=${product.id}]`);
4354              var index;
4355              var listName;
4356              if (element) {
4357                index = element.data('position')
4358                listName = element.data('list')
4359              }
4360              // sku_properties:選中款式的 option pairs(當前語系),類型名 zip 值
4361              var optionValues = [currentVariant.option1, currentVariant.option2, currentVariant.option3];
4362              var properties = [];
4363              (product.options || []).forEach(function(optionName, i) {
4364                if (optionName && optionValues[i]) {
4365                  properties.push({ name: optionName, value: optionValues[i] });
4366                }
4367              });
4368              var dataSet = {
4369                name: product.title,
4370                category: product.productType,
4371                categories: (this.categories && this.categories.length) ? this.categories : (categoryLevels.length ? categoryLevels : (product.id === pageMainProductId ? productCategoryLevels : undefined)),
4372                sku: currentVariant.sku,
4373                price: currentVariant.price,
4374                compare_at_price: currentVariant.compareAtPrice,
4375                properties: properties,
4376                quantity: currentVariant.inventoryQuantity,
4377                variant: currentVariant.title,
4378                listName: listName || null,
4379                productId: product.id,
4380                variantId: currentVariant.id,
4381                index: Number(index) || 0,
4382              }
4383              appMarketAddToWishListEvent(dataSet)
4384            }
4385          } catch (e) {
4386            console.error(e)
4387          }
4388        },
4389        addWishList: function() {
4390          if (this.currentVariant === null) {
4391            window.msg('請選擇商品款式', 'warning').show();
4392            return;
4393          }
4394          var productVariantId = this.currentVariant.id;
4395          var addToWishListEvent = this.addToWishListEvent
4396          $.ajax({
4397            method: 'POST',
4398            url: '/tracking_items',
4399            dataType: 'json',
4400            data: {
4401              product_variant_id: productVariantId
4402            },
4403            success: function(response) {
4404              if (response.message) {
4405                window.msg(response.message, 'success').show();
4406                addToWishListEvent()
4407              }
4408
4409              if (response.error) {
4410                window.msg(response.error, 'error').show();
4411
4412              }
4413              if (response.info) {
4414                window.msg(response.info, 'info').show();
4415              }
4416              if (response.success === false) {
4417                if (window.liquidHelper && window.liquidHelper.language && window.liquidHelper.language.handle) {
4418                  window.location = "/" + window.liquidHelper.language.handle + "/account/login";
4419                } else {
4420                  window.location = "/account/login";
4421                }
4422              }
4423            }
4424          });
4425        },
4426        setChoose: function(currentVariant) {
4427          this.maxUsableBonus = 0;
4428          var quantity = 1;
4429          var cartItem = null;
4430          if (!this.isNnCollection && this.cartItems) {
4431            cartItem = this.normalGetChoosenItem(currentVariant);
4432          }
4433          if (this.isNnCollection) {
4434            cartItem = this.nnCollectionGetChoosenItem(currentVariant);
4435          }
4436          this.isChoose = !! cartItem;
4437          if (this.isNewNnCollection) {
4438            return
4439          }
4440          this.quantity = cartItem
4441            ? cartItem.quantity
4442            : this.quantity;
4443
4444          // product modal 聯絡店家情境
4445          if (currentVariant) {
4446            var photoIndex = 0;
4447            if (! currentVariant.imgUrl) {
4448              currentVariant.imgUrl = this.swiperPhotos.length > 0
4449                ? (this.swiperPhotos[photoIndex] && this.swiperPhotos[photoIndex].large)
4450                : this.featuredImage.large;
4451            }
4452            currentVariant.productTitle = this.product.title + ' - ' + this.currentVariant.title;
4453          }
4454        },
4455        normalGetChoosenItem: function(currentVariant) {
4456          return this.cartItems.find(function(cartItem) {
4457            return currentVariant && cartItem.id === currentVariant.id;
4458          });
4459        },
4460        nnCollectionGetChoosenItem: function(currentVariant) {
4461          var isSelected = null;
4462          if (! currentVariant) {
4463            return isSelected;
4464          }
4465          if (this.isNewNnCollection) {
4466            var cart = store.get(`SpecialCollectionCart_${this.collectionId}`);
4467            isSelected = cart && cart.find((item) => item.variant_id == currentVariant.id) || null;
4468          } else {
4469            store.each(function(value, key) {
4470              var productId = _.includes(key, 'Pro' + currentVariant.productId);
4471              var variantID = _.includes(key, 'Var' + currentVariant.id);
4472              if (productId && variantID) {
4473                isSelected = store.get(key);
4474              }
4475            });
4476          }
4477
4478          return isSelected;
4479        },
4480        // get product detail
4481        getProductDetail: function() {
4482          var self = this;
4483
4484          $.ajax({
4485            url: self.productUrl + '.json',
4486            type: 'GET',
4487            timeout: 30000,
4488            beforeSend: function() {
4489              self.isLoading = true;
4490            },
4491            error: function(xhr) {
4492              self.closeModal();
4493              if (xhr.status === 429) {
4494                window.showAddCartRateLimitModal(5);
4495                return;
4496              }
4497              window.msg('網路連線異常,請重新整理', 'error').show();
4498            }
4499          }).done(function(data) {
4500            if (data.id) {
4501              var productData = [themeHelper.toCamelCase(data)];
4502              self.product = themeHelper.priceWithDiscount(productData, liquidHelper.hasPriceWithDiscountPlugin)[0];
4503              self.maxUsableBonus = self.variantsMaxUsableBonus;
4504              if (self.product.variants.length === 1 || liquidHelper.isFirstVariantSelected || self.selectedVariantId) {
4505                self.currentVariant = self.firstValidVariant;
4506                // 如果已經自選商品,則商品頁下滑加入購物車顯示自選商品
4507                if (self.selectedVariantId) {
4508                  self.currentVariant = self.selectedValidVariant;
4509                }
4510                if (self.currentVariant) {
4511                  self.setChoose(self.currentVariant);
4512                  self.setDefaultOption();
4513                }
4514              }
4515              if (self.displayProductDiscountsList) {
4516                self.setUpDiscountsTag(data);
4517              }
4518              self.isLoading = false;
4519              if (self.product && self.product.variants) {
4520                self.product.variants.forEach(function(discountedVariant) {
4521                  var rawVariant = data.variants.find(function(v) { return v.id === discountedVariant.id; });
4522                  if (rawVariant) { rawVariant.price = discountedVariant.price; }
4523                });
4524              }
4525              viewItem && viewItem(data, { collectionId: '', collectionName: null, categories: (self.categories && self.categories.length) ? self.categories : (categoryLevels.length ? categoryLevels : (data.id === pageMainProductId ? productCategoryLevels : undefined)) });
4526
4527              (function() {
4528                // Read login status from cacheable, skip GET /pv_notification if not login.
4529                if (window.store && window.store.get('customer')) {
4530                  var cacheableCustomer = window.store.get('customer');
4531                  if (cacheableCustomer.notLogin) {
4532                    return;
4533                  }
4534                }
4535                $.ajax({
4536                  url: '/pv_notification',
4537                  method: 'GET',
4538                  dataType: 'json',
4539                  data: {
4540                    product_id: parseInt(data.id)
4541                  },
4542                  success: function(response) {
4543                    self.variantNotifications = response.variants;
4544                  }
4545                })
4546              })();
4547            } else {
4548              window.msg('網路連線異常,請重新整理', 'error').show();
4549              self.closeModal()
4550            }
4551          })
4552        },
4553        // product image btn
4554        photoOnChange: function(photoIndex, isVariantReposition) {
4555          var visiblePhotos = (this.currentVariant && this.currentVariant.photos.length)
4556            ? this.currentVariant.photos
4557            : this.product.photos.map(function(p) { return p.photo; });
4558          var result = themeHelper.buildNavigateItemImagePayload(this._navState, {
4559            product: this.product,
4560            currentVariant: this.currentVariant,
4561            visiblePhotos: visiblePhotos,
4562            slideIndex: photoIndex,
4563            videoOffset: this.firstImageIndex,
4564          });
4565          this._navState = result.nextState;
4566          if (result.payload && !isVariantReposition) {
4567            window.navigateItemImage(result.payload);
4568          }
4569          this.currentImageIndex = photoIndex;
4570        },
4571        toggleCurrentOption: function(key, value) {
4572          this.currentOption[key] =
4573            (this.currentOption[key] === value || value === 'null') ? null : value;
4574          var variantIndex = this.getVariantIndex();
4575          if (variantIndex !== -1) {
4576            this.currentVariant = this.product.variants[variantIndex];
4577          } else {
4578            this.currentVariant = null;
4579          }
4580          this.setChoose(this.product.variants[variantIndex]);
4581          if (this.currentOption[key] !== null) {
4582            var optionIndex = parseInt(key.replace('option', '')) - 1;
4583            appStoreSelectItemEvent(this.product, this.product.options[optionIndex], this.currentOption[key], this.currentVariant);
4584          }
4585        },
4586        toggleNotification: function() {
4587          var self = this;
4588          var variantId = this.currentVariant.id;
4589
4590          $.ajax({
4591            url: '/toggle_pv_notification',
4592            method: 'POST',
4593            dataType: 'json',
4594            data: {
4595              product_variant_id: variantId
4596            },
4597            success: function(response) {
4598              self.variantNotifications[variantId] = response.notice;
4599              window.msg(response.message, "success").show();
4600            },
4601            error: function(xhr) {
4602              var response = xhr.responseJSON;
4603              var msg = response && response.error || "網路連線異常,請重新整理";
4604              window.msg(msg, "error").show();
4605            }
4606          })
4607        },
4608        getOptionImageIndex: function(index) {
4609          this.currentImageIndex = index;
4610        },
4611        quantityDecrease: function() {
4612          if (this.cartItem) {
4613            themeHelper.EventBus.$emit('quantityDecrease', this.cartItem, false);
4614            this.quantity = this.cartItem.quantity
4615          } else {
4616            window.msg("請選擇商品款式", 'warning').show();
4617          }
4618        },
4619        quantityIncrease: function() {
4620          if (this.cartItem) {
4621            themeHelper.EventBus.$emit('quantityIncrease', this.cartItem, false);
4622            this.quantity = this.cartItem.quantity
4623          } else {
4624            window.msg("請選擇商品款式", 'warning').show();
4625          }
4626        },
4627        quantityChange: function(el) {
4628          if (this.cartItem) {
4629            themeHelper.EventBus.$emit('quantityChange', parseInt(el.target.value), this.cartItem, false);
4630            this.quantity = this.cartItem.quantity;
4631            el.target.value = this.cartItem.quantity;
4632          } else {
4633            window.msg("請選擇商品款式", 'warning').show();
4634          }
4635        },
4636        addProduct: function() {
4637          if (this.addCartText === '聯絡店家') {
4638            $('#messagebuy-Modal').data('variant', this.currentVariant);
4639            $('#messagebuy-Modal').modal('show');
4640            $('#messagebuy-Modal').css("background-color", "rgba(0, 0, 0, .6)");
4641          } else if (
4642            this.addCartText === '已登記補貨通知' ||
4643            this.addCartText === '已售完,貨到通知我'
4644          ) {
4645              this.toggleNotification();
4646          } else {
4647            if (this.cartItem) {
4648              try {
4649                if (this.isChoose) {
4650                  themeHelper.EventBus.$emit('updateStore', 'update', this.cartItem, this.callBack)
4651                } else {
4652                  themeHelper.EventBus.$emit('updateStore', 'add', this.cartItem, this.callBack)
4653                }
4654
4655                this.adding = true;
4656                this.closeModal();
4657              } catch (e) {
4658                window.msg("商品款式異常", 'error').show();
4659              }
4660            } else {
4661              window.msg("請選擇商品款式", 'warning').show();
4662            }
4663          }
4664        },
4665        closeModal: function() {
4666          themeHelper.EventBus.$emit('closeProductModal');
4667        },
4668        setDefaultOption: function() {
4669          var self = this;
4670          Object.keys(self.currentOption).map(function(optionKey) {
4671            self.currentOption[optionKey] = self.currentVariant[optionKey];
4672          });
4673        },
4674        getVariantIndex: function() {
4675          var self = this;
4676          return self.product.variants.findIndex(function(variant, index) {
4677            var isVariant = true;
4678            Object.keys(self.currentOption).forEach(function(option) {
4679              if (variant[option] !== self.currentOption[option]) {
4680                isVariant = false;
4681              }
4682            });
4683            return isVariant;
4684          });
4685        },
4686
4687        // 篩選重複品項
4688        getUniqueVariant: function(variants) {
4689          return variants.filter(function(value, index, self) {
4690            return self.indexOf(value) === index;
4691          });
4692        },
4693        groupBy(xs, key) {
4694          return xs.reduce(function(rv, x) {
4695            (rv[x[key]] = rv[x[key]] || []).push(x);
4696            return rv;
4697          }, {});
4698        },
4699        setUpDiscountsTag(data) {
4700          var self = this;
4701          var languagePrefix = '/' + ((window.shopScriptHelper && window.shopScriptHelper.i18nLocale) || 'zh-TW');
4702          $.ajax({
4703            url: languagePrefix + self.productUrl + '/discounts_list',
4704            method: 'GET',
4705            success: function(result) {
4706              if (result.length > 0) {
4707                var discounts_list = self.groupBy(result, 'campaign_type');
4708                self.discountsList = discounts_list;
4709              } else {
4710                self.discountsList = null;
4711              }
4712            }
4713          });
4714        },
4715        getOptions: function(optionKey, optionTypes) {
4716          var self = this;
4717          return optionTypes.map(function(optionType, index) {
4718            var isValid = true;
4719
4720            // 選出包含目前type的variant
4721            var matchVariants = self.product.variants.filter(function(variant) {
4722              return variant[optionKey] === optionType;
4723            });
4724
4725            // 篩選已勾選type
4726            Object.keys(self.currentOption).forEach(function(currentOptionKey) {
4727              if (currentOptionKey !== optionKey) {
4728                matchVariants = matchVariants.filter(function(variant) {
4729                  if (self.currentOption[currentOptionKey]) {
4730                    return variant[currentOptionKey] === self.currentOption[currentOptionKey]
4731                  } else {
4732                    return true;
4733                  }
4734                });
4735              }
4736            });
4737            if (matchVariants.length === 0) {
4738              isValid = false;
4739            }
4740            if (! self.isEmptyClickable) {
4741              isValid = false;
4742              matchVariants.find(function(item) {
4743                if (item.inventoryQuantity === null || item.inventoryQuantity > 0 || item.inventoryPolicy === 'continue') {
4744                  isValid = true;
4745                }
4746              });
4747            }
4748            return {name: optionType, isValid: isValid}
4749          });
4750        }
4751      }
4752    };
4753  });
4754</script>
4754
4755
4756<!-- cyb_snippet _product_modal_js end -->
4757
4758<!-- cyb_snippet components/product_modal/product_modal end -->
4759
4760<!-- cyb_snippet messagebuy_modal start -->
4761
4762
4763<!-- cyb_snippet messagebuy_modal end -->
4764<!-- cyb_snippet components/rate_limit_modal start -->
4765<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/rate_limit_modal-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' />
4766
4767<div class="modal fade" id="rate-limit-modal" tabindex="-1" role="dialog" aria-hidden="true" data-backdrop="static" data-keyboard="false">
4768  <div class="modal-dialog modal-dialog-centered" role="document">
4769    <div class="modal-content">
4770      <div class="modal-body">
4771        <div class="qk-text--default_dark rate-limit-text">
4772          <p id="rate-limit-title">目前搶購人潮眾多,請耐心等候</p>
4773          <p class="qk-fs--body qk-fw--500 rate-limit-message">
4774            <span class="qk-text--error" id="rate-limit-countdown"></span>
4775            <span id="rate-limit-desc"></span>
4776          </p>
4777          <p class="qk-fs--body qk-fw--500 rate-limit-message" id="rate-limit-warn">若離開此頁面,可能會延長等待時間。</p>
4778        </div>
4779        <button id="rate-limit-btn" class="btn qk-btn qk-btn--primary" disabled>重新進入商品頁</button>
4780      </div>
4781    </div>
4782  </div>
4783</div>
4784
4785<script>
4786  window.showRateLimitModal = function(countdownSec) {
4787    var countdown = countdownSec || 5;
4788    var $modal = $('#rate-limit-modal');
4789    var $btn = $modal.find('#rate-limit-btn');
4790    var $countdownEl = $modal.find('#rate-limit-countdown');
4791
4792    $btn.show();
4793    $modal.find('#rate-limit-desc').text(language["product_rate_limit_desc"]);
4794    $countdownEl.text(countdown);
4795    $btn.prop('disabled', true);
4796    $modal.modal('show');
4797
4798    var timer = setInterval(function() {
4799      countdown--;
4800      $countdownEl.text(countdown);
4801      if (countdown <= 0) {
4802        clearInterval(timer);
4803        $btn.prop('disabled', false);
4804      }
4805    }, 1000);
4806
4807    $btn.off('click').on('click', function() {
4808      location.reload();
4809    });
4810  }
4811
4812  window.showAddCartRateLimitModal = function(countdownSec) {
4813    var countdown = countdownSec || 5;
4814    var $modal = $('#rate-limit-modal');
4815    var $countdownEl = $modal.find('#rate-limit-countdown');
4816
4817    $modal.find('#rate-limit-btn').hide();
4818    $modal.find('#rate-limit-desc').text(language["addcart_rate_limit_desc"]);
4819    $countdownEl.text(countdown);
4820    $modal.modal('show');
4821
4822    var timer = setInterval(function() {
4823      countdown--;
4824      $countdownEl.text(countdown);
4825      if (countdown <= 0) {
4826        clearInterval(timer);
4827        $modal.modal('hide');
4828      }
4829    }, 1000);
4830  }
4831</script>
4831
4832
4833<!-- cyb_snippet components/rate_limit_modal end -->
4834
4835<script>
4836  $(document).ready(function() {
4837    const shouldSkipQuantityCheck = false;
4838    const newAddCartModalApp = new window.themeHelper.LiquidVueHandler({
4839      componentNames: Object.keys(window.themeHelper.productModalComponents),
4840      mountSelector: '#new-addcart-modal',
4841      autoMount: false,
4842    });
4843
4844    newAddCartModalApp.createApp({
4845      el: '#new-addcart-modal',
4846      delimiters: ['${', '}'],
4847      data() {
4848        return {
4849          collectionId: 0,
4850          categories: [],
4851          color: '', // unused
4852          isCollection: true,
4853          productQuantity: 0,
4854          onlyDescription: false,
4855          showProductModal: false,
4856          popProductUrl: '',
4857          loading: false,
4858        };
4859      },
4860      mounted: function() {
4861        themeHelper.EventBus.$on('closeProductModal',this.closeProductModal);
4862        themeHelper.EventBus.$on('updateStore', this.addProduct);
4863        themeHelper.EventBus.$on('quantityDecrease', this.quantityDecrease);
4864        themeHelper.EventBus.$on('quantityIncrease', this.quantityIncrease);
4865        themeHelper.EventBus.$on('quantityChange', this.quantityChange);
4866      },
4867      methods: {
4868        addProduct: function(actionType, productData, checkoutAddToCartCallback){
4869          var self = this;
4870          var pageViewId = window.CYBERBIZ && window.CYBERBIZ.dis && window.CYBERBIZ.dis.pageViewId;
4871          $.ajax({
4872            method: 'POST',
4873            url: '/cart/add',
4874            headers: pageViewId ? { 'X-Cyb-Page-View-Id': pageViewId } : {},
4875            data: {
4876              id: productData.id,
4877              quantity: productData.quantity,
4878            },
4879            dataType: 'json',
4880            beforeSend: function() {
4881              self.loading = true;
4882              themeHelper.ajaxLoadingMsg('loading');
4883              $('.shopcart').dropdown('hide')
4884              $('.global-cart-count').hide();
4885              $('.global-cart-loading').show();
4886              $('.global-cart-loading').html('<i class="fa fa-spinner fa-pulse" style="vertical-align: middle;"></i>');
4887            },
4888            error: function(xhr) {
4889              $('.global-cart-loading').hide();
4890              $('.global-cart-count').show();
4891              self.loading = false;
4892              if (xhr.status === 429) {
4893                themeHelper.ajaxLoadingMsg('hide', 0);
4894                self.closeProductModal();
4895                window.showAddCartRateLimitModal(5);
4896                return;
4897              }
4898              themeHelper.ajaxLoadingMsg('fail', 2000);
4899            }
4900          }).done(function(data, status, request){
4901            // product modal 立即購買按鈕
4902            window.sendAddToCartEvent && sendAddToCartEvent({
4903              price: productData.price,
4904              quantity: productData.quantity,
4905              id: productData.product.id,
4906              name: productData.product.title,
4907              category: productData.product.productType,
4908              brand: productData.product.vendor,
4909              qc: productData.variant.qc,
4910              variant: {
4911                id: productData.variant.id,
4912                title: productData.variant.title,
4913                sku: productData.variant.sku,
4914                price: productData.variant.price,
4915                qc: productData.variant.qc,
4916              },
4917              position: "商品彈出視窗",
4918              request,
4919            })
4920            if (self.isQuickBuy) {
4921              if (window.liquidHelper && window.liquidHelper.language && window.liquidHelper.language.handle) {
4922                window.location = "/" + window.liquidHelper.language.handle + "/cart";
4923              } else {
4924                window.location = "/cart";
4925              }
4926            } else {
4927              themeHelper.ajaxLoadingMsg('success');
4928              pullNavCart();
4929              $('.shopcart').dropdown('show')
4930              $('.global-cart-loading').hide();
4931              self.loading = false;
4932            }
4933            if(typeof checkoutAddToCartCallback === 'function'){
4934              var callbackData = {
4935                id: productData.id,
4936                quantity: productData.quantity,
4937                title: productData.product ? productData.product.title : productData.title || ''
4938              };
4939              checkoutAddToCartCallback(callbackData)
4940            }
4941            peh.emit('product:add_to_cart', [{
4942              variantId: productData.id,
4943              quantity: productData.quantity
4944            }], self.collectionId);
4945          }).fail(function(e){
4946            if (e.status === 429) {
4947              return;
4948            }
4949            let err_msg = e.responseJSON.err_msg;
4950            err_msg && err_msg.length > 0 ?
4951              window.msg(e.responseJSON.err_msg, 'warning').show():
4952              window.msg("加入購物車有誤,請重新嘗試", 'warning').show();
4953          })
4954        },
4955        quantityDecrease: function(cartItem, isAdded){
4956          if (cartItem.quantity > 1) {
4957            cartItem.quantity -= 1;
4958          } else {
4959            window.msg("數量不得為低於 1", 'warning').show();
4960          }
4961        },
4962        quantityIncrease: function(cartItem, isAdded){
4963          const limitQuantity = cartItem.variant.inventoryQuantity;
4964          const limitBuy = cartItem.product.limitBuy
4965          if (limitBuy && cartItem.quantity >= limitBuy) {
4966            product_limit_buy = "此商品限購 limitBuy 件".replace('limitBuy', limitBuy)
4967            window.msg(product_limit_buy, 'warning').show();
4968            return;
4969          } else if (cartItem.quantity >= liquidHelper.cartQuantityLimit) {
4970            window.msg("數量超過購買上限", 'warning').show();
4971          } else if ( cartItem.quantity < limitQuantity || limitQuantity === null ||
4972            cartItem.variant.inventoryPolicy == "continue" || shouldSkipQuantityCheck) {
4973            cartItem.quantity += 1;
4974          } else {
4975            this.showInventoryMessage(limitQuantity);
4976          }
4977        },
4978        quantityChange: function(quantity, cartItem, isAdded){
4979          const limitBuy = cartItem.product.limitBuy
4980          var limitQuantity = cartItem.variant.inventoryQuantity;
4981          var inventoryPolicy = cartItem.variant.inventoryPolicy;
4982          if (Number.isInteger(quantity)) {
4983            if (quantity >= 1) {
4984              if (limitBuy && quantity >= limitBuy) {
4985                product_limit_buy = "此商品限購 limitBuy 件".replace('limitBuy', limitBuy)
4986                window.msg(product_limit_buy, 'warning').show();
4987              } else if (quantity > liquidHelper.cartQuantityLimit) {
4988                window.msg("數量超過購買上限", 'warning').show();
4989              } else if (quantity <= limitQuantity || limitQuantity === null || inventoryPolicy == "continue" || shouldSkipQuantityCheck) {
4990                cartItem.quantity = quantity;
4991              } else {
4992                cartItem.quantity = limitQuantity;
4993                this.showInventoryMessage(limitQuantity);
4994              }
4995            } else {
4996              window.msg("數量不得為低於 1", 'warning').show();
4997            }
4998          } else {
4999            window.msg("數量輸入錯誤", 'warning').show();
5000          }
5001        },
5002        popModal: function(productUrl, collectionId, color, isCollection, isShowDescription, isQuickBuy, variantId, checkoutAddToCartCallback, categories){
5003          this.showProductModal = true;
5004          this.collectionId = collectionId;
5005          this.categories = categories || [];
5006          this.popProductUrl = productUrl;
5007          this.color = color || ''; // unused
5008          this.isCollection = isCollection || false;
5009          this.isShowDescription = isShowDescription != false;
5010          this.isQuickBuy = isQuickBuy || false;
5011          this.selectedVariantId = parseInt(variantId) || undefined;
5012          this.checkoutAddToCartCallback = checkoutAddToCartCallback;
5013          document.body.style.overflow = "hidden";
5014        },
5015        closeProductModal: function() {
5016          this.showProductModal = false;
5017          document.body.style.overflow = "";
5018        },
5019        showInventoryMessage: function(inventoryQuantity) {
5020          const stockMessage = "商品庫存剩餘 count 件".replace('count', inventoryQuantity || 0);
5021          window.msg(stockMessage, 'warning').show();
5022        },
5023      }
5024    });
5025
5026    for (const componentName in window.themeHelper.productModalComponents) {
5027      newAddCartModalApp.component(
5028        componentName,
5029        window.themeHelper.productModalComponents[componentName],
5030      );
5031    }
5032
5033    window.new_addcart_modal = newAddCartModalApp.mount();
5034  });
5035</script>
5035
5036
5037<!-- cyb_snippet new_addcart_modal end -->
5038    
5038<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/new_cart-3a2e378145f8a165.js' type='text/javascript'></script>
5038
5039  
5040</div>
5041<style>
5042  [id="1716791046824_5"] {
5043    display: none;
5044  }
5045  [id="1716620994813_0"] {
5046    max-width: calc((100vw - 240px) / 2);
5047    display: inline-block;
5048  }
5049  [id="1716620994813_0"] .qk-swiper_btn {
5050    display: none;
5051  }
5052  [id="1716620994813_0"] .qk-swiper_pg {
5053    display: none;
5054  }
5055  [id="1715271445372_0"] { 
5056    max-width: calc((100vw - 240px) / 2);
5057    display: inline-block;
5058  }
5059  [id="1715271445372_0"] .qk-swiper_btn {
5060    display: none;
5061  }
5062  [id="1715271445372_0"] .qk-swiper_pg {
5063    display: none;
5064  }
5065  #wrapper {
5066    text-align: center;
5067    margin-bottom: 54px;
5068  }
5069  #graphic_introduction-1715369570801_6 .graphic_introduction_group-content {
5070    flex-direction: row;
5071    gap: 30px;
5072  }
5073  #graphic_introduction-1715369570801_6 .graphic_introduction_group .graphic_introduction_group-content .group_content[data-v-aa70c9f2] {
5074    margin-bottom: 0px !important;
5075  }
5076  [id="1715274387306_7"] {
5077    margin-top: 20px !important;
5078  }
5079  #mobile-yt {
5080    display: none;
5081  }
5082  .fb_fanpage {
5083    display: none;
5084  }
5085  .media .social_media {
5086    margin-top: 0px;
5087  }
5088@media (max-width: 991px) {
5089  [id="1716620994813_0"] {
5090    max-width: calc((100vw - 52px) / 2);
5091  }
5092  [id="1715271445372_0"] { 
5093    max-width: calc((100vw - 52px) / 2);
5094  }
5095}
5096@media (max-width: 502px) {
5097  #graphic_introduction-1715369570801_6 .graphic_introduction_group-content {
5098    flex-direction: column;
5099    gap: 5px;
5100  }
5101  #desktop-yt {
5102    display: none;
5103  }
5104  #mobile-yt {
5105    display: block;
5106  }
5107}
5108@media (max-width: 425px) {
5109  #wrapper {
5110    margin-bottom: 40px;
5111  }
5112  [id="1716620994813_0"] {
5113    max-width: calc((100vw - 52px));
5114    display: block;
5115    margin: 0 auto !important;
5116  }
5117  [id="1715271445372_0"] { 
5118    max-width: calc((100vw - 52px));
5119    display: block;
5120    margin: 0 auto !important;
5121  }
5122}
5123</style>
5124<script>
5125  $(document).ready(function() {
5126    var $element1 = $('#1716620994813_0');
5127    var $element2 = $('#1715271445372_0');
5128
5129    // 建立一個新的 div 包裹元素
5130    var $wrapper = $('<div id="wrapper"></div>');
5131
5132    // 在 element1 之前插入 wrapper
5133    $element1.before($wrapper);
5134
5135    // 將 element1 和 element2 插入 wrapper 中
5136    $wrapper.append($element1);
5137    $wrapper.append($element2); 
5138    $('#1716791046824_5').show();
5139  });
5140</script>
5140
5141    </div>
5142
5143    <!-- Footer -->
5144    
5145
5146
5147
5148
5149
5150
5151<style>
5152  
5153  
5154  @media(min-width: 991px) {
5155    .display_x .left-content > div {
5156      max-width: calc(100% / 3);
5157    }
5158  }
5159</style>
5160
5161<div id="index-recommendation"></div>
5162
5163<footer id="footer" class="qk-fs--body qk-bg--footer_bg">
5164  
5165    
5166    <div class="qk-container display_x">
5167      <div class="footer_content qk-mg--0 qk-display--flex qk-justify--between">
5168        <div class="left-content qk-flex--1">
5169          
5170            
5171              <div class="link-list-container">
5172                
5173                  <p class="footer_title qk-fs--title qk-text--footer_text">關於我們</p>
5174                
5175                <div class="item horizontal qk-text--left">
5176                  <ul class="qk-display--flex qk-flex--wrap">
5177                    
5178                      
5179                        <li class="qk-display--il_bk">
5180                          
5181                            <a
5182                              class="qk-text--footer_text"
5183                              href="/pages/ourbrand"
5184                              rel="noopener noreferrer"
5185                              target="_blank">品牌理念</a>
5186                          
5187                        </li>
5188                      
5189                        <li class="qk-display--il_bk">
5190                          
5191                            <a
5192                              class="qk-text--footer_text"
5193                              href="/pages/reviews"
5194                              rel="noopener noreferrer"
5195                              target="_blank">產品評價</a>
5196                          
5197                        </li>
5198                      
5199                        <li class="qk-display--il_bk">
5200                          
5201                            <a
5202                              class="qk-text--footer_text"
5203                              href="/blogs/coffee-information"
5204                              rel="noopener noreferrer"
5205                              target="_blank">咖啡知識</a>
5206                          
5207                        </li>
5208                      
5209                    
5210                  </ul>
5211                </div>
5212              </div>
5213              
5214          
5215            
5216              <div class="link-list-container">
5217                
5218                  <p class="footer_title qk-fs--title qk-text--footer_text">購物資訊</p>
5219                
5220                <div class="item horizontal qk-text--left">
5221                  <ul class="qk-display--flex qk-flex--wrap">
5222                    
5223                      
5224                        <li class="qk-display--il_bk">
5225                          
5226                            <a
5227                              class="qk-text--footer_text"
5228                              href="/pages/faq-purchasepolicy"
5229                              rel="noopener noreferrer"
5230                              target="_blank">購物說明</a>
5231                          
5232                        </li>
5233                      
5234                        <li class="qk-display--il_bk">
5235                          
5236                            <a
5237                              class="qk-text--footer_text"
5238                              href="/pages/faq-warranty"
5239                              rel="noopener noreferrer"
5240                              target="_blank">售後服務</a>
5241                          
5242                        </li>
5243                      
5244                        <li class="qk-display--il_bk">
5245                          
5246                            <a
5247                              class="qk-text--footer_text"
5248                              href="https://www.femobook.com.tw/pages/ourstore"
5249                              rel="noopener noreferrer"
5250                              target="_blank">門市資訊</a>
5251                          
5252                        </li>
5253                      
5254                    
5255                  </ul>
5256                </div>
5257              </div>
5258              
5259          
5260            
5261              <div class="link-list-container">
5262                
5263                  <p class="footer_title qk-fs--title qk-text--footer_text">條款政策</p>
5264                
5265                <div class="item horizontal qk-text--left">
5266                  <ul class="qk-display--flex qk-flex--wrap">
5267                    
5268                      
5269                        <li class="qk-display--il_bk">
5270                          
5271                            <a
5272                              class="qk-text--footer_text"
5273                              href="/pages/privacy"
5274                              rel="noopener noreferrer"
5275                              target="_blank">隱私政策</a>
5276                          
5277                        </li>
5278                      
5279                        <li class="qk-display--il_bk">
5280                          
5281                            <a
5282                              class="qk-text--footer_text"
5283                              href="/pages/terms"
5284                              rel="noopener noreferrer"
5285                              target="_blank">服務條款</a>
5286                          
5287                        </li>
5288                      
5289                        <li class="qk-display--il_bk">
5290                          
5291                            <a
5292                              class="qk-text--footer_text"
5293                              href="/pages/refund"
5294                              rel="noopener noreferrer"
5295                              target="_blank">退換貨政策</a>
5296                          
5297                        </li>
5298                      
5299                    
5300                  </ul>
5301                </div>
5302              </div>
5303              
5304          
5305        </div>
5306        <div class="right-content qk-display--flex qk-flex--column">
5307          
5308            <div class="fb_fanpage qk-hidden--mobile">
5309              <div class="fb_fans_page_area">
5310                <div
5311                  class="fb-page"
5312                  data-href="https://www.facebook.com/707334345791024"
5313                  data-width="500"
5314                  data-adapt-container-width="true"
5315                  data-hide-cover="false"
5316                  data-show-facepile="true">
5317                  <blockquote cite="https://www.facebook.com/707334345791024" class="fb-xfbml-parse-ignore">
5318                    <a target="_blank" rel="noopener noreferrer" href="https://www.facebook.com/707334345791024"></a>
5319                  </blockquote>
5320                </div>
5321              </div>
5322            </div>
5323          
5324          <div class="media qk-display--il">
5325            <div class="item social_media qk-h--auto qk-float--l">
5326              <ul>
5327                
5328                  <li class="qk-display--il_bk">
5329                    <a target="_blank" rel="noopener noreferrer" href="https://www.facebook.com/femobookTW">
5330                      <svg
5331                        class="facebook-svg"
5332                        xmlns="http://www.w3.org/2000/svg"
5333                        width="40"
5334                        height="40"
5335                        viewBox="0 0 40 40">
5336                        <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" />
5337                      </svg>
5338                    </a>
5339                  </li>
5340                
5341                
5342                  <li class="qk-display--il_bk">
5343                    <a target="_blank" rel="noopener noreferrer" href="https://www.instagram.com/femobook_taiwan/">
5344                      <svg
5345                        class="instagram-svg"
5346                        xmlns="http://www.w3.org/2000/svg"
5347                        width="40"
5348                        height="40"
5349                        viewBox="0 0 40 40">
5350                        <rect class="qk-svg--footer_text" width="40" height="40" rx="20" />
5351                        <path class="qk-svg--footer_bg" d="M15.0302 8.08393C13.7534 8.14417 12.8814 8.34793 12.1192 8.64745C11.3303 8.95489 10.6616 9.36745 9.99636 10.0351C9.33107 10.7028 8.92139 11.3719 8.61611 12.162C8.32066 12.9259 8.1205 13.7986 8.0641 15.0761C8.0077 16.3536 7.99522 16.7643 8.00146 20.023C8.0077 23.2817 8.0221 23.6902 8.08402 24.9704C8.14498 26.2469 8.34802 27.1186 8.64755 27.8811C8.95547 28.67 9.36755 29.3384 10.0355 30.0039C10.7034 30.6694 
535111.3721 31.0782 12.1641 31.3839C12.9273 31.6789 13.8002 31.88 15.0775 31.9359C16.3547 31.9918 16.7659 32.0048 20.0237 31.9986C23.2815 31.9923 23.6916 31.9779 24.9716 31.9172C26.2515 31.8565 27.1186 31.652 27.8813 31.3539C28.6702 31.0453 29.3391 30.6339 30.0042 29.9658C30.6692 29.2976 31.0787 28.628 31.3837 27.8374C31.6794 27.0742 31.8803 26.2013 31.9357 24.925C31.9916 23.6441 32.0048 23.2352 31.9986 19.9769C31.9923 16.7187 31.9777 16.3102 31.917 15.0305C31.8563 13.7508 31.653 12.8818 31.3537 12.1188C31.0453 11.3299 30.6337 10.662 29.966 9.99601C29.2983 9.33001 28.6282 8.92081 27.8379 8.61649C27.0742 8.32105 26.2018 8.11969 24.9245 8.06449C23.6472 8.00929 23.2361 7.99513 19.9771 8.00137C16.7181 8.00761 16.3101 8.02153 15.0302 8.08393ZM15.1703 29.7771C14.0003 29.7262 13.365 29.5318 12.9417 29.3691C12.381 29.1531 11.9817 28.892 11.5597 28.4742C11.1378 28.0563 10.8786 27.6555 10.6597 27.0961C10.4953 26.6727 10.2973 26.0381 10.2426 24.8681C10.1831 23.6036 10.1706 23.2239 10.1636 20.0201C10.1567 16.8164 10.1689 16.4372 10.2244 15.1721C10.2743 14.0031 10.4699 13.3671 10.6324 12.9439C10.8484 12.3826 11.1085 11.9839 11.5273 11.5623C11.9461 11.1406 12.3457 10.8809 12.9057 10.662C13.3286 10.4969 13.9631 10.3006 15.1327 10.2449C16.3982 10.1849 16.7774 10.1729 19.9807 10.1659C23.184 10.159 23.5642 10.171 24.8302 10.2267C25.9992 10.2775 26.6355 10.4712 27.0581 10.6347C27.619 10.8507 28.0181 11.1101 28.4398 11.5296C28.8615 11.9491 29.1214 12.3473 29.3403 12.9084C29.5057 13.3301 29.702 13.9644 29.7572 15.1347C29.8174 16.4002 29.8311 16.7796 29.8369 19.9827C29.8426 23.1857 29.8314 23.5661 29.7759 24.8307C29.7248 26.0007 29.5309 26.6362 29.3679 27.0601C29.1519 27.6205 28.8915 28.0201 28.4725 28.4415C28.0534 28.863 27.6543 29.1226 27.0941 29.3415C26.6717 29.5064 26.0364 29.7032 24.8679 29.7589C23.6023 29.8184 23.2231 29.8309 20.0186 29.8378C16.8141 29.8448 16.4361 29.8318 15.1706 29.7771M24.9531 13.5864C24.9535 13.8713 25.0385 14.1495 25.1971 14.3861C25.3558 14.6226 25.581 14.8068 25.8443 14.9154C26.1077 15.0239 26.3973 15.0519 26.6765 14.9959C26.9558 14.9398 27.2122 14.8022 27.4132 14.6004C27.6142 14.3986 27.7509 14.1418 27.806 13.8623C27.861 13.5828 27.8319 13.2933 27.7224 13.0304C27.6129 12.7675 27.4279 12.5429 27.1908 12.3851C26.9536 12.2274 26.675 12.1435 26.3902 12.144C26.0084 12.1448 25.6425 12.2972 25.373 12.5677C25.1035 12.8381 24.9524 13.2046 24.9531 13.5864ZM13.8386 20.012C13.8453 23.4152 16.6091 26.1677 20.0117 26.1613C23.4142 26.1548 26.1687 23.3912 26.1622 19.988C26.1557 16.5848 23.3911 13.8315 19.9881 13.8382C16.5851 13.8449 13.8321 16.6092 13.8386 20.012ZM16 20.0076C15.9985 19.2165 16.2315 18.4427 16.6698 17.784C17.108 17.1253 17.7317 16.6114 18.462 16.3072C19.1924 16.003 19.9965 15.9222 20.7727 16.075C21.549 16.2278 22.2625 16.6073 22.823 17.1656C23.3836 17.724 23.766 18.436 23.9218 19.2116C24.0777 19.9872 24.0001 20.7917 23.6988 21.5232C23.3975 22.2547 22.886 22.8804 22.2291 23.3213C21.5721 23.7621 20.7992 23.9983 20.0081 23.9998C19.4827 24.0009 18.9623 23.8985 18.4766 23.6985C17.9909 23.4985 17.5493 23.2047 17.1771 22.834C16.8049 22.4632 16.5094 22.0228 16.3074 21.5379C16.1054 21.0529 16.001 20.533 16 20.0076Z" />
5352                      </svg>
5353                    </a>
5354                  </li>
5355                
5356                
5357                  <li class="qk-display--il_bk">
5358                    <a target="_blank" rel="noopener noreferrer" href="https://lin.ee/iOSBDQ1">
5359                      <svg
5360                        class="line-svg"
5361                        xmlns="http://www.w3.org/2000/svg"
5362                        width="40"
5363                        height="40"
5364                        viewBox="0 0 40 40">
5365                        <rect class="qk-svg--footer_text" width="40" height="40" rx="20" />
5366                        <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" />
5367                        <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" />
5368                        <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" />
5369                        <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" />
5370                        <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" />
5371                      </svg>
5372                    </a>
5373                  </li>
5374                
5375                
5376                  <li class="qk-display--il_bk">
5377                    <a target="_blank" rel="noopener noreferrer" href="https://youtube.com/@femobook?si=6pEjEuT9H4d5BGk7">
5378                      <svg
5379                        class="youtube-svg"
5380                        xmlns="http://www.w3.org/2000/svg"
5381                        width="40"
5382                        height="40"
5383                        viewBox="0 0 40 40">
5384                        <rect class="qk-svg--footer_text" width="40" height="40" rx="20" />
5385                        <path class="qk-svg--footer_bg" d="M27.3078 11H12.6922C9.82462 11 7.5 13.3653 7.5 16.283V23.717C7.5 26.6347 9.82462 29 12.6922 29H27.3078C30.1754 29 32.5 26.6347 32.5 23.717V16.283C32.5 13.3653 30.1754 11 27.3078 11ZM23.7964 20.3617L16.9602 23.6792C16.778 23.7676 16.5676 23.6324 16.5676 23.4271V16.5848C16.5676 16.3766 16.7835 16.2416 16.9661 16.3357L23.8023 19.8606C24.0055 19.9653 24.002 20.2619 23.7964 20.3617Z" />
5386                      </svg>
5387                    </a>
5388                  </li>
5389                
5390              </ul>
5391            </div>
5392          </div>
5393        </div>
5394      </div>
5395    </div>
5396    
5397  <div class="copyright qk-text--footer_text qk-bd--footer_text qk-text--left qk-bd_t--default">
5398    <div class="qk-container container qk-fw--500">
5399      <span>Copyright ©</span>
5400      <a class="qk-text--link" href="/">
5401        <span>femobook</span>
5402      </a>
5403      <span>All Rights Reserved.</span>
5404      <span>Designed by
5405      </span>
5406      <a
5407        class="qk-text--link"
5408        href="https://www.cyberbiz.io?utm_source=poweredbycyberbiz"
5409        target="_blank"
5410        rel="noopener noreferrer"
5411        title="Designed by CYBERBIZ">CYBERBIZ</a>.
5412    </div>
5413  </div>
5414  
5415</footer>
5416<script>
5417  $(document).ready(function() {
5418    let isDynamicLoading = false;
5419
5420    let menusData = {
5421      
5422        
5423          "關於我們": {
5424            
5425              "type": "items",
5426              "data": [
5427                
5428                
5429                  
5430                    {
5431                      "title": "品牌理念",
5432                      "url": "/pages/ourbrand",
5433                      "item_type": "page"
5434                    },
5435                  
5436                    {
5437                      "title": "產品評價",
5438                      "url": "/pages/reviews",
5439                      "item_type": "page"
5440                    },
5441                  
5442                    {
5443                      "title": "咖啡知識",
5444                      "url": "/blogs/coffee-information",
5445                      "item_type": "blog"
5446                    }
5447                  
5448                
5449              ]
5450            
5451          },
5452        
5453      
5454        
5455          "購物資訊": {
5456            
5457              "type": "items",
5458              "data": [
5459                
5460                
5461                  
5462                    {
5463                      "title": "購物說明",
5464                      "url": "/pages/faq-purchasepolicy",
5465                      "item_type": "page"
5466                    },
5467                  
5468                    {
5469                      "title": "售後服務",
5470                      "url": "/pages/faq-warranty",
5471                      "item_type": "page"
5472                    },
5473                  
5474                    {
5475                      "title": "門市資訊",
5476                      "url": "https://www.femobook.com.tw/pages/ourstore",
5477                      "item_type": "http"
5478                    }
5479                  
5480                
5481              ]
5482            
5483          },
5484        
5485      
5486        
5487          "條款政策": {
5488            
5489              "type": "items",
5490              "data": [
5491                
5492                
5493                  
5494                    {
5495                      "title": "隱私政策",
5496                      "url": "/pages/privacy",
5497                      "item_type": "page"
5498                    },
5499                  
5500                    {
5501                      "title": "服務條款",
5502                      "url": "/pages/terms",
5503                      "item_type": "page"
5504                    },
5505                  
5506                    {
5507                      "title": "退換貨政策",
5508                      "url": "/pages/refund",
5509                      "item_type": "page"
5510                    }
5511                  
5512                
5513              ]
5514            
5515          }
5516        
5517      
5518    };
5519
5520    if (isDynamicLoading) {
5521      window.DynamicLoading.setupComponent({
5522          sectionId: '#footer',
5523          callbackData:{
5524            section: {"type":"footer","visible":true,"settings":{"footer_link":"footer","display_facebook":true,"shop_facebook":"https://www.facebook.com/femobookTW","display_instagram":true,"shop_instagram":"https://www.instagram.com/femobook_taiwan/","display_line":true,"shop_line":"https://lin.ee/iOSBDQ1","display_youtube":true,"shop_youtube":"https://youtube.com/@femobook?si=6pEjEuT9H4d5BGk7","footer_link_arrangement":"display_x","display_facebook_fan_block":true},"block_order":["default_link_list","1715275917129_0","1715275918567_0"],"blocks":{"default_link_list":{"type":"link_list_setting","custom_name":"選單","thumbnail":"list","draggable":true,"visible":true,"settings":{"dict_link_list_block_title":"關於我們","footer_link":"關於我們"}},"default_contact_info":{"type":"contact_info_setting","custom_name":"聯絡資訊","thumbnail":"contactInfo","draggable":true,"visible":true,"settings":{"dict_contact_info_block_title":"聯絡資訊","display_phone":"true","dict_phone_number":"02-22687300","display_fax_number":false,"dict_shop_fax_number":"0222345678","display_shop_email":"true","dict_shop_email":"[email protected]","display_shop_address":true,"dict_shop_address":"新北市土城區中央路3段281å··11弄9號12樓","display_office_time":"true","dict_shop_office_time":"10:00-17:00"}},"1715275917129_0":{"type":"link_list_setting","custom_name":"選單","visible":true,"settings":{"dict_link_list_block_title":"購物資訊","footer_link":"購物資訊"}},"1715275918567_0":{"type":"link_list_setting","custom_name":"選單","visible":true,"settings":{"dict_link_list_block_title":"條款政策","footer_link":"條款政策"}}},"custom_name":"頁腳"},
5525            shop: {
5526              name: 'femobook',
5527              cyberbiz_link: 'https://www.cyberbiz.io?utm_source=poweredbycyberbiz',
5528              facebook_fan_page: 'https://www.facebook.com/707334345791024',
5529            },
5530            menus: menusData,
5531            is_display_facebook_fan_block: true
5532            },
5533          entryName:'renderFooterSection',
5534          source:'//cdn-general.cybassets.com/frontend/shop/footerSection-3a2e378145f8a165.js',
5535        });
5536    }
5537  });
5538</script>
5538
5539
5540<!-- cyb_snippet _tracking_code start -->
5541      
5541<script>
5542        window.fbAsyncInit = function() {
5543          FB.init({
5544          appId : '1087021145614748',
5545          xfbml : true,
5546          version : 'v24.0',
5547          });
5548        };
5549        (function(d, s, id){
5550          var js, fjs = d.getElementsByTagName(s)[0];
5551          if (d.getElementById(id)) {return;}
5552          js = d.createElement(s);
5553          js.id = id;
5554          js.src = 'https://connect.facebook.net/zh_TW/sdk.js';
5555          fjs.parentNode.insertBefore(js, fjs);
5556        }(document, 'script', 'facebook-jssdk'));
5557      </script>
5557
5558
5559
5560<script>
5561  // for scupio
5562  if (document.querySelector("meta[name=\"scupio_mid\"]")) {
5563    mid = document.querySelector("meta[name=\"scupio_mid\"]").content;
5564  } else {
5565    mid = "";
5566  }
5567  if (!window.is_scupio_sent && mid) {
5568    window._bwtm = window._bwtm || []
5569    window._bwtm.push({
5570      "mid": mid,
5571      "uid": ""
5572    });
5573  }
5574</script>
5574
5575
5576<!-- cyb_snippet _tracking_code end -->
5577
5578<script>
5579  $(document).ready(function(){
5580    if(window.location.pathname != '' && window.location.pathname != '/' ){
5581      document.getElementById('index-recommendation').style.display = 'none'
5582    }
5583  });
5584</script>
5584
5585
5586
5587
5588    <!-- Fast-Events -->
5589    <!-- cyb_snippet fast_events start -->
5590
5591
5592<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/fast_events-3a2e378145f8a165.js' type='text/javascript'></script>
5592
5593<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/fast_events-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' />
5594
5595<!-- cyb_snippet fast_events end -->
5596
5597    <div class="bottom-right qk-pos--fixed">
5598      <!-- gototop -->
5599      <div id="gototop" class="qk-display--none qk-text--center">
5600        <a href="javascript:void(0)" class="qk-circle qk-circle--lg qk-pos--relative qk-text--center">
5601          <i class="fas fa-chevron-up"></i>
5602        </a>
5603      </div>
5604
5605      <!-- popup -->
5606      
5607
5608
5609
5610<div id="popup-wrapper" class="qk-display--none"></div>
5611
5612<template id="popup-template">
5613  <div
5614    :class="status"
5615    v-if="hasContent"
5616    id="popup-section"
5617  >
5618    <transition name="backdrop">
5619      <div
5620        v-if="shouldShowPopup"
5621        @click.capture="minifyPopup"
5622        id="popup-backdrop"
5623        class="qk-w--100vw qk-h--100vh qk-pos--fixed qk-t--0 qk-l--0 qk-tst"
5624      >
5625      </div>
5626    </transition>
5627    <transition name="onShow">
5628      <div
5629        @click.self="showPopup"
5630        @transitionstart="updateGameStatus('start', this)"
5631        @transitionend="updateGameStatus('end', this)"
5632        class="popup-content qk-display--flex qk-align--center qk-tst qk-tst_dur--30 qk-tst_timing--ease_o"
5633      >
5634        <div
5635          v-for="block in blocks"
5636          :key="block.id"
5637          :class="[block.type, minifiedBlockClasses, block.settings.icon_size]"
5638          class="block qk-tst qk-tst_dur--30 qk-tst_timing--ease_o qk-of--auto"
5639        >
5640          <div v-if="block.type === 'image'" class="qk-pos--rel">
5641            <img
5642              v-show="!shouldShowPopup"
5643              :src="block.settings.dict_icon_image_url"
5644              class="qk-tst qk-tst_dur--30 qk-tst_timing--ease_o"
5645              alt="popup button"
5646            >
5647            <a
5648              v-show="shouldShowPopup"
5649              :href="block.settings.dict_link"
5650              :target="block.settings.target"
5651              :rel="block.settings.rel"
5652              class="qk-display--flex qk-align--center"
5653              @click="linkClicked"
5654            >
5655              <picture>
5656                <source :srcset="block.settings.dict_mobile_image_url" media="(max-width: 576px)">
5657                <source :srcset="block.settings.dict_tablet_image_url" media="(max-width: 992px)">
5658                <img
5659                  :src="block.settings.dict_image_url"
5660                  class="qk-tst qk-tst_dur--30 qk-tst_timing--ease_o"
5661                  alt="popup picture"
5662                />
5663              </picture>
5664            </a>
5665          </div>
5666          <div v-if="block.type === 'video'">
5667            <iframe
5668              :src="block.settings.dict_video_link"
5669              frameborder="0"
5670              class="qk-center--y qk-w--100 qk-h--100"
5671            ></iframe>
5672          </div>
5673          <div v-if="block.type === 'game'">
5674            <div v-show="gameStatus === 'show'" :class="{ 'show-game': gameStatus === 'show' }">
5675              <iframe
5676                class="cb-game-iframe iframe-loading"
5677                :src="getGameIframeSrc(block)"
5678                style="border: none;"
5679              >
5680                Loading
5681              </iframe>
5682            </div>
5683            <div v-show="gameStatus === 'minified'">
5684              <img
5685                src="//cdn-general.cybassets.com/game_assets/game_minified_new.png"
5686                class="qk-h--100 qk-w--100"
5687                alt="game minified icon"
5688              />
5689            </div>
5690          </div>
5691          <div
5692            v-if="block.type === 'carousel'"
5693            :id="`popup-carousel-${block.id}`"
5694          >
5695          </div>
5696        </div>
5697      </div>
5698    </transition>
5699    <transition name="backdrop">
5700      <div
5701        v-if="shouldShowPopup"
5702        @click.capture="minifyPopup"
5703        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"
5704      >
5705      </div>
5706    </transition>
5707  </div>
5708</template>
5709
5710<script>
5711  $(document).ready(function() {
5712    const CDN_HOST = '//cdn-general.cybassets.com';
5713    const section = {"type":"popup","visible":true,"blocks":{"popup_block_1":{"type":"image","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzg5OTY3NzczX0ZFTU9CT09LXyjkuK3np4sp6YCj5YGH5YWs5ZGK5ZyWXzE5MjAuanBnLmpwZWciXV0.jpeg?sha=7eefa7ae65baf094","icon_size":"middle","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzg5OTY3Nzg3X0ZFTU9CT09LXyjkuK3np4sp6YCj5YGH5YWs5ZGK5ZyWXzk2MC5qcGcuanBlZyJdXQ.jpeg?sha=1fd544fc9fea809d","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzg5OTY3ODQ5X0ZFTU9CT09LXyjkuK3np4sp6YCj5YGH5YWs5ZGK5ZyWXzQ4MC5qcGcuanBlZyJdXQ.jpeg?sha=3a8144f6f4b91d03","dict_link":"","dict_icon_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjI4OTc2L2F0dGFjaGVkX3Bob3Rvcy8xNzg5OTY3ODA4X0ZFTU9CT09LXyjkuK3np4sp6YCj5YGH5YWs5ZGK5ZyWXzQ4MC5qcGcuanBlZyJdXQ.jpeg?sha=9704da9f633e7dd9","link_open_in_new_tab":false},"custom_name":"圖片"}},"block_order":["popup_block_1"],"settings":{},"custom_name":"彈窗廣告"};
5714    var popupSection = Vue.createApp({
5715      template: '#popup-template',
5716      delimiters: ['${', '}'],
5717      data() {
5718        const isOmniauthPage = ['omniauth_terms_agreement', 'omniauth_mobile/']
5719          .some(path => location.pathname.includes(path));
5720        return {
5721          status: 'minified',
5722          gameStatus: 'show',
5723          blocks: isOmniauthPage
5724            ? []
5725            : section.block_order && section.block_order.reduce(
5726                function(acc, blockId) {
5727                  const block = section.blocks[blockId];
5728                  if (block && block.visible) {
5729                    acc.push({
5730                      ...block,
5731                      id: blockId,
5732                    });
5733                  }
5734                  return acc;
5735                },
5736                [],
5737              ),
5738          hasAddedGameScript: false,
5739        };
5740      },
5741      computed: {
5742        hasContent: function() {
5743          return !!(this.blocks && this.blocks.length > 0);
5744        },
5745        minifiedBlockClasses: function() {
5746          return this.status === 'minified' ? 'qk-pointer--none qk-unselectable' : '';
5747        },
5748        shouldShowPopup: function() {
5749          return this.status === 'show';
5750        }
5751      },
5752      methods: {
5753        unhidePopup: function(storedStatus) {
5754          this.status = storedStatus;
5755          $('#popup-wrapper').removeClass('qk-display--none');
5756        },
5757        showPopup: function() {
5758          if (this.status !== 'show') {
5759            this.status = 'show';
5760            this.saveStatus(this.status);
5761          }
5762        },
5763        minifyPopup: function() {
5764          this.status = 'minified';
5765          this.saveStatus('minified');
5766        },
5767        loadStatus: function() {
5768          return JSON.parse(localStorage.getItem('popupStatus'));
5769        },
5770        saveStatus: function(status) {
5771          if (status) {
5772            localStorage.setItem('popupStatus', JSON.stringify({
5773              status: status,
5774              setTime: new Date().getTime(),
5775            }));
5776          }
5777        },
5778        linkClicked: function() {
5779          this.saveStatus('minified');
5780        },
5781        parseVideoLink: function(settings) {
5782          settings.dict_video_link = themeHelper.parseYtUrl(settings.dict_video_link);
5783        },
5784        setupImageSrc: function (settings) {
5785          settings.dict_image_url = this.addCdnHost(settings.dict_image_url);
5786          if (settings.dict_tablet_image_url) {
5787            settings.dict_tablet_image_url = this.addCdnHost(settings.dict_tablet_image_url);
5788          }
5789          if (settings.dict_mobile_image_url) {
5790            settings.dict_mobile_image_url = this.addCdnHost(settings.dict_mobile_image_url);
5791          }
5792          settings.dict_icon_image_url = this.addCdnHost(settings.dict_icon_image_url) || settings.dict_image_url;
5793        },
5794        addCdnHost: function(url) {
5795          if (!url) {
5796            return url; // only add cdn host if url is not empty
5797          }
5798
5799          try {
5800            new URL(url);
5801            return url; // already a valid url, cdn host not needed
5802          } catch {
5803            return `${CDN_HOST}${url}`;
5804          }
5805        },
5806        initStatus: function() {
5807          let newStatus = 'show';
5808          const popupStatus = this.loadStatus();
5809          const currentTime = new Date().getTime();
5810          const oneDay = 1000 * 60 * 60 * 24;
5811          const hasStoredStatus = popupStatus && currentTime - popupStatus.setTime < oneDay;
5812          const redirectedByGameLogin = !this.hasRedirectUrl() && this.redirectedByGameLogin();
5813          const isLoggingIn = this.isLoggingIn();
5814          const isCartPage = window.location.pathname.split('/').includes('carts');
5815
5816          if (hasStoredStatus && !redirectedByGameLogin) {
5817            newStatus = popupStatus.status;
5818          }
5819
5820          if (isLoggingIn) {
5821            newStatus = 'minified';
5822          } else {
5823            localStorage.removeItem('redirectedByPopup');
5824          }
5825
5826          setTimeout(() => {
5827            this.status = newStatus;
5828            this.gameStatus = newStatus;
5829            this.saveStatus(newStatus);
5830            if(!isCartPage){
5831              this.unhidePopup(newStatus);
5832            }
5833          }, 1000);
5834        },
5835        initBlocks: function() {
5836          if (this.hasContent) {
5837            this.blocks.forEach(block => {
5838              switch(block.type) {
5839                case 'image':
5840                  this.setupImageSrc(block.settings);
5841
5842                  const isOpenInNewTab = block.settings.link_open_in_new_tab;
5843                  if (isOpenInNewTab) {
5844                    block.settings.target = '_blank';
5845                    block.settings.rel = 'noopener noreferrer';
5846                  }
5847
5848                  break;
5849                case 'video':
5850                  this.parseVideoLink(block.settings);
5851                  break;
5852              }
5853            })
5854          }
5855        },
5856        getGameIframeSrc: function (block) {
5857          return `/games/${block.settings.dict_game_handle}`
5858        },
5859        updateGameStatus: function(type, element) {
5860          if (
5861            (type === 'start' && this.status === 'minified')
5862            || (type === 'end' && this.status === 'show')
5863          ) {
5864            this.gameStatus = this.status;
5865          }
5866        },
5867        setupGameRedirects: function() {
5868          window.addEventListener('pagehide', () => {
5869            const isGameActive = document.body.getElementsByClassName('show-game').length;
5870            if (isGameActive) {
5871              localStorage.setItem('redirectedByPopup', 'true');
5872              this.saveStatus('minified');
5873            }
5874          });
5875        },
5876        hasRedirectUrl: function() {
5877          return (new URLSearchParams(location.search)).has('redirect_url');
5878        },
5879        redirectedByGameLogin: function() {
5880          return localStorage.getItem('redirectedByPopup');
5881        },
5882        isLoggingIn: function() {
5883          const loginRelatedPathnames = [
5884            'account/signup',
5885            'account/login',
5886            'account/customer/password/new',
5887            'pages/terms'
5888          ];
5889          return loginRelatedPathnames.some(path => location.pathname.includes(path));
5890        }
5891      },
5892      created: function() {
5893        this.initStatus();
5894        this.initBlocks();
5895        this.setupGameRedirects();
5896      },
5897      mounted: function() {
5898        this.blocks.forEach((block) => {
5899          if (block.type === 'carousel' && block.settings.dict_c
5899arousel) {
5900            renderCarousel(`#popup-carousel-${block.id}`, {
5901              title: block.settings.dict_carousel,
5902              CDN_HOST,
5903              onLinkClick: () => this.linkClicked(),
5904            });
5905          }
5906        });
5907      },
5908    });
5909    popupSection.mount('#popup-wrapper');
5910  });
5911</script>
5911
5912
5913
5914
5915    </div>
5916
5917    <!-- ajaxloading -->
5918    <div id="ajaxloading" class="qk-display--none qk-h--100vh qk-w--100vw qk-l--0 qk-t--0 qk-pos--fixed">
5919      <div class="ajaxbody qk-pos--abs qk-l--50 qk-t--50 qk-text--center">
5920        <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">
5921          <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"/>
5922          <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 "/>
5923          <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"/>
5924          <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"/>
5925          <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"/>
5926          <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"/>
5927        </svg>
5928        <div class="success_msg title qk-display--none qk-pos--abs qk-l--0 qk-w--100 qk-text--center">已加入購物車</div>
5929        <div class="success_update_msg title qk-display--none qk-pos--abs qk-l--0 qk-w--100 qk-text--center">已更新購物車</div>
5930        <div class="fail_msg title qk-display--none qk-pos--abs qk-l--0 qk-w--100 qk-text--center">網路異常,請重新整理</div>
5931      </div>
5932    </div>
5933  
5934      
5934<script>
5935        if (typeof(check_order_token_cookie) !== 'function' || check_order_token_cookie()) {
5936          gtag('event', 'conversion', {"send_to":"AW-18440271667/3u9JCMzj7vQcELPugNlE"});
5937        }
5938      </script>
5938
5939    
5939<script src="//cdn-general.cybassets.com/assets/referral-code-trace-5fcbbe026a61c36b5f09a1615a1c168688205205d9d3e7ee854181a66b64a6ed.js"></script>
5939</body>
5940  
5941
5942
5943  
5943<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/sub_vendor-3a2e378145f8a165.js' type='text/javascript'></script>
5943
5944  
5944<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/theme_helper-3a2e378145f8a165.js' type='text/javascript'></script>
5944
5945
5946  <!-- theme assets -->
5947  
5947<script src='//cdn-general.cybassets.com/s/files/28976/theme/106642/assets/js/1714381120_b2d3ac7c_main.js?1714381120' type='text/javascript'></script>
5947
5948  
5948<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/theme-3a2e378145f8a165.js' type='text/javascript'></script>
5948
5949
5950  <!-- for cache -->
5951  
5951<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/cacheable-3a2e378145f8a165.js' type='text/javascript'></script>
5951
5952  <style>
5953     #login .qk-container .row .col .form_container p {
5954         color: #000 !important;
5955     }
5956     #customer_login label {
5957         color: #000 !important;
5958     }
5959     #customer_login span {
5960         color: #000 !important;
5961     }
5962     #register .qk-container .row .col .form_container p {
5963         color: #000 !important;
5964     }
5965     #create_customer label {
5966         color: #000 !important;
5967     }
5968     #create_customer span {
5969         color: #000 !important;
5970     }
5971  </style>
5972  
5972<script>
5973      $(document).ready(function(){
5974  var prevScrollpos = window.pageYOffset;
5975  $(window).on('scroll', function () {
5976    var currentScrollPos = window.pageYOffset;
5977    var headerHeight = $('#header').height();
5978    if (prevScrollpos > headerHeight - 10 && currentScrollPos > prevScrollpos) {
5979      //$('#header').css('top',`${headerHeight * -1 }px`);
5980      $('#header').css('top','0px');
5981    } else {
5982      $('#header').css('top','0px');
5983    }
5984    prevScrollpos = currentScrollPos;
5985  });
5986  $('.copyright.qk-text--footer_text.qk-bd--footer_text .qk-container').html('<span>Copyright ©Femobook Co., Ltd. 強創機械科技有限公司 統編:90261878 All Rights Reserved.</span>');
5987  
5988  });
5989  </script>
5989
5990  
5990<script defer src="https://static.getbutton.io/widget/bundle.js?id=GALZO" ></script>
5990
5991</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.