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-K742Q47Q
vendor: 3 bytes, line 12
12');
12</script>
12 13
13<script>var google_tag_manager_id = 'GTM-K742Q47Q';</script>
13 14<!-- End Google Tag Manager --> 15 <!-- CYBERBIZ Google Tag Manager --> 16
16<script>
vendor: 345 bytes, lines 16-20
16(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 17 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 18 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 19 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 20 })(window,document,'script','cyb','
20GTM-TXD9LVJ
vendor: 3 bytes, line 20
20');
20</script>
20 21 <!-- End CYBERBIZ Google Tag Manager --> 22 23
23<script> 24 function getUserFromCookie(){ 25 if(localStorage.customer && localStorage.customer != '{"notLogin":true}'){ 26 return JSON.parse(localStorage.customer).id; 27 }else{ 28 return ""; 29 } 30 } 31 cyb = [{ 32 'shop': "33898-è±ç©æå®ç¶²", 33 'shop_plan': "enterprise", 34 'userId': getUserFromCookie() 35 }]; 36 </script>
36 37 38 <!-- CYBERBIZ Google Tag Manager --> 39
39<script>
vendor: 345 bytes, lines 39-43
39(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 40 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 41 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 42 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 43 })(window,document,'script','cyb','
43GTM-P7528MQ
vendor: 3 bytes, line 43
43');
43</script>
43 44 <!-- End CYBERBIZ Google Tag Manager --> 45 46 <meta charset="utf-8"> 47<meta http-equiv="X-UA-Compatible" content="IE=edge"> 48<meta name="viewport" content="width=device-width, initial-scale=1"> 49<link rel="icon" href="https://cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU2ODkyMjE1X-azoeiKmemgrWljb240OHg0OC5wbmcucG5nIl1d.png?convert=false&sha=fd65c0f52724ba93"> 50<link rel="apple-touch-icon" href="https://cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU2ODkyMjE1X-azoeiKmemgrWljb240OHg0OC5wbmcucG5nIl1d.png?convert=false&sha=fd65c0f52724ba93"> 51 52<meta property="og:site_name" content="è±ç©æå®ç¶²" /> 53 54<!-- og tag --> 55 56 57<!-- og image --> 58 59 <meta property="og:image" content="https://cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQxODYyMzZfYjM5ZjBlMzk0ZDc4MWU2YTIzZGYuanBlZyJdLFsicCIsInRodW1iIiwiNDgweDQ4MCJdXQ.jpeg?sha=e8f1614a9ea7d771" /> 60 61 62<title> 63 64 éç®ææä¿å·ç¦®è¢ è±ç©æå®ç¶² 65 66</title> 67 68 69
70<script src='//cdn-general.cybassets.com/frontend/shop/useSettingsData-e958d46bfee2e69f.js' type='text/javascript'></script>
70 71 72 73 74
74<script> 75 window.setSettingsData({"draggable_sections":{"404":[],"index":["_index_product_banner","_main_slider_custom","1758263345770_6","_index_8_blocks","1757050806473_7","1780553347980_6","_index_4_blogs"],"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"],"carts":["_index_product_banner","_main_slider_custom","1758263345770_6","_index_8_blocks","1757050806473_7","1780553347980_6","_index_4_blogs"]},"sections":{"navbar":{"type":"navbar","visible":true,"settings":{"navbar_image_logo_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg5NDUxMTUxX-WSluWVoeiJsumAj-aYjuW6lS5wbmcucG5nIl1d.png?sha=16fdb915aeb70f7b","navbar_image_logo_tablet_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg5NDUxMTUxX-WSluWVoeiJsumAj-aYjuW6lS5wbmcucG5nIl1d.png?sha=16fdb915aeb70f7b","navbar_image_logo_mobile_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg5NDUxMTUxX-WSluWVoeiJsumAj-aYjuW6lS5wbmcucG5nIl1d.png?sha=16fdb915aeb70f7b","main_nav":"main-menu","slider_primary_linklist":"main-menu","slider_primary_linklist_set_open":true,"nav_show_three_dimension":true,"search_enabled":true,"display_only_index":false,"dict_header_banner_image_url":"","dict_header_banner_image_tablet_url":"","dict_header_banner_image_mobile_url":"","dict_header_banner_link":"https://www.dosuper.com.tw/blogs/news/20251201discount","display_count_down":false,"logo_height":"97","link_menu_enabled":false,"link_menu":"undefined","navbar_display_style":"rowCenterNav","menu_display_style":"three_dimension_menu","display_banner_type":"textBanner","header_banner_simple_text_size":"18","header_banner_simple_text_color":"#ffffff","header_banner_simple_bg":"#fa740c","header_banner_start":"","header_banner_end":"","timer_text_color":"#c39d6f","timer_bg_color":"#2b2b6e","header_logo_image_alt":"è±ç©æå æå¤©ç¶æçµæ·»å ï¼åæ¸é£æçç´ç²¹èæ°é®®ç¾å³","navbar_background_transparent":false,"header_banner_simple_text":"å ¨é¤¨å¤é åªæ ~é¨ååå以åå¹è¨æ»¿5700 享79æ+çç´æå¡å ç¢¼ææ£æ´åªæ !","link_open_in_new_tab":true,"mobile_logo_position":"center","navbar_pc_title_font_size_scale":"110","navbar_pc_body_font_size_scale":"100","navbar_mobile_title_font_size_scale":"110","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/dosuperfans","display_instagram":false,"shop_instagram":"https://www.instagram.com/?hl=zh-tw","display_line":false,"shop_line":"https://line.me/zh-hant/","display_youtube":false,"shop_youtube":"https://www.youtube.com/","footer_link_arrangement":"display_x","display_facebook_fan_block":true},"block_order":["default_link_list","default_contact_info"],"blocks":{"default_link_list":{"type":"link_list_setting","thumbnail":"list","draggable":true,"visible":true,"settings":{"dict_link_list_block_title":"è±ç©æé£åè¡ä»½æéå ¬å¸","footer_link":"footer"},"custom_name":"é¸å®"},"default_contact_info":{"type":"contact_info_setting","thumbnail":"contactInfo","draggable":true,"visible":true,"settings":{"dict_contact_info_block_title":"è¯çµ¡æå","display_phone":true,"dict_phone_number":"02-29109475","display_fax_number":true,"dict_shop_fax_number":"02-29149741","display_shop_email":true,"dict_shop_email":"[email protected]","display_shop_address":true,"dict_shop_address":"æ°å叿°åºå寶èè·¯45å··6å¼10è1.2æ¨","display_office_time":true,"dict_shop_office_time":"å¨ä¸~äº 09:00-18:00(åå®ä¾åæ¥ä¼)","display_tax_id":true,"dict_tax_id":"13101895"},"custom_name":"è¯çµ¡è³è¨"}},"custom_name":"é è ³"},"_main_slider_custom":{"type":"_main_slider_custom","visible":true,"blocks":{"display_main_slider_item_1":{"type":"image","visible":true,"settings":{"dict_link":"/collections/all
751","dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcxOTEzMTE4X0xJTkVQQVnlhY3pgYtCTjExNTAyLUPmqasuanBnLmpwZWciXV0.jpeg?sha=d4026ec216bc4417","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcxOTEzMTE4X0xJTkVQQVnlhY3pgYtCTjExNTAyLeW5s-advy5qcGcuanBlZyJdXQ.jpeg?sha=d9fca2ad49f529f4","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcxOTEzMTE4X0xJTkVQQVnlhY3pgYtCTjExNTAyLeaJi-apny5qcGcuanBlZyJdXQ.jpeg?sha=d8fbb2b11380f1a7","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","main_slider_image_alt":"滿ä»å
é","dict_slide_title_text":"","dict_slide_content_text":"","dict_slide_btn_text":""},"custom_name":"ç´ æ"},"display_main_slider_item_2":{"type":"image","visible":false,"settings":{"dict_link":"https://www.dosuper.com.tw/collections/sale","dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzY4NTM1ODY2X-aYpeevgOWbpOiyqOWNgC1DWeapqy5qcGcuanBlZyJdXQ.jpeg?sha=9cbd1292934f90bb","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzY4NTM1ODY2X-aYpeevgOWbpOiyqOWNgC1DWeW5s-advy5qcGcuanBlZyJdXQ.jpeg?sha=76e46b453ed136ea","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzY4NTM1ODY2X-aYpeevgOWbpOiyqOWNgC1DWeaJi-apny5qcGcuanBlZyJdXQ.jpeg?sha=9d293b9b495c0a83","slide_contents_display":"left","dict_slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff","link_open_in_new_tab":true},"custom_name":"ç´ æ"},"display_main_slider_item_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":"","slide_contents_display":"left","dict_slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff"},"custom_name":"ç´ æ"},"display_main_slider_item_4":{"type":"image","visible":false,"settings":{"dict_link":"/products/102060501","dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg5MDE5MTM1XzIwMjYwOTEw6LGG56mM5pyL5qa05qek5rOh6IqZMTkyMCAoMSkuanBnLmpwZWciXV0.jpeg?sha=d6c2f29f208a9cf4","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg5MDE5MTQ0XzIwMjYwOTEw6LGG56mM5pyL5qa05qek5rOh6IqZNDgwICgxKS5qcGcuanBlZyJdXQ.jpeg?sha=a619da91e97185dd","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg5MDE5MTQ0XzIwMjYwOTEw6LGG56mM5pyL5qa05qek5rOh6IqZNDgwICgxKS5qcGcuanBlZyJdXQ.jpeg?sha=a619da91e97185dd","slide_contents_display":"left","dict_slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff","link_open_in_new_tab":true},"custom_name":"ç´ æ"},"display_main_slider_item_5":{"type":"image","visible":true,"settings":{"dict_link":"https://www.dosuper.com.tw/collections/all1","dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzYzMDg2Mzk2X0NZ5qmr5ru_5Y2D6YCB5qq45aGUMTExNC0wNC5qcGcuanBlZyJdXQ.jpeg?sha=7b1ea534c96d8a4c","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzYzMDg2Mzk3X0NZ55u05ru_5Y2D6YCB5qq45aGUMTExNC0wNS5qcGcuanBlZyJdXQ.jpeg?sha=007008afefd1b577","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzYzMDg2Mzk3X0NZ55u05ru_5Y2D6YCB5qq45aGUMTExNC0wNS5qcGcuanBlZyJdXQ.jpeg?sha=007008afefd1b577","slide_contents_display":"left","dict_slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff"},"custom_name":"ç´ æ"},"1764577638770_0":{"type":"image","custom_name":"ç´ æ","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzY0NTc3NzYzX0NZ5qGM5aSa6YeN5YSq5oOgMTE0LTAxLmpwZy5qcGVnIl1d.jpeg?sha=bb0339b2d2da4093","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzY0NTc3NzM4X0NZ5bmz5aSa6YeN5YSq5oOgMTE0LTAyLmpwZy5qcGVnIl1d.jpeg?sha=5ab4ebaebc87ebf2","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzY0NTc3NzQ0X0NZ5omL5aSa6YeN5YSq5oOgMTE0LTA0LmpwZy5qcGVnIl1d.jpeg?sha=9d1da3009b88da51","dict_link":"/blogs/news","link_open_in_new_tab":true,"main_slider_image_alt":"åé
åªæ ","slide_contents_display":"center","dict_slide_title_text":"","dict_slide_content_text":"","dict_slide_btn_link":"","slide_btn_link_open_in_new_tab":true,"slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff"}},"1764582390713_0":{"type":"image","custom_name":"ç´ æ","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg3ODIyMDIxXzIwMjYwODI36LGG56mM5pyL5rOh6IqZWOawtOacqOabuOiLkTAxICgxKS5qcGcuanBlZyJdXQ.jpeg?sha=160839b5e538f53a","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg3ODIyMDMxXzIwMjYwODI36LGG56mM5pyL5rOh6IqZWOawtOacqOabuOiLkTAyICgxKS5qcGcuanBlZyJdXQ.jpeg?sha=852ac484d36cd8a1","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg3ODIyMDMxXzIwMjYwODI36LGG56mM5pyL5rOh6IqZWOawtOacqOabuOiLkTAyICgxKS5qcGcuanBlZyJdXQ.jpeg?sha=852ac484d36cd8a1","dict_link":"https://www.dosuper.com.tw/blogs/news/nthubook","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","link_open_in_new_tab":true}},"1767945318956_0":{"type":"image","custom_name":"ç´ æ","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzY3OTQ1MzUwX0NZ5qmrMTLku7Y4OS0wMS5qcGcuanBlZyJdXQ.jpeg?sha=410351d88494002f","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzY3OTQ1MzcwX0NZ5bmz5p2_MTLku7Y4OS0wMi5qcGcuanBlZyJdXQ.jpeg?sha=1322834397b949b3","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzY3OTQ1MzcxX0NZ5omL5qmfMTLku7Y4OS0wNC5qcGcuanBlZyJdXQ.jpeg?sha=ce4f8b169be45420","dict_link":"/collections/ä»»12ä»¶89æ","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"}},"1769759166362_0":{"type":"image","custom_name":"ç´ æ","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcwMDAxNTE5X-aDheS6uuevgC3pppYuanBnLmpwZWciXV0.jpeg?sha=3b6de37343760af3","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcwMDAxNTE5X-aDheS6uuevgC3lubMg572u6aCCLmpwZy5qcGVnIl1d.jpeg?sha=7dc8b98e682e91ca","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcwMDAxNTE5X-aDheS6uuevgC3miYsuanBnLmpwZWciXV0.jpeg?sha=24b2009a07215c66","dict_link":"/collections/ä»»12ä»¶89æ","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"}},"1770347550726_0":{"type":"image","custom_name":"ç´ æ","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcxODE3MjM3X-iznuazoTbpgIEyLWN55qmrLmpwZy5qcGVnIl1d.jpeg?sha=d4f361319fd8ac09","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcxODE3MjM3X-iznuazoTbpgIEyLWN55bmzLmpwZy5qcGVnIl1d.jpeg?sha=2786ff3375067a64","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcxODE3MjM3X-iznuazoTbpgIEyLWN55omLLmpwZy5qcGVnIl1d.jpeg?sha=d8804f26715c98f3","dict_link":"/collections/è³å³æ³¡è","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"}},"1775013838347_0":{"type":"image","custom_name":"ç´ æ","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg0MjU2NDc2XzIwMjYwN-ixhuepjOaci-emruiiizE5MjAuanBnLmpwZWciXV0.jpeg?sha=836a1bc29dd85be9","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg0MjU2NDg5XzIwMjYwN-ixhuepjOaci-emruiiizk2MC5qcGcuanBlZyJdXQ.jpeg?sha=0840dc4b03b47ef2","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg0MjU2NDg5XzIwMjYwN-ixhuepjOaci-emruiiizk2MC5qcGcuanBlZyJdXQ.jpeg?sha=0840dc4b03b47ef2","dict_link":"/products/999910002","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","main_slider_image_alt":"è±ç©æä¿å·ç¦®è¢","link_open_in_new_tab":true}},"1779853622163_0":{"type":"image","custom_name":"ç´ æ","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg2NjAxNzUyXzIwMjYwODEz6LGG56mM5pyL5Lit56eL56au55uSLmpwZy5qcGVnIl1d.jpeg?sha=903d031e2a9f884b","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg2NjAxNzYyXzIwMjYwODEz6LGG56mM5pyL5Lit56eL56au55uSMDEuanBnLmpwZWciXV0.jpeg?sha=4bb37b0e796f4e47","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg2NjAxNzYyXzIwMjYwODEz6LGG56mM5pyL5Lit56eL56au55uSMDEuanBnLmpwZWciXV0.jpeg?sha=4bb37b0e796f4e47","dict_link":"/collections/精緻禮ç","main_slider_image_alt":"ä¸ç§ç¦®ç","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":["1779853622163_0","display_main_slider_item_4","1775013838347_0","1764582390713_0"],"settings":{"swiper_delay":"3","margin_x":"20","margin_bottom":"35","image_number":"1","image_space":"15","mobile_margin_x":"5","mobile_margin_bottom":"35","mobile_image_number":"1","mobile_image_space":"8","transition_speed":"0.3"},"custom_name":"輪æç´ æ"},"_index_product_banner":{"type":"_index_product_banner","visible":true,"settings":{"dict_link":"/products/102060501","dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg5MDE5MTM1XzIwMjYwOTEw6LGG56mM5pyL5qa05qek5rOh6IqZMTkyMCAoMSkuanBnLmpwZWciXV0.jpeg?sha=d6c2f29f208a9cf4","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg5MDE5MTQ0XzIwMjYwOTEw6LGG56mM5pyL5qa05qek5rOh6IqZNDgwICgxKS5qcGcuanBlZyJdXQ.jpeg?sha=a619da91e97185dd","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg5MDE5MTQ0XzIwMjYwOTEw6LGG56mM5pyL5qa05qek5rOh6IqZNDgwICgxKS5qcGcuanBlZyJdXQ.jpeg?sha=a619da91e97185dd","cta_btn_display_style":"topPosition","cta_btn_bg_color":"#000000","cta_btn_text_color":"#ffffff","margin_x":"0","margin_bottom":"50","mobile_margin_x":"0","mobile_margin_bottom":"24","link_open_in_new_tab":true},"custom_name":"æ©«å¹
廣å"},"_index_8_blocks":{"type":"_index_8_blocks","visible":true,"settings":{"dict_title":"ç²¾é¸åå6æèµ·","collection_handle":"sale","limit":"12","product_arrangement":"1","product_column_for_pc":"2","product_alignment":"midPosition","product_text_align":"center","margin_x":"260","margin_bottom":"95","mobile_margin_x":"25","mobile_margin_bottom":"6","product_display":"displayAll","product_column_for_mobile":"2","product_card_hover_effect":"button","product_image_border_radius":"15"},"custom_name":"åååé¡"},"_index_4_blogs":{"type":"_index_4_blogs","visible":false,"blocks":{"index_4_blogs_1":{"type":"blog","visible":false,"settings":{"blog_handle":"éå¸è³è¨"},"custom_name":"é¨è½æ ¼"},"index_4_blogs_2":{"type":"blog","visible":false,"settings":{"blog_handle":"news"},"custom_name":"é¨è½æ ¼"},"index_4_blogs_3":{"type":"blog","visible":false,"settings":{"blog_handle":"news"},"custom_name":"é¨è½æ ¼"},"index_4_blogs_4":{"type":"blog","visible":false,"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","article_c
75olumns":"4"},"custom_name":"åé é 籤"},"_index_4_blocks":{"type":"_index_4_blocks","visible":false,"blocks":{"display_index_4_block_1":{"type":"image","visible":true,"settings":{"title":"","dict_link":"","dict_image_url":"/theme_src/i18n_shoestore/default_img/new_index_4_blocks_1.jpg","dict_tablet_image_url":"","dict_mobile_image_url":""},"custom_name":"åç"},"1757383090833_3":{"type":"html","custom_name":"èªè¨HTML","visible":true,"settings":{"dict_body_html":"\u003cp style=\"text-align: center;\"\u003e\u003cimg alt=\"\" src=\"//cdn-general.cybassets.com/s/files/33898/ckeditor/pictures/content_c464bf9c-e020-4cbe-bc52-7beb1eba1a55.jpg\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cimg alt=\"\" src=\"//cdn-general.cybassets.com/s/files/33898/ckeditor/pictures/content_3a632e9b-8266-4b65-b6bc-59d5a2bbd8d0.jpg\" /\u003e\u003c/p\u003e\r\n"}}},"block_order":["1757383090833_3"],"custom_name":"èªè¨æçè¨è¨","settings":{"margin_x":"0","margin_bottom":"50","margin_block":"10","mobile_margin_x":"0","mobile_margin_bottom":"50","mobile_columns":1,"mobile_margin_block":"10"}},"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":"9"},"custom_name":"é¨è½æ ¼è¨å®"},"article":{"type":"article","visible":true,"settings":{"display_blog_menu":true,"dict_blog_tags_title":"æç« åé¡","blog_latest_post_limit":"3"},"custom_name":"é¨è½æ ¼æç« è¨å®"},"category":{"type":"category","visible":true,"settings":{"category_sidebar_set_open":false,"category_product_block_limit":"4","category_product_swiper_item_limit":"6","category_product_item_limit":"18"}},"shop_setting":{"type":"shop_setting","visible":true,"settings":{"favicon_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU2ODkyMjE1X-azoeiKmemgrWljb240OHg0OC5wbmcucG5nIl1d.png?sha=fd65c0f52724ba93","og_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU2ODkyNTkwX-mAo-e1kOmhr-ekujMwMHgzMDAuanBnLmpwZWciXV0.jpeg?sha=588888d3022d71c7","shop_title":"Dosuper","shop_description":"è±ç©æå
æå¤©ç¶æçµæ·»å ï¼åæ¸é£æçç´ç²¹èæ°é®®ç¾å³ï¼æ¥å®çç¢æ°é®®å便å©ï¼æ¯æ¨ç¶²è³¼å±
å®¶é»å¿è辦å
¬å®¤åè¶ççé»é¦é¸ï¼","shop_keywords":"泡è ç¾é£ ä¼´æç¦® çé£ åå¡ æé¬ 禮ç é¤
ä¹¾ è²æ æ°åä¸å¸ ä¸ç§ç¦®ç èé»é
¥ çè»ç³ 彿 端å "},"custom_name":"å
¨ç«è¨å®"},"color_settings":{"type":"color_settings","visible":true,"settings":{"button_color":"#fa740c","button_text_color":"#FFFFFF","accent_color":"#4f1bfe","heading_color":"#906122","text_color":"#112612","price_color":"#906122","discount_price_color":"#fc0505","theme_bg_color":"#FFFFFF","product_border_color":"#4a8876","tips_text_color":"#fc070e","nav_logo_bg_color":"#FFFFFF","nav_menu_bg_color":"#fff2e6","nav_menu_text_color":"#124d15","nav_menu_icon_color":"#fa740c","footer_bg_color":"#fcf7ef","footer_text_color":"#124c15","checkout_button_color":"#fa740c","checkout_accent_color":"#fe0a0a"},"custom_name":"é¡è²è¨å®"},"popup":{"type":"popup","visible":true,"blocks":{"popup_block_1":{"type":"image","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzYyMzMzNjgzX-i3s-eqlzExMDUtMDEuanBnLmpwZWciXV0.jpeg?sha=775ea4bcf7230754","icon_size":"large","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzYyMzMzNjgzX-i3s-eqlzExMDUtMDEuanBnLmpwZWciXV0.jpeg?sha=775ea4bcf7230754","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzYyMzMzNjgzX-i3s-eqlzExMDUtMDEuanBnLmpwZWciXV0.jpeg?sha=775ea4bcf7230754","dict_icon_
75image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzYyMzMzNjgzX-i3s-eqlzExMDUtMDEuanBnLmpwZWciXV0.jpeg?sha=775ea4bcf7230754","dict_link":"https://dosuper.cyberbiz.co/blogs/news/login","link_open_in_new_tab":true},"custom_name":"åç"},"1770347373802_0":{"type":"image","custom_name":"åç","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcwMzQ3MjQyX-acgOW-jOS4i-WWri1DWeaJiy5qcGcuanBlZyJdXQ.jpeg?sha=9effe9d92973e92b","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcwMzQ3MjQyX-acgOW-jOS4i-WWri1DWeaJiy5qcGcuanBlZyJdXQ.jpeg?sha=9effe9d92973e92b","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcwMzQ3MjQyX-acgOW-jOS4i-WWri1DWeaJiy5qcGcuanBlZyJdXQ.jpeg?sha=9effe9d92973e92b","dict_icon_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcwMzQ3MjQyX-acgOW-jOS4i-WWri1DWeaJiy5qcGcuanBlZyJdXQ.jpeg?sha=9effe9d92973e92b","icon_size":"small"}}},"block_order":["1770347373802_0"],"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":{},"thumbnail":"list","draggable":false},"related_products":{"type":"related_products","visible":true,"settings":{"display_related_cols":false,"use_custom_related_cols":true,"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":true,"collection_pagination_limit":"24","product_column_for_pc":"4","is_infinite_scroll":true},"custom_name":"åååé¡è¨å®"},"404":{"type":"404","visible":true,"settings":{"image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzY5MDYwNDQxX-a0u-WLleW3sue1kOadny0wMS5qcGcuanBlZyJdXQ.jpeg?sha=cf2a372c88e19a09","dict_404_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzc2MTM0Mjg4XzIwMjYwNDE06LGG56mM5pyLMDEud2VicC53ZWJwIl1d.webp?sha=9431973faad15ea6","dict_title_text":"é é¢å·²ç§»é¤","dict_btn_text":"è¿åé¦é "},"custom_name":"404é "},"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":{}},"1757050806473_7":{"type":"_custom_html","custom_name":"èªè¨HTML","visible":true,"settings":{"margin_x":"0","margin_bottom":"0","mobile_margin_x":"0","mobile_margin_bottom":"0","dict_body_html":"\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"color:#996600;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u003cspan style=\"font-size:18px;\"\u003e\u003cstrong\u003e~è±ç©æè²©å®æé»~\u003c/strong\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u0026nbsp;\u003cimg alt=\"\" height=\"50\" src=\"https://cdn-general.cybassets.com/s/files/33898/ckeditor/pictures/content_711bc86b-dd2d-4a1d-af39-ba7cefc3cd33.png\" width=\"50\" /\u003e\u0026nbsp;\u003cstrong\u003eéé£éå¸\u0026nbsp;\u0026nbsp;\u003c/strong\u003e\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u0026nbsp;\u003ciframe allowfullscreen=\"\" frameborder=\"0\" src=\"https://www.google.com/maps/embed/v1/place?key=AIzaSyBra2BxWy5ZSVhznachsP39g99FBR_9F4w\u0026amp;zoom=19\u0026amp;q=https://www.google.com/maps/place/%E8%B1%86%E7%A9%8C%E6%9C%8B-%E9%9B%99%E9%80%A3%E5%BA%97/@25.0572362,121.5200945,17z/data=!4m6!3m5!1s0x3442a969f04568f3:\u0026amp;language=zh-TW\" title=\"map-viewer\"\u003e\u003c/iframe\u003e\u0026nbsp;\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003eå°åå¸å¤§ååå京西路25å··42è\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003eï¼æ·ééé£ç«1èåºå£å·¦è½å··å
§50å
¬å°ºï¼\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e02-25583918\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003eå¨ä¸~卿¥ 11:00~21:00\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u0026nbsp;\u003cimg alt=\"\" height=\"50\" src=\"https://cdn-general.cybassets.com/s/files/33898/ckeditor/pictures/content_711bc86b-dd2d-4a1d-af39-ba7cefc3cd33.png\" width=\"50\" /\u003e\u0026nbsp;\u003cstrong\u003e西ééå¸\u003c/strong\u003e\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u0026nbsp;\u003ciframe allowfullscreen=\"\" frameborder=\"0\" src=\"https://www.google.com/maps/embed/v1/place?key=AIzaSyBra2BxWy5ZSVhznachsP39g99FBR_9F4w\u0026amp;zoom=17\u0026amp;q=https://www.google.com/maps/place/%E8%B1%86%E7%A9%8C%E6%9C%8B%E8%A5%BF%E9%96%80%E5%BA%97/@25.0411726,121.505991,17z/data=!3m2!4b1!5s0x346851aed678acf5\u0026amp;language=zh-TW\" title=\"map-viewer\"\u003e\u003c/iframe\u003e\u0026nbsp;\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003eå°åå¸ä¸æ£åä¸è¯è·¯ä¸æ®µ59-8è\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e02-23116831 ï¼æ·é西éç«2èåºå£ï¼\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003eå¨ä¸~卿¥ 11:00~21:00\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u0026nbsp;\u003cimg alt=\"\" height=\"50\" src=\"https://cdn-general.cybassets.com/s/files/33898/ckeditor/pictures/content_711bc86b-dd2d-4a1d-af39-ba7cefc3cd33.png\" width=\"50\" /\u003e\u0026nbsp;\u003cstrong\u003eåæ°éå¸\u003c/strong\u003e\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u0026nbsp;\u003ciframe allowfullscreen=\"\" frameborder=\"0\" src=\"https://www.google.com/maps/embed/v1/place?key=AIzaSyBra2BxWy5ZSVhznachsP39g99FBR_9F4w\u0026amp;zoom=16\u0026amp;q=https://www.google.com/maps/place/%E8%B1%86%E7%A9%8C%E6%9C%8B-%E5%8C%97%E6%96%B0%E9%96%80%E5%B8%82/@24.9779519,121.5405794,17z/data=!3m2!4b1!5s0x346801f0aa1a0efb\u0026amp;language=zh-TW\" title=\"map-viewer\"\u003e\u003c/iframe\u003e\u0026nbsp;\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003eæ°å叿°åºååæ°è·¯äºæ®µ252èB1\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e02-29103396 (å
¨è¯è¶
å¸å°é¢)\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003eå¨ä¸~卿¥ 11:00~21:00\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u0026nbsp;\u003cimg alt=\"\" height=\"50\" src=\"https://cdn-general.cybassets.com/s/files/33898/ckeditor/pictures/content_711bc86b-dd2d-4a1d-af39-ba7cefc3cd33.png\" width=\"50\" /\u003e\u0026nbsp;
75\u003cstrong\u003e復èèªæ£§\u003c/strong\u003e(ç¹ç´åº)\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e(販å®éå®:泡èãä¹³é
ªå¡ãé¤
ä¹¾)\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u003ciframe allowfullscreen=\"\" frameborder=\"0\" src=\"https://www.google.com/maps/embed/v1/place?key=AIzaSyBra2BxWy5ZSVhznachsP39g99FBR_9F4w\u0026amp;zoom=18\u0026amp;q=https://www.google.com/maps/place/%E5%BE%A9%E8%88%88%E8%88%AA%E6%A3%A7%E5%B9%B8%E7%A6%8F%E7%83%98%E7%84%99%E5%B1%8B/@25.0948385,121.249881,3a,37.5y,254.73h,90.04t/data=!3m7!1e1!3m5!1s4yuQi_d5dhWFAvaZPZlCNg!2e0!6shttps\u0026amp;language=zh-TW\" title=\"map-viewer\"\u003e\u003c/iframe\u003e\u0026nbsp;\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003eæ¡åå¸å¤§åå䏿°è·¯ä¸æ®µ568è\u0026nbsp;\u0026nbsp;\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003eå¨ä¸~卿¥ 11:00~20:00\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u003ca href=\"https://www.dosuper.com.tw/collections/%E4%BB%BB12%E4%BB%B689%E6%8A%98?page=1\" target=\"_blank\"\u003e\u003cspan style=\"font-size:16px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color:#ffffff;\"\u003e\u003cspan style=\"background-color:#e74c3c;\"\u003e\u0026nbsp;\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"color:#ffffff;\"\u003e\u003cspan style=\"background-color:#e74c3c;\"\u003eéå§è³¼ç©\u0026nbsp;\u003c/span\u003e\u003c/span\u003e\u003c/strong\u003e\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u0026nbsp;\u003c/p\u003e\r\n"},"blocks":{},"block_order":[]},"1758251795056_7":{"type":"_custom_html","custom_name":"èªè¨HTML","visible":false,"settings":{"margin_x":"0","margin_bottom":"0","mobile_margin_x":"0","mobile_margin_bottom":"0","dict_body_html":"\u003cp\u003e\u003cimg alt=\"\" height=\"400\" src=\"//cdn-general.cybassets.com/s/files/33898/ckeditor/pictures/content_1651b58d-244d-4ee4-bc2f-2198c4defee8.png\" style=\"float:left\" width=\"400\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp style=\"text-align: center;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u0026nbsp;\u0026nbsp;\u003c/span\u003e\u003cstrong\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u003cspan style=\"font-size:12pt\"\u003e\u003cspan style=\"background:white\"\u003e\u003cspan style=\"font-size:18.0pt\"\u003e\u003cspan style=\"color:black\"\u003e天ç¶é£æ â§ ç實æå\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp align=\"center\" style=\"text-align:center\"\u003e\u003cspan style=\"font-size:16px;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u003cspan style=\"background:white\"\u003e\u003cspan style=\"color:black\"\u003e\u003cspan style=\"font-weight:normal\"\u003eç¡è² æççé»åç\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp data-mce-style=\"line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;\" style=\"text-align:start\"\u003e\u003cspan style=\"font-size:14px;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u003cspan style=\"background:white\"\u003e\u003cspan style=\"box-sizing:border-box\"\u003e\u003cspan style=\"font-variant-ligatures:normal\"\u003e\u003cspan style=\"text-decoration-thickness:initial\"\u003e\u003cspan style=\"text-decoration-style:initial\"\u003e\u003cspan style=\"text-decoration-color:initial\"\u003e\u003cspan style=\"color:black\"\u003eè±ç©æå
æå¤©ç¶æçµæ·»å ï¼åæ¸é£æçç´ç²¹èæ°é®®ç¾å³ï¼ç±é·å¹¾åé¡å³å¥ï¼å大åªé«çé»ç¬¬ä¸ï¼\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp data-mce-style=\"line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;\" style=\"text-align:start\"\u003e\u003cspan style=\"font-size:14px;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u003cspan style=\"background:white\"\u003e\u003cspan style=\"box-sizing:border-box\"\u003e\u003cspan style=\"font-variant-ligatures:normal\"\u003e\u003cspan style=\"text-decoration-thickness:initial\"\u003e\u003cspan style=\"text-decoration-style:initial\"\u003e\u003cspan style=\"text-decoration-color:initial\"\u003e\u003cspan data-mce-style=\"font-family: Arial, sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\" style=\"box-sizing:border-box\"\u003e\u003cspan style=\"white-space:pre-wrap\"\u003eæ¸å種çé»èåå¡ç精彩ç©å³ï¼ååç黿§æå®è³¼è²·ãè©¢åæµ·å¤è¨é»ï¼\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp data-mce-style=\"line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;\" style=\"text-align:start\"\u003e\u003cspan style=\"font-size:14px;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u003cspan style=\"background:white\"\u003e\u003cspan style=\"box-sizing:border-box\"\u003e\u003cspan style=\"font-variant-ligatures:normal\"\u003e\u003cspan style=\"text-decoration-thickness:initial\"\u003e\u003cspan style=\"text-decoration-style:initial\"\u003e\u003cspan style=\"text-decoration-color:initial\"\u003e\u003cspan data-mce-style=\"font-family: Arial, sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\" style=\"box-sizing:border-box\"\u003e\u003cspan style=\"white-space:pre-wrap\"\u003eä¸å®çç¢æ°é®®å便å©ï¼æ¯æ¨ç¶²è³¼å±
å®¶é»å¿è辦å
¬å®¤åè¶ççé»é¦é¸ï¼\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp data-mce-style=\"line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;\" style=\"text-align:start\"\u003e\u003cspan style=\"font-size:14px;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u003cspan style=\"background:white\"\u003e\u003cspan style=\"box-sizing:border-box\"\u003e\u003cspan style=\"font-variant-ligatures:normal\"\u003e\u003cspan style=\"text-decoration-thickness:initial\"\u003e\u003cspan style=\"text-decoration-style:initial\"\u003e\u003cspan style=\"text-decoration-color:initial\"\u003e\u003cspan data-mce-style=\"font-size: 12pt; font-family: Arial, sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\" style=\"box-sizing:border-box\"\u003e\u003cspan style=\"white-space:pre-wrap\"\u003e\u003cspan style=\"color:black\"\u003e卿¤ï¼æåè¡·å¿æè¬æ¨ä¸ç´ä»¥ä¾å°æåçæ¯æåä¿¡ä»»ã\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp data-mce-style=\"line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;\" style=\"text-align:start\"\u003e\u003cspan style=\"font-size:14px;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u003cspan style=\"background:white\"\u003e\u003cspan style=\"box-sizing:border-box\"\u003e\u003cspan style=\"font-variant-ligatures:normal\"\u003e\u003cspan style=\"text-decoration-thickness:initial\"\u003e\u003cspan style=\"text-decoration-style:initial\"\u003e\u003cspan style=\"text-decoration-color:initial\"\u003e\u003cspan data-mce-style=\"font-size: 12pt; font-family: Arial, sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\" style=\"box-sizing:border-box\"\u003e\u003cspan style=\"white-space:pre-wrap\"\u003e\u003cspan style=\"color:black\"\u003eéå»ï¼æåè´åæ¼è®å¥½çé£ç©ãç¡æ·»å çç¾å³ï¼æµéæ¯åä¿¡ä»»æåç辦å
¬å®¤ãå·¥å» ã叿 ¡ãæ©éå®ä½ï¼æåä¹çºæ¨æä¾åªè³ªçåè³¼æåå伿¥å®¢æ¶æ¹æ¡ã\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp data-mce-style=\"line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;\" style=\"text-align:start\"\u003e\u003cspan style=\"font-size:14px;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u003cspan style=\"background:white\"\u003e\u003cspan style=\"box-sizing:border-box\"\u003e\u003cspan style=\"font-variant-ligatures:normal\"\u003e\u003cspan style=\"text-decoration-thickness:initial\"\u003e\u003cspan style=\"text-decoration-style:initial\"\u003e\u003cspan style=\"text-decoration-color:initial\"\u003e\u003cspan data-mce-style=\"font-size: 12pt; font-family: Arial, sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\" style=\"box-sizing:border-box\"\u003e\u003cspan style=\"white-space:pre-wrap\"\u003e\u003cspan style=\"color:black\"\u003eè®å°é£æçå°éãå°å¥åº·çæå¾
ï¼å¯ä»¥ä¸ç´å»¶çºå¨æ¯ä¸å¤©çå·¥ä½ãæ¯ä¸åå®¶äººçæ·æ±ä¹ä¸ã\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp data-mce-style=\"line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;\" style=\"text-align:start\"\u003e\u003cspan style=\"font-size:14px;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u003cspan style=\"background:white\"\u003e\u003cspan style=\"box-sizing:border-box\"\u003e\u003cspan style=\"font-variant-ligatures:normal\"\u003e\u003cspan style=\"text-decoration-thickness:initial\"\u003e\u003cspan style=\"text-decoration-style:initial\"\u003e\u003cspan style=\"text-decoration-color:initial\"\u003e\u003cspan data-mce-style=\"font-size: 12pt; font-family: Arial, sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\" style=\"box-sizing:border-box\"\u003e\u003cspan style=\"white-space:pre-wrap\"\u003e\u003cspan style=\"color:black\"\u003eæå欣åå°å訴æ¨ï¼çºäºæ´å¥½å°æ»¿è¶³å»£å¤§å®¢æ¶çéæ±ï¼è®å¥åº·ãç¡æ·»å çç¾å³å¯ä»¥çµ¦æ´å¤äººå¸¶ä¾çæ´»çæ¯æï¼æåæ¨åºäºå
¨æ°çå®ç¶²
75ï¼ä¸¦æä¾åæ§åçæåã\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cspan style=\"font-size:14px;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u003cspan style=\"color:black\"\u003e\u003cspan data-mce-style=\"font-size: 12pt; font-family: Arial, sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\" style=\"box-sizing:border-box\"\u003e\u003cspan style=\"white-space:pre-wrap\"\u003eéä¸è½è®æ¨å¨çºæ¨åå
¶ä»å®¢æ¶å¸¶ä¾æ´å¤ç便æ·å鏿ã\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cspan style=\"font-size:14px;\"\u003e\u003cspan style=\"font-family:Arial,Helvetica,sans-serif;\"\u003e\u003cspan style=\"color:black\"\u003e\u003cspan data-mce-style=\"font-size: 12pt; font-family: Arial, sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\" style=\"box-sizing:border-box\"\u003e\u003cspan style=\"white-space:pre-wrap\"\u003eä¹è®ç¡æ·»å çæåï¼å¯ä»¥é²å°æ´å¤äººççæ´»ä¸ï¼è®å¥åº·è·å°é£æçå°éå¯ä»¥æ´æ£åºå»ï¼è®äººè·èªç¶å¯ä»¥æ´å å調ï¼ä¸¦ä¸å¨äº«åç¢åçåæå¯ä»¥è¢«æ¯æãèæ¯æç¤¾æçè¯åã\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n"},"blocks":{},"block_order":[]},"1758263345770_6":{"type":"_graphic_introduction","custom_name":"åæä»ç´¹","visible":true,"settings":{"text_display":"leftPosition","graphic_text":"#373420","graphic_bg":"#F4EEE2","margin_x":"20","margin_bottom":"30","mobile_margin_x":"8","mobile_margin_bottom":"20","dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg2NjA0MDU5XzE3NzI3NzgyMjU3MDEuanBnLmpwZWciXV0.jpeg?sha=17eb82594d7ce83b","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg2NjA0MDU5XzE3NzI3NzgyMjU3MDEuanBnLmpwZWciXV0.jpeg?sha=17eb82594d7ce83b","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg2NjA0MDU5XzE3NzI3NzgyMjU3MDEuanBnLmpwZWciXV0.jpeg?sha=17eb82594d7ce83b","btn_display":"rightSide","block_propotion":"40"},"blocks":{"1758263345771_0":{"type":"title","custom_name":"æ¨é¡","visible":true,"settings":{"dict_rich_text_title":"天ç¶é£æ ç實æå","dict_size":"18"}},"1758263345771_1":{"type":"text","custom_name":"å
§æ","visible":true,"settings":{"dict_rich_text_content":"\u003ch3\u003e\u003cstrong\u003eè±ç©æï¼å¤©ç¶ç¡æ·»å ççé»å³å¥\u003c/strong\u003e\u003c/h3\u003e\n\u003cp\u003eè±ç©æå
æã天ç¶ãç¡å叿·»å ãçåçåè¡·ï¼é¸ç¨ç´ç²¹é£ææå°±ç±é·ç ´å顿³¡èççé»é¦é¸ ãæåä¸å
æ·±åååç黿§åæï¼æ´æ¯ä¼æ¥åè³¼è辦å
¬å®¤åè¶çæå®åç ã\u003c/p\u003e\n\u003cp\u003eçºæ¨å»£å¥åº·é£²é£æåï¼\u003cstrong\u003eå
¨æ°å®ç¶²æ£å¼ä¸ç·\u003c/strong\u003e ï¼ééæ´ä¾¿æ·çè¨è³¼æµç¨èå¤å
åªæ ï¼æåå°æçºææ°é®®ãç¡è² æçç¾å³é鿝åå
75®¶åºèè·å ´ï¼è®å°é£æçå°éå»¶çºå¨æ¨çæ¥å¸¸çæ´»ä¸ ã\u003c/p\u003e\n","dict_size":"16"}},"1758263345772_2":{"type":"button","custom_name":"æé","visible":true,"settings":{"dict_btn_text":"éå§è³¼ç©","graphic-button_bg":"#fa8f0c","graphic-button_text":"#FFFFFF","dict_graphic_button_link":"https://dosuper.cyberbiz.co/collections/all1","link_open_in_new_tab":true}}},"block_order":["1758263345771_1","1758263345772_2"]},"1780553347980_6":{"type":"_graphic_introduction","custom_name":"åæä»ç´¹","visible":false,"settings":{"text_display":"midPosition","graphic_text":"#373420","graphic_bg":"#F4EEE2","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":{"1780553347982_0":{"type":"title","custom_name":"æ¨é¡","visible":true,"settings":{"dict_rich_text_title":"è²©å®æé»","dict_size":"20"}},"1780553347982_1":{"type":"text","custom_name":"å
§æ","visible":true,"settings":{"dict_rich_text_content":"\u003cp\u003eð· \u003cstrong\u003eéé£éå¸\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eå°åå¸å¤§ååå京西路25å··42è\u003c/p\u003e\n\u003cp\u003eï¼æ·ééé£ç«1èåºå£å·¦è½å··å
§50å
¬å°ºï¼\u003c/p\u003e\n\u003cp\u003e02-25583918\u003c/p\u003e\n\u003cp\u003eå¨ä¸~卿¥ 11:00~21:00\u003c/p\u003e\n\u003cp\u003eð· \u003cstrong\u003e西ééå¸\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eå°åå¸ä¸æ£åä¸è¯è·¯ä¸æ®µ59-8è\u003c/p\u003e\n\u003cp\u003e02-23116831 ï¼æ·é西éç«2èåºå£ï¼\u003c/p\u003e\n\u003cp\u003eå¨ä¸~卿¥ 11:00~21:00\u003c/p\u003e\n\u003cp\u003eð· \u003cstrong\u003eåæ°éå¸\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eæ°å叿°åºååæ°è·¯äºæ®µ252èB1\u003c/p\u003e\n\u003cp\u003e02-29103396 (å
¨è¯è¶
å¸å°é¢)\u003c/p\u003e\n\u003cp\u003eå¨ä¸~卿¥ 11:00~21:00\u003c/p\u003e\n\u003cp\u003eð· \u003cstrong\u003e復èèªæ£§\u003c/strong\u003e(ç¹ç´åº)\u003c/p\u003e\n\u003cp\u003e(販å®éå®:泡èãä¹³é
ªå¡ãé¤
ä¹¾)\u003c/p\u003e\n\u003cp\u003eæ¡åå¸å¤§åå䏿°è·¯ä¸æ®µ568è\u003c/p\u003e\n\u003cp\u003eå¨ä¸~卿¥ 11:00~20:00\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://dosuper.cyberbiz.co/collections/all1\"\u003e\u003cstrong\u003e ç«å³ç·ä¸è³¼è²·\u003c/strong\u003e\u003c/a\u003e\u003c/p\u003e\n","dict_size":"14"}},"1780553347983_2":{"type":"button","custom_name":"æé","visible":false,"settings":{"dict_btn_text":"äºè§£æ´å¤","graphic-button_bg":"#6B6432","graphic-button_text":"#FFFFFF"}}},"block_order":["1780553347982_0","1780553347982_1","1780553347983_2"]},"announcement_bar":{"type":"announcement_bar","visible":true,"blocks":{"announcement_bar_block_1":{"type":"text","visible":true,"settings":{"display_only_index":false,"display_period":"always","dict_link":"https://www.dosuper.com.tw/blogs/news/20251201discount","link_open_in_new_tab":true,"dict_image_url":"","dict_image_tablet_url":"","dict_image_mobile_url":"","image_alt":"","dict_content":"å
¨é¤¨å¤é
åªæ ~é¨ååå以åå¹è¨æ»¿5700 享79æ+çç´æå¡å ç¢¼ææ£æ´åªæ !","text_size":"18","text_color":"#ffffff","bg_color":"#fa740c","timer_text_color":"#c39d6f","timer_bg_color":"#2b2b6e","migrated_from_navbar":true},"custom_name":"æå"}},"block_order":["announcement_bar_block_1"],"settings":{"display_mode":"vertical","carousel_interval":"3"},"custom_name":"ç½®é å
¬å"}},"navbar_image_logo":true,"show_default_all_products":true,"one_dimension_limit":"6","two_dimension_limit":"10","header_banner_display":true,"header_banner_link":"/","display_main_slider":true,"display_phone":true,"phone_number":"0912345678","display_fax_number":true,"shop_fax_number":"0222345678","display_shop_email":true,"shop_email":"[email protected]","display_shop_address":true,"shop_address":"測試å°å","display_office_time":true,"shop_office_time":"10:00-17:00","index_event_slider_display":true,"index_event_slider_item_1_display":true,"dict_index_event_slider_item_1_link":"#","index_event_slider_item_2_display":true,"dict_index_event_slider_item_2_title":"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":"","
75index_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":true,"display_product_total_sold":false,"display_periodic_order_label":false,"cart_quantity_limit":"0","is_empty_clickable":true,"is_first_selected":false,"display_product_images_color":false,"discount_product_images_color_expand":false,"display_product_discounts_list":true,"display_discount_price_name":true,"discount_price_slogan_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU5NDU3Mjc1X-WEquaDoOiyvOe0mTEwMC5wbmcucG5nIl1d.png?sha=55a1cf09a86c2f1a","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":false,"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":false,"display_product_vendor":false,"nav_icon_style":"icon_type_custom","google_font":"{\"ja\":{\"value\":\"Noto Sans JP\"},\"zh-TW\":{\"value\":\"Noto Serif TC\"},\"en\":{\"value\":\"Noto Sans TC\"},\"zh-CN\":{\"value\":\"Noto Sans TC\"}}","product_text_align":"start","styled_shop_menu":"buttonType","product_video_display_location":"after","product_scale":"default_scale","product_labels":{"items":[{"id":"sale_label","kind":"system","title":"ç¹å¹æ¨ç±¤","display":true,"type":"discount","dict_text":{"zh-TW":""},"image":"","image_size":"large"},{"id":"out_of_stock_label","kind":"system","title":"缺貨æ¨ç±¤","display":true,"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":"78e6633a-26be-4557-8c49-faeb21cc1b55","kind":"custom","title":"èªå®ç¾©æ¨ç±¤ 1","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"},{"id":"a7fe389c-10c3-4250-baf4-9d3724f7d20f","kind":"custom","title":"èªå®ç¾©æ¨ç±¤ 2","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"},{"id":"706953cc-ce03-4f54-97aa-f94c5eacb645","kind":"custom","title":"èªå®ç¾©æ¨ç±¤ 3","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"},{"id":"9fcd1d60-9a5b-47ba-82bc-82fa0018d34d","kind":"custom","title":"èªå®ç¾©æ¨ç±¤ 4","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"},{"id":"e6416ecc-e24f-4ab3-8335-72777eecb9f6","kind":"custom","title":"èªå®ç¾©æ¨ç±¤ 5","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"}]},"dict_icon_account_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzYxODA5NTgyX-acg-WToWljb25hLnBuZy5wbmciXV0.png?sha=e513bfc18a8d91bd","dict_icon_cart_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU4MjQ3NDk4X-izvOi7imljb244MHg4MC0wMS5zdmcuc3ZnIl1d.svg?sha=662e013f72b7115c","dict_icon_search_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU4MjQ3NTA2X-aQnOWwi2ljb244MHg4MC0wMS5zdmcuc3ZnIl1d.svg?sha=5e15db7342f146c6","dict_icon_home_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU4MjQ3NTEzX-mmlumggWljb244MHg4MC0wMS5zdmcuc3ZnIl1d.svg?sha=ca9695a5f4971a45","dict_icon_tracking_items_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU4MjQ3NTI0X-aUtuiXj2ljb244MHg4MC0wMS5zdmcuc3ZnIl1d.svg?sha=99bdec6ef0f298ba","dict_icon_menu_url":"","display_product_variant_thumbnail":false,"product_card_hover_effect":"button","product_image_border_radius":"9"}); 76 </script>
76 77 78 79 80 81 82 83 84 85 86 87 <!-- for vendor --> 88 <!-- cyb_snippet _bootstrap start --> 89 90<!-- cyb_snippet _bootstrap end --> 91 <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/vendor-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' /> 92 93 <!-- common css rulesets --> 94 <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/common-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' /> 95 96 <!-- for navbar --> 97 <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/navbar-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' /> 98 99 <!-- for footer --> 100 <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/footer-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' /> 101 102 <!-- theme assets --> 103 <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/main-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' /> 104 105 <!-- for vendor --> 106
106<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/vendor-e958d46bfee2e69f.js' type='text/javascript'></script>
106 107 108
108<script> 109 window.sci = "eyJzaG9wX2lkIjozMzg5OCwic2hvcF9wbGFuIjoiZW50ZXJwcmlzZSIsImRp\nbV9hZmZpbGlhdGUiOm51bGwsImN1c3RvbWVyX2lkIjpudWxsLCJjdXN0b21l\ncl9uYW1lIjpudWxsLCJzaG9wX25hbWUiOiLosYbnqYzmnIvlrpjntrIiLCJz\naGFyZV9hdHRyaWJ1dGlvbl9lbmFibGVkIjpmYWxzZX0=\n"; 110 </script>
110 111 112 113<meta name="csrf-param" content="authenticity_token" /> 114<meta name="csrf-token" content="qhrDkblB93v_2ZCAGdDQqAaO3SkCr6ALuUaMLLAZGphJow9Y8Ee4N-HcmCOSYL3pOf9ncIabjTGwnHlBu5hdFw" />
115<script>(function () { 116 window.gaConfigurations = {"useProductIdInProductEvents":false}; 117})(); 118</script>
vendor: 1 bytes, line 118
118
119<script>(function () { 120 window.CYBERBIZ_PageContext = {"page_type":"product"}; 121})(); 122</script>
122 123<link href="//cdn-general.cybassets.com/frontend/shop/quark-e958d46bfee2e69f.css" rel="stylesheet" type="text/css" media="all" /> 124
124<script> 125 window.shopScriptHelper = { 126 i18nLocale: "zh-TW", 127 i18nLocaleDefault: "zh-TW", 128 availableCurrencies: ["AED","AMD","ARS","AUD","AZN","BDT","BGN","BND","BRL","BWP","BYN","CAD","CDF","CHF","CLP","CNY","COP","CZK","DKK","EGP","ETB","EUR","GBP","GEL","GHS","HKD","IDR","ILS","INR","ISK","JPY","KES","KRW","KWD","KZT","LAK","LKR","LSL","MAD","MGA","MMK","MVR","MXN","MYR","MZN","NGN","NOK","NPR","NZD","OMR","PEN","PHP","PKR","QAR","RON","RSD","RUB","SAR","SEK","SGD","THB","TRY","TWD","UAH","UGX","USD","VND","XAF","XOF","ZAR","ZMW"], 129 defaultCurrency: "TWD", 130 currenciesInfo: [{"code":"TWD","trailing_zeros":false,"email_unit":"NT${{amount_no_decimals}}","html_unit":"NT${{amount_no_decimals}}","email":"NT${{amount_no_decimals}}","unit":"","symbol":"NT$","format":"NT${{amount_no_decimals}}","money_format":"%u%n","html":"NT${{amount_no_decimals}}","decimal_precision":0,"name":"æ°å°å¹£ (TWD)"}], 131 vueOverrideTranslations: {"zh-TW":{"vue":{"bonus_mall":{"add_to_cart":"å å ¥è³¼ç©è»","already_added_to_cart":"å·²å å ¥è³¼ç©è»","available_bonus_and_used":"ç´ å©é»æ¸ç¸½è¨ {customerRemainPoints} é»ï¼ä½¿ç¨ {usedBonusPoints} é»","bonus_points":"{points} é»","bonus_points_verbose":"ç´ å©{points}é»","bonus_price":"ç´ å©é»æ¸","bonus_price_asc":"ä¾ç´ å©é»æ¸å°å°å¤§æåº","bonus_price_desc":"ä¾ç´ å©é»æ¸å¤§å°å°æåº","bonus_redemption_price":"ç´ å© {price}","countdown":"éè³£åæ¸","days":"æ¥","default_sort":"é è¨æåº","exceed_buy_limit":"è¶ åºè³¼è²·æ¸ééå¶","exceed_stock_quantity":"è¶ åºåº«åæ¸é","hours":"æ","insufficient_points":"黿¸ä¸è¶³","loading_error":"è¼å ¥ååè³¼ç©è»è³æé¯èª¤","minutes":"å","need_to_buy_something":"æ¸éä¸å¾å°æ¼1","not_on_sale_yet":"å°æªéè³£","points":"黿¸","proceed_to_checkout":"åå¾çµå¸³","product_count":"å ± {totalCount} ä»¶åå","quantity":"æ¸é","recent_days_sold_asc":"ä¾è¿æé·å®éå°å°å¤§","recent_days_sold_desc":"ä¾è¿æé·å®é大å°å°","seconds":"ç§","select_itmes_count":"å·²é¸è³¼ {quantity} ä»¶ç´ å©åå","sell_from_asc":"ä¸å¸æ¥æèå°æ°","sell_from_desc":"ä¸å¸æ¥ææ°å°è","sold_out":"å·²å®å®","subtotal":"å°è¨","upcoming_product":"éè³£æé","wrong_quantity":"æ¸éè¼¸å ¥é¯èª¤"},"common":{"add_to_cart":"å å ¥è³¼ç©è»","buy_at_least_one":"購買æ¸éä¸å¯å°æ¼1","buy_now":"ç«å³è³¼è²·","cancel":"åæ¶","confirm_submit":"éåº","contact_merchant":"è¯çµ¡åºå®¶","corona":{"confirm_no":"åæ¶","confirm_yes":"確èª","default_sort":"é è¨æåº","price_asc":"广 ¼ç±ä½å°é«","price_desc":"广 ¼ç±é«å°ä½","price_filter":"广 ¼","recent_days_sold_desc":"æ¬é±ç±è³£","select_page":"鏿é 碼","select_sort_by":"鏿æåºæ¹å¼","sell_from_asc":"ä¸å¸æ¥æèå°æ°","sell_from_desc":"ä¸å¸æ¥ææ°å°è","suggested_range":"建è°åé:"},"default_sort":"é è¨æåº","exceed_stock_quantity":"è¶ éåº«åæ¸é","exceed_upper_limit":"è¶ é購買ä¸é","failed_to_update_cart":"æ´æ°è³¼ç©è»å¤±æ","onsale":"ç¹å¹","periodic_order_label":"宿å®é¡","pre_order":"é è³¼åå","price_asc":"广 ¼ç±ä½å°é«","price_desc":"广 ¼ç±é«å°ä½","price_label":"建è°å®å¹","product_description":"ååç°¡è¿°","product_name":"ååå稱","product_sold":"å·²é·å®ï¼{productSold}","recent_days_sold_desc":"æ¬é±ç±è³£","return":"è¿å","see_more":"æ¥çæ´å¤","select_option":"è«é¸æ {option}","sell_from_asc":"ä¸å¸æ¥æèå°æ°","sell_from_desc":"ä¸å¸æ¥ææ°å°è","sold_out":"å·²å®å®","subtotal":"å°è¨","system_busy_try_again":"系統å¿ç¢ï¼è«ç¨å¾å試","theme":{"choose_specification":"è«é¸æè¦æ ¼","wrong_date":"æ¥æé¯èª¤"},"video_not_supported":"ä½ çç覽å¨ä¸æ¯æ´ HTML 5 video","wrong_quantity":"æ¸éè¼¸å ¥é¯èª¤"},"eticket_orders":{"category_all":"ææç¥¨å¸","category_available":"å¯ä½¿ç¨","category_pending":"æªä»æ¬¾","category_used":"使ç¨å®ç¢","eticket_orders_branch_stores_address":"éå¸å°å","eticket_orders_branch_stores_name":"éå¸å稱","eticket_orders_branch_stores_phone":"éå¸é»è©±","eticket_orders_branch_stores_show":"é¡¯ç¤ºå¯æ ¸é·éå¸","eticket_orders_cancel_order":"åæ¶è¨å®","eticket_orders_cancel_order_announcement":"æ¬äººåæç¼ç¥¨ä½å»¢æãçæ¥äººé·è²¨éåé²è²¨éåºè²¨ææè®èæå®ãå°å ¨æ¬ç±é ç«æºæ §è¡ä»½æéå ¬å¸èçï¼ä»¥å©å é鿬¾ä½æ¥ã妿é貨/æè®ï¼å°ç´æ¥éç«æè®å®ä¸å³è³è²¡æ¿é¨é»åç¼ç¥¨æ´åæåå¹³å°åèã","eticket_orders_cancel_order_cancel":"åæ¶æä½","eticket_orders_cancel_order_title":"ä½ ç¢ºå®è¦åæ¶éçè¨å®ï¼","eticket_orders_canceled":"已忶","eticket_orders_discounted_price":"ææ£å¹","eticket_orders_eticket_notice":"ç¥¨å¸æ³¨æäºé ","eticket_orders_go_to_payments":"åå¾ä»æ¬¾","eticket_orders_invoice_infos":"ç¼ç¥¨è³è¨","eticket_orders_invoice_number":"ç¼ç¥¨è碼","eticket_orders_invoice_status":"ç¼ç¥¨çæ ","eticket_orders_order_date":"è¨è³¼æ¥æ","eticket_orders_order_details":"è¨å®æç´°","eticket_orders_order_established":"è¨å®æç«","eticket_orders_order_no_query_records":"è¨å®ç®åæ²æåçç´é","eticket_orders_order_notes":"è¨å®å註","eticket_orders_order_number":"è¨å®ç·¨è","eticket_orders_order_query_records":"è©¢åç´é","eticket_orders_payment_infos":"仿¬¾è³è¨","eticket_orders_payment_method":"仿¬¾æ¹å¼","eticket_orders_payment_status":"仿¬¾çæ ","eticket_orders_qrcode_download":"ä¸è¼","eticket_orders_qrcode_not_used":"æªæ ¸é·","eticket_orders_qrcode_quantity":"æ¸éï¼{ quantity }","eticket_orders_qrcode_share":"å享","eticket_orders_qrcode_share_text":"鿝æ¨çé»å票å¸ï¼è«å¦¥åä¿ç®¡ï¼\n{ title }-{ variantTitle }\n票èï¼{ ticketNumber }","eticket_orders_qrcode_ticket_number":"票èï¼{ ticket_number }","eticket_orders_qrcode_used":"å·²æ ¸é·","eticket_orders_qrcode_used_status":"已使ç¨ï¼{ used } / å°æªä½¿ç¨ï¼{ not_used }","eticket_orders_quantity":"æ¸éï¼{ quantity }","eticket_orders_send_etickets":"å¯éé»å票å¸","eticket_orders_send_message_to_shop":"ç¼è¨æ¯çµ¦åºå®¶","eticket_orders_separate_etickets":"å票","eticket_orders_separate_etickets_cancel":"åæ¶æä½","eticket_orders_separate_etickets_confirm":"確èªå票","eticket_orders_separate_etickets_description":"è«æ³¨æï¼æ¨å³å°é²è¡å票ç¨åºãåç¥¨å¾æ¯å¼µç¥¨ææç¨ç«æ ¸é·ç¢¼ QR Codeï¼åæ¬æ ¸é·ç¢¼ QR Code å°ç¡æ³ä½¿ç¨ï¼ï¼æ¨å¯ä»¥å°ä¸åæ ¸é·ç¢¼æªåå享å¤äººä½¿ç¨ï¼æ¤æä½ä¸å¯å復ã","eticket_orders_submit":"éåº","eticket_orders_subtotal":"å°è¨","eticket_orders_title":"é»å票å¸è¨å®æ¥è©¢","eticket_orders_total_price":"總éé¡","eticket_orders_unused":"æªä½¿ç¨ï¼{ quantity }","eticket_orders_usage_status":"使ç¨çæ ","eticket_orders_used":"已使ç¨ï¼{ quantity }","eticket_orders_view_order_details":"æ¥çè¨å®è©³æ ","eticket_term_of_service":"CYBERBIZ é»åç¥¨å¸æå使ç¨èªªæ","failed_to_send_message":"ç¼éè¨æ¯å¤±æ","order_empty_note":"ç¡ä»»ä½è³è¨","payment_status_failed":"仿¬¾å¤±æï¼è«è¯çµ¡å®¢æ","payment_status_pending":"çå¾ è«æ¬¾","payment_status_success":"仿¬¾æå","show_eticket_button_qr_code":"é¡¯ç¤ºç¥¨å¸ QR code","show_eticket_button_used":"票å¸å·²ä½¿ç¨","usage_status_partial_used":"é¨å使ç¨","usage_status_used":"使ç¨å®ç¢"},"express_delivery":{"add_to_cart":"å å ¥è³¼ç©è»","add_to_cart_error":"å å ¥è³¼ç©è»å¤±æ","address_incomplete":"è¼¸å ¥ä¹å°åä¸å®æ´","address_incomplete_hint":"æ¨çå°åä¸å®æ´ï¼è«è¼¸å ¥æ£ç¢ºå°ååå è³¼ç©è»","back_to_product_list":"è¿åååå表","business_hours":"çæ¥æé","cancel":"åæ¶","change":"è®æ´","change_address":"è®æ´å°å","choose_store":"鏿å¤ééå¸","cyberbiz_now":"å¿«éå°è²¨","default_sort":"é è¨æåº","delivery_address":"å¤éå°å","delivery_address_detail":"æ¨å±¤ææ¿è","delivery_address_detail_hint":"è«è¼¸å ¥æ¨å±¤ææ¿è","delivery_address_hint":"è«è¼¸å ¥å¤éå°å","delivery_address_separate_tips":"è«å¦å¤å¡«å¯«æ¨å±¤ææ¿èè³è¨","empty_collection":"æ¤åé¡ç®åæ²æåå","exit":"é¢é","exit_prompt":"æ¨ç¢ºèªè¦é¢éå¿«éå°è²¨?","express_delivery":"CYBERBIZ NOW å¿«éå°è²¨","get_position_error_internal":"é¯èª¤ï¼è«éåç覽å¨ååä½ç½®æ¬é","get_position_error_no_permission":"é¯èª¤ï¼è«é忍çç¶²é å®ä½æå","get_position_error_require_https":"é¯èª¤ï¼éè¦https","get_position_error_timeout":"é¯èª¤ï¼è¶ éè«æ±æé","more_info":"æ´å¤è³è¨","not_search_stores_yet":"è«é»ææå°éå¸","phone":"è¯çµ¡é»è©±","please_select_specifications":"è«é¸æè¦æ ¼","pre_order":"é è³¼åå","price_asc":"广 ¼ç±ä½å°é«","price_desc":"广 ¼ç±é«å°ä½","product_count":"å ± {totalCount} ä»¶åå","recent_days_sold_desc":"æ¬é±ç±è³£","sales_start_info":"{time} éè³£","sales_start_info_verbose":"{day} {time} éè³£","search_failed":"æå°éå¸å¤±æ","search_product_count":"æ¨æå°{selectedStoreName}çååå ± {count} é ","search_stores":"æå°éå¸","sell_from_asc":"ä¸å¸æ¥æèå°æ°","sell_from_desc":"ä¸å¸æ¥ææ°å°è","service_description":"CYBERBIZ NOW å¿«éå°è²¨ æå說æï¼","service_description_detail":"æ¤è³¼ç©æåç± CYBERBIZ 系統æä¾ï¼æåèç¬¬ä¸æ¹åä½å¤¥ä¼´é åæä¾å¤éæåï¼æä¾æ¨æ´å¿«éçè³¼ç©é«é©ã","service_hours":"æ¥å®æéï¼{day} {time}","service_is_available":"æ¨è¼¸å ¥çå°åæ¯æ´ãCYBERBIZ NOW å¿«éå°è²¨ã","service_not_available_in_the_region":"徿±æï¼æ¨ç®åæå¨åå䏿¯æ´ãCYBERBIZ NOW å¿«éå°è²¨ãã","sold_out":"å·²å®å®","store_address":"éå¸å°å","store_address_info":"éå¸å°åï¼{address}","store_is_closed":"ç®å䏿¥åæå","view_products":"æ¥çåå"},"express_delivery_with_regularly_used_address":{"address":"å¤éå°å","address_detail":"æ¨å±¤ææ¿è","address_detail_placeholder":"è«è¼¸å ¥æ¨å±¤ææ¿è","address_incomplete_hint":"è«è¼¸å ¥å®æ´çå¤éå°å","address_invali
131d_content":"å¤éå°åçºå¿
å¡«","address_placeholder":"è«è¼¸å
¥å¤éå°å","button_create":"æ°å¢å°å","button_save":"å²å","button_save_as_regular":"å²åçºå¸¸ç¨","cancel":"åæ¶","create_address":"æ°å¢ä¸ç常ç¨å°å","delete":"åªé¤","delete_failed":"åªé¤å¤±æ","delete_hint":"ç§»é¤å°åå¾å°ç¡æ³å¾©åã","delete_message":"æ¨ç¢ºå®è¦åªé¤æ¤å°ååï¼","delete_success":"æååªé¤","edit":"編輯","empty_lists":"ç¡å¸¸ç¨å¤éå°å","empty_lists_hint":"æ¨ç®åå°ç¡å°åï¼è«é»ææ°å¢ä¾å»ºç«å¸¸ç¨å°åã","limit_hint":"常ç¨å°åæå¤å²å 5 çµï¼ç³»çµ±å°èªåç§»é¤ææ©å²åçå°å","name":"å稱","name_invalid_content":"å稱çºå¿
å¡«","name_placeholder":"è«è¼¸å
¥å稱","return":"ä¿ç","save_as_regular":"å²åçºå¸¸ç¨","save_success":"æåå²å","search_failed":"æ¤å°åæ²æå¯å¤ééå¸ï¼è«æ¹ç¨å
¶ä»å¤éå°å","select_address":"鏿叏ç¨å¤éå°å","site":"å°å","site_invalid_content":"å°åçºå¿
å¡«","site_placeholder":"è«è¼¸å
¥å°å","title_address_lists":"å·²å²å常ç¨å°å","title_delete_address":"確èªè¦åªé¤æ¤å°åï¼","title_edit_address":"編輯å¤éå°å","title_save_as_regular":"å²åçºå¸¸ç¨å¤éå°å"},"i18n_setting":{"currency":"å¹£å¥","language":"èªè¨","language_currency_setting":"èªè¨åå¹£å¥è¨å®"},"line_group_buy":{"add_to_cart":"å å
¥è³¼ç©è»","go_checkout":"åå¾çµè³¬","product_description":"ååä»ç´¹","product_shipping":"ééæ¹å¼","product_spec":"è¦æ ¼èªªæ"},"menu":{"fourDimensionMenu":{"account":"æç帳æ¶","cart":"è³¼ç©è»","help":"è¯çµ¡æå","locator":"é·å®æé»","wishlist":"æ¶èæ¸
å®"}},"omniauth_mobile":{"check_account":"çºäºç¢ºèªæ¯æ¨æ¬äººï¼è«è¼¸å
¥ææ©è碼é²è¡é©è","confirm_account_information":"è«ç¢ºèªä»¥ä¸æ¯å¦çºæ¨çæå¡è³æ","confirm_submit":"éåº","enter_mobile_number":"è«è¼¸å
¥æ¨çææ©è碼","merge":"æ¯ï¼è«åä½µæå¡","mobile_number":"ææ©è碼","phone_validation":"ææ©é©è","reconfirm":"å¦ï¼éæ°é©è","registered":"æå·²ç¶ææå¡å¸³èäºï¼","resend":"éæ°ç¼é","resend_with_timer":"ï¼{ timer }ç§ï¼éæ°ç¼é","retry_later_error":"é系統æä½ä¸éï¼è«éæ°æ´ç並åè©¦ä¸æ¬¡","return_login":"åç»å
¥é é¢","send_confirmation_token":"å·²å°ç°¡è¨å¯éè³ææ©","send_message":"ç¼éç°¡è¨é©è碼","submit_btn":"å å
¥æå¡","verification_code":"4 使¸ç°¡è¨é©è碼"},"repurchase":{"alcohol_all_cannot_repurchase":"æ¤è¨å®ååç¡æ³å次詢å¹","all_cannot_repurchase":"æ¤è¨å®ååç¡æ³å次購買","comma":"ï¼","lense_all_cannot_repurchase":"æ¤è¨å®ååç¡æ³å次é
é","partial_cannot_repurchase":"{ reasonList }實éè«ä»¥è³¼ç©è»çºä¸»","quote_product_name":"ã{ productName }ã","reason_combo_product_changed":"çµååå
§å®¹ç°å","reason_exceed_the_stock":"庫åä¸è¶³åå","reason_product_is_discontinued":"已䏿¶åå","reason_product_not_found":"å·²åªé¤åå","separator":"ã"},"theme_pages":{"branch_store":{"get_store_empty":"ç¡å¯ç¨éå¸è³æ","get_store_error":"è¼å
¥éå¸è³æç¼çé¯èª¤","options_all_cities":"ææç¸£å¸","search_stores":"æå°","store_address":"å°å: { address }","store_open_time":"çæ¥æé: { openingHours }","store_phone":"é»è©±: { phone }"},"collection":{"all_filters":"ææç¯©é¸æ¢ä»¶","filter_button":"篩é¸","filter_no_result":"徿±æï¼ç¡åå符åç¯©é¸æ¢ä»¶","not_on_sale_yet":"å°æªéè³£","please_reselect":"è«éæ°è¼¸å
¥ç¯©é¸","product_sold_out":"ååå·²å®å®","products_total":"å
± { totalProductCounts } ä»¶åå","reset_all_filters":"æ¸
餿æç¯©é¸","reset_filter_button":"æ¸
é¤ç¯©é¸","suggested_range":"建è°åé:","upcoming_product":"éè³£æé","view_product":"æ¥çåå"},"combo_product":{"add_cart_error_try_again":"å å
¥è³¼ç©è»æèª¤ï¼è«éæ°å試","arrive_soon":"å³å°å°è²¨","contact_shop":"è¯çµ¡åºå®¶","discount_bonus":"æ¤åå ã æé« ã坿æµç´
å©","has_stock":"å°æåº«å ","insufficient_selected_quantity":"è«é¸æçµåå忬¾å¼ï¼å°å·® { count } ä»¶","inventory_status":"ä¾è²¨çæ³","less_than_count":"æ¸éä¸å¾å°æ¼ { count }","limit_reached":"å·²éä¸é","no_stock":"庫åä¸è¶³","notification_enabled":"å·²ç»è¨è£è²¨éç¥","notify_me_when_stock_arrives":"å·²å®å®ï¼è²¨å°éç¥æ","over_cart_limit":"æ¸éè¶
é購買ä¸é","over_stock_quantity":"è¶
éåº«åæ¸é","point_equal":"ç´","points":"é»","pre_order":"é è³¼åå","quantity_over_combo_product_limit":"æ¸éå·²è¶
éçµåååä¸é","related_item_name":"款å¼å稱","related_item_quantity":"æ¸é","select_optional_combo_product_items":"鏿çµå忬¾å¼","selectable_count":"å
¨é¨å¯é¸æ { count } é
ï¼","selected_count":"å·²é¸ { count } é
"},"contact":{"contact_form":"è¯çµ¡æå","email":"é»åéµä»¶","email_placeholder":"è«è¼¸å
¥æ¨çé»åéµä»¶ï¼ä¾ï¼[email protected]","fail_operation":"æä½å¤±æ!","invali
131d_email":"é䏿¯ææçé»åéµä»¶","invalid_name":"å§åçºå¿
å¡«","invalid_phone_number":"è¯çµ¡é»è©±çºå¿
å¡«","invalid_question_content":"åé¡å
§å®¹çºå¿
å¡«","name":"å§å","name_placeholder":"è«è¼¸å
¥æ¨çå§å","phone_number":"è¯çµ¡é»è©±","phone_number_placeholder":"è«è¼¸å
¥è¯çµ¡é»è©±","question_content":"åé¡å
§å®¹","question_content_placeholder":"è«è¼¸å
¥åé¡å
§å®¹","question_submit_fail":"ç¼çåé¡ï¼è«ç¨å¾å試","question_submit_success":"åé¡å·²æåéåºï¼æåå°ç¡å¿«èæ¨è¯ç¹«","question_type":"åé¡é¡å","success_operation":"æä½æå!"},"customer_coupon":{"customer_coupons_product_name":"å
æåå","customers_coupons_available_used":"å¯ä½¿ç¨ / 已使ç¨","customers_coupons_available_used_already_used":"{ availableUsed }次 / { alreadyUsed }次","customers_coupons_coupon":"åªæ å¸","customers_coupons_days":"天","customers_coupons_discount":"æ","customers_coupons_end_date":"ä½¿ç¨æé","customers_coupons_end_date_msg_1":"å¾{ start_date }éå§ç¡éæ","customers_coupons_end_date_msg_2":"峿¥èµ·è³{ end_date }","customers_coupons_end_date_msg_3":"å°æªåç¨ï¼å åºå®¶å°æªçµæ¡è¨å®{ name }","customers_coupons_end_date_msg_4":"ç¡éæ","customers_coupons_expired":"已失æ","customers_coupons_free_shipping":"å
é","customers_coupons_gift_coupon":"è´åå¸","customers_coupons_left":"å©","customers_coupons_list_div":"ã","customers_coupons_lookup_suit_product":"æ¥çé©ç¨åå","customers_coupons_method":"ä½¿ç¨æ¹å¼","customers_coupons_no_coupons_msg":"æ¨ç帳èç®åæ²æå¯ç¨çåªæ å¸","customers_coupons_no_end_date":"ç¡æé","customers_coupons_no_start_use":"å°æªåç¨","customers_coupons_not_suit":"ä¸é©ç¨","customers_coupons_product_deleted":"è´éååå·²åªé¤","customers_coupons_serial_number":"åºè","customers_coupons_still_available":"éå¯ä½¿ç¨ { timesLeft } 次","customers_coupons_suit_any_discount":"é©ç¨æææ´»å","customers_coupons_suit_any_product":"é©ç¨ææåå","customers_coupons_suit_discount":"é©ç¨æ´»å","customers_coupons_suit_product":"é©ç¨åå","customers_coupons_unlimited":"éå¯ä½¿ç¨ç¡é次","customers_coupons_unlimited_already_used":"ç¡é次 / { alreadyUsed }次","threshold_hint":"滿 { price } å¯ç¨"},"footer":{"about_us":"éæ¼æå","shop_address":"å°åï¼","shop_email":"ä¿¡ç®±ï¼","shop_fax":"客æå³çï¼","shop_phone":"客æå°ç·ï¼","shop_time":"客ææéï¼","tax_id":"çµ±ä¸ç·¨èï¼"},"order_return":{"account_name":"æ¶å","address1":"詳細é貨å°åï¼è·¯/å··/å¼/æ¨","all_return":"å
¨é¨é貨","apply_fail":"ç³è«å¤±æ","apply_return":"é貨ç³è«","apply_return_success":"æ¨çé貨ç³è«å·²æç«","apply_success":"ç³è«æå","bank_account":"éè¡å¸³è","bank_branch_name":"åè¡å稱","bonus_redemption":"ç´
å©æè³¼","check_account_length":"è«æª¢æ¥éè¡å¸³èé·åº¦","check_order":"è¨å®æ¥è©¢","choose_branch_bank":"è«é¸æåè¡","choose_return_reason":"è«é¸æé貨åå ","city":"åå¸","confirm_return":"ç³è«é貨","country_placeholder":"è«é¸æåå®¶","coupon_free_shipping":"å
é叿æµ","deliver_error":"å¯éååé¯èª¤","discount_detail":"ææ£æç´°","enter_account_name":"è«è¼¸å
¥æ¶å","enter_return_reason":"è«å¡«å¯«é貨åå ...","estimated_refund_amount":"é è¨é款éé¡","free":"å
è²»","gift_price":"å è³¼å¹","gift_purchase":"滿é¡/ä»¶è´","include_discount_and_shipping_fee":"å«åªæ ææ£èéè²»","keep_shopping":"ç¹¼çºè³¼ç©","keyin_address1":"è«å¡«å¯«è©³ç´°é貨å°åï¼è·¯/å··/å¼/æ¨","keyin_city":"è«è¼¸å
¥åå¸","keyin_zip":"è«è¼¸å
¥éµéåè","line_item_quantity":"æ¸éï¼{ lineItemQuantity }","literal_points":"é»","new_product_defect":"æ°åççµ","order_date":"è¨è³¼æ¥æ","order_number":"è¨å®ç·¨è","order_retrun_confirm":"æ¨ç¢ºèªè¦ç³è«é貨?","others":"å
¶ä»","please_choose_bank":"è«é¸æéè¡","please_select_country":"è«é¸æé款éè¡åå®¶","price_includes_tax":"(å
§å«æ¶è²»ç¨
ï¼{ tax })","product_content_defect":"ååå
§å®¹ä¸å
¨","product_defect":"ååæç¼ºé·","refund":"鿬¾éé¡","refund_account":"鿬¾å¸³æ¶","refund_info":"鿬¾è³è¨","refund_instruction":"ä¸å«åªæ ææ£èéè²»ï¼å¯¦é鿬¾éé¡å°ä»¥ç³»çµ±éé¡çºä¸»ã","refund_invoice_check":"æ¬äººåæç¼ç¥¨ä½å»¢æãçæ¥äººé·è²¨éåé²è²¨éåºè²¨ææè®èæå®ãå°å
¨æ¬ç±{ envoiceCompanyName }èçï¼ä»¥å©å é鿬¾ä½æ¥ã妿é貨/æè®ï¼å°ç´æ¥éç«æè®å®ä¸å³è³è²¡æ¿é¨é»åç¼ç¥¨æ´åæåå¹³å°åèã","related_item":"{ name } x{ quantity }","return_address":"é貨å°å","return_email_notification":"é貨ç³è«ä¿¡å·²å¯è³æ¨çä¿¡ç®±","return_info":"é貨è³è¨","return_instruction":"é貨說æ","return_item_error":"è«è³å°é¸æä¸ä»¶ååé²è¡é貨","return_msg_Taiwan_shop":"1. æ¶å°ååå¾å¦æç¼ç¾ççµæç ´æçæ³ï¼éè¦è¾¦çææè²¨ï¼è«æ¼æ¶å°è²¨å¾7天å
§ç»å
¥ãæç帳æ¶ãé é¢é»é¸ãç³è«é貨ãã\u003cbr\u003e 2. æ¶å°ååå¾å¯äº«æ7天å
è²»éè³
131æï¼å«ä¾åæ¥ï¼ãéæè²¨æè«ä¿æåå è£ååç宿´ï¼å å«è³¼è²·ååï¼éä»¶ï¼è´åçï¼ã\u003cbr\u003e 3. æ¶å°ç³è«å¾ï¼æåå°èæ¨è¯ç¹«ååååãè¥æä»»ä½é貨åé¡ï¼æ¨å¯ä»¥å¨ãè¨å®æç´°ãä¸ï¼é»é¸ãæè¦è©¢åãï¼è«å¿èªè¡å¯åååã\u003cbr\u003e 4. ç¶ä½ ç³è«é貨å¾ï¼è«åå°æ¬ç³è«å®é¨ååä¸èµ·å¯åã\u003cbr\u003e 5. æ¶å°æ¨çé貨åå並審æ¥ééå¾ï¼å°æ¼7åå·¥ä½å¤©å §é款è³ä½ ç鿬¾å¸³æ¶ã\u003cbr\u003e","return_msg_not_Taiwan_shop":"1. 妿¶å°ååå¾ï¼ç¼ç¾æççµæç ´æï¼éè¦ç³è«æè²¨æé款ï¼è«ç¡éè³ãæç帳æ¶ãï¼é»æãè¨å®æ¥è©¢ãï¼å¨é¸ææ¬²ç³è«é貨çè¨å®ä¸ï¼é»æãç³è«é貨ããå¦é詳細è³è¨åæå°ï¼è«åé±ååºçé貨æ¿çã\u003cbr\u003e 2. é貨ææè²¨æï¼è«ç¢ºä¿åå è£å®å¥½ç¡æï¼å æ¬æè³¼ååãé ä»¶ãè´åçã\u003cbr\u003e 3. 卿¶å°æ¨ç鿬¾ç³è«å¾ï¼æåæèæ¨è¯ç¹«å®æååååã妿任ä½é貨åé¡ï¼è«å¨ãæçè¨å®ãé é¢é»æãè¯ç¹«åå®¶ããè«å¿èªè¡éåååã\u003cbr\u003e 4. å°åºæ¤ç³è«è¡¨ä¸¦é¨é貨ååä¸åå¯åã\u003cbr\u003e 䏿¦æ¶å°ä¸¦æª¢æ¥æ¨çé貨ååå¾ï¼é款å°éåè³æ¨ç忝仿¹å¼æéè¡å¸³æ¶ã鿬¾å¯è½éè¦7è³14å¤©é¡¯ç¤ºæ¼æ¨çéè¡å°å¸³å®ã","return_product":"é貨åå","return_quantity":"é貨æ¸é","return_reason":"é貨åå ","shipping_fee":"éè²»","state_placeholder":"è«é¸æå·/ç","tax":"ç¨ é¡","total_bonus_redemption":"ç¸½ç´ å©æè³¼é»æ¸","tw_city_placeholder":"è«é¸æç¸£å¸","tw_district_placeholder":"è«é¸æéé®å¸å","vip_shipping_free":"VIPå éè²»","zip":"éµéåè"},"product_collection":{"check_product":"æ¥çåå"},"product_list":{"must_confirmed":"éå \u003ca href=\"/account\"\u003eé©èæ¨ç帳è\u003c/a\u003eæè½éå§çµå¸³","must_sign_up":"éå \u003ca href=\"/account/login?{ path }\"\u003eç»å ¥\u003c/a\u003eæ\u003ca href=\"/account/signup?{ path }\"\u003e註å\u003c/a\u003eæè½éå§çµå¸³"},"search":{"articles_total":"å ± { totalArticleCounts } ç¯æç« ","continue_reading":"ç¹¼çºé±è®","search_article_label":"æç« æå°çµæ ({ totalArticleCounts })","search_no_result":"徿±æï¼æ¾ä¸å° { queryString } è«éæ°è¼¸å ¥æå°ã","search_product_label":"ååæå°çµæ ({ totalProductCounts })","search_total":"æå° { queryString } çµæå ± { totalSearchCount } ç"},"special_collection":{"already_choose_and_buy_more":"å·²é¸è³¼ { quantity } ä»¶ï¼åè²· { quantity_more } ä»¶","buy_more_promotion":"è²·è¶å¤çè¶å¤åï¼","buy_quatity":"è²· { quantity } ä»¶ï¼","need_diopter":"è«å å徿å¡é è£å¡«è³æ","need_login":"è«å ç»å ¥","not_choose_items_yet":"å°æªé¸è³¼åå","not_choose_yet":"å°æªé¸è³¼","origin_price":"åå¹","over_cart_limit":"æ¸éè¶ é購買ä¸é","over_stock":"æ¸éè¶ é庫å","over_stock_count":"åå庫åå©é¤ { count } ä»¶","sales_price":"åªæ å¹","select":"é¸è³¼","selected":"å·²é¸è³¼","special_collection_discount_per":"享æ¯åææ£ { price }","special_collection_discount_pirce":"äº«ææ£ { price }","special_collection_discount_quatity1":"å³å¯äº« { quantity } ä»¶ { price }","special_collection_divided_by_ten":"享 { percentage } æåªæ "}},"validation":{"auth_to_add_notification":"è«å ç»å ¥æè¨»å以å©ç»è¨éç¥","check_email_immediately":"黿æ¥çä¿¡ç®±","click_to_resend_validate_email":"æ²ææ¶å°é»åéµä»¶ï¼è«æ¥çåå¾éµä»¶æ","click_to_resend_validate_sms":"æ²ææ¶å°ç°¡è¨ï¼è«é»æéæ°ç¼é","go_to_member":"å徿å¡","resend_too_frequently":"ç¼ééæ¼é »ç¹ï¼è«ç¨å¾ä¸åéå¾å試","resend_validation_email_success":"已鿰å¯é帳èé©èä¿¡","resend_validation_msg_failed":"éæ°å¯é帳èé©èè¨æ¯å¤±æï¼è«ç¨å¾å試","resend_validation_sms_success":"已鿰å¯é帳èé©èç°¡è¨","second":"ç§","select_variant":"è«é¸æå忬¾å¼","send_valid_email_again":"éæ°ç¼é","send_validation_email1":"å·²ç¼ééµä»¶è³æ¨ä¿¡ç®±{ customerEmail }","send_validation_email2":"è«æç §éµä»¶æç¤ºå®æå¸³èåç¨","send_validation_sms1":"å·²éç°¡è¨è³æ¨ææ©{ customerMobile }","send_validation_sms2":"è«æç §ç°¡è¨æç¤ºå®æå¸³èåç¨","validate_your_account":"é差䏿¥ï¼å®æé©èå³å¯åç¨å¸³è","wait_to_send_valid_email":"({ seconds })éæ°ç¼é"}}}}, 132 hasI18nInContextEditing: false, 133 shopMultipleCurrenciesCheckout: false, 134 hasLocalizedShopPriceFormat: true, 135 } 136 </script>
136 137 138 139
139<script 140 src="//cdn-general.cybassets.com/frontend/shop/tolgeeIntegration-e958d46bfee2e69f.js"> 141 </script>
141 142
142<script defer> 143 /* 144 * Enable in-context translation for Liquid part on the page. 145 * This must be executed last to prevent conflicts with other Vue apps. 146 * So put it to `onload`, which will be executed after DOM ready's app mount 147 */ 148 window.onload = function() { 149 if ( 150 window.shopScriptHelper && 151 window.shopScriptHelper.hasI18nInContextEditing 152 ) { 153 window.initTolgeeForLiquid() 154 } 155 } 156 </script>
156 157
158<script> var google_con_event_labels = []</script>
vendor: 1 bytes, line 158
158
159<script src="//cdn-general.cybassets.com/frontend/shop/pageEventHandler-e958d46bfee2e69f.js"></script>
vendor: 1 bytes, line 159
159
160<script src="//cdn-general.cybassets.com/frontend/shop/globalAnalysis-e4c650eb0b.js"></script>
160 161
161<script> 162 window.c12t = {"customer_id":null,"product":{"id":69561326,"name":"éç®ææä¿å·ç¦®è¢","price":15.0,"brand":"è±ç©æå®ç¶²"}}; 163 </script>
163 164 165 <meta name="request-id" content="0D48F54522C4255BF3DF79DFB9973EEB"/> 166 167<link rel="canonical" href="https://www.dosuper.com.tw/products/999910002">
168<script src="//cdn-general.cybassets.com/frontend/shop/carousel-e958d46bfee2e69f.js"></script>
168 169
169<script> 170 window.parent.postMessage({ type: 'previewShopInit', currentUrl: window.location.href }, '*'); 171 </script>
171 172
173<script src="//cdn-general.cybassets.com/frontend/appStoreSDK/main.2798231628aa7fab87a9.js"></script>
vendor: 1 bytes, line 173
173
174<script>window.CYBERBIZ_AppScriptSettings = {"shop_add_ons":"W3sidmVuZG9yX3R5cGUiOiJDWUJFUkJJWiBHb29nbGUgQW5hbHl0aWNzIDQi\nLCJhcHBfaWQiOiJRVWo1WnFvZUlPUjlaM2JaS2trMG44N3l5a0FpOWU0NURE\naDJ0YlFnaUJBIiwic2V0dGluZ3MiOnsiZ3RhZ19pZCI6IkctVDZSUFJTSjlG\nVywgRy00QjdSSzdGSFdIIn19LHsidmVuZG9yX3R5cGUiOiJHb29nbGUgQW5h\nbHl0aWNzIDQiLCJhcHBfaWQiOiJSYkpWMTVFcVZWOHJ1Umo3NVlmV3Z1RUlD\nRm90Q0FPZm0xSDZtZ3hyNkZBIiwic2V0dGluZ3MiOnsiZ3RhZ19pZCI6Ikct\nS1dEUjlHTkVFNyJ9fSx7InZlbmRvcl90eXBlIjoiQ2hhdCBCb3giLCJhcHBf\naWQiOiJjOWQ4M2YwOTk2MTc0ZmJiYTg2ZWJhMDQxYWU4OThhMiIsInNldHRp\nbmdzIjp7IndpZGdldF9rZXkiOiJjVEh6RWVmUHBYWEw3QTVPIn19XQ==\n"} 175</script>
vendor: 1 bytes, line 175
175
176<script src="https://cdn.cybassets.com/appmarket/api/common/attachments/entrypoint/9d6f4550aad572e9f70abb70ae5a6552482cf617ea5e4d5a32ed4ebbb5d60d54.js"></script>
vendor: 1 bytes, line 176
176
177<script src="https://cdn.cybassets.com/appmarket/api/common/attachments/entrypoint/a810ec58aab67d16f8de1c4adf06fc7cc9f4477ec503b9cb1a998741bc692652.js"></script>
vendor: 1 bytes, line 177
177
178<script src="https://cdn.cybassets.com/appmarket/api/common/attachments/entrypoint/8766542902afa60f4adda3c555c06025d2c27771ea85a6fc657a91cddbe5c59f.js"></script>
vendor: 1 bytes, line 178
178
179<script>window.CYBERBIZ.initializeSDK.initialize();</script>
vendor: 1 bytes, line 179
179
180<script src="//cdn-general.cybassets.com/frontend/shop/setAffliateCookie-e958d46bfee2e69f.js"></script>
180 181 182 183 184 185 186 187<meta name="title" content="éç®ææä¿å·ç¦®è¢ | è±ç©æå®ç¶²"> 188<meta property="og:title" content="éç®ææä¿å·ç¦®è¢ | è±ç©æå®ç¶²"> 189<meta name="description" content="å ¨ç«ä»»é¸2ä»¶ååè³¼ç©è»çµå¸³æå¯ä»¥$10å 購網路ä¸å®éå®"> 190<meta property="og:description" content="å ¨ç«ä»»é¸2ä»¶ååè³¼ç©è»çµå¸³æå¯ä»¥$10å 購網路ä¸å®éå®"> 191<meta name="keywords" content="éç®ææä¿å·ç¦®è¢"> 192<meta property="og:url" content="https://www.dosuper.com.tw/products/999910002"> 193<meta property="og:type" content="og:product">
194<script type="application/ld+json">{"@context":"https://schema.org/","@type":"Product","name":"éç®ææä¿å·ç¦®è¢","image":"https://cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQxODYyMzZfYjM5ZjBlMzk0ZDc4MWU2YTIzZGYuanBlZyJdLFsicCIsInRodW1iIiwiNDgweDQ4MCJdXQ.jpeg?sha=e8f1614a9ea7d771","description":"å
¨ç«ä»»é¸2ä»¶åå\nè³¼ç©è»çµå¸³æå¯ä»¥$10å è³¼\n網路ä¸å®éå®","brand":"è±ç©æå®ç¶²","sku":"999910002","productId":69561326,"offers":{"@type":"Offer","url":"https://www.dosuper.com.tw/products/999910002","priceCurrency":"TWD","price":"15.0","priceValidUntil":"","availability":"InStock"}}</script>
194 195 196
196<script> 197 document.addEventListener("DOMContentLoaded", function() { 198 gtag('event', 'view_item', {"items":[{"id":84890442,"name":"éç®ææä¿å·ç¦®è¢","price":15.0}],"send_to":["cyberbiz","dynamic_remarketing"]}); 199 }) 200 </script>
200 201 202 203
203<script> 204 document.addEventListener("DOMContentLoaded", function() { 205 try { 206 var productData = [{"id":"999910002","product_id":69561326,"variant_id":84890442,"sku":"999910002","name":"éç®ææä¿å·ç¦®è¢","price":15.0,"compare_at_price":15.0,"currency":"TWD","inventory_quantity_status":"safety","category":null,"categories":["å ¶ä»"],"properties":[],"list_name":""}]; 207 208 if (document.referrer.indexOf('collection') !== -1 || document.referrer.indexOf('products') !== -1) { 209 for (var i = 0; i < productData.length; i++) { 210 productData[i].list_name = sessionStorage.getItem("viewedCollection"); 211 } 212 } 213 214 window.CYBERBIZ.eventSDK.callEvent("viewItem", productData) 215 216 window.addEventListener("beforeunload", function(event) { 217 var collection = "ç¸éåå"; 218 sessionStorage.setItem("viewedCollection", collection); 219 }); 220 221 } catch (error) { 222 console.error('Exception catched in appMarketViewItemEvent') 223 } 224 }) 225 </script>
225 226 227
228<script src="//cdn-general.cybassets.com/frontend/shop/gallery-e958d46bfee2e69f.js"></script>
228 229 230 <style id="color_settings"> 231 :root { 232 233 --button: #fa740c; 234 235 236 237 --button_text: #FFFFFF; 238 239 240 241 --accent: #4f1bfe; 242 243 244 245 --heading: #906122; 246 247 248 249 --text: #112612; 250 251 252 253 --price: #906122; 254 255 256 257 --discount_price: #fc0505; 258 259 260 261 --theme_bg: #FFFFFF; 262 263 264 265 --nav_logo_bg: #FFFFFF; 266 267 268 269 --nav_menu_bg: #fff2e6; 270 271 272 273 --nav_menu_text: #124d15; 274 275 276 277 --nav_menu_icon: #fa740c; 278 279 280 281 --footer_bg: #fcf7ef; 282 283 284 285 --footer_text: #124c15; 286 287 288 289 --checkout_button: #fa740c; 290 291 292 293 --checkout_accent: #fe0a0a; 294 295 296 297 --product_border: #4a8876; 298 299 300 301 --tips_text: #fc070e; 302 303 304 305 306 307 } 308</style> 309 310 311 312 313 314 <!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 74 bytes, lines 314-315
314 315 <script async src="https://www.googletagmanager.com/gtag/js?id=
315G-T6RPRSJ9FW
vendor: 22 bytes, lines 315-316
315"></script> 316
316<script> 317 window.dataLayer = window.dataLayer || []; 318 function gtag(){dataLayer.push(arguments);} 319 gtag('js', new Date()); 320 gtag('config', 'G-T6RPRSJ9FW', {"groups":"cyberbiz","custom_map":{"dimension1":"shop_id","dimension2":"customer_id","dimension3":"infinite_scroll","dimension4":"dim_affiliate"},"shop_id":33898,"dim_affiliate":null}); 321 gtag('config', 'UA-64017614-1', {"groups":"cyberbiz","custom_map":{"dimension1":"shop_id","dimension2":"customer_id","dimension3":"infinite_scroll","dimension4":"dim_affiliate"},"shop_id":33898,"dim_affiliate":null}); 322 </script>
322 323
323<script> 324 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 325 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 326 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 327 })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 328 329 ga('create', '', 'auto', {'name': 'cyberbiz'}); 330 ga('cyberbiz.require', 'displayfeatures'); 331 ga('cyberbiz.set', 'dimension1', '33898'); 332 ga('cyberbiz.require', 'ec'); 333 ga('cyberbiz.send', 'pageview'); 334 </script>
334 335 336
336<script>
vendor: 426 bytes, lines 336-343
336 337 !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod? 338 n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n; 339 n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0; 340 t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, 341 document,'script','//connect.facebook.net/en_US/fbevents.js'); 342 343 fbq('init', '
343367607908406534
vendor: 38 bytes, lines 343-344
343', {}, {'agent':'plcyberbiz'}); 344
344fbq('track', "PageView", '', { eventID: "PageView_0D48F54522C4255BF3DF79DFB9973EEB" }); 345 var facebook_pixel_id = '367607908406534'</script>
345 346 347 </head> 348 349 <body style="display: flex; flex-direction: column;"><!-- Google Tag Manager (noscript) -->
vendor: 74 bytes, lines 349-350
349 350 <noscript><iframe src="//www.googletagmanager.com/ns.html?id=
350GTM-K742Q47Q
vendor: 105 bytes, lines 350-352
350" 351 height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 352
352<!-- End Google Tag Manager (noscript) -->
vendor: 74 bytes, lines 352-354
352 353 <noscript><iframe 354 src="//www.googletagmanager.com/ns.html?id=
354GTM-TXD9LVJ
vendor: 186 bytes, lines 354-361
354" 355 height="0" 356 width="0" 357 style="display:none;visibility:hidden"> 358 </iframe></noscript> 359 360 <noscript><iframe 361 src="//www.googletagmanager.com/ns.html?id=
361GTM-P7528MQ
vendor: 117 bytes, lines 361-367
361" 362 height="0" 363 width="0" 364 style="display:none;visibility:hidden"> 365 </iframe></noscript> 366 367
367<!-- Navigation --> 368 <!-- cyb_snippet liquid_helper start -->
369<script> 370 function getDiscountPriceName() { 371 return "true" === "true" ? "" : ""; 372 } 373 374 function getDiscountPriceSuggestionName() { 375 return "false" === "true" ? "" : ""; 376 } 377 378 document.addEventListener('DOMContentLoaded', function() { 379 const languageHandle = Cookies.get("language"); 380 const defaultLanguage = {"handle":"zh-TW","currency_code":"TWD","title":"ç¹é«ä¸æ"}; 381 const languages = []; 382 const currency = window.shopScriptHelper.defaultCurrency; 383 const currencies = window.shopScriptHelper.currenciesInfo; 384 window.liquidHelper = { 385 shopInternational: false, 386 defaultLanguage: defaultLanguage, 387 language: languages.find(function(l) { 388 return l.handle === languageHandle; 389 }) || defaultLanguage, 390 shopMultipleCurrenciesCheckout: false, 391 shopMultipleCurrencies: false, 392 defaultCurrencyFormat: "NT${{amount_no_decimals}}", 393 defaultCurrency: currency, 394 getCurrency: function() { 395 const currencyValue = Cookies.get("currencyValue") || currency; 396 return currencies.find(function(c) { return c.code === currencyValue; } 397 )}, 398 getDefaultCurrency: function() { return currencies.find(function(c) { 399 return c.code === currency; 400 })}, 401 getAvailableCurrencies: function() { return currencies.map(c => c.code) },
402 getCurrencyFormatInfo: function(currency) { 403 const currencyInfo = currencies.find(c => c.code === currency) 404 return _.pick(currencyInfo, [ 405 'decimal_precision', 406 'symbol', 407 'money_format', 408 'unit', 409 'trailing_zeros', 410 'html_unit', 411 'code', 412 ]); 413 }, 414 cartQuantityLimit: (function() { 415 const limit = Number("0" || undefined); 416 return limit <= 0 || isNaN(limit) ? Number.POSITIVE_INFINITY : limit; 417 })(), 418 isFirstVariantSelected: false , 419 isImageColorsUsed: false , 420 isEmptyClickable: true , 421 hasAddBuyProduct: '' !== "" ? true : false, 422 hasPriceWithDiscountPlugin: 'true' ? true : false, 423 conversionBonus: 1, 424 hasLocalizedShopPriceFormat: true, 425 hasCustomerCartPlugin: true, 426 isCartEnabled: true, 427 cdnHost: '//cdn-general.cybassets.com', 428 hasShopCustomPasswordRulePlugin: false, 429 hasDisableProductQuantityValidation: false, 430 hasBreadcrumbReferrerEnabled: false, 431 }; 432 }); 433</script>
433 434 435<!-- cyb_snippet liquid_helper end --> 436
437<script src='//cdn-general.cybassets.com/frontend/shop/navbarSection-e958d46bfee2e69f.js' type='text/javascript'></script>
437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454<style> 455 456 #navbar { 457 --navbar-pc-title-scale: 1.1; 458 --navbar-pc-body-scale: 1.0; 459 --navbar-mobile-title-scale: 1.1; 460 --navbar-mobile-body-scale: 1.0; 461 } 462 463 464 465 466 467</style> 468 469 470 <span id="navbar" class="drawer drawer--left font-size-setting-enabled"> 471 <header id="header" class="qk-w--100vw qk-pos--fixed qk-t--0 qk-l--0"> 472 473 474 475 <div id="announcement-bar"></div> 476 477 478 479 480 481 482 <div class="computer_nav row_nav qk-hidden--mobile "> 483 <div class="header_logo qk-bg--nav_logo_bg"> 484 <div class="qk-pos--rel"> 485 <div class="qk-text--center qk-display--flex"> 486 <!-- logo start --> 487 488 489 <nav class="logo qk-display--il_bk"> 490 <a href="/" class="qk-w--100"> 491 <img 492 src="//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg5NDUxMTUxX-WSluWVoeiJsumAj-aYjuW6lS5wbmcucG5nIl1d.png?sha=16fdb915aeb70f7b" 493 class="qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--pc_logo qk-hidden--mobile" 494 style="width: auto; height: 97px;" 495 alt="è±ç©æå æå¤©ç¶æçµæ·»å ï¼åæ¸é£æçç´ç²¹èæ°é®®ç¾å³" 496 height="52" 497 width="auto" 498 > 499 </a> 500 </nav> 501 502 <!-- logo end --> 503 504 <div class="header_nav qk-flex--1"> 505 <div class="qk-pos--relative center qk-pd_r--1 qk-w--100"> 506 <!-- main-nav start --> 507 <nav class="main_nav qk-display--init"> 508 <!-- cyb_snippet _main_nav_skeleton start --><ul 509 class="main_nav_skeleton link_shelf_top qk-display--flex qk-flex--row qk-flex--wrap qk-justify--center qk-align--center qk-body" 510 style="justify-content: center; visibility: hidden;" 511 aria-hidden="true" 512 ><span> 513 <li class="dropdown qk-dropdown_wrapper qk-pos--rel"><a href="/" class="qk-display--bk qk-fs--body qk-text--nav_menu_text qk-text--accent_hover qk-cursor--pointer">é¦é </a></li> 514 </span><span> 515 <li class="dropdown qk-dropdown_wrapper qk-pos--rel"><a href="/collections/all1" class="qk-display--bk qk-fs--body qk-text--nav_menu_text qk-text--accent_hover qk-cursor--pointer">ååé¡å¥</a></li> 516 </span><span> 517 <li class="dropdown qk-dropdown_wrapper qk-pos--rel"><a href="/collections/sale" class="qk-display--bk qk-fs--body qk-text--nav_menu_text qk-text--accent_hover qk-cursor--pointer">é裡æåªæ </a></li> 518 </span><span> 519 <li class="dropdown qk-dropdown_wrapper qk-pos--rel"><a href="/collections/ä»»12ä»¶89æ" class="qk-display--bk qk-fs--body qk-text--nav_menu_text qk-text--accent_hover qk-cursor--pointer">ä»»12ä»¶89æ</a></li> 520 </span><span> 521 <li class="dropdown qk-dropdown_wrapper qk-pos--rel"><a href="/collections/ç²¾é¸åå¡" class="qk-display--bk qk-fs--body qk-text--nav_menu_text qk-text--accent_hover qk-cursor--pointer">ç²¾é¸åå¡</a></li> 522 </span><span> 523 <li class="dropdown qk-dropdown_wrapper qk-pos--rel"><a href="/blogs/è³¼ç©èªªæ" class="qk-display--bk qk-fs--body qk-text--nav_menu_text qk-text--accent_hover qk-cursor--pointer">販å®é»èè³¼ç©èªªæ</a></li> 524 </span><span> 525 <li class="dropdown qk-dropdown_wrapper qk-pos--rel"><a href="/blogs/news" class="qk-display--bk qk-fs--body qk-text--nav_menu_text qk-text--accent_hover qk-cursor--pointer">ææ°åæ </a></li> 526 </span></ul><!-- cyb_snippet _main_nav_skeleton end --> 527 </nav> 528 <!-- main-nav end --> 529 </div> 530 </div> 531 532 <!-- tool-nav start --> 533 534 <div style="display: flex; align-items: center; position: relative; top: -12px;"> 535 <!-- cyb_snippet tool_nav start --> 536 537 538 539 540 541 542<nav class="tool-nav qk-pos--rel qk-float--r qk-display--flex"> 543 <ul class="link_shelf_top qk-display--flex qk-flex--row qk-justify--end qk-align--center qk-pos--abs qk-r--0"> 544 545 546 <!-- member --> 547 548 <li class="customer_account qk-pos--rel qk-pd--05"> 549 <div class="dropdown qk-pos--static"> 550 <div class="qk-cursor--pointer" data-toggle="dropdown"> 551 <div data-icon-type="custom_icon_type_account"></div>
552 <span class="text"></span> 553 </div> 554 <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"> 555 <ul id="customer-logined-menu" style="display: none"> 556 <li> 557 <div class="qk-fs--body qk-text--heading"> 558 <p class="customer-name qk-whitespace-break-spaces"></p> 559 <p>æ¨å¥½ï¼</p> 560 </div> 561 </li> 562 </ul> 563 <ul id="customer-not-login-menu"> 564 <li class="button qk-text--center"> 565 <a href="/account/login" class="btn-login qk-btn qk-btn--lg qk-btn--primary qk-w--100">æå¡ç»å ¥</a> 566 </li> 567 <li class="button qk-text--center"> 568 <a href="/account/signup" class="btn-orders qk-btn qk-btn--lg qk-btn--secondary qk-w--100 qk-bg--transparent">è¨»åæ°æå¡</a> 569 </li> 570 </ul> 571 <span class="menu-bd qk-bd_t--default qk-bd--product_border"></span> 572 <ul class="member-menu qk-bd_t--default qk-bd--product_border"> 573 <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg"> 574 <a href="/account/index" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">æç帳æ¶</a> 575 </li> 576 <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg"> 577 <a href="/account/orders" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">è¨å®æ¥è©¢</a> 578 </li> 579 <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg"> 580 <a href="/account/coupons" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">å°å±¬åªæ å¸</a> 581 </li> 582 <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg"> 583 <a href="/account/tracking_items" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">æ¶èæ¸ å®</a> 584 </li> 585 <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"> 586 <a href="/account/logout" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">æå¡ç»åº</a> 587 </li> 588 </ul> 589 </div> 590 </div> 591 </li> 592 593 <!-- for money symbol --> 594 <div id="money-symbol" data-money-symbol="NT${{amount_no_decimals}}" hidden></div> 595 <!-- cart --> 596 597 <li class="cart qk-pos--rel qk-pd--05"> 598 <!--é»è ¦ççè³¼ç©è»é¸å®--> 599 <div class="dropdown qk-pos--static"> 600 <div data-toggle="dropdown" class="shopcart qk-cursor--pointer" > 601 <div data-icon-type="custom_icon_type_cart"></div> 602 <span class="global-cart-count qk-circle qk-circle--sm qk-bg--accent qk-text--white qk-vert--mid qk-pos--abs qk-bd" style="display: none;">0</span> 603 <span class="global-cart-loading"></span> 604 </div> 605 <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"> 606 <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> 607 <p class="cart_empty qk-fs--body qk-text--heading qk-text--center">ç®åçè³¼ç©è»æ¯ç©ºçï¼</p> 608 <ul> 609 <li class="button qk-text--center"> 610 <a class="btn-checkout qk-btn qk-btn--lg qk-btn--primary qk-w--100" href="/cart" style="display: none">ç«å³è³¼è²·</a> 611 <a class="btn-tracking qk-btn qk-btn--lg qk-btn--secondary qk-w--100 qk-bg--transparent" href="/account/tracking_items">å徿¶èæ¸ å®</a> 612 </li> 613 </ul> 614 </div> 615 </div> 616 </li> 617 618 <!-- search --> 619 620 <li class="search qk-pos--rel qk-pd--05" id="search-icon"> 621 <div class="dropdown qk-pos--static"> 622 <div class="qk-cursor--pointer" data-toggle="dropdown"> 623 <div data-icon-type="custom_icon_type_search"></div> 624 </div> 625 <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"> 626 <div class="search-area qk-display--flex qk-flex--row qk-justify--start qk-align--center qk-vert--mid"> 627 <form action="/search" class="form-inline qk-search_form qk-display--flex qk-justfify--between qk-align--center qk-flex--1"> 628 <input class="search-input form-control qk-inputbox qk-inputbox--lg qk-flex--1 qk-w--100 qk-bg--trans
628parent qk-text--heading" type="search" placeholder="æå°" aria-label="Search" name="q" value="" /> 629 <button class="search-btn qk-btn qk-btn--lg qk-btn--primary qk-pd--0" type="submit">æå°</button> 630 </form> 631 </div> 632 </div> 633 </div> 634 </li> 635 636 <!-- express delivery --> 637 638 </ul> 639</nav> 640 641<!-- cyb_snippet tool_nav end --> 642 </div> 643 644 645 <!-- tool-nav end --> 646 </div> 647 </div> 648 </div> 649 </div> 650 651 <div class="qk-hidden--pc "> 652 <!-- mobile-nav start --> 653 <nav class="mobile-nav qk-bg--nav_logo_bg"> 654 <ul class="qk-display--flex qk-flex--row qk-justify--between qk-align--center qk-pd_x--05 qk-pd_y--0"> 655 <!-- menu --> 656 657 <li class="sidebar-menu-icon drawer-toggle qk-text--center qk-pd_x--05 qk-pd_y--0 qk-display--flex qk-align--center"> 658 <div data-icon-type="custom_icon_type_menu"></div> 659 </li> 660 661 <!-- logo --> 662 663 <li class="logo qk-pos--abs qk-center--x qk-pd_y--0"> 664 665 <a href="/" class="qk-display--il_flex qk-align--center qk-h--100 qk-hidden--phone"> 666 <img 667 src="//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg5NDUxMTUxX-WSluWVoeiJsumAj-aYjuW6lS5wbmcucG5nIl1d.png?sha=16fdb915aeb70f7b" 668 height="25" 669 width="auto" 670 alt="è±ç©æå æå¤©ç¶æçµæ·»å ï¼åæ¸é£æçç´ç²¹èæ°é®®ç¾å³" 671 > 672 </a> 673 674 675 <a href="/" class="qk-display--il_flex qk-align--center qk-h--100 qk-hidden--tablet"> 676 <img 677 src="//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg5NDUxMTUxX-WSluWVoeiJsumAj-aYjuW6lS5wbmcucG5nIl1d.png?sha=16fdb915aeb70f7b" 678 height="25" 679 width="auto" 680 alt="è±ç©æå æå¤©ç¶æçµæ·»å ï¼åæ¸é£æçç´ç²¹èæ°é®®ç¾å³" 681 > 682 </a> 683 684 </li> 685 686 687 <!-- search --> 688 689 <li class="search qk-text--center qk-pd_x--05 qk-pd_y--0 qk-display--flex qk-align--center qk-mg_l--auto"> 690 <div class="dropdown qk-pos--static qk-text--center"> 691 <div class="qk-cursor--pointer" data-toggle="dropdown"> 692 <div data-icon-type="custom_icon_type_search"></div> 693 </div> 694 <div 695 class="qk-dropdown_menu dropdown-menu qk-w--100vw qk-bg--theme_bg qk-bd--default qk-bd--product_border qk-mg--0" 696 role="menu" 697 > 698 <div class="search-area qk-display--flex qk-flex--row qk-justify--start qk-align--center qk-sp_bt--5 qk-w--100"> 699 <form action="/search" class="form-inline qk-display--flex qk-justfify--center qk-flex--1"> 700 <div class="form-inline qk-search_form qk-display--flex qk-justfify--center qk-align--center qk-flex--1"> 701 <input 702 class="form-control qk-flex--1 qk-inputbox qk-inputbox--lg qk-bg--transparent qk-text--heading" 703 type="search" 704 placeholder="æå°" 705 aria-label="Search" 706 name="q" 707 value="" 708 > 709 <button class="search-btn qk-btn qk-btn--lg qk-btn--primary qk-pd--0" type="submit"> 710 æå° 711 </button> 712 </div> 713 </form> 714 </div> 715 </div> 716 </div> 717 </li> 718 719 <!-- express delivery --> 720 721 722 </ul> 723 </nav>
724 <!-- mobile-nav end --> 725 </div> 726 727 </header>
727<script> 728 (function () { 729 var isNavbarTransparent = false; 730 731 function measureHeaderOffset() { 732 var header = document.getElementById('header'); 733 if (!header) return null; 734 735 var headerHeight = header.getBoundingClientRect().height; 736 737 if (isNavbarTransparent && window.matchMedia('(min-width: 992px)').matches) { 738 var computerNav = document.querySelector('.computer_nav'); 739 if (computerNav) { 740 headerHeight -= computerNav.getBoundingClientRect().height; 741 } 742 } 743 744 var floatFilter = document.getElementById('float-filter'); 745 var floatFilterHeight = floatFilter 746 ? floatFilter.getBoundingClientRect().height 747 : 0; 748 749 return headerHeight - floatFilterHeight; 750 } 751 752 window.measureHeaderOffset = measureHeaderOffset; 753 754 var offset = measureHeaderOffset(); 755 if (offset !== null) { 756 document.body.style.paddingTop = offset + 'px'; 757 } 758 })(); 759 </script>
759 760 761 <!-- Sidebar --> 762 <nav class="drawer-nav drawer-nav_width qk-bg--nav_menu_bg " role="navigation"> 763 <div class="drawer-menu"> 764 <!-- cyb_snippet side_menu start --> 765 766 767<ul id="index_sidebar_shelf_top" class="sidebar qk-pd_b--1"> 768 769 <li class="logo qk-pos--rel qk-bg--nav_logo_bg qk-pd_x--1 qk-pd_y--05"> 770 <a href="/" class="qk-pd--0"> 771 <img src="//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg5NDUxMTUxX-WSluWVoeiJsumAj-aYjuW6lS5wbmcucG5nIl1d.png?sha=16fdb915aeb70f7b" height="32" width="auto" alt="logo"> 772 </a> 773 <button class="drawer-toggle qk-pos--abs qk-bg--transparent qk-pd--0"></button> 774 </li> 775 776 777 778 779 780 <!-- cyb_snippet components/side_menu/menu start --> 781 782 <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> 783 784 785 786 787 788 <li class="qk-pos--rel qk-pd--0"> 789 790 <a class="qk-fw--bold qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/">é¦é </a> 791 792 </li> 793 794 795 796 797 798 <li class="qk-pos--rel qk-pd--0"> 799 <button class="linklist bt-toggle qk-fw--bold qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-text--nav_menu_text qk-bg--nav_menu_bg qk-pos--rel" data-toggle="collapse" data-target=".collapse_index_sidebar_2" aria-expanded=" true "> 800 801 <a class="qk-text--nav_menu_text" href="/collections/all1"> ååé¡å¥ </a> 802 803 </button> 804 <ul id="index_sidebar_shelf_second_2" class="collapse_index_sidebar_2 collapse shelf_second show qk-pd--0"> 805 806 807 808 809 <li class="qk-pos--rel qk-pd--0"> 810 811 <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/sale"> 812 ç²¾é¸æåªæ 813 </a> 814 815 </li> 816 817 818 819 820 821 <li class="qk-pos--rel qk-pd--0"> 822 823 <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/人氣泡è"> 824 人氣泡è 825 </a> 826 827 </li> 828 829 830 831 832 833 <li class="qk-pos--rel qk-pd--0"> 834 835 <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/è³å³æ³¡è"> 836 è³å³æ³¡è 837 </a> 838 839 </li> 840 841 842 843 844 845 <li class="qk-pos--rel qk-pd--0"> 846 847 <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/tart"> 848 檸檬å¡/ä¹³é ªå¡ 849 </a> 850 851 </li> 852 853 854 855 856 857 <li class="qk-pos--rel qk-pd--0"> 858 859 <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/ç¶å ¸é¤ ä¹¾"> 860 ç¶å ¸æå·¥é¤ ä¹¾ 861 </a> 862 863 </li> 864 865 866 867 868 869 <li class="qk-pos--rel qk-pd--0"> 870 871 <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/精緻禮ç"> 872 精緻禮ç 873 </a> 874 875 </li> 876 877 878 879 880 881 <li class="qk-pos--rel qk-pd--0"> 882 883 <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/æ
883é¬"> 884 æé¬/è±çé¬ 885 </a> 886 887 </li> 888 889 890 891 892 893 <li class="qk-pos--rel qk-pd--0"> 894 895 <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/麵å è²æèç³é»å¿"> 896 麵å /è²æ/èç³/é»å¿ 897 </a> 898 899 </li> 900 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="/collections/ç¶é·åå"> 908 ç¶é·åå 909 </a> 910 911 </li> 912 913 914 </ul> 915 </li> 916 917 918 919 920 921 <li class="qk-pos--rel qk-pd--0"> 922 923 <a class="qk-fw--bold qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/collections/sale">é裡æåªæ </a> 924 925 </li> 926 927 928 929 930 931 <li class="qk-pos--rel qk-pd--0"> 932 933 <a class="qk-fw--bold qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/collections/ä»»12ä»¶89æ">ä»»12ä»¶89æ</a> 934 935 </li> 936 937 938 939 940 941 <li class="qk-pos--rel qk-pd--0"> 942 943 <a class="qk-fw--bold qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/collections/ç²¾é¸åå¡">ç²¾é¸åå¡</a> 944 945 </li> 946 947 948 949 950 951 <li class="qk-pos--rel qk-pd--0"> 952 953 <a class="qk-fw--bold qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/blogs/è³¼ç©èªªæ">販å®é»èè³¼ç©èªªæ</a> 954 955 </li> 956 957 958 959 960 961 <li class="qk-pos--rel qk-pd--0"> 962 963 <a class="qk-fw--bold qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/blogs/news">ææ°åæ </a> 964 965 </li> 966 967 968
969<script> 970 $('button a').on('click', function(e) {e.stopPropagation()}); 971</script>
971 972 973<!-- cyb_snippet components/side_menu/menu end --> 974 975 976 977 978 <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> 979 <li class="qk-pos--rel qk-pd--0"> 980 <div class="customer-logined-menu qk-display--il_bk qk-w--100 qk-text--left" style="display: none"> 981 <a href="/account/index" class="qk-text--nav_menu_text qk-fw--bold qk-fs--body">æç帳æ¶</a> 982 </div> 983 </li> 984 <li class="qk-pos--rel qk-pd--0"> 985 <div class="customer-logined-menu qk-display--il_bk qk-w--100 qk-text--left" style="display: none"> 986 <a href="/account/orders" class="qk-text--nav_menu_text qk-fw--bold qk-fs--body">è¨å®æ¥è©¢</a> 987 </div> 988 </li> 989 <li class="qk-pos--rel qk-pd--0"> 990 <div class="customer-logined-menu qk-display--il_bk qk-w--100 qk-text--left" style="display: none"> 991 <a href="/account/logout" class="qk-text--nav_menu_text qk-fw--bold qk-fs--body">æå¡ç»åº</a> 992 </div> 993 </li> 994 <li class="qk-pos--rel qk-pd--0"> 995 <a href="/account/login"> 996 <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 "> 997 <span class="qk-text--nav_menu_bg qk-fw--500 qk-fs--body"> 998 æå¡ç»å ¥ 999 </span> 1000 </div> 1001 </a> 1002 </li> 1003 <li class="qk-pos--rel qk-pd--0"> 1004 <a href="/account/signup"> 1005 <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"> 1006 <span class="qk-text--nav_menu_text qk-fs--body qk-fw--500"> 1007 è¨»åæ°æå¡ 1008 </span> 1009 </div> 1010 </a> 1011 </li> 1012 1013 1014 1015 1016 1017</ul> 1018 1019<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/sidebar-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' /> 1020
1021<script> 1022 $(document).ready(function(){ 1023 // å´éé¸å® 1024 if ($('.drawer').length){ 1025 $('.drawer').drawer(); 1026 $('.bt-toggle').click(function(){ 1027 setTimeout(function(){ 1028 $('.drawer')[0].iScroll.refresh() 1029 },500) 1030 }) 1031 } 1032 }); 1033</script>
1033 1034 1035 1036<!-- cyb_snippet side_menu end --> 1037 1038 </div> 1039 </nav> 1040 <!-- Bottombar --> 1041 1042 1043 </span> 1044 1045<div id="index-popular-tags"></div> 1046 1047<style id="timer_color"> 1048 :root { 1049 1050 --timer_text: #c39d6f; 1051 1052 1053 1054 --timer_bg: #2b2b6e; 1055 1056 } 1057</style> 1058
1059<script> 1060 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":"åé¡å
1060
§å®¹","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天å
è²»éè³
1060æï¼å«ä¾åæ¥ï¼ãéæè²¨æè«ä¿æåå
è£ååç宿´ï¼å
å«è³¼è²·ååï¼éä»¶ï¼è´åçï¼ã\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":"è¬è¬æ¨çå¯
1060¶è²´æè¦","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":"éµéåè"} 1061 $(document).ready(function(){ 1062 if(window.location.pathname != '' && window.location.pathname != '/' ){ 1063 document.getElementById('index-popular-tags').style.display = 'none' 1064 } 1065 // åæ¸è¨æ 1066 1067 1068 function adjustContentTop() { 1069 const offset = window.measureHeaderOffset(); 1070 if (offset === null) return; 1071 $("body").css({ "padding-top": offset + "px" }); 1072 } 1073 1074 window.adjustContentTop = adjustContentTop; 1075 1076 // navbarè¨å®éæ 1077 1078 1079 // Call it first once DOM is ready to prevent CLS 1080 adjustContentTop(); 1081 1082 // å»¶é²åå§åï¼çå¾ app banner åå§å宿 1083 $(window).on("resize", adjustContentTop); 1084 1085 // ä½¿ç¨ setTimeout ç¢ºä¿ banner çæ å·²ç¶ç¢ºå® 1086 $(window).on("load", function() { 1087 setTimeout(function() { 1088 adjustContentTop(); 1089 }, 200); // 給 banner è¶³å¤ æéåå§å 1090 }); 1091 1092 $('img.header_banner').on('load', adjustContentTop); 1093 1094 window.renderNavbarSection('.main_nav', { 1095 navbarCollections: null, 1096 navbarItems: [{"id":1765928,"title":"é¦é ","url":"/","item_type":"frontpage","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1779813,"title":"ååé¡å¥","url":"/collections/all1","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":[{"id":1903192,"title":"ç²¾é¸æåªæ ","url":"/collections/sale","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1779978,"title":"人氣泡è","url":"/collections/人氣泡è","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1779979,"title":"è³å³æ³¡è","url":"/collections/è³å³æ³¡è","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1969754,"title":"檸檬å¡/ä¹³é ªå¡","url":"/collections/tart","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1780318,"title":"ç¶å ¸æå·¥é¤ ä¹¾","url":"/collections/ç¶å ¸é¤ ä¹¾","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1958812,"title":"精緻禮ç","url":"/collections/精緻禮ç","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1779981,"title":"æé¬/è±çé¬","url":"/collections/æé¬","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1939948,"title":"麵å /è²æ/èç³/é»å¿","url":"/collections/麵å è²æèç³é»å¿","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1779987,"title":"ç¶é·åå","url":"/collections/ç¶é·åå","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null}]},{"id":1962915,"title":"é裡æåªæ ","url":"/collections/sale","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1904793,"title":"ä»»12ä»¶89æ","url":"/collections/ä»»12ä»¶89æ","item_type":"special_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1973411,"title":"ç²¾é¸åå¡","url":"/collections/ç²¾é¸åå¡","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1772991,"title":"販å®é»èè³¼ç©èªªæ","url":"/blogs/è³¼ç©èªªæ","item_type":"blog","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1772181,"title":"ææ°åæ ","url":"/blogs/news","item_type":"blog","subtitle":null,"icon_image_url":null,"menuItems":null}], 1097 settings: { 1098 menuDisplayStyle: "three_dimension_menu", 1099 pcLogoImgUrl: "//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg5NDUxMTUxX-WSluWVoeiJsumAj-aYjuW6lS5wbmcucG5nIl1d.png?sha=16fdb915aeb70f7b", 1100 mobileLogoImgUrl: "//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzg5NDUxMTUxX-WSluWVoeiJsumAj-aYjuW6lS5wbmcucG5nIl1d.png?sha=16fdb915aeb70f7b", 1101 navbarDisplayStyle: "rowCenterNav", 1102 } 1103 } 1104 ); 1105 1106 1107 // for link menu 1108 const linkMenuElement = document.querySelector('.link-nav'); 1109 const data = [] 1110 data.forEach((item) => { 1111 const wrapper = document.createElement('a'); 1112 const link = document.createElement('ul'); 1113 1114 wrapper.href = item.url; 1115 link.textContent = item.title; 1116 link.classList.add('link-item'); 1117 1118 wrapper.appendChild(link); 1119 linkMenuElement.appendChild(wrapper); 1120 }); 1121 1122 // for safe-area space on iOS devices 1123 const userAgent = navigator.userAgent; 1124 const isIOS = /iPad|iPhone|iPod/.test(userAgent) && !window.MSStream; 1125 const isLiff = /Line\/[\d.]+/i.test(userAgent); 1126 const $mobileBottomBar = $('#mobile-bottom-bar'); 1127 1128 if ($mobileBottomBar.length && isIOS && isLiff) { 1129 $mobileBottomBar.addClass('is-ios-liff'); 1130 } 1131 }); 1132 document.addEventListener('DOMContentLoaded', function() { 1133 window.getCartAmount = function() { 1134 return parseInt($('.global-cart-count').html()); 1135 }; 1136 }); 1137</script>
1137 1138
1139<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/navbar-e958d46bfee2e69f.js' type='text/javascript'></script>
vendor: 1 bytes, line 1139
1139
1140<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/currencies-e958d46bfee2e69f.js' type='text/javascript'></script>
1140 1141<!-- cyb_snippet i18n_modal start --> 1142 1143 1144<!-- cyb_snippet i18n_modal end --> 1145<!-- cyb_snippet _load_fonts start -->
1146<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/load_fonts-e958d46bfee2e69f.js' type='text/javascript'></script>
vendor: 1 bytes, line 1146
1146
1147<script> 1148 document.addEventListener('DOMContentLoaded', function() { 1149 window.loadFontSetting("{\"ja\":{\"value\":\"Noto Sans JP\"},\"zh-TW\":{\"value\":\"Noto Serif TC\"},\"en\":{\"value\":\"Noto Sans TC\"},\"zh-CN\":{\"value\":\"Noto Sans TC\"}}") 1150 }) 1151</script>
1151 1152 1153<!-- cyb_snippet _load_fonts end --> 1154<!-- cyb_snippet _custom_icon start -->
1155<script src='//cdn-general.cybassets.com/frontend/shop/navIcon-e958d46bfee2e69f.js' type='text/javascript'></script>
1155 1156
1157<script> 1158 (function() { 1159 const iconUrlMap = new Map([ 1160 ['custom_icon_type_home', "//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU4MjQ3NTEzX-mmlumggWljb244MHg4MC0wMS5zdmcuc3ZnIl1d.svg?sha=ca9695a5f4971a45"], 1161 ['custom_icon_type_tracking_items', "//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU4MjQ3NTI0X-aUtuiXj2ljb244MHg4MC0wMS5zdmcuc3ZnIl1d.svg?sha=99bdec6ef0f298ba"], 1162 ['custom_icon_type_account', "//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzYxODA5NTgyX-acg-WToWljb25hLnBuZy5wbmciXV0.png?sha=e513bfc18a8d91bd"], 1163 ['custom_icon_type_cart', "//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU4MjQ3NDk4X-izvOi7imljb244MHg4MC0wMS5zdmcuc3ZnIl1d.svg?sha=662e013f72b7115c"], 1164 ['custom_icon_type_search', "//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU4MjQ3NTA2X-aQnOWwi2ljb244MHg4MC0wMS5zdmcuc3ZnIl1d.svg?sha=5e15db7342f146c6"], 1165 ['custom_icon_type_menu', ""] 1166 ]); 1167 const elements = document.querySelectorAll('[data-icon-type]'); 1168 elements.forEach((element, index) => { 1169 const iconAttributes = element.getAttribute('data-icon-type'); 1170 1171 const uniqueId = `icon_${iconAttributes}_${index}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`; 1172 element.id = uniqueId; 1173 window.renderNavCustomIcon(`#${uniqueId}`, { 1174 navIconStyle: "icon_type_custom", 1175 customIconUrl: iconUrlMap.get(iconAttributes) || '', 1176 iconAttributes: iconAttributes, 1177 currentTemplate: "product", 1178 }); 1179 }); 1180 })(); 1181</script>
1181 1182 1183<!-- cyb_snippet _custom_icon end --> 1184 1185 1186 1187 1188 1189
1189<script src='//cdn-general.cybassets.com/frontend/shop/announcementBar-e958d46bfee2e69f.js' type='text/javascript'></script>
1189 1190 1191 1192 1193 1194 1195
1195<script> 1196 $(document).ready(function() { 1197 window.renderAnnouncementBar('#announcement-bar', { 1198 sectionId: "announcement_bar", 1199 isIndex: false, 1200 }); 1201 }); 1202 </script>
1202 1203 1204 1205 1206 1207 1208 1209 <!-- template --> 1210 <div id="template" style="flex:1 0 auto; background-color: var(--theme_bg);"> 1211 <!-- cyb_snippet breadcrumb start --> 1212 1213<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/breadcrumb-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' /> 1214 1215 1216<div id="site_path" class="qk-bd_b--default qk-bd--product_border"> 1217 <!-- mobile: toggle button (hidden on PC) --> 1218 <div class="qk-container qk-hidden--pc"> 1219 <div class="breadcrumb qk-bg--theme_bg qk-pd_x--0 qk-mg--0 qk-fs--breadcrumb"> 1220 <button 1221 class="bt-toggle qk-bg--theme_bg qk-pd_x--0 qk-w--100 qk-text--left qk-bd--none qk-pos--rel collapsed" 1222 data-toggle="collapse" 1223 data-target=".breadcrumb-content" 1224 > 1225 <a href="/" class="qk-text--text"> 1226 <i class="fas fa-home"></i> 1227 </a> 1228 </button> 1229 </div> 1230 </div> 1231 <!-- breadcrumb nav: single DOM, PC always visible, mobile as collapse dropdown --> 1232 <div class="breadcrumb-content qk-bg--theme_bg collapse"> 1233 <div class="qk-container"> 1234 <!-- cyb_snippet breadcrumb_nav start --> 1235<!-- 主é¡çå麵å å± --> 1236<nav aria-label="breadcrumb"> 1237 <ol 1238 class="breadcrumb qk-bg--theme_bg qk-pd_x--0 qk-mg--0 qk-fs--breadcrumb" 1239 itemscope 1240 itemtype="http://schema.org/BreadcrumbList" 1241 > 1242 1243 <li 1244 class="breadcrumb-item 1245 1246 " 1247 itemprop="itemListElement" 1248 itemscope itemtype="http://schema.org/ListItem"> 1249 <!-- home --> 1250 1251 <a href="/" class="qk-text--text" itemprop="item"> 1252 <i class="fas fa-home"></i> 1253 <span class="qk-display--none" itemprop="name">é¦é </span> 1254 </a> 1255 <!-- account --> 1256 1257 <meta itemprop="position" content="1"/> 1258 </li> 1259 1260 <li 1261 class="breadcrumb-item 1262 1263 qk-display--none 1264 1265 " 1266 itemprop="itemListElement" 1267 itemscope itemtype="http://schema.org/ListItem"> 1268 <!-- home --> 1269 1270 1271 <a href="#" itemprop="item" style="display: none;"> 1272 <span itemprop="name">åå</span> 1273 </a> 1274 1275 1276 <!-- product --> 1277 1278 <meta itemprop="position" content="2"/> 1279 </li> 1280 1281 <li 1282 class="breadcrumb-item 1283 1284 active " 1285 itemprop="itemListElement" 1286 itemscope itemtype="http://schema.org/ListItem"> 1287 <!-- home --> 1288 1289 <a href="/products/999910002" class="qk-text--text" itemprop="item"> 1290 <span itemprop="name">éç®ææä¿å·ç¦®è¢</span> 1291 </a> 1292 <!-- search --> 1293 1294 <meta itemprop="position" content="3"/> 1295 </li> 1296 1297 </ol> 1298</nav>
1299<script> 1300 $(document).ready(function () { 1301 if (!window.liquidHelper || !window.liquidHelper.hasBreadcrumbReferrerEnabled) return; 1302 1303 var $collections = $('[data-breadcrumb-links]'); 1304 if (!$collections.length) return; 1305 1306 var refMatch = document.referrer.match(/\/collections\/([^/?#]+)/); 1307 if (!refMatch || refMatch[1] === 'all') return; 1308 1309 var referrerHandle = decodeURIComponent(refMatch[1]); 1310 1311 function getCollectionHandle(url) { 1312 if (!url) return null; 1313 try { 1314 var pathname = new URL(url, location.origin).pathname; 1315 var parts = pathname.split('/'); 1316 var idx = parts.indexOf('collections'); 1317 if (idx === -1 || !parts[idx + 1]) return null; 1318 return decodeURIComponent(parts[idx + 1]); 1319 } catch (e) { 1320 return null; 1321 } 1322 } 1323 1324 var $link = $collections.find('a').filter(function () { 1325 return getCollectionHandle(this.href) === referrerHandle; 1326 }); 1327 1328 if ($link.length) { 1329 $collections.siblings('a.qk-text--accent[href="#"]').remove(); 1330 $collections.empty().append($link); 1331 } 1332 }); 1333</script>
1333 1334 1335<!-- cyb_snippet breadcrumb_nav end --> 1336 </div> 1337 </div> 1338</div> 1339 1340 1341<!-- cyb_snippet breadcrumb end --> 1342 1343<div id="img"></div> 1344 1345 1346 1347 1348
1349<script> 1350 var gallery_img = undefined; 1351 document.addEventListener("DOMContentLoaded", function(){ 1352 gallery_img = renderGallery( 1353 '#img', 1354 { 1355 urls: ["//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQxODYyMzZfYjM5ZjBlMzk0ZDc4MWU2YTIzZGYuanBlZyJdLFsicCIsInRodW1iIiwiMjA0OHgyMDQ4Il1d.jpeg?sha=2a9335d15e9abcda","//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQyNTg0MTlfODZlYTc0YmRkNDEwMTRjNTU1ZWEuanBlZyJdLFsicCIsInRodW1iIiwiMjA0OHgyMDQ4Il1d.jpeg?sha=ffbbb460ca8c137a","//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQxODYyMzZfZDBhYzE3MTk3NTUzODRiZTI3ZGEuanBlZyJdLFsicCIsInRodW1iIiwiMjA0OHgyMDQ4Il1d.jpeg?sha=0ecc144dc31b1daf","//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQyNTkyMTRfMzhmMTM4ZGZkYjAzYTY0MTRkNTQuanBlZyJdLFsicCIsInRodW1iIiwiMjA0OHgyMDQ4Il1d.jpeg?sha=ed33db4dd257ce0e"], 1356 onSwiperGalleryChange: function (payload) { 1357 var eventPayload = Object.assign({ galleryName: "img" }, payload); 1358 $(document).trigger('swiper-gallery-change', [eventPayload]); 1359 }, 1360 }, 1361 ); 1362 }); 1363</script>
1363 1364 1365<div id="product" class="product"> 1366 <div class="qk-container"> 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376<div id="product_info" class="product_info qk-display--grid" data-purchase-eligibility='{"required":false,"eligible":true,"status":"eligible"}' data-hide-price="false" data-sales-mode-purchasable="true"> 1377 <!-- product image start --> 1378 <div id="variant_photos" class="variant_photos"> 1379 1380 1381 1382 1383 <variant-photos-block 1384 :product-photos-json="'[{\'id\':37799069,\'imageUrl\':\'//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQxODYyMzZfYjM5ZjBlMzk0ZDc4MWU2YTIzZGYuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=e5035eca4d1205f4\',\'imageMaxUrl\':\'//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQxODYyMzZfYjM5ZjBlMzk0ZDc4MWU2YTIzZGYuanBlZyJdLFsicCIsInRodW1iIiwiMjA0OHgyMDQ4Il1d.jpeg?sha=2a9335d15e9abcda\'}, {\'id\':37822552,\'imageUrl\':\'//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQyNTg0MTlfODZlYTc0YmRkNDEwMTRjNTU1ZWEuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=2b4e63adbd65f8d0\',\'imageMaxUrl\':\'//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQyNTg0MTlfODZlYTc0YmRkNDEwMTRjNTU1ZWEuanBlZyJdLFsicCIsInRodW1iIiwiMjA0OHgyMDQ4Il1d.jpeg?sha=ffbbb460ca8c137a\'}, {\'id\':37799071,\'imageUrl\':\'//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQxODYyMzZfZDBhYzE3MTk3NTUzODRiZTI3ZGEuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=869bb01de2b8ebc0\',\'imageMaxUrl\':\'//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQxODYyMzZfZDBhYzE3MTk3NTUzODRiZTI3ZGEuanBlZyJdLFsicCIsInRodW1iIiwiMjA0OHgyMDQ4Il1d.jpeg?sha=0ecc144dc31b1daf\'}, {\'id\':37822965,\'imageUrl\':\'//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQyNTkyMTRfMzhmMTM4ZGZkYjAzYTY0MTRkNTQuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=bd86a19c24955afe\',\'imageMaxUrl\':\'//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQyNTkyMTRfMzhmMTM4ZGZkYjAzYTY0MTRkNTQuanBlZyJdLFsicCIsInRodW1iIiwiMjA0OHgyMDQ4Il1d.jpeg?sha=ed33db4dd257ce0e\'}]'" 1385 :display-product-images-color=false 1386 :product-id="69561326" 1387 product-title="éç®ææä¿å·ç¦®è¢" 1388 1389 :product-video={"id":null,"url":null} 1390 video-display-location="after" 1391 1392 /> 1393 </div> 1394 <!-- product image end --> 1395 <!-- product content start --> 1396 <div id="product_content" class="product_content qk-display--flex" data-tracking-variant-ids="null"> 1397 1398 <!-- æ¨é¡ --> 1399 <div class="product_title"> 1400 <h1 class="qk-text--heading qk-fs--hd1 qk-fw--bold qk-mg--0">éç®ææä¿å·ç¦®è¢</h1> 1401 </div> 1402 1403 <!-- ç°¡è¿° --> 1404 1405 <div class="product_brief qk-text--text qk-fs--body"> 1406 å ¨ç«ä»»é¸2ä»¶åå<br>è³¼ç©è»çµå¸³æå¯ä»¥$10å è³¼<br>網路ä¸å®éå® 1407 </div> 1408 1409 <!-- å» å,æ¨èª --> 1410 <div class="product_vendor_slogan qk-display--il_bk qk-align--center"> 1411 1412 1413 <span class="product_slogan qk-text--heading qk-fs--body">é禮ãèªç¨ä¿å·ä¿ç±é½å¯¦ç¨</span> 1414 1415 </div> 1416 <!-- ååå®å¹ --> 1417 1418 1419 1420 <div 1421 class="product_price" 1422 id="price_title" 1423 data-discount-price-name="" 1424 data-discount-price-suggestion-name=""> 1425 <!-- 广 ¼title --> 1426 1427 1428 <span class="title qk-text--heading qk-fs--body qk-display--bk"></span> 1429 1430 1431 1432 <!-- åå广 ¼ --> 1433 <div class="qk-display--il_bk"> 1434 <span class="qk-text--price price qk-fs--hd1 qk-fw--bold qk-display--il_bk qk-vert--mid"><span class="money_tag" data-currency-from="TWD" data-amount="15.0">NT$15</span></span> 1435 </div> 1436 <del class="qk-text--text qk-fs--body qk-pd_l--05 qk-display--il_bk qk-vert--mid"></del> 1437 1438 <!--æå¡å¯è¦å¹--> 1439 1440 </div> 1441 1442 <!-- ååsku --> 1443 1444 <!-- ä¾è²¨çæ³ --> 1445 1446 1447 <!-- å忬¾å¼ --> 1448 <div id="variant_options" class="variant_options"> 1449 <variant-options-block 1450 :product-api-url="'/products/999910002'" 1451 :sku="sku" 1452 :auto-select-variant-by-sku="true" 1453 :hide-other-variants-by-sku="false" 1454 :hide-single-variant-options="false" 1455 :sales-mode-purchasable="true" 1456 default-price="NT$15" 1457 default-compare-price="" 1458 :default-discounted="false" 1459 @set-choose="getSelectedDatas" 1460 @get-option-image="getCurrentImage"></variant-options-block> 1461 </div> 1462 1463 <div id="product-tags"></div> 1464 1465 <!-- product discounts_list start --> 1466 <div class="product_discounts_list force-show-scrollbar hide qk-bd--default qk-bd--product_border qk-pd--1 qk-of_y--auto qk-of_x--hidden hide "> 1467 <div class="list_block custom-scrollbar qk-of_x--hidden"> 1468 <p class="qk-text--heading qk-fs--body qk-mg_b--05">æ¤åååèçåªæ æ´»å</p> 1469 1470 1471 1472 </div> 1473 </div> 1474 <!-- product discounts_list end --> 1475 1476 <!-- è¦æ ¼,æ¸é --> 1477 1478 <div class="product_variant_quantity">
1479 <span class="product_quantity"> 1480 <div 1481 class="btn-group" 1482 role="group" 1483 aria-label="First group"> 1484 <button class="btn add-down qk-bd--product_border" type="button"></button> 1485 <input 1486 class="btn item-quantity qk-text--heading qk-bd--product_border" 1487 type="text" 1488 name="quantity" 1489 value="1" 1490 data-old-value="1"> 1491 <button class="btn add-up qk-bd--product_border" type="button"></button> 1492 </div> 1493 </span> 1494 </div> 1495 1496 <!-- 購買æé --> 1497 <div class="product_button qk-display--flex qk-hidden--mobile"> 1498 <!-- cyb_snippet _product_info_button start --> 1499<button class="btn addToCart btn_to_cart qk-btn qk-text--button qk-bd--button qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button" 1500 data-brand="" 1501 data-id="69561326" 1502 data-category="" 1503 data-list="å®ç¢å細覽" 1504 data-name="éç®ææä¿å·ç¦®è¢" 1505 data-quantity="1" 1506 data-position="å ¨é " 1507 1508 data-ga-custom-dimension="" 1509 data-ga-custom-value="" 1510 data-sku="999910002">å å ¥è³¼ç©è»</button> 1511<button class="btn addToCart btn-quick_buy qk-btn qk-btn--primary qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button" data-buy="quick_buy" 1512 data-brand="" 1513 data-id="69561326" 1514 data-category="" 1515 data-list="å®ç¢å細覽" 1516 data-name="éç®ææä¿å·ç¦®è¢" 1517 data-quantity="1" 1518 data-position="å ¨é " 1519 1520 data-ga-custom-dimension="" 1521 data-ga-custom-value="" 1522 data-sku="999910002"><span>ç«å³è³¼è²·</span></button> 1523 1524<!-- cyb_snippet _product_info_button end --> 1525 <!-- cyb_snippet _product_info_status_button start --> 1526<button class="btn btn_not_sale hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button"> 1527 å°æªéè³£ 1528</button> 1529<button class="btn btn_login_to_view hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button"> 1530 ç»å ¥æ¥çè³æ ¼ 1531</button> 1532<button class="btn btn_not_eligible hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button"> 1533 è³¼è²·è³æ ¼ä¸ç¬¦ 1534</button> 1535<!-- cyb_snippet _product_info_status_button end --> 1536 1537 <button class="btn btn_notice hidden qk-btn qk-btn--primary qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button"> 1538 å·²å®å®ï¼è²¨å°éç¥æ 1539 </button> 1540 1541 <button class="btn btn_soldout hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button"> 1542 å·²å®å® 1543 </button> 1544 <button 1545 class="btn buy-together hidden qk-btn qk-text--button qk-bd--button qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" 1546 type="button" 1547 data-brand="" 1548 data-id="69561326" 1549 data-category="" 1550 data-list="å®ç¢å細覽" 1551 data-name="éç®ææä¿å·ç¦®è¢" 1552 data-quantity="1" 1553 data-position="å ¨é " 1554 1555 data-ga-custom-dimension="" 1556 data-ga-custom-value="" 1557 data-sku="999910002">åæå è³¼ç©è»</button> 1558 <button 1559 class="btn buy-together hidden qk-btn qk-btn--primary qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" 1560 type="button" 1561 data-buy="quick_buy" 1562 data-brand="" 1563 data-id="69561326" 1564 data-category="" 1565 data-list="å®ç¢å細覽" 1566 data-name="éç®ææä¿å·ç¦®è¢" 1567 data-quantity="1" 1568 data-position="å ¨é " 1569 1570 data-ga-custom-dimension="" 1571 data-ga-custom-value="" 1572 data-sku="999910002">åæè³¼è²·</button> 1573 </div> 1574 1575 <div class="product_button_mobile qk-display--flex qk-align--center qk-hidden--pc"> 1576 <span class="product_love_mobile qk-display--il_bk"> 1577 <input 1578 type="hidden" 1579 class="product-variant-id" 1580 value="84890442" 1581 data-sku="999910002" 1582 1583 data-price="15.0" 1584 data-compare_at_price="15.0" 1585 1586 data-variant="" 1587 data-inventory_quantity="1401"> 1588 <a 1589 class="btn_love scupio-add-wishlist qk-text--text qk-fs--body qk-cursor--pointer" 1590 data-itemid="999910002" 1591 1592 > 1593 <div data-icon-type="custom_icon_type_tracking_items" ></div> 1594 1595 </a> 1596 </span> 1597 1598 <div class="cart qk-text--center qk-pd_x--05 qk-pd_y--0"> 1599 <a href="/cart" class="qk-display--il_flex qk-flex--row qk-justify--center qk-align--center qk-vert--mid qk-pos--rel"> 1600 <div data-icon-type="custom_icon_type_cart" ></div> 1601
1602 <span class="number global-cart-count qk-circle qk-circle--sm qk-bg--accent qk-text--white qk-text--center qk-vert--mid qk-pos--abs" style="display: none;">0</span> 1603 </a> 1604 </div> 1605 <!-- cyb_snippet _product_info_button_mobile start --> 1606<button 1607 class="btn addToCart_mobile btn_to_cart_mobile open_product_modal qk-btn qk-flex--1 qk-fs--title qk-text-truncate qk-bd--button qk-text--button" 1608 data-handle="999910002"> 1609 å å ¥è³¼ç©è»</button> 1610<button 1611 class="btn addToCart_mobile btn_quick_buy_mobile open_quick_buy_modal qk-btn qk-btn--primary qk-flex--1 qk-fs--title qk-text-truncate" 1612 data-handle="999910002"> 1613 ç«å³è³¼è²·</button> 1614 1615<!-- cyb_snippet _product_info_button_mobile end --> 1616 <!-- cyb_snippet _product_info_status_button start --> 1617<button class="btn btn_not_sale hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button"> 1618 å°æªéè³£ 1619</button> 1620<button class="btn btn_login_to_view hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button"> 1621 ç»å ¥æ¥çè³æ ¼ 1622</button> 1623<button class="btn btn_not_eligible hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button"> 1624 è³¼è²·è³æ ¼ä¸ç¬¦ 1625</button> 1626<!-- cyb_snippet _product_info_status_button end --> 1627 1628 <button class="btn btn_notice btn_notice_mobile hidden qk-btn qk-btn--primary qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button"> 1629 å·²å®å®ï¼è²¨å°éç¥æ 1630 </button> 1631 1632 <button class="btn btn_soldout hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button"> 1633 å·²å®å® 1634 </button> 1635 <button 1636 class="btn buy-together hidden qk-btn qk-flex--1 qk-fs--title qk-bd--button qk-text--button" 1637 type="button" 1638 data-brand="" 1639 data-id="69561326" 1640 data-category="" 1641 data-list="å®ç¢å細覽" 1642 data-name="éç®ææä¿å·ç¦®è¢" 1643 data-quantity="1" 1644 data-position="å ¨é " 1645 1646 data-sku="999910002">åæå è³¼ç©è»</button> 1647 <button 1648 class="btn buy-together hidden qk-btn qk-btn--primary qk-flex--1 qk-fs--title" 1649 type="button" 1650 data-buy="quick_buy" 1651 data-brand="" 1652 data-id="69561326" 1653 data-category="" 1654 data-list="å®ç¢å細覽" 1655 data-name="éç®ææä¿å·ç¦®è¢" 1656 data-quantity="1" 1657 data-position="å ¨é " 1658 1659 data-sku="999910002">åæè³¼è²·</button> 1660 1661 </div> 1662 1663 1664 1665 1666 1667 <!-- å å ¥ææ,é·å®æ¸é,ç´ å©ææµ --> 1668 <div class="product_others qk-display--flex qk-flex--wrap qk-align--center"> 1669 <span class="product_love qk-display--il_bk qk-hidden--phone"> 1670 <input 1671 type="hidden" 1672 class="product-variant-id" 1673 value="84890442" 1674 data-sku="999910002" 1675 1676 data-price="15.0" 1677 data-compare_at_price="15.0" 1678 1679 data-variant="" 1680 data-inventory_quantity="1401"> 1681 <a 1682 class="btn_love scupio-add-wishlist qk-text--text qk-fs--body qk-bd--default qk-bd--product_border qk-cursor--pointer qk-display--flex qk-align--center" 1683 data-itemid="999910002" 1684 1685 > 1686 <svg 1687 width="15" 1688 height="15"
1689 viewBox="0 0 24 24" 1690 fill="none" 1691 xmlns="http://www.w3.org/2000/svg"> 1692 <path 1693 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" 1694 stroke="currentColor" 1695 stroke-width="2" 1696 stroke-linecap="round" 1697 stroke-linejoin="round" /> 1698 </svg> 1699 å å ¥ææ 1700 </a> 1701 </span> 1702 1703 <span 1704 class="product_bonus qk-text--text qk-fs--body qk-display--il_bk" 1705 > 1706 æ¤åå ã æé« ãå¯ä»¥ææµç´ å© 1707 <span class="val">0</span> 1708 é» 1709 1710 (ç´çæ¼ <span class="money_tag" data-currency-from="TWD" data-amount="0">NT$0</span> ) 1711 </span> 1712 </div> 1713 </div> 1714 <!-- product content end --> 1715</div> 1716<div class="add-buy-products-container"> 1717 <!-- cyb_snippet add_buy_products start --> 1718 1719 1720 1721 1722<!-- cyb_snippet add_buy_products end --> 1723 1724</div> 1725
1726<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/cart-e958d46bfee2e69f.js' type='text/javascript'></script>
vendor: 1 bytes, line 1726
1726
1727<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/product_variant-e958d46bfee2e69f.js' type='text/javascript'></script>
1727 1728<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/product-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' />
1729<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/product_info-e958d46bfee2e69f.js' type='text/javascript'></script>
1729 1730 1731<!-- cyb_snippet new_addcart_modal start --> 1732<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/vue_product_modal-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' /> 1733 1734<div id="new-addcart-modal" class="container"> 1735 <transition name="modal"> 1736 <product-modal 1737 v-if="showProductModal" 1738 :only-description="onlyDescription" 1739 :product-url="popProductUrl" 1740 :color="color" 1741 :is-collection="isCollection" 1742 :is-show-description="isShowDescription" 1743 :is-quick-buy="isQuickBuy" 1744 :selected-variant-id="selectedVariantId" 1745 :categories="categories" 1746 :call-back="checkoutAddToCartCallback" 1747 ref="productModal" 1748 > 1749 </product-modal> 1750 </transition> 1751</div> 1752 1753<!-- cyb_snippet components/product_modal/product_modal start -->
1754<script type="text/x-template" id="product-modal"> 1755 <div class="modal-mask qk-h--100 qk-w--100 qk-l--0 qk-t--0 qk-pos--fixed" @click="closeModal"> 1756 <div class="modal-content qk-bd--none qk-center qk-bg--theme_bg" :class="{'only-description': onlyDescription}" @click.stop> 1757 <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> 1758 <div class="modal-body custom-scrollbar qk-w--100"> 1759 <div v-if="!isLoading"> 1760 <div id="checkout-product" class="row"> 1761 <div class="col-sm-6 col-xs-4"> 1762 <photo-swiper 1763 :mediaItems="swiperItems" 1764 :current-image-index="currentImageIndex" 1765 :current-variant="currentVariant" 1766 :video-after-image="videoAfterImage" 1767 ></photo-swiper> 1768 </div> 1769 <div class="col-sm-6 col-xs-8"> 1770 <h4 class="qk-fs--hd2 qk-fw--bold qk-text--heading qk-mg--0" v-html="product.title"></h4> 1771 <p class="product_brief qk-text--text qk-fs--body" v-html="product.brief"></p> 1772 <p class="product_slogan qk-text--heading qk-fs--body" v-html="product.slogan"></p> 1773 <div class="swiper_thumbnails" style="margin-bottom: 10px;"> 1774 <swiper-thumbnails 1775 :mediaItems="swiperItems" 1776 :current-image-index="currentImageIndex" 1777 :title="product.title" 1778 @update-current-image-index="(thumbnailIndex) => { currentImageIndex = thumbnailIndex }" 1779 ></swiper-thumbnails> 1780 </div> 1781 1782 <div v-if="!hidePrice" style="margin-bottom: 10px;"> 1783 1784 <span class="price-title qk-fs--body qk-fw--500 qk-text--heading">${ priceTitleTag }</span> 1785 1786 <div> 1787 <span v-html="variantPrice" class="variant-price qk-fs--hd1 qk-fw--bold" :class="[isDiscountPrice ? 'qk-text--discount_price' : 'qk-text--price']"></span> 1788 <del v-html="marketPrice" class="variant-del-price qk-fs--body qk-fw--500 qk-text--text"></del> 1789 </div> 1790 </div> 1791 <div v-if="!onlyDescription" class="controls"> 1792 <div class="variant-quantity qk-display--flex qk-flex--column"> 1793 <div v-if="hasVariant" class="product-variant-options"> 1794 <div v-for="(option, index) in optionInfo" class="product-variant-option" :class="{'product-variant-option--hidden': shouldHideSingleVariantOptions}"> 1795 <div class="advance variant-select-option" v-if="styledShopMenu==='dropDownType'"> 1796 1797 <label>${option.name}</label> 1798 <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> 1799 <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}`)"> 1800 <option value="null" class="select_option-hidden">è«é¸æ${option.name}</option> 1801 <option :style="{ visibility : isMobileSize ? 'hidden' : 'visible' }" v-for="(types) in option.types" :disabled="!types.isValid" :value="types.name">${types.name}</option> 1802 </select> 1803 <span class="select_placeholder-color" v-if="currentOption[`option${index + 1}`] === null" v-show="isMobileSize" @click="onClickSelectModal(option,`option${index + 1}`)">è«é¸æ${option.name}</span>
1804 <span v-else :value="currentOption[`option${index + 1}`]" v-show="isMobileSize" @click="onClickSelectModal(option,`option${index + 1}`)" v-html="currentOption[`option${index + 1}`]"></span> 1805 </div> 1806 <advance-option v-else :option-key="'option' + (index + 1)" :option="option" :current-option="currentOption" :toggle-current-option="toggleCurrentOption"/> 1807 </div> 1808 </div> 1809 <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)"> 1810 <div class="list_block custom-scrollbar qk-of_x--hidden"> 1811 <h4 class="qk-text--heading qk-fs--body">æ¤åååèçåªæ æ´»å 1812 </h4> 1813 <template v-if="displayPeriodicSalesPages"> 1814 <div v-for="salesPage in product.showableSalesPages" class="discount-list"> 1815 <span class="discount-label qk-fs--breadcrumb qk-bd--default qk-bd--accent qk-bg--white qk-display--il_bk qk-text--accent">宿å®é¡ 1816 </span> 1817 <a class="discount-title qk-text--accent qk-fs--body" :href="salesPage.path">${ salesPage.title }</a> 1818 </div> 1819 </template> 1820 <template v-for="discounts in discountsList"> 1821 <div v-for="discount in discounts" class="discount-list"> 1822 <a v-if="discount.url" :href="discount.url" class="discount-title qk-text--accent qk-fs--body"> 1823 ${ discount.title } 1824 </a> 1825 <span v-else class="discount-title qk-text--accent qk-fs--body">${ discount.title }</span> 1826 </div> 1827 </template> 1828 </div> 1829 </div> 1830 <div v-if="showPurchaseControls" class="product-quantity qk-bd--product_border" v-show="!isMobileSize"> 1831 <div class="btn-group qk-w--100" role="group" aria-label="First group"> 1832 <button class="btn add-down qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityDecrease">ï¼</button> 1833 <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"> 1834 <button class="btn add-up qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityIncrease">ï¼</button> 1835 </div> 1836 </div> 1837 </div> 1838 <div v-if="showPurchaseControls" class="add-button-wrapper"> 1839 <!-- cyb_snippet _product_modal_button start --> 1840<button 1841 class="btn btn-default add-button qk-cursor--pointer qk-w--100 qk-btn--primary" 1842 :class="{selected: isChoose, adding: adding || isHideAddCartBtn, secondary: isSecondaryBtn, 'qk-btn--disabled': isHideAddCartBtn && isNewNnCollection, 'qk-bd--none': isHideAddCartBtn && isNewNnCollection}" 1843 type="button" 1844 :disabled="isHideAddCartBtn" 1845 @click="addProduct" 1846> 1847 ${ addCartText } 1848</button> 1849 1850<!-- cyb_snippet _product_modal_button end --> 1851 </div> 1852 <div class="product-others qk-fs--body"> 1853 <span class="product-love"> 1854 <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"> 1855 <svg 1856 width="15" 1857 height="15"
1858 viewBox="0 0 24 24" 1859 fill="none" 1860 xmlns="http://www.w3.org/2000/svg"> 1861 <path 1862 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" 1863 stroke="currentColor" 1864 stroke-width="2" 1865 stroke-linecap="round" 1866 stroke-linejoin="round" /> 1867 </svg> 1868 å å ¥ææ 1869 </a> 1870 </span> 1871 <span class="product_sold qk-text--text" v-if="false"> 1872 <span>å·²é·å®ï¼ 1873 ${ product.totalSold } 1874 ä»¶ 1875 </span> 1876 </span> 1877 <span class="product_bonus qk-text--text" v-if="true"> 1878 æ¤åå ã æé« ãå¯ä»¥ææµç´ å© 1879 <span class="val qk-fw--600 qk-fs--hd2" v-if="currentVariant">${currentVariant.maxUsableBonus}</span> 1880 <span class="val qk-fw--600 qk-fs--hd2" v-else>${maxUsableBonus}</span> 1881 é» 1882 <span v-html="bonusToPrice"/> 1883 </span> 1884 </div> 1885 <div class='product_limit_buy qk-fs--body' v-show="product.minBuy > 0 || product.limitBuy > 0"> 1886 ${limitBuyText} 1887 </div> 1888 </div> 1889 </div> 1890 </div> 1891 <div v-if="isShowDescription" class="row"> 1892 <div class="col-sm-12"> 1893 1894 <div v-if="product.bodyHtml"> 1895 <h5 class="section-heading qk-bd--heading qk-fs--hd2 qk-text--heading"> 1896 ååä»ç´¹ 1897 </h5> 1898 <div class="ckeditor"> 1899 <div v-html="product.bodyHtml"></div> 1900 </div> 1901 </div> 1902 1903 1904 <div v-if="otherDescriptions['product_description_section_spec']"> 1905 <h5 class="section-heading qk-bd--heading qk-fs--hd2 qk-text--heading"> 1906 ååè¦æ ¼ 1907 </h5> 1908 <div class="ckeditor"> 1909 <div v-html="otherDescriptions['product_description_section_spec']"></div> 1910 </div> 1911 </div> 1912 1913 1914 </div> 1915 </div> 1916 </div> 1917 <div v-show="isLoading" style="text-align: center; padding-bottom: 20px;"> 1918 <i class="fas fa-spinner fa-spin fa-fw fa-2x"></i> 1919 </div> 1920 </div> 1921 <!-- cyb_snippet _product_modal_button_mobile start --> 1922 <div 1923 v-if="showPurchaseControls" 1924 v-show="isMobileSize" 1925 class="mobile_footer" 1926 :class="{'mobile_footer-z': variantSize > 1 }"> 1927 <div class="product-quantity"> 1928 <div class="btn-group qk-w--100" role="group" aria-label="First group"> 1929 <button class="btn add-down qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityDecrease">ï¼</button> 1930 <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"> 1931 <button class="btn add-up qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityIncrease">ï¼</button> 1932 </div> 1933 </div> 1934 <button 1935 v-if="!isLoading && !onlyDescription" 1936 class="btn btn-mobile add-button qk-btn qk-btn--primary qk-btn--lg" 1937 :class="{selected: isChoose, adding: adding || isHideAddCartBtn, 'qk-btn--disabled': isHideAddCartBtn && isNewNnCollection, 'qk-bd--none': isHideAddCartBtn && isNewNnCollection}" 1938 type="button" 1939 :disabled="isHideAddCartBtn" 1940 @click="addProduct"> 1941 ${ addCartText } 1942 </button> 1943</div> 1944<div 1945 class="mobile-modal" 1946 :class="{ 'modal-open': isModalSelectShow && isMobileSize }"> 1947 <div class="mobile_modal-content"> 1948 <div class="modal_close-button"> 1949 <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> 1950 </div> 1951 1952 <p>è«é¸æ${modalOption.name}</p> 1953 <div class="modal_select-templete qk-display--flex qk-of_y--auto qk-w--100"> 1954 <div class="options-container"> 1955 <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> 1956 </div> 1957 </div> 1958 <div v-if="variantSize > 1" class="modal_select_footer qk-display--flex"> 1959 <button type="button" class="modal_cancel qk-bd--default qk-btn--secondary qk-bd--button qk-text--button" @click="onChangeModalSelect(false,false)">åæ¶</button> 1960 <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> 1961 </div> 1962 </div> 1963</div> 1964 1965<!-- cyb_snippet _product_modal_button_mobile end --> 1966 </div> 1967 </div> 1968</script>
1968 1969 1970<!-- cyb_snippet components/product_modal/color_image_option start -->
1971<script id="color-image-option" type="text/x-template"> 1972 <div class="color-image qk-display--flex qk-flex--wrap qk-align--center"> 1973 <div class="title">é¡è²</div> 1974 <div 1975 v-for="(imageColor, index) in imageColors" 1976 :class="{ 1977 'focus': !currentOption[optionKey] === option.types[index].name && currentImageIndex === index, 1978 'selected': currentOption[optionKey] === option.types[index].name, 1979 'disabled': !option.types[index].isValid 1980 }" 1981 class="image-option img-flex qk-bd--default qk-bd--transparent qk-display--block qk-pos--rel" 1982 @mouseleave="setCurrentImageIndex(index)" 1983 @mouseover="getOptionImageIndex(index)" 1984 @click="setOption(optionKey, index)" 1985 > 1986 <img v-if="imageColor !== 'noColorImage'" :src="imageColor.large" alt="image"> 1987 <img v-else src="/assets/no-image-large.png" alt="image"> 1988 </div> 1989 </div> 1990</script>
1990 1991
1992<script type="text/javascript"> 1993 $(document).ready(function() { 1994 window.themeHelper.productModalComponents['color-image-option'] = { 1995 template: '#color-image-option', 1996 delimiters: ['${', '}'], 1997 props: { 1998 optionKey: String, 1999 option: Object, 2000 product: Object, 2001 imageColors: Array, 2002 isChoose: Boolean, 2003 currentImageIndex: Number, 2004 setCurrentImageIndex: Function, 2005 getOptionImageIndex: Function, 2006 currentOption: Object, 2007 toggleCurrentOption: Function, 2008 }, 2009 methods: { 2010 setOption: function(optionKey, index) { 2011 const type = this.option.types[index]; 2012 if(type.isValid){ 2013 this.toggleCurrentOption(optionKey, type.name); 2014 } 2015 } 2016 } 2017 }; 2018 }); 2019</script>
2019 2020 2021<!-- cyb_snippet components/product_modal/color_image_option end --> 2022<!-- cyb_snippet components/product_modal/advance_option start -->
2023<script id="advance-option" type="text/x-template"> 2024 <div class="advance"> 2025 <div class="title qk-text--heading qk-fs--body">${option.name}</div> 2026 <div 2027 v-for="type in option.types" 2028 :class="{ 2029 'selected': currentOption[optionKey] === type.name, 2030 'disabled': !type.isValid 2031 }" 2032 @click="setOption(optionKey, type)" 2033 class="option qk-btn qk-bd--button qk-text--button qk-pd_x--1" 2034 > 2035 ${type.name} 2036 </div> 2037 </div> 2038</script>
2038 2039
2040<script type="text/javascript"> 2041 $(document).ready(function() { 2042 window.themeHelper.productModalComponents['advance-option'] = { 2043 template: '#advance-option', 2044 delimiters: ['${', '}'], 2045 props: { 2046 optionKey: String, 2047 option: Object, 2048 product: Object, 2049 currentOption: Object, 2050 toggleCurrentOption: Function, 2051 }, 2052 methods: { 2053 setOption: function(optionKey, type) { 2054 if(type.isValid){ 2055 this.toggleCurrentOption(optionKey, type.name); 2056 } 2057 } 2058 } 2059 }; 2060 }); 2061</script>
2061 2062 2063<!-- cyb_snippet components/product_modal/advance_option end --> 2064 2065<!-- cyb_snippet components/product_modal/photo_swiper start --> 2066 2067
2068<script id="photo-swiper" type="text/x-template"> 2069 <div ref="photoSwiper" id="photo_swiper" class="photos swiper swiper-container"> 2070 <div class="swiper-wrapper"> 2071 <template v-if="hasImage"> 2072 <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"> 2073 <video-player v-if="item.url" :video="item" 2074 :video-poster=" !!mediaItems[firstImageIndex] ? mediaItems[firstImageIndex].large : '//cdn-general.cybassets.com/img_loading.svg' " 2075 > 2076 </video-player> 2077 <img v-else class="qk-center" :src="item.large" alt="image"/> 2078 </div> 2079 </template> 2080 <div v-else class="photo swiper-slide qk-align--center qk-display--flex qk-justify--center qk-vert--text_top default_scale"> 2081 <img src="//cdn-general.cybassets.com/assets/no-image-large-2b95ea56c455be9ce081d81c14eded925df68bf8fa38809e46f6af8fcdd5f9bc.png" alt="image" /> 2082 </div> 2083 </div> 2084 <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> 2085 <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> 2086 2087 <div class="photo-pagination qk-bd--default qk-bd--body qk-text--center qk-text--body qk-fs--breadcrumb qk-visible-sm"> 2088 <span class="current-index qk-text--default_dark">${currentImageIndex +1 }</span><span class="pagination-slash">/</span> 2089 <span>${mediaItems.length}</span> 2090 </div> 2091 </div> 2092</script>
2092 2093
2094<script> 2095 $(document).ready(function () { 2096 window.themeHelper.productModalComponents['photo-swiper'] = { 2097 template: '#photo-swiper', 2098 delimiters: ['${', '}'], 2099 props: { 2100 mediaItems: Array, 2101 currentImageIndex: Number, 2102 currentVariant: Object, 2103 videoAfterImage: Boolean, 2104 }, 2105 data: function () { 2106 return { 2107 swiper: {}, 2108 swiperOption: { 2109 preventInteractionOnTransition: true, 2110 rewind: true, 2111 spaceBetween: 5, 2112 slidesPerView: 1, 2113 navigation: { 2114 nextEl: '.photo-next', 2115 prevEl: '.photo-prev' 2116 } 2117 }, 2118 showBtn: true, 2119 isVariantReposition: false, 2120 } 2121 }, 2122 mounted: function() { 2123 this.swiper = new Swiper('#photo_swiper', this.swiperOption); 2124 this.swiper.on('slideChange', this.slideOnChange); 2125 }, 2126 watch: { 2127 currentImageIndex: function() { 2128 this.slideToIndex(); 2129 }, 2130 currentVariant: { 2131 immediate: true, 2132 handler: function() { 2133 this.showBtn = this.mediaItems.length > 1; 2134 this.isVariantReposition = true; 2135 this.$nextTick(() => { 2136 if (this.swiper) { 2137 this.swiper.update(); 2138 this.swiper.slideToLoop(this.initialItemIndex) 2139 this.slideOnChange(); 2140 this.isVariantReposition = false; 2141 } 2142 }); 2143 }, 2144 }, 2145 }, 2146 computed: { 2147 hasImage: function() { 2148 return this.mediaItems.length > 0; 2149 }, 2150 hasVideo: function() { 2151 return this.mediaItems.findIndex(item => !!item.url) !== -1; 2152 }, 2153 variantPhotos: function() { 2154 if (this.currentVariant?.photos?.length) { 2155 return this.currentVariant.photos; 2156 } else { 2157 return null; 2158 } 2159 }, 2160 initialItemIndex: function() { 2161 if (this.hasVideo && !this.videoAfterImage) { 2162 // Focus on photo if "variant with photos" selected, video otherwise 2163 return this.variantPhotos?.length ? 1 : 0; 2164 } else { 2165 // Focus on first photo 2166 return 0; 2167 } 2168 }, 2169 }, 2170 methods: { 2171 slideOnChange: function() { 2172 themeHelper.EventBus.$emit('photoOnChange', this.swiper.realIndex, this.isVariantReposition); 2173 }, 2174 slideToIndex: function() { 2175 if(this.swiper.realIndex != this.currentImageIndex) { 2176 this.swiper.slideToLoop(this.currentImageIndex); 2177 this.swiper.update(); 2178 } 2179 }, 2180 } 2181 }; 2182 }); 2183</script>
2183 2184 2185 2186<!-- cyb_snippet components/product_modal/video_player start -->
2187<script id="video-player" type="text/x-template"> 2188 <div class="videoPlayer__wrapper" @click="handleVideoClick"> 2189 <video 2190 id='modal-video' 2191 class="videoPlayer__video qk-cursor--pointer qk-center" 2192 :poster="videoPoster" 2193 loop defaultMuted muted playsinline webkit-playsinline autoplay 2194 > 2195 <source :src="videoUrl" type="video/mp4"> 2196 <p>ä½ çç覽å¨ä¸æ¯æ´ HTML 5 video</p> 2197 </video> 2198 <button id="modal-video-button" class="videoPlayer__pauseButton"></button> 2199 </div> 2200</script>
2200 2201
2202<script> 2203 $(document).ready(function () { 2204 window.themeHelper.productModalComponents['video-player'] = { 2205 template: '#video-player', 2206 delimiters: ['${', '}'], 2207 props: { 2208 video: Object, 2209 videoPoster: String, 2210 }, 2211 data: function() { 2212 return { 2213 videoElement: null, 2214 buttonElement: null, 2215 }; 2216 }, 2217 mounted: function() { 2218 this.videoElement = $('#modal-video')[0]; 2219 this.buttonElement = $('#modal-video-button'); 2220 this.setVideoVolumeZero(); 2221 this.videoElement.addEventListener('canplay', (event) => { 2222 this.sendGtag('play'); 2223 }, { once: true }); 2224 }, 2225 computed: { 2226 videoUrl: function() { 2227 return this.video.url; 2228 } 2229 }, 2230 methods: { 2231 sendGtag: function(action) { 2232 window.productVideoView && productVideoView(action); 2233 }, 2234 setVideoVolumeZero: function() { 2235 this.videoElement.volume = 0; 2236 }, 2237 handleVideoClick: function() { 2238 if (this.videoElement.paused){ 2239 this.videoElement.play(); 2240 this.sendGtag('play'); 2241 } else { 2242 this.videoElement.pause(); 2243 this.sendGtag('paused'); 2244 } 2245 this.handleVideoButtonDisplay(this.buttonElement, this.videoElement); 2246 }, 2247 handleVideoButtonDisplay: function(button, video) { 2248 button.toggleClass('videoPlayer__playButton', video.paused); 2249 button.toggleClass('videoPlayer__pauseButton', !video.paused); 2250 }, 2251 } 2252 }; 2253 }); 2254</script>
2254 2255 2256<!-- cyb_snippet components/product_modal/video_player end --> 2257 2258<!-- cyb_snippet components/product_modal/photo_swiper end --> 2259<!-- cyb_snippet components/product_modal/swiper_thumbnails start -->
2260<script id="swiper-thumbnails" type="text/x-template"> 2261 <div 2262 v-for="(thumbnail, index) in allThumbnails" 2263 :key="index" 2264 class="product-thumbnail img-flex qk-of--hidden qk-display--il_bk qk-cursor--pointer qk-bd--default qk-bd--transparent default_scale" 2265 :class="{ focus: index === currentImageIndex }" 2266 @mouseover="updateCurrentImageIndex(index)" 2267 > 2268 <template v-if="thumbnail.isVideo"> 2269 <video class="qk-w--100 qk-h--100" :src="thumbnail.url" defaultMuted playsinline></video> 2270 <button class="videoPlayer__playButton"></button> 2271 </template> 2272 <img v-else :src="thumbnail.url" :alt="title" class="qk-w--100 qk-h--100"> 2273 </div> 2274</script>
2274 2275
2276<script type="text/javascript"> 2277 $(document).ready(function () { 2278 window.themeHelper.productModalComponents['swiper-thumbnails'] = { 2279 template: '#swiper-thumbnails', 2280 delimiters: ['${', '}'], 2281 props: { 2282 title: String, 2283 mediaItems: Array, 2284 currentImageIndex: Number, 2285 }, 2286 emits: ['updateCurrentImageIndex'], 2287 methods: { 2288 updateCurrentImageIndex: function(thumbnailIndex) { 2289 if (thumbnailIndex !== this.currentImageIndex ) { 2290 this.$emit('updateCurrentImageIndex', thumbnailIndex); 2291 } 2292 }, 2293 }, 2294 mounted() { 2295 // can be removed after replacing video thumbnail with img 2296 const thumbnailVideo = $('.product-thumbnail video')[0]; 2297 if (!!thumbnailVideo) { 2298 thumbnailVideo.volume = 0; 2299 const promise = thumbnailVideo.play(); 2300 promise.then(() => { 2301 thumbnailVideo.pause(); 2302 }) 2303 } 2304 }, 2305 computed: { 2306 allThumbnails: function() { 2307 return this.mediaItems.map(item => ({ 2308 isVideo: !!item.url, 2309 url: item.url || item.medium 2310 })); 2311 }, 2312 }, 2313 watch: { 2314 allThumbnails: { 2315 handler(){ 2316 this.updateCurrentImageIndex(this.currentImageIndex); 2317 } 2318 } 2319 } 2320 }; 2321 }); 2322</script>
2322 2323 2324<!-- cyb_snippet components/product_modal/swiper_thumbnails end --> 2325 2326 2327<!-- cyb_snippet _product_modal_js start -->
2328<script type="text/javascript"> 2329 $(document).ready(function() { 2330 var categoryLevels = []; 2331 var productCategoryLevels = []; 2332 var pageMainProductId = 69561326; 2333 window.themeHelper.productModalComponents['product-modal'] = { 2334 template: '#product-modal', 2335 delimiters: [ 2336 '${', '}' 2337 ], 2338 props: { 2339 onlyDescription: Boolean, 2340 cartItems: Array, 2341 groupId: Number, 2342 productUrl: String, 2343 color: String, // unused 2344 collectionId: Number, 2345 categories: Array, 2346 // 夿·æ¯å¦æè²ç¥¨å±é 2347 isCollection: { 2348 type: Boolean, 2349 required: false, 2350 default: false, 2351 }, 2352 // 夿·å å ¥è³¼ç©è»çæ¹æ³ 2353 isNnCollection: Boolean, 2354 isNewNnCollection: Boolean, 2355 isBundleDiscount: Boolean, 2356 2357 // 夿·æ¯å¦é¡¯ç¤ºååæè¿° 2358 isShowDescription: { 2359 type: Boolean, 2360 default: true 2361 }, 2362 2363 // 夿·æ¯å¦çºç«å³è³¼è²· 2364 isQuickBuy: { 2365 type: Boolean, 2366 default: false 2367 }, 2368 selectedVariantId: Number, 2369 callBack: Function 2370 }, 2371 data: function() { 2372 return { 2373 styledShopMenu: "buttonType", 2374 selectOption: '', 2375 selectCurrentStr:'', 2376 isModalSelectShow: false, 2377 modalOption: {}, 2378 adding: false, 2379 currentImageIndex: 0, 2380 _navState: { variantId: null, photoIndex: 0 }, 2381 currentOption: { 2382 option1: null, 2383 option2: null, 2384 option3: null 2385 }, 2386 currentVariant: null, 2387 variantNotifications: null, 2388 currentVariantIndex: null, 2389 product: {}, 2390 isChoose: false, 2391 isLoading: true, 2392 isEmptyClickable: liquidHelper.isEmptyClickable, 2393 quantity: 1, 2394 maxUsableBonus: 0, 2395 isDiscountPrice: false, 2396 displayProductDiscountsList: true, 2397 displayPeriodicSalesPages:true, 2398 discountsList: null, 2399 hasVideoPlugin: true, 2400 videoDisplayLocation: "after", 2401 hasStockNotificationPlugin: true, 2402 isDisplayPriceRange: null, 2403 hasVariantPriceRangePlugin: true, 2404 hasHideSingleVariantOptionsPlugin: false, 2405 } 2406 }, 2407 mounted: function() { 2408 this.getProductDetail(); 2409 $('.custom-scrollbar').addCustomScrollbar(); 2410 themeHelper.EventBus.$on('photoOnChange', this.photoOnChange); 2411 }, 2412 beforeUnmount: function() { 2413 themeHelper.EventBus.$off('photoOnChange', this.photoOnChange); 2414 }, 2415 computed: { 2416 photoUrls: function() { 2417 return this.product.photoUrls.length > 0 2418 ? this.product.photoUrls 2419 : [this.featuredImage]; 2420 }, 2421 photoUrlsMap: function() { 2422 var map = {}; 2423 var urls = this.product.photoUrls; 2424 this.product.photos.forEach(function(photo, index) { 2425 map[photo.photo.id] = urls[index]; 2426 }); 2427 2428 return map; 2429 }, 2430 featuredImage: function() { 2431 return this.product.featuredImage; 2432 }, 2433 swiperPhotos: function() { 2434 if (!this.photoUrls.length) { 2435 return [this.featuredImage]; 2436 } 2437 2438 if (this.currentVariant && this.currentVariant.photos.length) { 2439 var map = this.photoUrlsMap; 2440 return this.currentVariant.photos.map(function(p) { 2441 return map[p.id]; 2442 }); 2443 } 2444 2445 return this.photoUrls; 2446 }, 2447 productVideo: function() { 2448 return this.product.video; 2449 }, 2450 videoAfterImage: function() { 2451 return this.videoDisplayLocation === 'after'; 2452 }, 2453 swiperItems: function() { 2454 const media = [...this.swiperPhotos]; 2455 if ( 2456 this.hasVideoPlugin && this.productVideo.url 2457 ) { 2458 this.videoAfterImage 2459 ? media.push(this.productVideo) 2460 : media.unshift(this.productVideo); 2461 } 2462 return media; 2463 }, 2464 firstImageIndex: function() { 2465 return this.hasVideoPlugin && this.productVideo.url && !this.videoAfterImage 2466 ? 1 2467 : 0 2468 }, 2469 otherDescriptions: function() { 2470 var descriptions = {}; 2471 this.product.otherDescriptions.forEach(function(od) { 2472 descriptions[od.settingName] = od.bodyHtml; 2473 }) 2474 return descriptions 2475 }, 2476 variantOptions: function() { 2477 return themeHelper.variantOptions(this.product); 2478 }, 2479 firstValidVariant: function() { 2480 var self = this; 2481 var result = this.product.variants.find(function(variant) { 2482 // å¢å product modal è¯çµ¡åºå®¶ property 2483 variant.imgUrl = ""; 2484 variant.productTitle = ""; 2485 2486 return variant.available; 2487 }); 2488 2489 return result 2490 ? result 2491 : null; 2492 }, 2493 selectedValidVariant: function() { 2494 var self = this; 2495 var result = this.variantOptions.find(function(variant) { 2496 return variant.id === self.selectedVariantId; 2497 }); 2498 2499 return result 2500 ? result 2501 : null; 2502 }, 2503 totalInventoryQuantity: function(product) { 2504 return themeHelper.totalInventoryQuantity(this.product) 2505 }, 2506 addCartText: function() { 2507 var variants = parseInt("0"); 2508 let isRegisteredNotification = this.currentVariant && this.variantNotifications && this.variantNotifications[this.currentVariant.id] 2509 if (this.isNnCollection || this.isBundleDiscount) { 2510 if (this.currentVariant && !themeHelper.variantIsAvailable(this.currentVariant)) { 2511 if (this.currentVariant.inventoryPolicy === 'continue') { 2512 if (this.isNnCollection) { 2513 return this.isChoose && !this.isNewNnCollection 2514 ? 'å·²é è³¼' 2515 : 'é è³¼åå'; 2516 } 2517 } else { 2518 return 'å·²å®å®'; 2519 } 2520 } 2521 if (this.totalInventoryQuantity === 0) { 2522 return 'å·²å®å®'; 2523 } 2524 return this.isChoose && !this.isNewNnCollection 2525 ? 'å·²é¸è³¼' 2526 : 'é¸è³¼'; 2527 } else { 2528 if (this.isQuickBuy) { 2529 if (this.currentVariant && !themeHelper.variantIsAvailable(this.currentVariant)) { 2530 if (this.currentVariant.inventoryPolicy === 'continue'){ 2531 return 'ç«å³é è³¼' 2532 } 2533 return this.hasStockNotificationPlugin 2534 ? (isRegisteredNotification 2535 ? 'å·²ç»è¨è£è²¨éç¥' 2536 : 'å·²å®å®ï¼è²¨å°éç¥æ') 2537 : 'è¯çµ¡åºå®¶' 2538 } 2539 return 'ç«å³è³¼è²·'; 2540 } else { 2541 if (this.currentVariant) { 2542 if (!themeHelper.variantIsAvailable(this.currentVariant)) { 2543 if (this.currentVariant.inventoryPolicy === 'continue'){ 2544 return 'é è³¼åå' 2545 } 2546 return this.hasStockNotificationPlugin 2547 ? (isRegisteredNotification 2548 ? 'å·²ç»è¨è£è²¨éç¥' 2549 : 'å·²å®å®ï¼è²¨å°éç¥æ') 2550 : 'è¯çµ¡åºå®¶' 2551 } 2552 } else { 2553 if (this.totalInventoryQuantity === 0) { 2554 return 'å·²å®å®'; 2555 } 2556 } 2557 return 'å å ¥è³¼ç©è»'; 2558 } 2559 } 2560 }, 2561 cartItem: function() { 2562 if (!this.currentVariant) { 2563 return null 2564 } 2565 return { 2566 id: this.currentVariant.id, 2567 groupId: this.groupId, 2568 productId: this.product.id, 2569 title: this.product.title, 2570 photo: this.currentVariant.imgUrl || this.featuredImage.large, 2571 quantity: this.quantity, 2572 price: this.currentVariant.price, 2573 variant: this.currentVariant, 2574 product: this.product 2575 } 2576 }, 2577 options: function() { 2578 return this.product.options; 2579 }, 2580 optionTypes: function() { 2581 2582 // å æ ¹æè¨å®çvariantsä¾æåº 2583 var self = this; 2584 2585 var option1 = []; 2586 var option2 = []; 2587 var option3 = [];
2588 this.product.variants.forEach(function(item) { 2589 if (item.option1 !== null) { 2590 option1.push(item.option1); 2591 } 2592 if (item.option2 !== null) { 2593 option2.push(item.option2); 2594 } 2595 if (item.option3 !== null) { 2596 option3.push(item.option3); 2597 } 2598 }) 2599 var filteredOptionTypes = []; 2600 this.product.optionTypes.forEach(function(item, index) { 2601 filteredOptionTypes.push(self.getUniqueVariant(eval('option' + ( 2602 index + 1 2603 ))).join(',')); 2604 }); 2605 return filteredOptionTypes; 2606 }, 2607 optionInfo: function() { 2608 var self = this; 2609 2610 return self.options.map(function(option, index) { 2611 return { 2612 name: option, 2613 types: self.getOptions('option' + ( 2614 index + 1 2615 ), self.optionTypes[index].split(',')) 2616 } 2617 }); 2618 }, 2619 hasVariant: function() { 2620 return this.product.options.length > 0; 2621 }, 2622 shouldHideSingleVariantOptions: function() { 2623 return this.hasHideSingleVariantOptionsPlugin && 2624 this.product.variants && 2625 this.product.variants.length <= 1; 2626 }, 2627 variantSize: function() { 2628 if(this.product.options){ 2629 return this.product.options.length; 2630 } 2631 }, 2632 firstVariant: function() { 2633 return this.product.variants[0]; 2634 }, 2635 firstCheapestVariant: function() { 2636 return this.product.variants.find((v)=> (v.price === this.priceStats.minPrice)); 2637 }, 2638 priceStats: function() { 2639 return this.product.variants.reduce(function(acc, variant) { 2640 return { 2641 minPrice: variant.price < acc.minPrice ? variant.price : acc.minPrice, 2642 maxPrice: variant.price > acc.maxPrice ? variant.price : acc.maxPrice, 2643 }; 2644 }, { 2645 minPrice: this.firstVariant.price, 2646 maxPrice: this.firstVariant.price, 2647 }); 2648 }, 2649 hidePrice: function() { 2650 return this.product && this.product.hidePrice === true; 2651 }, 2652 salesModePurchasable: function() { 2653 return !(this.product && this.product.salesModePurchasable === false); 2654 }, 2655 // - 任鏿æ£ï¼ç´ é ç¶ ï¼ã鏿ãåªæ¯å é²è©¦ç®æ¸ å®ï¼ä¸æç´æ¥ä¸å®ï¼æ åªæèå¹åå 2656 // - å ¶ä»æ å¢ï¼ååé ã群çµé ãå¤å±¤ç´åé¡ãæå°ãé¦é åååå¡ï¼ï¼ä¸å¯è³¼è²·ï¼å«èå¹ï¼å°±æ´çµæ¶æ 2657 showPurchaseControls: function() { 2658 if (this.isNnCollection || this.isBundleDiscount) { 2659 return !this.hidePrice; 2660 } 2661 return this.salesModePurchasable; 2662 }, 2663 variantPrice: function() { 2664 if (this.hidePrice) { 2665 return ''; 2666 } 2667 var from = liquidHelper.defaultCurrency; 2668 if (this.currentVariant) { 2669 return moneySymbol(this.currentVariant.price, from); 2670 } 2671 if (this.product.variants.length === 1) { 2672 return moneySymbol(this.firstVariant.price, from); 2673 } 2674 2675 var minPrice = this.priceStats.minPrice; 2676 var maxPrice = this.priceStats.maxPrice; 2677 2678 if (minPrice !== maxPrice && (!this.hasVariantPriceRangePlugin || this.isDisplayPriceRange)) { 2679 this.isDiscountPrice = false; 2680 return moneySymbol(minPrice, from) + '~' + moneySymbol(maxPrice, from); 2681 } else { 2682 return moneySymbol(minPrice, from); 2683 } 2684 }, 2685 marketPrice: function() { 2686 if (this.hidePrice) { 2687 this.isDiscountPrice = false; 2688 return; 2689 } 2690 var from = liquidHelper.defaultCurrency; 2691 if (this.currentVariant) { 2692 this.isDiscountPrice = false; 2693 if (this.currentVariant.compareAtPrice && this.currentVariant.compareAtPrice > this.currentVariant.price) { 2694 this.isDiscountPrice = true; 2695 return moneySymbol(this.currentVariant.compareAtPrice, from); 2696 } 2697 } else { 2698 if (!_.includes(this.variantPrice, '~')) { 2699 const price = Number(this.variantPrice.replace(/[^0-9.
2699-]/g, "")) 2700 // æªé¸ææ¬¾å¼ä¹ä¸é¡¯ç¤ºåéæï¼é¡¯ç¤ºç¬¬ä¸åæä¾¿å®ç款å¼çå®å¹ 2701 if (this.firstCheapestVariant.compareAtPrice && this.firstCheapestVariant.compareAtPrice > price){ 2702 this.isDiscountPrice = true; 2703 return moneySymbol(this.firstCheapestVariant.compareAtPrice, from); 2704 } 2705 // æªé¸ææ¬¾å¼æè¦æ¹åä¸è¬å¹æ ¼é¡è² 2706 this.isDiscountPrice = false; 2707 } 2708 } 2709 }, 2710 isShowDropdownList: function() { 2711 if (this.product.options.length > 0) { 2712 return true; 2713 } 2714 return this.product.variants.length > 1 2715 }, 2716 priceTitleTag: function() { 2717 return this.marketPrice 2718 ? getDiscountPriceName() 2719 : getDiscountPriceSuggestionName(); 2720 }, 2721 isHideAddCartBtn: function() { 2722 if (this.addCartText === 'å·²å®å®') { 2723 return true; 2724 } 2725 return false; 2726 }, 2727 isSecondaryBtn: function() { 2728 if (this.addCartText === 'è¯çµ¡åºå®¶') { 2729 return true; 2730 } 2731 return false; 2732 }, 2733 variantsMaxUsableBonus: function() { 2734 var variants = this.product.variants; 2735 var maxUsableBonusArray = variants.map(function(item) { 2736 return item.maxUsableBonus 2737 }); 2738 return Math.max.apply(null, maxUsableBonusArray); 2739 }, 2740 bonusToPrice: function() { 2741 const bonus = this.currentVariant 2742 ? this.currentVariant.maxUsableBonus 2743 : this.maxUsableBonus; 2744 const price = Math.floor(bonus / window.liquidHelper.conversionBonus); 2745 const priceWithMoney = window.themeHelper.productDisplayCurrencyBlock(price); 2746 return "(ç´çæ¼ value )".replace('value', priceWithMoney); 2747 }, 2748 isMobileSize: function() { 2749 return window.innerWidth <= 580 2750 }, 2751 limitBuyText: function () { 2752 const minCount = this.product.minBuy; 2753 const maxCount = this.product.limitBuy; 2754 if (minCount > 0 && maxCount > 0) { 2755 return 'æ¤å忝çè¨å®æå°é購買 minCount ä»¶ï¼æå¤å¯è³¼è²· maxCount ä»¶'.replace('minCount', minCount).replace('maxCount', maxCount); 2756 } 2757 if (minCount > 0) { 2758 return 'æ¤å忝çè¨å®æå°é購買 minCount ä»¶'.replace('minCount', minCount); 2759 } 2760 if (maxCount > 0) { 2761 return 'æ¤å忝çè¨å®æå¤å¯è³¼è²· maxCount ä»¶'.replace('maxCount', maxCount); 2762 } 2763 return ''; 2764 } 2765 }, 2766 methods: { 2767 onClickSelectModal: function(objData, selectOptionStr) { 2768 this.isModalSelectShow = true; 2769 this.modalOption = objData; 2770 this.selectOption = selectOptionStr 2771 this.selectCurrentStr = this.currentOption && (String(this.currentOption[selectOptionStr]) || null) 2772 }, 2773 onChangeModalSelect: function(flag, isSelect) { 2774 if(!isSelect){ 2775 this.setOption(this.selectOption,this.selectCurrentStr,this.modalOption.types) 2776 } 2777 this.isModalSelectShow = flag; 2778 }, 2779 setOption: function(optionKey, type, dataArr) { 2780 let flag = true 2781 dataArr.forEach(item => { 2782 if (item.name === type) { 2783 flag = item.isValid 2784 } 2785 }) 2786 if (flag) { 2787 this.toggleCurrentOption(optionKey, type) 2788 } 2789 }, 2790 addToWishListEvent: function() { 2791 try { 2792 if (appMarketAddToWishListEvent) { 2793 var product = this.product; 2794 var currentVariant = this.currentVariant 2795 var element = $(`.btn[data-id=${product.id}]`); 2796 var index; 2797 var listName; 2798 if (element) { 2799 index = element.data('position') 2800 listName = element.data('list') 2801 } 2802 // sku_properties:é¸ä¸æ¬¾å¼ç option pairs(ç¶åèªç³»),é¡åå zip å¼ 2803 var optionValues = [currentVariant.option1, currentVariant.option2, currentVariant.option3]; 2804 var properties = [];
2805 (product.options || []).forEach(function(optionName, i) { 2806 if (optionName && optionValues[i]) { 2807 properties.push({ name: optionName, value: optionValues[i] }); 2808 } 2809 }); 2810 var dataSet = { 2811 name: product.title, 2812 category: product.productType, 2813 categories: (this.categories && this.categories.length) ? this.categories : (categoryLevels.length ? categoryLevels : (product.id === pageMainProductId ? productCategoryLevels : undefined)), 2814 sku: currentVariant.sku, 2815 price: currentVariant.price, 2816 compare_at_price: currentVariant.compareAtPrice, 2817 properties: properties, 2818 quantity: currentVariant.inventoryQuantity, 2819 variant: currentVariant.title, 2820 listName: listName || null, 2821 productId: product.id, 2822 variantId: currentVariant.id, 2823 index: Number(index) || 0, 2824 } 2825 appMarketAddToWishListEvent(dataSet) 2826 } 2827 } catch (e) { 2828 console.error(e) 2829 } 2830 }, 2831 addWishList: function() { 2832 if (this.currentVariant === null) { 2833 window.msg('è«é¸æå忬¾å¼', 'warning').show(); 2834 return; 2835 } 2836 var productVariantId = this.currentVariant.id; 2837 var addToWishListEvent = this.addToWishListEvent 2838 $.ajax({ 2839 method: 'POST', 2840 url: '/tracking_items', 2841 dataType: 'json', 2842 data: { 2843 product_variant_id: productVariantId 2844 }, 2845 success: function(response) { 2846 if (response.message) { 2847 window.msg(response.message, 'success').show(); 2848 addToWishListEvent() 2849 } 2850 2851 if (response.error) { 2852 window.msg(response.error, 'error').show(); 2853 2854 } 2855 if (response.info) { 2856 window.msg(response.info, 'info').show(); 2857 } 2858 if (response.success === false) { 2859 if (window.liquidHelper && window.liquidHelper.language && window.liquidHelper.language.handle) { 2860 window.location = "/" + window.liquidHelper.language.handle + "/account/login"; 2861 } else { 2862 window.location = "/account/login"; 2863 } 2864 } 2865 } 2866 }); 2867 }, 2868 setChoose: function(currentVariant) { 2869 this.maxUsableBonus = 0; 2870 var quantity = 1; 2871 var cartItem = null; 2872 if (!this.isNnCollection && this.cartItems) { 2873 cartItem = this.normalGetChoosenItem(currentVariant); 2874 } 2875 if (this.isNnCollection) { 2876 cartItem = this.nnCollectionGetChoosenItem(currentVariant); 2877 } 2878 this.isChoose = !! cartItem; 2879 if (this.isNewNnCollection) { 2880 return 2881 } 2882 this.quantity = cartItem 2883 ? cartItem.quantity 2884 : this.quantity; 2885 2886 // product modal è¯çµ¡åºå®¶æ å¢ 2887 if (currentVariant) { 2888 var photoIndex = 0; 2889 if (! currentVariant.imgUrl) { 2890 currentVariant.imgUrl = this.swiperPhotos.length > 0 2891 ? (this.swiperPhotos[photoIndex] && this.swiperPhotos[photoIndex].large) 2892 : this.featuredImage.large; 2893 } 2894 currentVariant.productTitle = this.product.title + ' - ' + this.currentVariant.title; 2895 } 2896 }, 2897 normalGetChoosenItem: function(currentVariant) { 2898 return this.cartItems.find(function(cartItem) { 2899 return currentVariant && cartItem.id === currentVariant.id; 2900 }); 2901 }, 2902 nnCollectionGetChoosenItem: function(currentVariant) { 2903 var isSelected = null; 2904 if (! currentVariant) { 2905 return isSelected; 2906 } 2907 if (this.isNewNnCollection) { 2908 var cart = store.get(`SpecialCollectionCart_${this.collectionId}`); 2909 isSelected = cart && cart.find((item) => item.variant_id == currentVariant.id) || null; 2910 } else { 2911 store.each(function(value, key) { 2912 var productId = _.includes(key, 'Pro' + currentVariant.productId); 2913 var variantID = _.includes(key, 'Var' + currentVariant.id); 2914 if (productId && variantID) { 2915 isSelected = store.get(key); 2916 } 2917 }); 2918 } 2919 2920 return isSelected; 2921 }, 2922 // get product detail 2923 getProductDetail: function() { 2924 var self = this; 2925 2926 $.ajax({ 2927 url: self.productUrl + '.json', 2928 type: 'GET', 2929 timeout: 30000, 2930 beforeSend: function() { 2931 self.isLoading = true; 2932 }, 2933 error: function(xhr) { 2934 self.closeModal(); 2935 if (xhr.status === 429) { 2936 window.showAddCartRateLimitModal(5); 2937 return; 2938 } 2939 window.msg('網路é£ç·ç°å¸¸ï¼è«éæ°æ´ç', 'error').show(); 2940 } 2941 }).done(function(data) { 2942 if (data.id) { 2943 var productData = [themeHelper.toCamelCase(data)]; 2944 self.product = themeHelper.priceWithDiscount(productData, liquidHelper.hasPriceWithDiscountPlugin)[0]; 2945 self.maxUsableBonus = self.variantsMaxUsableBonus; 2946 if (self.product.variants.length === 1 || liquidHelper.isFirstVariantSelected || self.selectedVariantId) { 2947 self.currentVariant = self.firstValidVariant; 2948 // 妿已ç¶èªé¸ååï¼åååé 䏿»å å ¥è³¼ç©è»é¡¯ç¤ºèªé¸åå 2949 if (self.selectedVariantId) { 2950 self.currentVariant = self.selectedValidVariant; 2951 } 2952 if (self.currentVariant) { 2953 self.setChoose(self.currentVariant); 2954 self.setDefaultOption(); 2955 } 2956 } 2957 if (self.displayProductDiscountsList) { 2958 self.setUpDiscountsTag(data); 2959 } 2960 self.isLoading = false;
2961 if (self.product && self.product.variants) { 2962 self.product.variants.forEach(function(discountedVariant) { 2963 var rawVariant = data.variants.find(function(v) { return v.id === discountedVariant.id; }); 2964 if (rawVariant) { rawVariant.price = discountedVariant.price; } 2965 }); 2966 } 2967 viewItem && viewItem(data, { collectionId: '', collectionName: null, categories: (self.categories && self.categories.length) ? self.categories : (categoryLevels.length ? categoryLevels : (data.id === pageMainProductId ? productCategoryLevels : undefined)) }); 2968 2969 (function() { 2970 // Read login status from cacheable, skip GET /pv_notification if not login. 2971 if (window.store && window.store.get('customer')) { 2972 var cacheableCustomer = window.store.get('customer'); 2973 if (cacheableCustomer.notLogin) { 2974 return; 2975 } 2976 } 2977 $.ajax({ 2978 url: '/pv_notification', 2979 method: 'GET', 2980 dataType: 'json', 2981 data: { 2982 product_id: parseInt(data.id) 2983 }, 2984 success: function(response) { 2985 self.variantNotifications = response.variants; 2986 } 2987 }) 2988 })(); 2989 } else { 2990 window.msg('網路é£ç·ç°å¸¸ï¼è«éæ°æ´ç', 'error').show(); 2991 self.closeModal() 2992 } 2993 }) 2994 }, 2995 // product image btn 2996 photoOnChange: function(photoIndex, isVariantReposition) { 2997 var visiblePhotos = (this.currentVariant && this.currentVariant.photos.length) 2998 ? this.currentVariant.photos 2999 : this.product.photos.map(function(p) { return p.photo; }); 3000 var result = themeHelper.buildNavigateItemImagePayload(this._navState, { 3001 product: this.product, 3002 currentVariant: this.currentVariant, 3003 visiblePhotos: visiblePhotos, 3004 slideIndex: photoIndex, 3005 videoOffset: this.firstImageIndex, 3006 }); 3007 this._navState = result.nextState; 3008 if (result.payload && !isVariantReposition) { 3009 window.navigateItemImage(result.payload); 3010 } 3011 this.currentImageIndex = photoIndex; 3012 }, 3013 toggleCurrentOption: function(key, value) { 3014 this.currentOption[key] = 3015 (this.currentOption[key] === value || value === 'null') ? null : value; 3016 var variantIndex = this.getVariantIndex(); 3017 if (variantIndex !== -1) { 3018 this.currentVariant = this.product.variants[variantIndex]; 3019 } else { 3020 this.currentVariant = null; 3021 } 3022 this.setChoose(this.product.variants[variantIndex]); 3023 if (this.currentOption[key] !== null) { 3024 var optionIndex = parseInt(key.replace('option', '')) - 1; 3025 appStoreSelectItemEvent(this.product, this.product.options[optionIndex], this.currentOption[key], this.currentVariant); 3026 } 3027 }, 3028 toggleNotification: function() { 3029 var self = this; 3030 var variantId = this.currentVariant.id; 3031 3032 $.ajax({ 3033 url: '/toggle_pv_notification', 3034 method: 'POST', 3035 dataType: 'json', 3036 data: { 3037 product_variant_id: variantId 3038 }, 3039 success: function(response) { 3040 self.variantNotifications[variantId] = response.notice; 3041 window.msg(response.message, "success").show(); 3042 }, 3043 error: function(xhr) { 3044 var response = xhr.responseJSON; 3045 var msg = response && response.error || "網路é£ç·ç°å¸¸ï¼è«éæ°æ´ç"; 3046 window.msg(msg, "error").show(); 3047 } 3048 }) 3049 }, 3050 getOptionImageIndex: function(index) { 3051 this.currentImageIndex = index; 3052 }, 3053 quantityDecrease: function() { 3054 if (this.cartItem) { 3055 themeHelper.EventBus.$emit('quantityDecrease', this.cartItem, false); 3056 this.quantity = this.cartItem.quantity 3057 } else { 3058 window.msg("è«é¸æå忬¾å¼", 'warning').show(); 3059 } 3060 }, 3061 quantityIncrease: function() { 3062 if (this.cartItem) { 3063 themeHelper.EventBus.$emit('quantityIncrease', this.cartItem, false); 3064 this.quantity = this.cartItem.quantity 3065 } else { 3066 window.msg("è«é¸æå忬¾å¼", 'warning').show(); 3067 } 3068 }, 3069 quantityChange: function(el) { 3070 if (this.cartItem) { 3071 themeHelper.EventBus.$emit('quantityChange', parseInt(el.target.value), this.cartItem, false); 3072 this.quantity = this.cartItem.quantity; 3073 el.target.value = this.cartItem.quantity; 3074 } else { 3075 window.msg("è«é¸æå忬¾å¼", 'warning').show(); 3076 } 3077 }, 3078 addProduct: function() { 3079 if (this.addCartText === 'è¯çµ¡åºå®¶') { 3080 $('#messagebuy-Modal').data('variant', this.currentVariant); 3081 $('#messagebuy-Modal').modal('show'); 3082 $('#messagebuy-Modal').css("background-color", "rgba(0, 0, 0, .6)"); 3083 } else if ( 3084 this.addCartText === 'å·²ç»è¨è£è²¨éç¥' || 3085 this.addCartText === 'å·²å®å®ï¼è²¨å°éç¥æ' 3086 ) { 3087 this.toggleNotification(); 3088 } else { 3089 if (this.cartItem) { 3090 try { 3091 if (this.isChoose) { 3092 themeHelper.EventBus.$emit('updateStore', 'update', this.cartItem, this.callBack) 3093 } else { 3094 themeHelper.EventBus.$emit('updateStore', 'add', this.cartItem, this.callBack) 3095 } 3096 3097 this.adding = true; 3098 this.closeModal(); 3099 } catch (e) { 3100 window.msg("å忬¾å¼ç°å¸¸", 'error').show(); 3101 } 3102 } else { 3103 window.msg("è«é¸æå忬¾å¼", 'warning').show(); 3104 } 3105 } 3106 }, 3107 closeModal: function() { 3108 themeHelper.EventBus.$emit('closeProductModal'); 3109 }, 3110 setDefaultOption: function() { 3111 var self = this; 3112 Object.keys(self.currentOption).map(function(optionKey) { 3113 self.currentOption[optionKey] = self.currentVariant[optionKey]; 3114 }); 3115 }, 3116 getVariantIndex: function() { 3117 var self = this; 3118 return self.product.variants.findIndex(function(variant, index) { 3119 var isVariant = true;
3120 Object.keys(self.currentOption).forEach(function(option) { 3121 if (variant[option] !== self.currentOption[option]) { 3122 isVariant = false; 3123 } 3124 }); 3125 return isVariant; 3126 }); 3127 }, 3128 3129 // 篩é¸éè¤åé 3130 getUniqueVariant: function(variants) { 3131 return variants.filter(function(value, index, self) { 3132 return self.indexOf(value) === index; 3133 }); 3134 }, 3135 groupBy(xs, key) { 3136 return xs.reduce(function(rv, x) { 3137 (rv[x[key]] = rv[x[key]] || []).push(x); 3138 return rv; 3139 }, {}); 3140 }, 3141 setUpDiscountsTag(data) { 3142 var self = this; 3143 var languagePrefix = '/' + ((window.shopScriptHelper && window.shopScriptHelper.i18nLocale) || 'zh-TW'); 3144 $.ajax({ 3145 url: languagePrefix + self.productUrl + '/discounts_list', 3146 method: 'GET', 3147 success: function(result) { 3148 if (result.length > 0) { 3149 var discounts_list = self.groupBy(result, 'campaign_type'); 3150 self.discountsList = discounts_list; 3151 } else { 3152 self.discountsList = null; 3153 } 3154 } 3155 }); 3156 }, 3157 getOptions: function(optionKey, optionTypes) { 3158 var self = this; 3159 return optionTypes.map(function(optionType, index) { 3160 var isValid = true; 3161 3162 // é¸åºå å«ç®åtypeçvariant 3163 var matchVariants = self.product.variants.filter(function(variant) { 3164 return variant[optionKey] === optionType; 3165 }); 3166 3167 // 篩é¸å·²å¾é¸type 3168 Object.keys(self.currentOption).forEach(function(currentOptionKey) { 3169 if (currentOptionKey !== optionKey) { 3170 matchVariants = matchVariants.filter(function(variant) { 3171 if (self.currentOption[currentOptionKey]) { 3172 return variant[currentOptionKey] === self.currentOption[currentOptionKey] 3173 } else { 3174 return true; 3175 } 3176 }); 3177 } 3178 }); 3179 if (matchVariants.length === 0) { 3180 isValid = false; 3181 } 3182 if (! self.isEmptyClickable) { 3183 isValid = false; 3184 matchVariants.find(function(item) { 3185 if (item.inventoryQuantity === null || item.inventoryQuantity > 0 || item.inventoryPolicy === 'continue') { 3186 isValid = true; 3187 } 3188 }); 3189 } 3190 return {name: optionType, isValid: isValid} 3191 }); 3192 } 3193 } 3194 }; 3195 }); 3196</script>
3196 3197 3198<!-- cyb_snippet _product_modal_js end --> 3199 3200<!-- cyb_snippet components/product_modal/product_modal end --> 3201 3202<!-- cyb_snippet messagebuy_modal start --> 3203 3204 3205<!-- cyb_snippet messagebuy_modal end --> 3206<!-- cyb_snippet components/rate_limit_modal start --> 3207<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/rate_limit_modal-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' /> 3208 3209<div class="modal fade" id="rate-limit-modal" tabindex="-1" role="dialog" aria-hidden="true" data-backdrop="static" data-keyboard="false"> 3210 <div class="modal-dialog modal-dialog-centered" role="document"> 3211 <div class="modal-content"> 3212 <div class="modal-body"> 3213 <div class="qk-text--default_dark rate-limit-text"> 3214 <p id="rate-limit-title">ç®åæ¶è³¼äººæ½®ç¾å¤ï¼è«èå¿çå</p> 3215 <p class="qk-fs--body qk-fw--500 rate-limit-message"> 3216 <span class="qk-text--error" id="rate-limit-countdown"></span> 3217 <span id="rate-limit-desc"></span> 3218 </p> 3219 <p class="qk-fs--body qk-fw--500 rate-limit-message" id="rate-limit-warn">è¥é¢éæ¤é é¢ï¼å¯è½æå»¶é·çå¾ æéã</p> 3220 </div> 3221 <button id="rate-limit-btn" class="btn qk-btn qk-btn--primary" disabled>éæ°é²å ¥ååé </button> 3222 </div> 3223 </div> 3224 </div> 3225</div> 3226
3227<script> 3228 window.showRateLimitModal = function(countdownSec) { 3229 var countdown = countdownSec || 5; 3230 var $modal = $('#rate-limit-modal'); 3231 var $btn = $modal.find('#rate-limit-btn'); 3232 var $countdownEl = $modal.find('#rate-limit-countdown'); 3233 3234 $btn.show(); 3235 $modal.find('#rate-limit-desc').text(language["product_rate_limit_desc"]); 3236 $countdownEl.text(countdown); 3237 $btn.prop('disabled', true); 3238 $modal.modal('show'); 3239 3240 var timer = setInterval(function() { 3241 countdown--; 3242 $countdownEl.text(countdown); 3243 if (countdown <= 0) { 3244 clearInterval(timer); 3245 $btn.prop('disabled', false); 3246 } 3247 }, 1000); 3248 3249 $btn.off('click').on('click', function() { 3250 location.reload(); 3251 }); 3252 } 3253 3254 window.showAddCartRateLimitModal = function(countdownSec) { 3255 var countdown = countdownSec || 5; 3256 var $modal = $('#rate-limit-modal'); 3257 var $countdownEl = $modal.find('#rate-limit-countdown'); 3258 3259 $modal.find('#rate-limit-btn').hide(); 3260 $modal.find('#rate-limit-desc').text(language["addcart_rate_limit_desc"]); 3261 $countdownEl.text(countdown); 3262 $modal.modal('show'); 3263 3264 var timer = setInterval(function() { 3265 countdown--; 3266 $countdownEl.text(countdown); 3267 if (countdown <= 0) { 3268 clearInterval(timer); 3269 $modal.modal('hide'); 3270 } 3271 }, 1000); 3272 } 3273</script>
3273 3274 3275<!-- cyb_snippet components/rate_limit_modal end --> 3276
3277<script> 3278 $(document).ready(function() { 3279 const shouldSkipQuantityCheck = false; 3280 const newAddCartModalApp = new window.themeHelper.LiquidVueHandler({ 3281 componentNames: Object.keys(window.themeHelper.productModalComponents), 3282 mountSelector: '#new-addcart-modal', 3283 autoMount: false, 3284 }); 3285 3286 newAddCartModalApp.createApp({ 3287 el: '#new-addcart-modal', 3288 delimiters: ['${', '}'], 3289 data() { 3290 return { 3291 collectionId: 0, 3292 categories: [], 3293 color: '', // unused 3294 isCollection: true, 3295 productQuantity: 0, 3296 onlyDescription: false, 3297 showProductModal: false, 3298 popProductUrl: '', 3299 loading: false, 3300 }; 3301 }, 3302 mounted: function() { 3303 themeHelper.EventBus.$on('closeProductModal',this.closeProductModal); 3304 themeHelper.EventBus.$on('updateStore', this.addProduct); 3305 themeHelper.EventBus.$on('quantityDecrease', this.quantityDecrease); 3306 themeHelper.EventBus.$on('quantityIncrease', this.quantityIncrease); 3307 themeHelper.EventBus.$on('quantityChange', this.quantityChange); 3308 }, 3309 methods: { 3310 addProduct: function(actionType, productData, checkoutAddToCartCallback){ 3311 var self = this; 3312 var pageViewId = window.CYBERBIZ && window.CYBERBIZ.dis && window.CYBERBIZ.dis.pageViewId; 3313 $.ajax({ 3314 method: 'POST', 3315 url: '/cart/add', 3316 headers: pageViewId ? { 'X-Cyb-Page-View-Id': pageViewId } : {}, 3317 data: { 3318 id: productData.id, 3319 quantity: productData.quantity, 3320 }, 3321 dataType: 'json', 3322 beforeSend: function() { 3323 self.loading = true; 3324 themeHelper.ajaxLoadingMsg('loading'); 3325 $('.shopcart').dropdown('hide') 3326 $('.global-cart-count').hide(); 3327 $('.global-cart-loading').show(); 3328 $('.global-cart-loading').html('<i class="fa fa-spinner fa-pulse" style="vertical-align: middle;"></i>'); 3329 }, 3330 error: function(xhr) { 3331 $('.global-cart-loading').hide(); 3332 $('.global-cart-count').show(); 3333 self.loading = false; 3334 if (xhr.status === 429) { 3335 themeHelper.ajaxLoadingMsg('hide', 0); 3336 self.closeProductModal(); 3337 window.showAddCartRateLimitModal(5); 3338 return; 3339 } 3340 themeHelper.ajaxLoadingMsg('fail', 2000); 3341 } 3342 }).done(function(data, status, request){ 3343 // product modal ç«å³è³¼è²·æé 3344 window.sendAddToCartEvent && sendAddToCartEvent({ 3345 price: productData.price, 3346 quantity: productData.quantity, 3347 id: productData.product.id, 3348 name: productData.product.title, 3349 category: productData.product.productType, 3350 brand: productData.product.vendor, 3351 qc: productData.variant.qc, 3352 variant: { 3353 id: productData.variant.id, 3354 title: productData.variant.title, 3355 sku: productData.variant.sku, 3356 price: productData.variant.price, 3357 qc: productData.variant.qc, 3358 }, 3359 position: "ååå½åºè¦çª", 3360 request, 3361 }) 3362 if (self.isQuickBuy) { 3363 if (window.liquidHelper && window.liquidHelper.language && window.liquidHelper.language.handle) { 3364 window.location = "/" + window.liquidHelper.language.handle + "/cart"; 3365 } else { 3366 window.location = "/cart"; 3367 } 3368 } else { 3369 themeHelper.ajaxLoadingMsg('success'); 3370 pullNavCart(); 3371 $('.shopcart').dropdown('show') 3372 $('.global-cart-loading').hide(); 3373 self.loading = false; 3374 } 3375 if(typeof checkoutAddToCartCallback === 'function'){ 3376 var callbackData = { 3377 id: productData.id, 3378 quantity: productData.quantity, 3379 title: productData.product ? productData.product.title : productData.title || '' 3380 }; 3381 checkoutAddToCartCallback(callbackData) 3382 } 3383 peh.emit('product:add_to_cart', [{ 3384 variantId: productData.id, 3385 quantity: productData.quantity 3386 }], self.collectionId); 3387 }).fail(function(e){ 3388 if (e.status === 429) { 3389 return; 3390 } 3391 let err_msg = e.responseJSON.err_msg; 3392 err_msg && err_msg.length > 0 ? 3393 window.msg(e.responseJSON.err_msg, 'warning').show(): 3394 window.msg("å å ¥è³¼ç©è»æèª¤ï¼è«éæ°å試", 'warning').show(); 3395 }) 3396 }, 3397 quantityDecrease: function(cartItem, isAdded){ 3398 if (cartItem.quantity > 1) { 3399 cartItem.quantity -= 1; 3400 } else { 3401 window.msg("æ¸éä¸å¾çºä½æ¼ 1", 'warning').show(); 3402 } 3403 }, 3404 quantityIncrease: function(cartItem, isAdded){ 3405 const limitQuantity = cartItem.variant.inventoryQuantity; 3406 const limitBuy = cartItem.product.limitBuy 3407 if (limitBuy && cartItem.quantity >= limitBuy) { 3408 product_limit_buy = "æ¤ååéè³¼ limitBuy ä»¶".replace('limitBuy', limitBuy) 3409 window.msg(product_limit_buy, 'warning').show(); 3410 return; 3411 } else if (cartItem.quantity >= liquidHelper.cartQuantityLimit) { 3412 window.msg("æ¸éè¶ é購買ä¸é", 'warning').show(); 3413 } else if ( cartItem.quantity < limitQuantity || limitQuantity === null || 3414 cartItem.variant.inventoryPolicy == "continue" || shouldSkipQuantityCheck) { 3415 cartItem.quantity += 1; 3416 } else { 3417 this.showInventoryMessage(limitQuantity); 3418 } 3419 },
3420 quantityChange: function(quantity, cartItem, isAdded){ 3421 const limitBuy = cartItem.product.limitBuy 3422 var limitQuantity = cartItem.variant.inventoryQuantity; 3423 var inventoryPolicy = cartItem.variant.inventoryPolicy; 3424 if (Number.isInteger(quantity)) { 3425 if (quantity >= 1) { 3426 if (limitBuy && quantity >= limitBuy) { 3427 product_limit_buy = "æ¤ååéè³¼ limitBuy ä»¶".replace('limitBuy', limitBuy) 3428 window.msg(product_limit_buy, 'warning').show(); 3429 } else if (quantity > liquidHelper.cartQuantityLimit) { 3430 window.msg("æ¸éè¶ é購買ä¸é", 'warning').show(); 3431 } else if (quantity <= limitQuantity || limitQuantity === null || inventoryPolicy == "continue" || shouldSkipQuantityCheck) { 3432 cartItem.quantity = quantity; 3433 } else { 3434 cartItem.quantity = limitQuantity; 3435 this.showInventoryMessage(limitQuantity); 3436 } 3437 } else { 3438 window.msg("æ¸éä¸å¾çºä½æ¼ 1", 'warning').show(); 3439 } 3440 } else { 3441 window.msg("æ¸éè¼¸å ¥é¯èª¤", 'warning').show(); 3442 } 3443 }, 3444 popModal: function(productUrl, collectionId, color, isCollection, isShowDescription, isQuickBuy, variantId, checkoutAddToCartCallback, categories){ 3445 this.showProductModal = true; 3446 this.collectionId = collectionId; 3447 this.categories = categories || []; 3448 this.popProductUrl = productUrl; 3449 this.color = color || ''; // unused 3450 this.isCollection = isCollection || false; 3451 this.isShowDescription = isShowDescription != false; 3452 this.isQuickBuy = isQuickBuy || false; 3453 this.selectedVariantId = parseInt(variantId) || undefined; 3454 this.checkoutAddToCartCallback = checkoutAddToCartCallback; 3455 document.body.style.overflow = "hidden"; 3456 }, 3457 closeProductModal: function() { 3458 this.showProductModal = false; 3459 document.body.style.overflow = ""; 3460 }, 3461 showInventoryMessage: function(inventoryQuantity) { 3462 const stockMessage = "åå庫åå©é¤ count ä»¶".replace('count', inventoryQuantity || 0); 3463 window.msg(stockMessage, 'warning').show(); 3464 }, 3465 } 3466 }); 3467 3468 for (const componentName in window.themeHelper.productModalComponents) { 3469 newAddCartModalApp.component( 3470 componentName, 3471 window.themeHelper.productModalComponents[componentName], 3472 ); 3473 } 3474 3475 window.new_addcart_modal = newAddCartModalApp.mount(); 3476 }); 3477</script>
3477 3478 3479<!-- cyb_snippet new_addcart_modal end --> 3480<!-- cyb_snippet components/variant_options/variant_photos_block start -->
3481<script type="text/x-template" id="variant-photos-block"> 3482 <div class="product_photos qk-w--100"> 3483 <!-- æè²ç¥¨ --> 3484 <div class="product_photo img-flex qk-text--center" v-if="displayProductImagesColor"> 3485 <img id="photo_with_images_color" class="img-lazy" :src="imgLoadingImage" data-src="//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQxODYyMzZfYjM5ZjBlMzk0ZDc4MWU2YTIzZGYuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=e5035eca4d1205f4" alt="éç®ææä¿å·ç¦®è¢" width="450" height="450"> 3486 </div> 3487 <!-- æ²è²ç¥¨ --> 3488 <div class="swiper swiper-container product_img_swiper" v-else> 3489 <ul class="swiper-wrapper qk-pd--0 qk-mg--0"> 3490 <video-display 3491 v-if="shouldShowVideo && !videoAfterImage" 3492 :poster="!!showPhotos.length ? showPhotos[0].imageUrl : imgLoadingImage" 3493 :videoUrl="videoUrl" 3494 ></video-display> 3495 <li class="swiper-slide product_photo img-flex qk-text--center qk-of--hidden default_scale" 3496 v-for="photo in showPhotos" 3497 :key="photo.id" 3498 > 3499 <img 3500 :data-src="photo.imageUrl" 3501 width="450" 3502 height="450" 3503 class="swiper-lazy" 3504 alt="éç®ææä¿å·ç¦®è¢" 3505 @click="onEnlargePhotos()" 3506 /> 3507 <div class="swiper-lazy-preloader"></div> 3508 </li> 3509 <li v-if="showDefault" class="swiper-slide product_photo img-flex qk-text--center qk-of--hidden default_scale"> 3510 <img :src="imgLoadingImage" data-src="//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQxODYyMzZfYjM5ZjBlMzk0ZDc4MWU2YTIzZGYuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=e5035eca4d1205f4" alt="éç®ææä¿å·ç¦®è¢" width="450" height="450" class="swiper-lazy"> 3511 </li> 3512 <video-display 3513 v-if="shouldShowVideo && videoAfterImage" 3514 :poster="!!showPhotos.length ? showPhotos[0].imageUrl : imgLoadingImage" 3515 :videoUrl="videoUrl" 3516 ></video-display> 3517 </ul> 3518 <!-- Add Arrows --> 3519 <div class="photo-swiper-next qk-swiper_btn qk-swiper_btn--lg qk-swiper_btn--v1 qk-swiper_btn--next qk-hidden--mobile"></div> 3520 <div class="photo-swiper-prev qk-swiper_btn qk-swiper_btn--lg qk-swiper_btn--v1 qk-swiper_btn--prev qk-hidden--mobile"></div> 3521 <div class="photo-pagination qk-bd--default qk-bd--body qk-text--center qk-text--body qk-fs--breadcrumb qk-visible-sm"> 3522 <span class="current-index qk-text--default_dark">${activePhotoIndex + 1}</span><span class="pagination-slash">/</span> 3523 <span>${shouldShowVideo ? (showPhotos.length ? showPhotos.length + 1 : 2) : showPhotos.length || 1}</span> 3524 </div> 3525 </div> 3526 <!-- åçé 碼 --> 3527 <div v-if="showThumbnails" class="thumb qk-of--auto qk-hidden--phone"> 3528 <ul class="thumb-container qk-display--il_flex"> 3529 <video-thumbnail 3530 v-if="shouldShowVideo && !videoAfterImage" 3531 :active="isVideoActive" 3532 :video-url="videoUrl" 3533 @click="onClickThumbnail(videoIndex)" 3534 ></video-thumbnail> 3535 <li class="img-flex qk-bd--default qk-bd--border qk-cursor--pointer qk-of--hidden qk-display--il_flex" 3536 :class="{active: (shouldShowVideo && !videoAfterImage ? index + 1 : index) === activePhotoIndex}" 3537 v-for="(photo, index) in showPhotos" 3538 :key="photo.id" 3539 @click="onClickThumbnail(shouldShowVideo && !videoAfterImage ? index + 1 : index)" 3540 > 3541 <img class="img-lazy" :src="imgLoadingImage" :data-src="photo.imageUrl" alt="éç®ææä¿å·ç¦®è¢" width="50" height="50"> 3542 </li> 3543 <li v-if="showDefault" 3544 class="img-flex qk-bd--default qk-bd--border qk-of--hidden qk-display--il_flex" 3545 :class="{active: (shouldShowVideo && !videoAfterImage ? 1 : 0) === activePhotoIndex}" 3546 > 3547 <img class="img-lazy" :src="imgLoadingImage" data-src="//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5NTYxMzI2LzE3ODQxODYyMzZfYjM5ZjBlMzk0ZDc4MWU2YTIzZGYuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=e5035eca4d1205f4" alt="éç®ææä¿å·ç¦®è¢" width="50" height="50"> 3548 </li> 3549 <video-thumbnail 3550 v-if="shouldShowVideo && videoAfterImage" 3551 :active="isVideoActive" 3552 :video-url="videoUrl" 3553 @click="onClickThumbnail(videoIndex)" 3554 ></video-thumbnail> 3555 </ul> 3556 </div> 3557 </div> 3558</script>
3558 3559
3560<script type="text/javascript"> 3561 $(document).ready(function() { 3562 var autoSelectVariantBySku = true; 3563 3564 themeHelper.variantPhotosBlock.component('variant-photos-block', { 3565 template: '#variant-photos-block', 3566 delimiters: ['${', '}'], 3567 data: function() { 3568 return { 3569 variantPhotos: null, 3570 productPhotosMap: {}, 3571 productPhotos: [], 3572 manualSelectedVariant: false, 3573 activePhotoIndex: 0, 3574 _navState: { variantId: null, photoIndex: 0 }, 3575 suppressNavigateEvent: false, 3576 currentVariantForEvent: null, 3577 swiperPhotos: null, 3578 swiperGalleryChangeHandler: null, 3579 showDefault: true, 3580 videoUrl: '', 3581 videoAfterImage: false, 3582 imgLoadingImage:"//cdn-general.cybassets.com/img_loading.svg", 3583 thumbScrollHandler: null, 3584 thumbScrollTimeout: null, 3585 showThumbnails: false, 3586 } 3587 }, 3588 props: { 3589 displayProductImagesColor: Boolean, 3590 productPhotosJson: String, 3591 productVideo: Object, 3592 videoDisplayLocation: String, 3593 productId: [String, Number], 3594 productTitle: String, 3595 }, 3596 mounted: async function() { 3597 this.productPhotos = JSON.parse(this.productPhotosJson.replace(/'/g, '"')); 3598 this.productPhotosMap = 3599 this.productPhotos.reduce((acc, cur) => { 3600 acc[cur.id] = cur; 3601 return acc; 3602 }, {}); 3603 this.videoUrl = !!this.productVideo && this.productVideo.url; 3604 this.showDefault = !this.showPhotos.length; 3605 this.videoAfterImage = this.videoDisplayLocation === 'after'; 3606 themeHelper.EventBus.$on('updatePhotos', this.onUpdatePhotos); 3607 this.swiperGalleryChangeHandler = (_event, payload) => this.onSwiperGalleryChange(payload); 3608 $(document).on('swiper-gallery-change', this.swiperGalleryChangeHandler); 3609 3610 var sku = window.getURLParameter('sku'); 3611 3612 if (sku && autoSelectVariantBySku) { 3613 themeHelper.EventBus.$on('skuReady', this.onSkuReady); 3614 } else { 3615 this.showThumbnails = true; 3616 await this.initPhotosUI(); 3617 } 3618 }, 3619 beforeUnmount: function() { 3620 this.removeThumbScrollListener(); 3621 if (this.swiperGalleryChangeHandler) { 3622 $(document).off('swiper-gallery-change', this.swiperGalleryChangeHandler); 3623 } 3624 }, 3625 methods: { 3626 navigateItemImagePayload: function(state, slideIndex, videoOffset) { 3627 return themeHelper.buildNavigateItemImagePayload(state, { 3628 product: { id: this.productId, title: this.productTitle }, 3629 currentVariant: this.currentVariantForEvent, 3630 visiblePhotos: this.showPhotos, 3631 slideIndex: slideIndex, 3632 videoOffset: videoOffset, 3633 }); 3634 }, 3635 initPhotosUI: async function() { 3636 await this.$nextTick(); 3637 this.initSwiper(); 3638 3639 this._navState = this.navigateItemImagePayload(this._navState, this.initialItemIndex, this.videoOffset).nextState; 3640 3641 // åå§åç¸®åæ»¾åç£è½ 3642 this.initThumbScrollListener(); 3643 3644 const videoElement = $('.product_video.swiper-slide-active video')[0]; 3645 if (videoElement) { 3646 videoElement.addEventListener('canplay', (event) => { 3647 this.sendGtag('play'); 3648 }, { once: true }); 3649 } 3650 }, 3651 onSkuReady: async function() { 3652 await this.initPhotosUI(); 3653 this.showThumbnails = true; 3654 await this.$nextTick(); 3655 imgLazyLoad.update(); 3656 themeHelper.EventBus.$emit('skuPhotosReady'); 3657 }, 3658 initThumbScrollListener: function() { 3659 const thumbScrollContainer = this.$el.querySelector('.thumb'); 3660 3661 if (thumbScrollContainer) { 3662 this.removeThumbScrollListener(); 3663 this.thumbScrollHandler = () => { 3664 clearTimeout(this.thumbScrollTimeout); 3665 this.thumbScrollTimeout = setTimeout(() => { 3666 if (window.imgLazyLoad) { 3667 imgLazyLoad.update(); 3668 } 3669 }, 100); 3670 };
3671 thumbScrollContainer.addEventListener('scroll', this.thumbScrollHandler); 3672 } 3673 }, 3674 removeThumbScrollListener: function() { 3675 const thumbScrollContainer = this.$el.querySelector('.thumb'); 3676 3677 if (thumbScrollContainer && this.thumbScrollHandler) { 3678 thumbScrollContainer.removeEventListener('scroll', this.thumbScrollHandler); 3679 clearTimeout(this.thumbScrollTimeout); 3680 this.thumbScrollHandler = null; 3681 } 3682 }, 3683 sendGtag: function(action){ 3684 window.productVideoView && productVideoView(action); 3685 }, 3686 handleVideoClick: function() { 3687 const video = $('.product_video.swiper-slide-active video')[0]; 3688 const button = $('.product_video.swiper-slide-active button'); 3689 if (video.paused){ 3690 video.play(); 3691 this.sendGtag('play'); 3692 } else { 3693 video.pause(); 3694 this.sendGtag('paused'); 3695 } 3696 this.handleVideoButtonDisplay(button, video); 3697 }, 3698 handleVideoButtonDisplay: function(button, video) { 3699 button.toggleClass('videoPlayer__playButton', video.paused); 3700 button.toggleClass('videoPlayer__pauseButton', !video.paused); 3701 }, 3702 onUpdatePhotos: async function(currentVariant) { 3703 this.suppressNavigateEvent = true; 3704 this.currentVariantForEvent = currentVariant && currentVariant.variant 3705 ? { id: currentVariant.variant.id, sku: currentVariant.variant.sku } 3706 : null; 3707 if (this.swiperPhotos) { 3708 this.swiperPhotos.destroy(true, true); 3709 } 3710 $('.product_img_swiper .swiper-slide-duplicate').remove(); 3711 $('.product_img_swiper .swiper-lazy-loading').removeClass('swiper-lazy-loading'); 3712 this.manualSelectedVariant = currentVariant ? currentVariant.withSpecificVariant : false; 3713 if (currentVariant && currentVariant.photos.length) { 3714 this.variantPhotos = currentVariant.photos.map(p => this.productPhotosMap[p.id]); 3715 } else { 3716 this.variantPhotos = null; 3717 } 3718 3719 this.activePhotoIndex = this.initialItemIndex; 3720 3721 this._navState = this.navigateItemImagePayload(this._navState, this.activePhotoIndex, this.videoOffset).nextState; 3722 await this.$nextTick(); 3723 imgLazyLoad.update(); 3724 this.initSwiper(); 3725 this.suppressNavigateEvent = false; 3726 }, 3727 onEnlargePhotos: function() { 3728 gallery_img.updateImgs(this.maxPhotos); 3729 gallery_img.toggleGallery(true, { 3730 index: this.swiperPhotos.realIndex - this.videoOffset 3731 }); 3732 }, 3733 onSwiperGalleryChange: function(payload) { 3734 if (!payload || payload.galleryName !== 'img') return; 3735 3736 var result = this.navigateItemImagePayload( 3737 { 3738 variantId: this.currentVariantForEvent ? this.currentVariantForEvent.id : null, 3739 photoIndex: payload.fromIndex, 3740 }, 3741 payload.toIndex, 3742 0 3743 ); 3744 3745 if (result.payload && !this.suppressNavigateEvent) { 3746 window.navigateItemImage(result.payload); 3747 } 3748 }, 3749 onClickThumbnail: function(index) { 3750 this.activePhotoIndex = index; 3751 this.swiperPhotos.slideTo(index + 1, 500); 3752 }, 3753 setVideosVolumeZero: function() { 3754 // video duplication because of swiper loop mode 3755 const videos = $('.product_video video'); 3756 videos.each((_index, el)=> { 3757 el.volume = 0; 3758 }); 3759 }, 3760 initSwiper: function() { 3761 var self = this; 3762 this.swiperPhotos = new Swiper('.product_img_swiper', { 3763 preloadImages: false, 3764 lazy: { 3765 loadPrevNext: true, 3766 }, 3767 loop: true, 3768 navigation: { 3769 nextEl: '.photo-swiper-next', 3770 prevEl: '.photo-swiper-prev', 3771 }, 3772 initialSlide: this.initialItemIndex, 3773 }); 3774 if (self.videoUrl) { 3775 self.setVideosVolumeZero(); 3776 } 3777 this.swiperPhotos.on('touchEnd', function () { 3778 setTimeout(function() { 3779 self.activePhotoIndex = self.swiperPhotos.realIndex; 3780 }, 300); 3781 }); 3782 this.swiperPhotos.on('activeIndexChange', function() { 3783 self.activePhotoIndex = self.swiperPhotos.realIndex; 3784 }); 3785 this.swiperPhotos.on('click', function () { 3786 if (self.isVideoActive) { 3787 self.handleVideoClick() 3788 } 3789 }); 3790 this.swiperPhotos.on('transitionEnd', function () { 3791 if (self.isVideoActive) { 3792 const video = $('.product_video.swiper-slide-active video')[0]; 3793 const button = $('.product_video.swiper-slide-active button'); 3794 self.handleVideoButtonDisplay(button, video); 3795 } 3796 }); 3797 } 3798 }, 3799 computed: { 3800 shouldShowVideo: function() { 3801 return !!this.videoUrl; 3802 }, 3803 initialItemIndex: function() { 3804 if (this.shouldShowVideo && !this.videoAfterImage) { 3805 // Focus on photo if "variant with photos" selected, video otherwise 3806 return (this.manualSelectedVariant && !!this.variantPhotos?.length) ? 1 : 0; 3807 } else { 3808 // Focus on first photo 3809 return 0; 3810 } 3811 }, 3812 isVideoActive: function() { 3813 return this.shouldShowVideo && this.activePhotoIndex === this.videoIndex; 3814 }, 3815 showPhotos: function() { 3816 return this.variantPhotos || this.productPhotos; 3817 }, 3818 maxPhotos: function() { 3819 return this.showPhotos.map(p => p.imageMaxUrl); 3820 }, 3821 videoIndex: function(){ 3822 return this.videoAfterImage 3823 ? this.manualSelectedVariant && !!this.variantPhotos?.length 3824 ? this.variantPhotos?.length 3825 : this.showPhotos.length || 1 3826 : 0 3827 }, 3828 videoOffset: function() { 3829 return (this.shouldShowVideo && !this.videoAfterImage) ? 1 : 0; 3830 }, 3831 }, 3832 watch: { 3833 activePhotoIndex: function(newIndex) { 3834 var result = this.navigateItemImagePayload(this._navState, newIndex, this.videoOffset); 3835 this._navState = result.nextState; 3836 if (result.payload && !this.suppressNavigateEvent) { 3837 window.navigateItemImage(result.payload); 3838 } 3839 }, 3840 } 3841 }); 3842 }) 3843</script>
3843 3844 3845<!-- cyb_snippet components/variant_options/video_display start -->
3846<script type="text/x-template" id="video-display"> 3847 <li 3848 class="swiper-slide product_video img-flex qk-text--center qk-of--hidden default_scale"> 3849 <div class="videoPlayer__wrapper qk-of--hidden"> 3850 <video 3851 class="videoPlayer__video qk-cursor--pointer" 3852 :poster="poster" 3853 loop defaultMuted muted playsinline webkit-playsinline autoplay 3854 > 3855 <source :src="videoUrl" type="video/mp4"> 3856 <p>ä½ çç覽å¨ä¸æ¯æ´ HTML 5 video</p> 3857 </video> 3858 <button class="videoPlayer__pauseButton"></button> 3859 </div> 3860 </li> 3861</script>
3861 3862
3863<script type="text/javascript"> 3864 $(document).ready(function() { 3865 themeHelper.variantPhotosBlock.component('video-display', { 3866 template: '#video-display', 3867 delimiters: ['${', '}'], 3868 data: function() { 3869 return { 3870 imgLoadingImage:"//cdn-general.cybassets.com/img_loading.svg", 3871 } 3872 }, 3873 props: { 3874 poster: String, 3875 showPhotos: Object, 3876 videoUrl: String, 3877 }, 3878 }); 3879 }) 3880</script>
3880 3881 3882<!-- cyb_snippet components/variant_options/video_display end --> 3883<!-- cyb_snippet components/variant_options/video_thumbnail start -->
3884<script type="text/x-template" id="video-thumbnail"> 3885 <li 3886 :class="{active}" 3887 class="img-flex qk-bd--default qk-bd--border qk-cursor--pointer qk-of--hidden qk-display--il_flex" 3888 @click="click" 3889 > 3890 <video width="50" height="50"> 3891 <source :src="videoUrl" type="video/mp4"> 3892 </video> 3893 <button class="videoPlayer__playButton"></button> 3894 </li> 3895</script>
3895 3896
3897<script type="text/javascript"> 3898 $(document).ready(function() { 3899 themeHelper.variantPhotosBlock.component('video-thumbnail', { 3900 template: '#video-thumbnail', 3901 delimiters: ['${', '}'], 3902 props: { 3903 active: Boolean, 3904 click: Function, 3905 videoUrl: String, 3906 }, 3907 }); 3908 }) 3909</script>
3909 3910 3911<!-- cyb_snippet components/variant_options/video_thumbnail end --> 3912 3913<!-- cyb_snippet components/variant_options/variant_photos_block end --> 3914<!-- cyb_snippet components/variant_options/variant_options_block start -->
3915<script type="text/x-template" id="variant-options-block"> 3916 <div> 3917 <div v-for="(option, index) in optionInfo" class="product-variant-option" :class="{'product-variant-option--hidden': shouldHideSingleVariantOptions}"> 3918 <p></p> 3919 <color-option 3920 v-if="isImageColor && option.name === 'é¡è²'" 3921 :option-key="'option' + (index + 1)" 3922 :option="option" 3923 :image-colors="imageColors" 3924 :current-image-index="currentImageIndex" 3925 :set-current-image-index="setCurrentImageIndex" 3926 :get-option-image-index="getOptionImageIndex" 3927 :current-option="currentOption" 3928 /> 3929 <div class="advance variant-select-option" v-else-if="styledShopMenu==='dropDownType'"> 3930 3931 <label>${option.name}</label> 3932 <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> 3933 <select v-show="!isMobileSize" class="qk-bg--theme_bg" :class="{'select_placeholder-color': currentOption[`option${index + 1}`] === null}" :value="String(currentOption[`option${index + 1}`])" @change="setOption(`option${index + 1}`, $event.target.value, option.types )" > 3934 <option value="null" class="select_option-hidden">è«é¸æ${option.name}</option> 3935 <option v-for="(types) in option.types" :disabled="!types.isValid" :value="types.name">${types.name}</option> 3936 </select> 3937 <span class="select_placeholder-color" v-if="currentOption[`option${index + 1}`] === null" v-show="isMobileSize" @click="onClickSelectModal(option,`option${index + 1}`)">è«é¸æ${option.name}</span> 3938 <span v-else :value="currentOption[`option${index + 1}`]" v-show="isMobileSize" @click="onClickSelectModal(option,`option${index + 1}`)" v-html="currentOption[`option${index + 1}`]"></span> 3939 </div> 3940 <advance-variant-option 3941 v-else 3942 :option-key="'option' + (index + 1)" 3943 :option="option" 3944 :current-option="currentOption" 3945 /> 3946 </div> 3947 <div class="mobile-modal" :class="{ 'modal-open': isModalSelectShow && isMobileSize }"> 3948 <div class="mobile_modal-content"> 3949 3950 <div class="modal_close-button"> 3951 <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> 3952 </div> 3953 <p>è«é¸æ${modalOption.name}</p> 3954 <div class="modal_select-templete qk-display--flex qk-of_y--auto qk-w--100"> 3955 <div class="options-container"> 3956 <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> 3957 </div> 3958 </div> 3959 <div v-if="isCartEnabled && salesModePurchasable" class="modal_select_footer qk-display--flex qk-hidden--pc"> 3960 <div v-show="variantSize === 1" class="qk-display--flex qk-w--100"> 3961 <div class="product_variant_quantity"> 3962 <span class="product_quantity"> 3963 <div v-if="isModalSelectShow && isMobileSize" class="btn-group" role="group" aria-label="First group"> 3964 <button class="btn add-down qk-bd--product_border" type="button" @click="quantityChange(false)" ></button> 3965 <input class="btn item-quantity qk-text--heading qk-bd--product_border" type="text" name="quantity" value="1" data-old-value="1"> 3966 <button class="btn add-up qk-bd--product_border" type="button" @click="quantityChange(true)"></button> 3967 </div> 3968 </span> 3969 </div> 3970 <button 3971 class="btn addToCart_mobile btn_to_cart_mobile open_product_modal qk-btn qk-btn--secondary qk-flex--1 qk-fs--breadcrumb qk-text-truncate" 3972 data-handle="999910002"> 3973 å å ¥è³¼ç©è»</button> 3974 </div> 3975 <div v-show="variantSize > 1" class="qk-display--flex qk-w--100"> 3976 <button type="button" class="modal_cancel qk-w--50 qk-bd--default qk-btn--secondary qk-bd--button qk-text--button" @click="onChangeModalSelect(false,false)">åæ¶</button> 3977 <button type="button" class="qk-btn qk-w--50 qk-btn--primary qk-btn--lg qk-fs--body qk-bd--button qk-test--button_text" @click="onChangeModalSelect(false,true)">宿</button> 3978 </div> 3979 </div> 3980 </div> 3981 </div> 3982 </div> 3983</script>
3983 3984 3985<!-- cyb_snippet components/variant_options/color_image_option start -->
3986<script id="color-option" type="text/x-template"> 3987 <div class="option color_option"> 3988 <span class="title qk-text--heading">ååé¡è²:</span> 3989 <label 3990 v-for="(imageColor, index) in imageColors" 3991 :class="{ 3992 'image-option': true, 3993 'selected': selectedClass(index), 3994 'disabled': disabledClass(index), 3995 }" 3996 @mouseleave="setCurrentImageIndex(index)" 3997 @mouseover="getOptionImageIndex(index)" 3998 @click="setOption(optionKey, index)" 3999 class="qk-bd--default qk-bd--border" 4000 > 4001 <span class="img-flex qk-display--il_bk"> 4002 <img v-if="imageColor !== 'noColorImage'" :src="imageColor.large" alt="image"> 4003 <img v-else src="/assets/no-image-large.png" alt="image"> 4004 </span> 4005 </label> 4006 </div> 4007</script>
4007 4008
4009<script type="text/javascript"> 4010 $(document).ready(function () { 4011 themeHelper.variantOptionsBlock.component('color-option', { 4012 template: '#color-option', 4013 delimiters: ['${', '}'], 4014 props: { 4015 optionKey: String, 4016 option: Object, 4017 imageColors: Array, 4018 setCurrentImageIndex: Function, 4019 getOptionImageIndex: Function, 4020 currentOption: Object, 4021 }, 4022 methods: { 4023 setOption: function(optionKey, index) { 4024 var type = this.option.types[index]; 4025 if (type.isValid) { 4026 themeHelper.EventBus.$emit('toggleCurrentOption', optionKey, type.name); 4027 } 4028 }, 4029 selectedClass: function(index) { 4030 return this.currentOption[this.optionKey] === this.option.types[index].name; 4031 }, 4032 disabledClass: function(index) { 4033 return !this.option.types[index].isValid; 4034 }, 4035 }, 4036 }); 4037 }); 4038</script>
4038 4039 4040<!-- cyb_snippet components/variant_options/color_image_option end --> 4041<!-- cyb_snippet components/variant_options/advance_option start -->
4042<script id="advance-variant-option" type="text/x-template"> 4043 <div class="advance"> 4044 <div class="option_title qk-text--heading">${option.name}</div> 4045 <label 4046 v-for="type in option.types" 4047 :class="{ 4048 'selected': selectedClass(type), 4049 'disabled': disabledClass(type), 4050 }" 4051 @click="setOption(optionKey, type)" 4052 class="option qk-btn qk-btn--md qk-bd--button qk-text--button qk-text--center qk-pd_x--1" 4053 > 4054 <span class="text">${type.name}</span> 4055 </label> 4056 </div> 4057</script>
4057 4058
4059<script type="text/javascript"> 4060 $(document).ready(function() { 4061 themeHelper.variantOptionsBlock.component('advance-variant-option', { 4062 template: '#advance-variant-option', 4063 delimiters: ['${', '}'], 4064 props: { 4065 optionKey: String, 4066 option: Object, 4067 currentOption: Object, 4068 }, 4069 methods: { 4070 setOption: function(optionKey, type) { 4071 if(type.isValid){ 4072 themeHelper.EventBus.$emit('toggleCurrentOption', optionKey, type.name); 4073 } 4074 }, 4075 selectedClass: function(type) { 4076 return this.currentOption[this.optionKey] === type.name; 4077 }, 4078 disabledClass: function(type) { 4079 return !type.isValid; 4080 }, 4081 } 4082 }); 4083 }); 4084</script>
4084 4085 4086<!-- cyb_snippet components/variant_options/advance_option end --> 4087 4088 4089<!-- cyb_snippet _variant_options_block_js start -->
4090<script type="text/javascript"> 4091 $(document).ready(function() { 4092 themeHelper.variantOptionsBlock.component('variant-options-block', { 4093 template: '#variant-options-block', 4094 delimiters: ['${', '}'], 4095 props: { 4096 productApiUrl: String, 4097 sku: String, 4098 autoSelectVariantBySku: Boolean, 4099 hideOtherVariantsBySku: Boolean, 4100 hideSingleVariantOptions: Boolean, 4101 salesModePurchasable: Boolean, 4102 defaultPrice: String, 4103 defaultComparePrice: String, 4104 defaultDiscounted: Boolean, 4105 }, 4106 data: function() { 4107 return { 4108 styledShopMenu: "buttonType", 4109 currentImageIndex: 0, 4110 isModalSelectShow: false, 4111 selectOption: '', 4112 selectCurrentStr:'', 4113 modalOption: {}, 4114 currentOption: { 4115 option1: null, 4116 option2: null, 4117 option3: null, 4118 }, 4119 currentVariant: null, 4120 product: {}, 4121 isLoading: true, 4122 isImageColorsUsed: liquidHelper.isImageColorsUsed, 4123 isEmptyClickable: liquidHelper.isEmptyClickable, 4124 hasPriceWithDiscountPlugin: liquidHelper.hasPriceWithDiscountPlugin, 4125 isCartEnabled: liquidHelper.isCartEnabled, 4126 } 4127 }, 4128 mounted: function() { 4129 this.getProductDetail(); 4130 themeHelper.EventBus.$on('toggleCurrentOption',this.toggleCurrentOption); 4131 }, 4132 computed: { 4133 imageColors: function() { 4134 //è²ç¥¨ä¸å®æå° 4135 var self = this; 4136 var images = this.photoUrls.slice(0); 4137 var imageColorNum = this.colorOption.length; 4138 for(var i = imageColorNum; i < imageColorNum * 2; i++) { 4139 if(!images[i]) { 4140 images.push('noColorImage'); 4141 } 4142 } 4143 return images.slice(imageColorNum, imageColorNum * 2); 4144 }, 4145 photoUrls: function() { 4146 return this.product.photoUrls.length > 0 ? this.product.photoUrls : [this.featuredImage]; 4147 }, 4148 featuredImage: function() { 4149 return this.product.featuredImage; 4150 }, 4151 swiperPhotos: function() { 4152 if(this.isImageColor) { 4153 return this.photoUrls.slice(0, this.colorOption.length); 4154 } 4155 return this.photoUrls.length > 0 ? this.photoUrls : [this.featuredImage]; 4156 }, 4157 firstValidVariant: function() { 4158 var self = this; 4159 var result = this.product.variants.find(function(variant) { 4160 return variant.available; 4161 }); 4162 4163 return result ? result : null; 4164 }, 4165 shouldHideOtherVariants: function() { 4166 return this.hideOtherVariantsBySku && 4167 this.sku && 4168 this.currentVariant && 4169 this.currentVariant.sku === this.sku; 4170 }, 4171 shouldHideSingleVariantOptions: function() { 4172 return this.hideSingleVariantOptions && 4173 this.product.variants && 4174 this.product.variants.length <= 1; 4175 }, 4176 options: function() { 4177 return this.product.options; 4178 }, 4179 optionTypes: function() { 4180 // å æ ¹æè¨å®çvariantsä¾æåº 4181 var self = this; 4182 4183 var option1 = []; 4184 var option2 = []; 4185 var option3 = [];
4186 this.product.variants.forEach(function(item) { 4187 if (item.option1 !== null) option1.push(item.option1); 4188 if (item.option2 !== null) option2.push(item.option2); 4189 if (item.option3 !== null) option3.push(item.option3); 4190 }) 4191 4192 var filteredOptionTypes = []; 4193 this.product.optionTypes.forEach(function(item, index) { 4194 filteredOptionTypes.push(self.getUniqueVariant(eval('option' + (index + 1))).join(',')); 4195 }); 4196 4197 return filteredOptionTypes; 4198 }, 4199 optionInfo: function() { 4200 var self = this; 4201 4202 if (self.options) { 4203 return self.options.map(function(option, index) { 4204 return { 4205 name: option, 4206 types: self.getOptions('option' + (index + 1), self.optionTypes[index].split(',')) 4207 } 4208 }); 4209 } 4210 }, 4211 colorOptionIndex: function() { 4212 return this.options.findIndex(function(option) { 4213 return option === 'é¡è²'; 4214 }); 4215 }, 4216 colorOption: function() { 4217 var optionIndex = this.colorOptionIndex 4218 return optionIndex === -1 ? null : this.optionTypes[optionIndex].split(','); 4219 }, 4220 isImageColor: function() { 4221 return this.isImageColorsUsed && _.includes(this.product.options, 'é¡è²'); 4222 }, 4223 isMobileSize: function() { 4224 return window.innerWidth <= 580 4225 }, 4226 variantSize: function() { 4227 if(this.product.options){ 4228 return this.product.options.length; 4229 } 4230 }, 4231 isAutoSelectVariantBySku: function() { 4232 return this.sku && this.autoSelectVariantBySku; 4233 }, 4234 }, 4235 methods: { 4236 onClickSelectModal: function(objData, selectOptionStr) { 4237 this.isModalSelectShow = true; 4238 this.modalOption = objData; 4239 this.selectOption = selectOptionStr 4240 }, 4241 onChangeModalSelect: function(flag, isSelect) { 4242 if(!isSelect){ 4243 this.setOption(this.selectOption,this.selectCurrentStr,this.modalOption.types) 4244 } 4245 this.isModalSelectShow = flag; 4246 }, 4247 setOption: function(optionKey, type, dataArr) { 4248 let flag = true 4249 dataArr.forEach(item => { 4250 if (item.name === type) { 4251 flag = item.isValid 4252 } 4253 }) 4254 if (flag) { 4255 this.toggleCurrentOption(optionKey, type) 4256 } 4257 }, 4258 setChoose: function(currentVariant) { 4259 var currentVariantData = {}; 4260 if (currentVariant) { 4261 currentVariantData = { 4262 id: this.currentVariant.id, 4263 bonus: this.currentVariant.maxUsableBonus, 4264 name: this.currentVariant.title, 4265 inventoryPolicy: this.currentVariant.inventoryPolicy, 4266 compareAtPrice: this.currentVariant.compareAtPrice, 4267 imgUrl: this.currentVariant.imgUrl, 4268 inventoryQuantity: this.currentVariant.inventoryQuantity, 4269 option1: this.currentVariant.option1, 4270 option2: this.currentVariant.option2, 4271 option3: this.currentVariant.option3, 4272 price: this.currentVariant.price, 4273 productId: this.currentVariant.productId, 4274 sku: this.currentVariant.sku, 4275 qc: this.currentVariant.qc, 4276 hidePrice: this.product.hidePrice === true, 4277 }; 4278 } else { 4279 currentVariantData = { 4280 price: this.defaultPrice, 4281 compareAtPrice: this.defaultComparePrice, 4282 isDiscounted: this.defaultDiscounted, 4283 hidePrice: this.product.hidePrice === true, 4284 } 4285 } 4286 const isUpcomingProduct = this.isSellTimeAfterNow(this.product.sellFrom); 4287 this.$emit('set-choose', currentVariantData, isUpcomingProduct); 4288 }, 4289 onError: function() { 4290 window.msg("", 'error').show(); 4291 }, 4292 showRateLimitPopup: function() { 4293 showRateLimitModal(5); 4294 }, 4295 4296 // get product detail 4297 getProductDetail: function() { 4298 var self = this; 4299 $.ajax({ 4300 url: self.productApiUrl + '.json', 4301 type: 'GET', 4302 timeout: 30000, 4303 beforeSend: function() { 4304 self.isLoading = true; 4305 }, 4306 error: function(xhr){ 4307 if (xhr.status === 429) { 4308 self.isLoading = false;
4309 self.showRateLimitPopup(); 4310 } else { 4311 self.onError(); 4312 } 4313 } 4314 }).done(function(data){ 4315 if (!data.id) { 4316 self.onError(); 4317 return; 4318 } 4319 4320 var productData = [themeHelper.toCamelCase(data)]; 4321 self.product = themeHelper.priceWithDiscount(productData, self.hasPriceWithDiscountPlugin)[0]; 4322 4323 var shouldSkipAutoSelected = false; 4324 4325 if (self.isAutoSelectVariantBySku) { 4326 var skuVariant = self.product.variants.find(function(variant) { 4327 return variant.sku === self.sku; 4328 }); 4329 4330 if (skuVariant) { 4331 if (self.isEmptyClickable || 4332 skuVariant.inventoryPolicy === "continue" || 4333 skuVariant.inventoryQuantity > 0) { 4334 self.applyVariant(skuVariant, true); 4335 themeHelper.EventBus.$emit('skuReady'); 4336 self.isLoading = false; 4337 return; 4338 } else { 4339 // è¥ sku åå¨ä½ä¸å¯è³¼è²·ï¼åè·³é第ä¸å款å¼é¸æ 4340 shouldSkipAutoSelected = true; 4341 } 4342 } else { 4343 // è¥ sku ä¸åå¨ï¼åè·³é第ä¸å款å¼é¸æ 4344 shouldSkipAutoSelected = true; 4345 } 4346 themeHelper.EventBus.$emit('skuReady'); 4347 } 4348 4349 if ( 4350 !shouldSkipAutoSelected && ( 4351 self.product.variants.length === 1 || 4352 liquidHelper.isFirstVariantSelected 4353 )) { 4354 var variant = self.product.variants.length === 1 ? self.product.variants[0] : self.firstValidVariant; 4355 if (!variant) { 4356 self.isLoading = false; 4357 return; 4358 } 4359 4360 if ( 4361 !self.isEmptyClickable && 4362 variant.inventoryPolicy === "deny" && 4363 variant.inventoryQuantity === 0 4364 ) { 4365 self.isLoading = false; 4366 return; 4367 } 4368 4369 self.applyVariant(variant, false); 4370 if (self.isImageColorsUsed) { // è¥æé¡¯ç¤ºè²ç¥¨ä¸æé é¸ç¬¬ä¸å款å¼çæ´æåç 4371 var firstValidColorIndex = self.colorOption.findIndex(function(item) { 4372 return item === variant.option1 4373 }); 4374 self.$emit('get-option-image', self.photoUrls[firstValidColorIndex].grande); 4375 } 4376 } 4377 4378 self.isLoading = false; 4379 }) 4380 }, 4381 applyVariant: function(variant, waitPhotosReady) { 4382 var self = this; 4383 this.currentVariant = variant; 4384 this.setChoose(variant); 4385 this.setDefaultOption(); 4386 4387 if (waitPhotosReady) { 4388 themeHelper.EventBus.$on('skuPhotosReady', function () { 4389 if (variant.photos && variant.photos.length > 0) { 4390 self.setVariantPhotos(); 4391 } 4392 }); 4393 } else { 4394 this.setVariantPhotos(); 4395 } 4396 }, 4397 toggleCurrentOption: function(key, value) { 4398 if (this.product.variants.length === 1) { 4399 return; 4400 } 4401 4402 if (this.shouldHideOtherVariants) { 4403 return; 4404 } 4405 4406 this.currentOption[key] = 4407 (this.currentOption[key] === value || value === 'null') ? null : value; 4408 var variantIndex = this.getVariantIndex(); 4409 if(variantIndex !== -1) { 4410 this.currentVariant = this.product.variants[variantIndex]; 4411 } else { 4412 this.currentVariant = null; 4413 } 4414 this.setChoose(this.product.variants[variantIndex]); 4415 if (this.currentOption[key] !== null) { 4416 var optionIndex = parseInt(key.replace('option', '')) - 1; 4417 appStoreSelectItemEvent(this.product, this.product.options[optionIndex], this.currentOption[key], this.currentVariant); 4418 } 4419 if (Object.values(this.currentOption).every(v => v === null) || this.currentVariant) { 4420 this.setVariantPhotos(); 4421 } 4422 }, 4423 setCurrentImageIndex: function(index) {
4424 this.currentImageIndex = this.getSelectedColorIndex(); 4425 if (this.currentImageIndex > -1) { 4426 var currentImageIndex = this.currentImageIndex; 4427 } else { 4428 var currentImageIndex = 0; 4429 } 4430 4431 this.$emit('get-option-image', this.photoUrls[currentImageIndex].grande); 4432 }, 4433 getOptionImageIndex: function(index) { 4434 this.currentImageIndex = index; 4435 this.$emit('get-option-image', this.photoUrls[index].grande); 4436 }, 4437 setDefaultOption: function() { 4438 var self = this; 4439 Object.keys(self.currentOption).forEach(function(optionKey) { 4440 self.currentOption[optionKey] = self.currentVariant[optionKey]; 4441 }); 4442 }, 4443 getVariantIndex: function() { 4444 var self = this; 4445 return self.product.variants.findIndex(function(variant, index) { 4446 var isVariant = true; 4447 Object.keys(self.currentOption).forEach(function(option) { 4448 if(variant[option] !== self.currentOption[option]){ 4449 isVariant = false; 4450 } 4451 }); 4452 return isVariant; 4453 }); 4454 }, 4455 // 篩é¸éè¤åé 4456 getUniqueVariant: function(variants) { 4457 return variants.filter(function(value, index, self) { 4458 return self.indexOf(value) === index; 4459 }); 4460 }, 4461 // åå¾å·²é¸åçcolor index 4462 getSelectedColorIndex: function() { 4463 var self = this; 4464 var optionIndex = _.indexOf(self.options, 'é¡è²') + 1; 4465 var color = self.currentOption['option' + optionIndex]; 4466 4467 return _.indexOf(self.colorOption, color); 4468 }, 4469 getOptions: function(optionKey, optionTypes) { 4470 var self = this; 4471 4472 // éé sku é é¸ä¸æå°æç variantï¼ååªé¡¯ç¤ºè©² variant ç option 4473 if (this.shouldHideOtherVariants) { 4474 var currentOptionValue = this.currentVariant[optionKey]; 4475 var isValid = true; 4476 4477 if (!this.isEmptyClickable) { 4478 isValid = this.currentVariant.inventoryQuantity === null || 4479 this.currentVariant.inventoryQuantity > 0 || 4480 this.currentVariant.inventoryPolicy === 'continue'; 4481 } 4482 4483 return [{ 4484 name: currentOptionValue, 4485 isValid: isValid 4486 }]; 4487 } 4488 4489 return optionTypes.map(function(optionType, index) { 4490 var isValid = true; 4491 4492 // é¸åºå å«ç®åtypeçvariant 4493 var matchVariants = self.product.variants.filter(function(variant) { 4494 return variant[optionKey] === optionType; 4495 }); 4496 // 篩é¸å·²å¾é¸type 4497 Object.keys(self.currentOption).forEach(function(currentOptionKey) { 4498 if(currentOptionKey !== optionKey){ 4499 matchVariants = matchVariants.filter(function(variant) { 4500 if(self.currentOption[currentOptionKey]) { 4501 return variant[currentOptionKey] === self.currentOption[currentOptionKey] 4502 } else { 4503 return true; 4504 } 4505 }); 4506 } 4507 }); 4508 // ç¡variant代表æ¤typeä¸å¯é¸ 4509 if(matchVariants.length === 0) { 4510 isValid = false; 4511 } 4512 4513 if (!self.isEmptyClickable) { 4514 isValid = false; 4515 matchVariants.find(function(item) { 4516 if (item.inventoryQuantity === null || item.inventoryQuantity > 0 || item.inventoryPolicy === 'continue') { 4517 isValid = true; 4518 } 4519 }); 4520 } 4521 4522 return { 4523 name: optionType, 4524 isValid: isValid 4525 } 4526 }); 4527 }, 4528 getVariantPhotos: function() { 4529 if (!this.currentVariant) { 4530 return null; 4531 } 4532 4533 if (!this.currentVariant.photos || this.currentVariant.photos.length === 0) { 4534 return { 4535 withSpecificVariant: !!this.currentVariant.option1, 4536 photos: [], 4537 variant: { 4538 id: this.currentVariant.id, 4539 sku: this.currentVariant.sku 4540 }, 4541 }; 4542 } 4543 4544 var sortedPhotos = this.currentVariant.photos.sort(function(prev, next) { 4545 return prev.position - next.position; 4546 }); 4547 4548 return { 4549 withSpecificVariant: !!this.currentVariant.option1, 4550 photos: sortedPhotos, 4551 variant: { 4552 id: this.currentVariant.id, 4553 sku: this.currentVariant.sku 4554 }, 4555 }; 4556 }, 4557 setVariantPhotos: function() { 4558 themeHelper.EventBus.$emit('updatePhotos', this.getVariantPhotos()); 4559 },
4560 cartQuantityCheck({quantity, limitQuantity, cartLimit, inventoryPolicy}){ 4561 if(quantity < 1){ 4562 return 'less_then_1'; 4563 } 4564 if(quantity > limitQuantity && limitQuantity !== null && inventoryPolicy !== "continue") { 4565 return 'over_product_quantity'; 4566 } 4567 if(quantity > cartLimit){ 4568 return 'over_cart_limit'; 4569 } 4570 if(isNaN(quantity)){ 4571 return 'not_a_number'; 4572 } 4573 return ''; 4574 }, 4575 changeQuantity({elType, errType, quantity, addToCart, quantityInput, limitQuantity, cartLimit}){ 4576 if(errType === ''){ 4577 if(elType === 'btn'){ 4578 quantityInput.val(quantity); 4579 quantityInput.trigger('change'); 4580 } 4581 var old = quantityInput.data("old-value"); 4582 if(quantity === old){ 4583 quantityInput.data("old-value", quantity); 4584 } 4585 // for GA 4586 addToCart.data("quantity", quantity); 4587 } else { 4588 var old_value = quantityInput.data("old-value"); 4589 if(elType === 'input'){ 4590 switch(errType){ 4591 case 'less_then_1': 4592 quantityInput.val(1); 4593 break; 4594 case 'over_product_quantity': 4595 quantityInput.val(limitQuantity); 4596 break; 4597 case 'over_cart_limit': 4598 quantityInput.val(cartLimit); 4599 break; 4600 default: 4601 quantityInput.val(old_value); 4602 break; 4603 } 4604 } 4605 this.cartQuantityMessage(errType) 4606 } 4607 }, 4608 cartQuantityMessage(errType) { 4609 switch(errType){ 4610 case 'less_then_1': 4611 window.msg(language["less_then_one"], 'warning').show(); 4612 break; 4613 case 'over_product_quantity': 4614 window.msg(language["over_product_quantity"], 'warning').show(); 4615 break; 4616 case 'over_cart_limit': 4617 window.msg(language["over_cart_limit"], 'warning').show(); 4618 break; 4619 case 'not_a_number': 4620 window.msg(language["please_enter_number"], 'warning').show(); 4621 break; 4622 default: 4623 break; 4624 } 4625 }, 4626 quantityChange(isPluSquantity){ 4627 if (!this.findVariant()) { 4628 return; 4629 } 4630 let errType = ''; 4631 let el = $('#product'); 4632 let cartLimit = this.getCartQuantityLimit(el); 4633 let limitQuantity = selectedVariant.inventoryQuantity; 4634 let inventoryPolicy = selectedVariant.inventoryPolicy; 4635 let quantityInput = el.find(".product_quantity input"); 4636 let quantity = parseInt($(quantityInput).val()); 4637 let addToCart = el.find('.addToCart'); 4638 isPluSquantity ? quantity += 1: quantity -= 1 4639 errType = this.cartQuantityCheck({quantity, limitQuantity, cartLimit, inventoryPolicy}); 4640 this.changeQuantity({ elType: 'btn', errType, quantity, addToCart, quantityInput, limitQuantity, cartLimit}); 4641 }, 4642 findVariant() { 4643 if (typeof selectedVariant === 'undefined' || !$.isNumeric(selectedVariant.id)) { 4644 window.msg(language["please_choose_product"], 'info').show(); 4645 return false; 4646 } else { 4647 return true; 4648 } 4649 }, 4650 getCartQuantityLimit(el) { 4651 return el.data('cart_quantity_limit'); 4652 }, 4653 isSellTimeAfterNow(sellTime) { 4654 if (!sellTime) return false; 4655 const saleTime = new Date(sellTime); 4656 const now = new Date(); 4657 return saleTime > now; 4658 }, 4659 } 4660 }); 4661 }); 4662</script>
4662 4663 4664<!-- cyb_snippet _variant_options_block_js end --> 4665 4666<!-- cyb_snippet components/variant_options/variant_options_block end --> 4667<!-- cyb_snippet _custom_icon start -->
4668<script src='//cdn-general.cybassets.com/frontend/shop/navIcon-e958d46bfee2e69f.js' type='text/javascript'></script>
4668 4669
4670<script> 4671 (function() { 4672 const iconUrlMap = new Map([ 4673 ['custom_icon_type_home', "//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU4MjQ3NTEzX-mmlumggWljb244MHg4MC0wMS5zdmcuc3ZnIl1d.svg?sha=ca9695a5f4971a45"], 4674 ['custom_icon_type_tracking_items', "//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU4MjQ3NTI0X-aUtuiXj2ljb244MHg4MC0wMS5zdmcuc3ZnIl1d.svg?sha=99bdec6ef0f298ba"], 4675 ['custom_icon_type_account', "//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzYxODA5NTgyX-acg-WToWljb25hLnBuZy5wbmciXV0.png?sha=e513bfc18a8d91bd"], 4676 ['custom_icon_type_cart', "//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU4MjQ3NDk4X-izvOi7imljb244MHg4MC0wMS5zdmcuc3ZnIl1d.svg?sha=662e013f72b7115c"], 4677 ['custom_icon_type_search', "//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzU4MjQ3NTA2X-aQnOWwi2ljb244MHg4MC0wMS5zdmcuc3ZnIl1d.svg?sha=5e15db7342f146c6"], 4678 ['custom_icon_type_menu', ""] 4679 ]); 4680 const elements = document.querySelectorAll('[data-icon-type]'); 4681 elements.forEach((element, index) => { 4682 const iconAttributes = element.getAttribute('data-icon-type'); 4683 4684 const uniqueId = `icon_${iconAttributes}_${index}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`; 4685 element.id = uniqueId; 4686 window.renderNavCustomIcon(`#${uniqueId}`, { 4687 navIconStyle: "icon_type_custom", 4688 customIconUrl: iconUrlMap.get(iconAttributes) || '', 4689 iconAttributes: iconAttributes, 4690 currentTemplate: "product", 4691 }); 4692 }); 4693 })(); 4694</script>
4694 4695 4696<!-- cyb_snippet _custom_icon end --> 4697
4698<script> 4699 // è¨å®æ¬¾å¼è³è¨/顯示款å¼è³è¨ 4700 function getURLParameter(name) { 4701 return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search) || [null, ''])[1].replace(/\+/g, '%20')) || null; 4702 } 4703 // sku_properties:忬¾å¼ç option pairs(ç¶åèªç³»,å¾ç«¯ drop 已翻è¯),äºä»¶ç¨ variantId æ¥è¡¨ 4704 var variantProperties = { 4705 "84890442": [] 4706 }; 4707 function addToWishListEvent(id, data) { 4708 try { 4709 if (appMarketAddToWishListEvent && data) { 4710 var dataSet = { 4711 name: "éç®ææä¿å·ç¦®è¢", 4712 category: null, 4713 categories: [], 4714 sku: data.sku, 4715 price: data.price, 4716 compare_at_price: data.compare_at_price, 4717 properties: variantProperties[id] || [], 4718 quantity: data.inventory_quantity, 4719 variant: data.variant, 4720 listName: "å®ç¢å細覽" || null, 4721 productId: 69561326, 4722 variantId: id, 4723 } 4724 appMarketAddToWishListEvent(dataSet) 4725 } 4726 } catch (e) { 4727 console.error(e); 4728 } 4729 } 4730 function removeFromWishListEvent(id, data) { 4731 try { 4732 if (appMarketRemoveFromWishListEvent && data) { 4733 var dataSet = { 4734 name: "éç®ææä¿å·ç¦®è¢", 4735 category: null, 4736 categories: [], 4737 sku: data.sku, 4738 price: data.price, 4739 compare_at_price: data.compare_at_price, 4740 properties: variantProperties[id] || [], 4741 quantity: data.inventory_quantity, 4742 variant: data.variant, 4743 listName: "å®ç¢å細覽" || null, 4744 productId: 69561326, 4745 variantId: id, 4746 } 4747 appMarketRemoveFromWishListEvent(dataSet) 4748 } 4749 } catch (e) { 4750 console.error(e); 4751 } 4752 } 4753 function isSellTimeAfterNow(sellTime) { 4754 if (!sellTime) return false; 4755 const saleTime = new Date(sellTime); 4756 const now = new Date(); 4757 return saleTime > now; 4758 } 4759 $(document).ready(function() { 4760 var ProductInfoObject = new ProductInfo() 4761 ProductInfoObject.init({ 4762 additionalPrice: "å è³¼å¹", 4763 sellFrom: "" , 4764 productId:"69561326", 4765 productTitle: "éç®ææä¿å·ç¦®è¢", 4766 productPreOrder: "é è³¼åå", 4767 productExistingVariantsFirstId: '84890442', 4768 productNotificationEnabled: 'å·²ç»è¨è£è²¨éç¥', 4769 productNotifyMeWhenStockArrives: 'å·²å®å®ï¼è²¨å°éç¥æ', 4770 productOptionsSize: "0", 4771 productPleaseChooseProduct: "è«é¸æå忬¾å¼", 4772 generalInternetError: "網路é£ç·ç°å¸¸ï¼è«éæ°æ´ç", 4773 productVariantsInfo: "84890442,999910002,15.0,1401,15.0,deny,0.0,,éç®ææä¿å·ç¦®è¢ - ,cyberbiz,", 4774 productLimitBuy: null, 4775 purchaseEligibility: {"required":false,"eligible":true,"status":"eligible"}, 4776 salesModePurchasable: true, 4777 }); 4778 // å忬¾å¼ 4779 var isUpcomingProduct = isSellTimeAfterNow("") && null; 4780 // åå§åï¼å徿¶è²»è ææåé çéç¥è¨å® 4781 var variantNotifications = {}; 4782 4783 ProductInfoObject.initVariantNotifications(); 4784 4785 // åå§åï¼æª¢æ¥ææååç庫åï¼å¤æ·è³¼ç©è»æéå庫åé¡¯ç¤ºçæ 4786 ProductInfoObject.checkButtonStatus(isUpcomingProduct); 4787 // å å ¥è³¼ç©è» open product modal 4788 ProductInfoObject.initOpenProductModal(); 4789 // ç«å³è³¼è²· mobile product modal 4790 ProductInfoObject.initMobileProductModal() 4791 // è¯çµ¡åå®¶ 4792 ProductInfoObject.initContactTheMerchant() 4793 // 貨å°éç¥ 4794 ProductInfoObject.initGoodsArrivalNotification(); 4795 ProductInfoObject.checkInWishList(window.$('.product-variant-id').val()) 4796 4797 ProductInfoObject.setUpDiscountsTag(); 4798 4799 4800 }) 4801 4802 const userAgent = navigator.userAgent; 4803 const isIOS = /iPad|iPhone|iPod/.test(userAgent) && !window.MSStream; 4804 const isLiff = /Line\/[\d.]+/i.test(userAgent); 4805 const $productButtonMobile = $('.product_button_mobile'); 4806 4807 if ($productButtonMobile.length && isIOS && isLiff) { 4808 $productButtonMobile.addClass('is-ios-liff'); 4809 } 4810</script>
4810 4811 4812 4813<div id="product_description" class="product_description"> 4814 <div class="desc_sections"> 4815 <ul class="qk-bg--theme_bg qk-display--flex qk-mg--0 qk-pd--0 qk-bd--default qk-bd--product_border qk-bd_r--none"> 4816 <!-- ååä»ç´¹ --> 4817 4818 <li class="qk-flex--1"> 4819 <a href="#desc_section_1" class="scroll active qk-text--text qk-fs--title qk-display--il_bk qk-text--center qk-w--100 qk-vert--bottom"> 4820 ååä»ç´¹ 4821 </a> 4822 </li> 4823 4824 <!-- è¦æ ¼èªªæ --> 4825 4826 <li class="qk-flex--1 qk-bd--product_border"> 4827 <a href="#desc_section_2" class="scroll qk-text--text qk-fs--title qk-display--il_bk qk-text--center qk-w--100 qk-vert--bottom"> 4828 <div>ååè¦æ ¼</div> 4829 </a> 4830 </li> 4831 4832 <!-- ééæ¹å¼ --> 4833 4834 <!-- ç¥¨å¸æ³¨æäºé --> 4835 4836 <!-- å å ¥è³¼ç©è»modal --> 4837 4838 <li class="add-to-cart-container qk-flex--1 qk-bd--product_border"> 4839 <a 4840 href="#" 4841 id="add_to_cart" 4842 class="open_product_modal qk-btn qk-btn--primary qk-btn--lg qk-pos--abs qk-r--0 qk-display--il_bk qk-text--center qk-w--100" 4843 data-id="69561326" 4844 data-handle="999910002"> 4845 <div>å å ¥è³¼ç©è»</div> 4846 </a> 4847 <button class="btn btn_not_sale hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-fs--title qk-pos--abs qk-r--0" type="button"> 4848 å°æªéè³£ 4849 </button> 4850 <button class="btn btn_login_to_view hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-fs--title qk-pos--abs qk-r--0" type="button"> 4851 ç»å ¥æ¥çè³æ ¼ 4852 </button> 4853 <button class="btn btn_not_eligible hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-fs--title qk-pos--abs qk-r--0" type="button"> 4854 è³¼è²·è³æ ¼ä¸ç¬¦ 4855 </button> 4856 4857 <a 4858 href="#" 4859 id="notice_to_buy" 4860 class="btn_notice qk-btn qk-btn--primary qk-btn--lg qk-pos--abs qk-r--0 qk-display--il_bk qk-text--center qk-w--100"> 4861 <div>å·²å®å®ï¼è²¨å°éç¥æ</div> 4862 </a> 4863 4864 </li> 4865 4866 </ul> 4867 </div> 4868 <div class="desc_body"> 4869 <div id="ckeditor"> 4870 4871 <div id="desc_section_1" class="desc_section qk-pd_t--2"> 4872 <h5 class="section-heading qk-text--heading qk-fs--hd2 qk-bd_l--default qk-bd--heading qk-pd_l--05">ååä»ç´¹</h5> 4873 <div class="ckeditor qk-mg_t--1"><p style="text-align:center"><img alt="" src="//cdn-general.cybassets.com/s/files/33898/ckeditor/pictures/content_dea0ab33-bd8c-4005-9150-96c72cb4af1f.jpg" width="800"></p> 4874 4875<p><span style="font-family:Arial,Helvetica,sans-serif;"><span style="color:#4e5f70;"><strong><span style="font-size:20px;">éç®ææä¿å·ç¦®è¢</span></strong><br> 4876<span style="font-size:16px;">é鬼æ°å°å£ï¼å¯æçæ¶æã<br> 4877容éå¯è£ä¸ç泡è(æ£å¸¸çå)ã<br> 4878å¤åºç°¡æä¿å·ä¿ç±é½å¯¦ç¨ã<br> 4879å ¨ç«ä»»é¸2ä»¶åå<br> 4880坿¼è³¼ç©è»çµå¸³æä»¥$10é¸è³¼</span></span></span></p> 4881 4882<p style="text-align:center"><img alt="" height="800" src="//cdn-general.cybassets.com/s/files/33898/ckeditor/pictures/content_9d2927ed-fdd9-427d-9bc0-f1f1bea62a44.jpg" width="800"></p> 4883 4884<p style="text-align:center"><img alt="" src="//cdn-general.cybassets.com/s/files/33898/ckeditor/pictures/content_753fd29f-4e64-48b9-82a9-1d2e2fbc7894.jpg" width="800"></p> 4885 4886<p style="text-align:center"><img alt="" src="//cdn-general.cybassets.com/s/files/33898/ckeditor/pictures/content_d187ab52-f86b-450a-884b-adff19149855.jpg" width="800"></p> 4887 4888<p> </p> 4889 4890<p style="text-align:center"><img alt="" src="//cdn-general.cybassets.com/s/files/33898/ckeditor/pictures/content_b45c2bfa-5638-46d9-b248-b4bd4a97d9cb.jpg" width="800"></p> 4891 4892<p> </p> 4893</div> 4894 </div> 4895 4896 4897 <div id="desc_section_2" class="desc_section qk-pd_t--2"> 4898 <h5 class="section-heading qk-text--heading qk-fs--hd2 qk-bd_l--default qk-bd--heading qk-pd_l--05">ååè¦æ ¼</h5> 4899 <div class="ckeditor qk-mg_t--1"><p><span style="font-family:Arial,Helvetica,sans-serif;"><span style="font-size:14px;"><span style="color:#4e5f70;">é«32cmx寬23.5cmxå´é11.5cm<br> 4900帽簷3.5cm</span></span></span></p> 4901 4902<p><span style="font-family:Arial,Helvetica,sans-serif;"><span style="font-size:14px;"><span style="color:#4e5f70;">æè³ªï¼ä¸ç¹å¸è ¹èãä¿æº«éèãé鬼æ°å°å£</span></span></span></p> 4903</div> 4904 </div> 4905 4906 4907 4908 </div> 4909 </div> 4910 <div id="product-recommendation"></div> 4911</div> 4912
4913<script> 4914 $(document).ready(function() { 4915 // åå說æä»ç´¹æ¨ç±¤ 4916 $(".desc_sections li").on('click', function() { 4917 $(this).children().addClass('active'); 4918 $(this).siblings().children().removeClass('active'); 4919 }); 4920 4921 // æ»åè¨ç½® 4922 var prevScrollPos = window.pageYOffset; 4923 var prevScrollInformationPos = window.pageYOffset; 4924 $(window).on('scroll load resize', function(e) { 4925 var headerHeight = $("#header").height() 4926 var desc_sections = $(".desc_sections"); 4927 var desc_section_list = $(".desc_section"); 4928 var descSectionHeight = $(".desc_sections").height() 4929 var descSectionTop = $(".desc_sections").offset().top - headerHeight 4930 var product_window = $(this); 4931 var currentScrollPos = window.pageYOffset; 4932 4933 // æ»ååºå®ç¢å說æ 4934 if (product_window.scrollTop() > descSectionTop) { 4935 desc_sections.find("ul").css({"top": 0}); 4936 if (currentScrollPos > prevScrollPos && product_window.scrollTop() > descSectionTop + headerHeight) { 4937 desc_sections 4938 .stop() 4939 .addClass("desc_sections_hold") 4940 .css({"min-height": descSectionHeight}) 4941 .find("ul") 4942 .css({"top": 0}); 4943 } else if (prevScrollPos > currentScrollPos) { 4944 desc_sections 4945 .stop() 4946 .addClass("desc_sections_hold") 4947 .css({"min-height": descSectionHeight}) 4948 .find("ul") 4949 .css({"top": headerHeight}); 4950 } else { 4951 prevScrollPos = 0; 4952 } prevScrollPos = currentScrollPos; 4953 if ($(window).width() < 768) { 4954 $("body").css("padding-bottom", "68px"); 4955 } 4956 } else { 4957 prevScrollPos = 0; 4958 desc_sections.stop().removeClass("desc_sections_hold") 4959 if ($(window).width() < 768) { 4960 $("body").css("padding-bottom", "68px"); 4961 } 4962 } 4963 4964 // é»é¸ç¢åèªªææ»å 4965 $(".desc_sections a.scroll").bind("click", function(event) { 4966 var targetScrollTop = parseInt($($(this).attr("href")).offset().top - descSectionHeight + 1); 4967 if (targetScrollTop > window.scrollY + 1) { 4968 $("html, body").stop().animate({ 4969 scrollTop: targetScrollTop 4970 }, 300); 4971 } else { 4972 $("html, body").stop().animate({ 4973 scrollTop: targetScrollTop - headerHeight 4974 }, 300); 4975 } 4976 }); 4977 4978 // 顯示ç¶åç¢å說æ 4979 if (currentScrollPos > prevScrollInformationPos) { 4980 $.each(desc_section_list, function(index, desc_section) { 4981 var desc_sectionTop = $(desc_section).offset().top - descSectionHeight - 1 4982 var desc_sectionHeight = $(desc_section).height() 4983 var current_desc_section = $("a.scroll[href$='" + $(desc_section).attr("id") + "']"); 4984 if (product_window.scrollTop() > desc_sectionTop || index === 0) { 4985 current_desc_section 4986 .stop() 4987 .addClass('active') 4988 .parent() 4989 .siblings() 4990 .find("a") 4991 .removeClass('active'); 4992 } else { 4993 current_desc_section.removeClass('active'); 4994 } prevScrollInformationPos = currentScrollPos; 4995 }); 4996 } else { 4997 $.each(desc_section_list, function(index, desc_section) { 4998 var desc_sectionTop = $(desc_section).offset().top - descSectionHeight - 1 4999 var desc_sectionHeight = $(desc_section).height() 5000 var current_desc_section = $("a.scroll[href$='" + $(desc_section).attr("id") + "']"); 5001 if (product_window.scrollTop() + headerHeight > desc_sectionTop) { 5002 current_desc_section 5003 .stop() 5004 .addClass('active') 5005 .parent() 5006 .siblings() 5007 .find("a") 5008 .removeClass('active'); 5009 } else { 5010 current_desc_section.removeClass('active'); 5011 } 5012 }); 5013 prevScrollInformationPos = currentScrollPos; 5014 } 5015 }); 5016 }) 5017</script>
5017 5018 5019 5020 5021 5022 5023<div id="related-products" class="qk-pos--rel"> 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 <h5 class="section-heading qk-text--heading qk-fs--hd2 qk-bd_l--default qk-bd--heading qk-pd_l--05">æ¨è¦åå</h5> 5038 5039 <!-- cyb_snippet swiper_product start --> 5040<div id="swiper_products" class="qk-pos--rel"> 5041 <div class="swiper swiper-container swiper_products GTM-area"> 5042 <div class="swiper-wrapper"> 5043 5044 5045 5046 5047 5048 5049 <div class="swiper-slide product qk-text--start" data-sold-out="false" data-sales-mode-purchasable="true"> 5050 5051 <div class="integrated_product_labels qk-pos--abs qk-text--left"> 5052 5053 </div> 5054 5055 <div class="product_image default_scale"> 5056 <div class="product_mask"></div> 5057 <a class="productClick img-flex GTM-info qk-h--100 qk-display--flex qk-justify--center qk-align--center" 5058 href="/products/102029905" 5059 data-brand="" 5060 data-category="" 5061 data-collection_id="" 5062 data-id="69928272" 5063 data-variant-id="85450251" 5064 data-list="ç¸éåå" 5065 data-name="ç¶å ¸å¹¸è禮çµ" 5066 data-position="1" 5067 data-price="450.0"> 5068 <img data-src="//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5OTI4MjcyLzE3ODQ3NzYxMTVfMDVmZmY5ZjcwYWE1NTg0NmViM2UuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=67c85c0d4db67b8d" 5069 alt="ç¶å ¸å¹¸è禮çµ" class="swiper-lazy feature-image" /> 5070 5071 5072 5073 <div class="swiper-lazy-preloader-white"></div> 5074 </a> 5075 </div> 5076 5077 <div class="product_slogan qk-text--accent qk-text--center qk-bg--theme_bg qk-bd--default qk-bd--product_border "> 5078 <span>ä¸ä»½éå¾åºæç幸ç¦</span> 5079 </div> 5080 5081 <div class="product_title qk-of--hidden"> 5082 <a class="qk-text--heading" 5083 href="/products/102029905"> 5084 ç¶å ¸å¹¸èç¦®çµ 5085 </a> 5086 </div> 5087 5088 5089 5090 5091 <div class="product_price qk-text--price qk-fs--title"><span class="money_tag" data-currency-from="TWD" data-amount="450.0">NT$450</span></div> 5092 5093 5094 <div class="product_btn qk-text--center"> 5095 5096 <button 5097 type="button" 5098 class="btn btn-cart qk-btn qk-btn--primary qk-btn--lg" 5099 data-handle="102029905" 5100 data-collection="" 5101 data-brand="" 5102 data-category="" 5103 data-collection_id="" 5104 data-id="69928272" 5105 data-list="ç¸éåå" 5106 data-name="ç¶å ¸å¹¸è禮çµ" 5107 data-photo="//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzY5OTI4MjcyLzE3ODQ3NzYxMTVfMDVmZmY5ZjcwYWE1NTg0NmViM2UuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=67c85c0d4db67b8d" 5108 data-price="450.0" 5109 data-position="1" 5110 data-spread-size="85450251,102029905,450.0,1709,450.0,deny,5.0,,ç¶å ¸å¹¸èç¦®çµ - ,cyberbiz," 5111 5112 data-sku="102029905" 5113 5114 5115 > 5116 <span class="text">å å ¥è³¼ç©è»</span> 5117 </button> 5118 5119 <button type="button" class="btn btn_not_sale hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled> 5120 <span class="text">å°æªéè³£</span> 5121 </button> 5122 <button type="button" class="btn btn_login_to_view hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled> 5123 <span class="text">ç»å ¥æ¥ç</span> 5124 </button> 5125 <button type="button" class="btn btn_not_eligible hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled>
5126 <span class="text">è³æ ¼ä¸ç¬¦</span> 5127 </button> 5128 </div> 5129 5130 </div> 5131 5132 5133 5134 5135 5136 <div class="swiper-slide product qk-text--start" data-sold-out="false" data-sales-mode-purchasable="true"> 5137 5138 <div class="integrated_product_labels qk-pos--abs qk-text--left"> 5139 5140 </div> 5141 5142 <div class="product_image default_scale"> 5143 <div class="product_mask"></div> 5144 <a class="productClick img-flex GTM-info qk-h--100 qk-display--flex qk-justify--center qk-align--center" 5145 href="/products/102010198" 5146 data-brand="" 5147 data-category="" 5148 data-collection_id="" 5149 data-id="58637562" 5150 data-variant-id="71154646" 5151 data-list="ç¸éåå" 5152 data-name="å峿³¡è8å ¥" 5153 data-position="2" 5154 data-price="220.0"> 5155 <img data-src="//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzU4NjM3NTYyLzE3ODc1NTYwOTNfOTZhM2ExNTgyODQ3MjI1NmQ0ZDAuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=e1d6fe8fca67a34f" 5156 alt="å峿³¡è8å ¥" class="swiper-lazy feature-image" /> 5157 5158 5159 5160 <div class="swiper-lazy-preloader-white"></div> 5161 </a> 5162 </div> 5163 5164 <div class="product_slogan qk-text--accent qk-text--center qk-bg--theme_bg qk-bd--default qk-bd--product_border "> 5165 <span>
5165æé«äººæ°£ãåè³¼å è»åé ï¼</span> 5166 </div> 5167 5168 <div class="product_title qk-of--hidden"> 5169 <a class="qk-text--heading" 5170 href="/products/102010198"> 5171 å峿³¡è8å ¥ 5172 </a> 5173 </div> 5174 5175 5176 5177 5178 <div class="product_price qk-text--price qk-fs--title"><span class="money_tag" data-currency-from="TWD" data-amount="220.0">NT$220</span></div> 5179 5180 5181 <div class="product_btn qk-text--center"> 5182 5183 <button 5184 type="button" 5185 class="btn btn-cart qk-btn qk-btn--primary qk-btn--lg" 5186 data-handle="102010198" 5187 data-collection="" 5188 data-brand="" 5189 data-category="" 5190 data-collection_id="" 5191 data-id="58637562" 5192 data-list="ç¸éåå" 5193 data-name="å峿³¡è8å ¥" 5194 data-photo="//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzU4NjM3NTYyLzE3ODc1NTYwOTNfOTZhM2ExNTgyODQ3MjI1NmQ0ZDAuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=e1d6fe8fca67a34f" 5195 data-price="220.0" 5196 data-position="2" 5197 data-spread-size="71154646,102060101,220.0,,220.0,deny,22.0,,å峿³¡è8å ¥ - ,,100" 5198 5199 data-sku="102060101" 5200 5201 5202 > 5203 <span class="text">å å ¥è³¼ç©è»</span> 5204 </button> 5205 5206 <button type="button" class="btn btn_not_sale hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled> 5207 <span class="text">å°æªéè³£</span> 5208 </button> 5209 <button type="button" class="btn btn_login_to_view hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled> 5210 <span class="text">ç»å ¥æ¥ç</span> 5211 </button> 5212 <button type="button" class="btn btn_not_eligible hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled> 5213 <span class="text">è³æ ¼ä¸ç¬¦</span> 5214 </button> 5215 </div> 5216 5217 </div> 5218 5219 5220 5221 5222 5223 <div class="swiper-slide product qk-text--start" data-sold-out="false" data-sales-mode-purchasable="true"> 5224 5225 <div class="integrated_product_labels qk-pos--abs qk-text--left"> 5226 5227 </div> 5228 5229 <div class="product_image default_scale"> 5230 <div class="product_mask"></div> 5231 <a class="productClick img-flex GTM-info qk-h--100 qk-display--flex qk-justify--center qk-align--center" 5232 href="/products/102010298" 5233 data-brand="" 5234 data-category="" 5235 data-collection_id="" 5236 data-id="58690742" 5237 data-variant-id="71236373" 5238 data-list="ç¸éåå" 5239 data-name="å·§å åæ³¡è8å ¥" 5240 data-position="3" 5241 data-price="220.0"> 5242 <img data-src="//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzU4NjkwNzQyLzE3ODc1NTE3MzRfZWViMzEyNWJhOGFhZTlkZGQzMmUuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=5a32c444cea41137" 5243 alt="å·§å åæ³¡è8å ¥" class="swiper-lazy feature-image" /> 5244 5245 5246 5247 <div class="swiper-lazy-preloader-white"></div> 5248 </a> 5249 </div> 5250 5251 <div class="product_slogan qk-text--accent qk-text--center qk-bg--theme_bg qk-bd--default qk-bd--product_border "> 5252 <span>
5252æé«äººæ°£ãåè³¼å è»åé ï¼</span> 5253 </div> 5254 5255 <div class="product_title qk-of--hidden"> 5256 <a class="qk-text--heading" 5257 href="/products/102010298"> 5258 å·§å åæ³¡è8å ¥ 5259 </a> 5260 </div> 5261 5262 5263 5264 5265 <div class="product_price qk-text--price qk-fs--title"><span class="money_tag" data-currency-from="TWD" data-amount="220.0">NT$220</span></div> 5266 5267 5268 <div class="product_btn qk-text--center"> 5269 5270 <button 5271 type="button" 5272 class="btn btn-cart qk-btn qk-btn--primary qk-btn--lg" 5273 data-handle="102010298" 5274 data-collection="" 5275 data-brand="" 5276 data-category="" 5277 data-collection_id="" 5278 data-id="58690742" 5279 data-list="ç¸éåå" 5280 data-name="å·§å åæ³¡è8å ¥" 5281 data-photo="//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzU4NjkwNzQyLzE3ODc1NTE3MzRfZWViMzEyNWJhOGFhZTlkZGQzMmUuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=5a32c444cea41137" 5282 data-price="220.0" 5283 data-position="3" 5284 data-spread-size="71236373,102060102,220.0,,220.0,deny,22.0,,å·§å åæ³¡è8å ¥ - ,," 5285 5286 data-sku="102060102" 5287 5288 5289 > 5290 <span class="text">å å ¥è³¼ç©è»</span> 5291 </button> 5292 5293 <button type="button" class="btn btn_not_sale hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled> 5294 <span class="text">å°æªéè³£</span> 5295 </button> 5296 <button type="button" class="btn btn_login_to_view hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled> 5297 <span class="text">ç»å ¥æ¥ç</span> 5298 </button> 5299 <button type="button" class="btn btn_not_eligible hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled> 5300 <span class="text">è³æ ¼ä¸ç¬¦</span> 5301 </button> 5302 </div> 5303 5304 </div> 5305 5306 5307 5308 5309 5310 <div class="swiper-slide product qk-text--start" data-sold-out="false" data-sales-mode-purchasable="true"> 5311 5312 <div class="integrated_product_labels qk-pos--abs qk-text--left"> 5313 5314 </div> 5315 5316 <div class="product_image default_scale"> 5317 <div class="product_mask"></div> 5318 <a class="productClick img-flex GTM-info qk-h--100 qk-display--flex qk-justify--center qk-align--center" 5319 href="/products/102010398" 5320 data-brand="" 5321 data-category="" 5322 data-collection_id="" 5323 data-id="58690743" 5324 data-variant-id="71236374" 5325 data-list="ç¸éåå" 5326 data-name="å塿³¡è8å ¥" 5327 data-position="4" 5328 data-price="220.0"> 5329 <img data-src="//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzU4NjkwNzQzLzE3NzM3MzEyNzFfYjA3MzA2Y2I5YWQ0N2IyOGM0ZDYud2VicCJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.webp?sha=9a013b510e70d9ff" 5330 alt="å塿³¡è8å ¥" class="swiper-lazy feature-image" /> 5331 5332 5333 5334 <div class="swiper-lazy-preloader-white"></div> 5335 </a> 5336 </div> 5337 5338 <div class="product_slogan qk-text--accent qk-text--center"> 5339 <span></span> 5340 </div> 5341 5342 <div class="product_title qk-of--hidden"> 5343 <a class="qk-text--heading" 5344 href="/products/102010398"> 5345 å塿³¡è8å ¥ 5346 </a> 5347 </div> 5348 5349 5350 5351 5352 <div class="product_price qk-text--price qk-fs--title"><span class="money_tag" data-currency-from="TWD" data-amount="220.0">NT$220</span></div> 5353 5354
5355 <div class="product_btn qk-text--center"> 5356 5357 <button 5358 type="button" 5359 class="btn btn-cart qk-btn qk-btn--primary qk-btn--lg" 5360 data-handle="102010398" 5361 data-collection="" 5362 data-brand="" 5363 data-category="" 5364 data-collection_id="" 5365 data-id="58690743" 5366 data-list="ç¸éåå" 5367 data-name="å塿³¡è8å ¥" 5368 data-photo="//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L3Byb2R1Y3RzLzU4NjkwNzQzLzE3NzM3MzEyNzFfYjA3MzA2Y2I5YWQ0N2IyOGM0ZDYud2VicCJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.webp?sha=9a013b510e70d9ff" 5369 data-price="220.0" 5370 data-position="4" 5371 data-spread-size="71236374,102060103,220.0,,220.0,deny,22.0,,å塿³¡è8å ¥ - ,," 5372 5373 data-sku="102060103" 5374 5375 5376 > 5377 <span class="text">å å ¥è³¼ç©è»</span> 5378 </button> 5379 5380 <button type="button" class="btn btn_not_sale hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled> 5381 <span class="text">å°æªéè³£</span> 5382 </button> 5383 <button type="button" class="btn btn_login_to_view hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled> 5384 <span class="text">ç»å ¥æ¥ç</span> 5385 </button> 5386 <button type="button" class="btn btn_not_eligible hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled> 5387 <span class="text">è³æ ¼ä¸ç¬¦</span> 5388 </button> 5389 </div> 5390 5391 </div> 5392 5393 </div> 5394 </div> 5395 <div class="swiper-products-next qk-swiper_btn qk-swiper_btn--lg qk-swiper_btn--v1 qk-swiper_btn--next"></div> 5396 <div class="swiper-products-prev qk-swiper_btn qk-swiper_btn--lg qk-swiper_btn--v1 qk-swiper_btn--prev"></div> 5397</div> 5398 5399<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/swiper_product-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' /> 5400 5401 <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/integrated_product_labels-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' /> 5402 5403 5404<!-- cyb_snippet _combo_product_related_items_modal start -->
5404<script src='//cdn-general.cybassets.com/frontend/shop/standaloneRelatedItemsSelectModal-e958d46bfee2e69f.js' type='text/javascript'></script>
5404 5405
5405<script> 5406 if (!$('#related-items-select-modal').length) { 5407 $('body').append('<div id="related-items-select-modal"></div>'); 5408 document.addEventListener('DOMContentLoaded', function() { 5409 window.renderRelatedItemsSelectModal('#related-items-select-modal', { 5410 hasStockNotificationPlugin: true, 5411 displayProductDiscountsList: true, 5412 }); 5413 }); 5414 } 5415 </script>
5415<!-- cyb_snippet _combo_product_related_items_modal end --> 5416
5417<script> 5418 $(document).ready(function(){ 5419 var slideCount = $(".swiper_products .swiper-slide").length 5420 if (slideCount >= 4){ 5421 var autoLoop = true 5422 }else{ 5423 var autoLoop = false 5424 } 5425 var SwiperProducts = new Swiper('.swiper_products', { 5426 // Disable preloading of all images 5427 preloadImages: false, 5428 // Enable lazy loading 5429 lazy: { 5430 loadPrevNext: true, 5431 }, 5432 loop: autoLoop, 5433 slidesPerView: 1, 5434 spaceBetween: 30, 5435 navigation: { 5436 nextEl: '.swiper-products-next', 5437 prevEl: '.swiper-products-prev', 5438 }, 5439 breakpoints: { 5440 '@0.75': { 5441 slidesPerView: 2, 5442 spaceBetween: 20, 5443 }, 5444 '@1.00': { 5445 slidesPerView: 3, 5446 spaceBetween: 40, 5447 }, 5448 '@1.50': { 5449 slidesPerView: 4, 5450 spaceBetween: 50, 5451 }, 5452 } 5453 }); 5454 5455 $('#swiper_products .productClick').click(function() { 5456 try { 5457 if (window.appStoreClickItemEvent) { 5458 var $el = $(this); 5459 window.appStoreClickItemEvent({ 5460 product_id: String($el.data('id')), 5461 variant_id: String($el.data('variant-id')), 5462 name: $el.data('name'), 5463 price: Number($el.data('price')), 5464 currency: getCurrency(), 5465 category: $el.data('category'), 5466 list_name: 'product', 5467 list_position: Number($el.data('position')), 5468 }); 5469 } 5470 } catch (e) { 5471 console.error(e); 5472 } 5473 }); 5474 5475 5476 // new pop modal 5477 $('#swiper_products .btn-cart').click(function() { 5478 var comboProductInfo = $(this).data('comboProductInfo'); 5479 if (comboProductInfo) { 5480 window.themeHelper.EventBus.$emit('showRelatedItemsSelectModal', comboProductInfo); 5481 } else { 5482 var productHandle = '/products/' + $(this).data('handle'); 5483 var collectionId = $(this).data('collection'); 5484 new_addcart_modal.popModal(productHandle, collectionId); 5485 } 5486 }); 5487 5488 5489 const isUpcomingProductsEnabled = null; 5490 // çæ åæåªèçå¯è³¼è²·çå¡ç 5491 $('#swiper_products .product').not('[data-sales-mode-purchasable="false"]').each(function(index) { 5492 const soldOut = $(this).data('sold-out'); 5493 const $upcomingText = $(this).find('.upcoming-product-text'); 5494 const sellTime = $upcomingText.data('sell-from'); 5495 const purchaseRequired = $upcomingText.data('purchase-required'); 5496 const purchaseEligible = $upcomingText.data('purchase-eligible'); 5497 const purchaseStatus = $upcomingText.data('purchase-status'); 5498 5499 const isUpcoming = isUpcomingProductsEnabled && sellTime && new Date(sellTime) > new Date(); 5500 5501 const formattedDate = sellTime ? new Date(sellTime).toLocaleString('zh-TW', { 5502 year: 'numeric', 5503 month: '2-digit', 5504 day: '2-digit', 5505 hour: '2-digit', 5506 minute: '2-digit', 5507 hour12: false 5508 }).replace(/\//g, '-').replace(',', '') : ''; 5509 5510 let labelText = ''; 5511 let buttonClass = ''; 5512 5513 if (purchaseRequired && !isUpcoming) { 5514 labelText = 'é¨åæå¡éå®'; 5515 5516 if (!purchaseEligible) { 5517 if (!soldOut) { 5518 if (purchaseStatus === 'not_logged_in') { 5519 buttonClass = '.btn_login_to_view'; 5520 } else if (purchaseStatus === 'non_eligible') { 5521 buttonClass = '.btn_not_eligible'; 5522 } 5523 } else { 5524 buttonClass = '.btn-soldout'; 5525 } 5526 } 5527 } 5528 else if (!purchaseRequired && isUpcoming) { 5529 labelText = ' éè³£'.replace('', formattedDate); 5530 buttonClass = '.btn_not_sale'; 5531 } 5532 else if (purchaseRequired && isUpcoming) { 5533 const isMobile = window.innerWidth <= 580; 5534 const separator = isMobile ? '\n' : ' '; 5535 labelText = '[é¨åæå¡éå®]' + separator + ' éè³£'.replace('', formattedDate); 5536 buttonClass = '.btn_not_sale'; 5537 } else if (soldOut) { 5538 buttonClass = '.btn-soldout'; 5539 } 5540 5541 if (labelText) { 5542 $upcomingText.text(labelText); 5543 $(this).find('.upcoming-product-text').show(); 5544 } else { 5545 $upcomingText.hide(); 5546 } 5547 5548 if (buttonClass) { 5549 $(this).find('.product_mask').addClass('lift'); 5550 // Hide all buttons first 5551 $(this).find('.btn-cart').hide(); 5552 $(this).find('.btn-soldout').hide(); 5553 $(this).find('.btn_not_sale').hide(); 5554 $(this).find('.btn_login_to_view').hide(); 5555 $(this).find('.btn_not_eligible').hide(); 5556 5557 // Show the appropriate button 5558 $(this).find(buttonClass).removeClass('hidden').show(); 5559 } 5560 }); 5561 5562 // for GTM 5563 $.each($('.GTM-area'),function(){ 5564 var gtm_product = [] 5565 $.each($(this).find('.GTM-info'),function(index,product){ 5566 productInfo = { 5567 'brand': $(product).data('brand'), 5568 'category': $(product).data('category'), 5569 'id': $ (product).data('id'), 5570 'list': 'Collection: '+ $(product).data('list'), 5571 'name': $(product).data('name'), 5572 'position': $(product).data('position'), 5573 'price': $ (product).data('price'), 5574 'variant': '' 5575 } 5576 if(typeof google_analytics_id != "undefined" && window.enable_ga_ee == true){ 5577 ga('ec:addImpression', productInfo); 5578 } 5579 if(typeof google_tag_manager_id != 'undefined' || typeof cyb != 'undefined'){ 5580 gtm_product.push(productInfo) 5581 } 5582 }) 5583 if(typeof google_analytics_id != 'undefined' && window.enable_ga_ee == true){ 5584 ga('send', 'event', {'nonInteraction': true}); 5585 } 5586 if(typeof google_tag_manager_id != 'undefined' && gtm_product.length > 0){ 5587 dataLayer.push({ 5588 'event': 'productImpressions', 5589 'ecommerce':{ 5590 'impressions': gtm_product 5591 } 5592 }); 5593 } 5594 if(typeof cyb != "undefined" && gtm_product.length > 0){ 5595 cyb.push({ 5596 'event': 'productImpressions', 5597 'impressions': gtm_product 5598 }); 5599 } 5600 }) 5601 }) 5602</script>
5602 5603 5604<!-- cyb_snippet swiper_product end --> 5605 5606</div> 5607 5608 5609 5610 </div> 5611</div> 5612 5613 </div> 5614 5615 <!-- Footer --> 5616 5617 5618 5619 5620 5621 5622 5623<style> 5624 5625 5626 @media(min-width: 991px) { 5627 .display_x .left-content > div { 5628 max-width: calc(100% / 2); 5629 } 5630 } 5631</style> 5632 5633<div id="index-recommendation"></div> 5634 5635<footer id="footer" class="qk-fs--body qk-bg--footer_bg"> 5636 5637 5638 <div class="qk-container display_x"> 5639 <div class="footer_content qk-mg--0 qk-display--flex qk-justify--between"> 5640 <div class="left-content qk-flex--1"> 5641 5642 5643 <div class="link-list-container"> 5644 5645 <p class="footer_title qk-fs--title qk-text--footer_text">è±ç©æé£åè¡ä»½æéå ¬å¸</p> 5646 5647 <div class="item horizontal qk-text--left"> 5648 <ul class="qk-display--flex qk-flex--wrap"> 5649 5650 5651 <li class="qk-display--il_bk"> 5652 5653 <a 5654 class="qk-text--footer_text" 5655 href="/search" 5656 rel="noopener noreferrer" 5657 target="_blank">æ¥è©¢</a> 5658 5659 </li> 5660 5661 <li class="qk-display--il_bk"> 5662 5663 <a 5664 class="qk-text--footer_text" 5665 href="/pages/about-us" 5666 rel="noopener noreferrer" 5667 target="_blank">éæ¼è±ç©æ</a> 5668 5669 </li> 5670 5671 <li class="qk-display--il_bk"> 5672 5673 <a 5674 class="qk-text--footer_text" 5675 href="/account/index" 5676 rel="noopener noreferrer" 5677 target="_blank">æç帳æ¶</a> 5678 5679 </li> 5680 5681 <li class="qk-display--il_bk"> 5682 5683 <a 5684 class="qk-text--footer_text" 5685 href="/pages/refund" 5686 rel="noopener noreferrer" 5687 target="_blank">鿬¾æ¿ç</a> 5688 5689 </li> 5690 5691 <li class="qk-display--il_bk"> 5692 5693 <a 5694 class="qk-text--footer_text" 5695 href="/pages/privacy" 5696 rel="noopener noreferrer" 5697 target="_blank">é±ç§æ¿ç</a> 5698 5699 </li> 5700 5701 <li class="qk-display--il_bk"> 5702 5703 <a 5704 class="qk-text--footer_text" 5705 href="/pages/terms" 5706 rel="noopener noreferrer" 5707 target="_blank">æåæ¢æ¬¾</a> 5708 5709 </li> 5710 5711 <li class="qk-display--il_bk"> 5712 5713 <a 5714 class="qk-text--footer_text" 5715 href="/pages/æå¡åç´èªªæ" 5716 rel="noopener noreferrer" 5717 target="_blank">æå¡åç´èªªæ</a> 5718 5719 </li> 5720 5721 5722 </ul> 5723 </div> 5724 </div> 5725 5726 5727 5728 <div class="item contact qk-text--left"> 5729 5730 <p class="footer_title qk-fs--title qk-text--footer_text">è¯çµ¡æå</p> 5731 5732 <ul> 5733 5734 <li class="phone qk-bd_r--default qk-bd--footer_text qk-display--il_bk">
5735 <span class="qk-text--footer_text">客æå°ç·ï¼02-29109475</span> 5736 </li> 5737 5738 5739 <li class="fax qk-bd_r--default qk-bd--footer_text qk-display--il_bk"> 5740 <span class="qk-text--footer_text">客æå³çï¼02-29149741</span> 5741 </li> 5742 5743 5744 <li class="time qk-bd_r--default qk-bd--footer_text qk-display--il_bk"> 5745 <span class="qk-text--footer_text">客ææéï¼å¨ä¸~äº 09:00-18:00(åå®ä¾åæ¥ä¼)</span> 5746 </li> 5747 5748 5749 <br> 5750 <li class="mail qk-bd_r--default qk-bd--footer_text qk-cursor--pointer qk-display--il_bk"> 5751 <a class="qk-text--footer_text" href="mailto:[email protected]">ä¿¡ç®±ï¼[email protected]</a> 5752 </li> 5753 5754 5755 <li class="address qk-bd_r--default qk-bd--footer_text qk-display--il_bk"> 5756 <span class="qk-text--footer_text">å°åï¼æ°å叿°åºå寶èè·¯45å··6å¼10è1.2æ¨</span> 5757 </li> 5758 5759 5760 <li class="tax_id qk-bd_r--default qk-bd--footer_text qk-display--il_bk"> 5761 <span class="qk-text--footer_text">çµ±ä¸ç·¨èï¼13101895</span> 5762 </li> 5763 5764 </ul> 5765 </div> 5766 5767 5768 </div> 5769 <div class="right-content qk-display--flex qk-flex--column"> 5770 5771 <div class="fb_fanpage qk-hidden--mobile"> 5772 <div class="fb_fans_page_area"> 5773 <div 5774 class="fb-page" 5775 data-href="https://www.facebook.com/218369678214850" 5776 data-width="500" 5777 data-adapt-container-width="true" 5778 data-hide-cover="false" 5779 data-show-facepile="true"> 5780 <blockquote cite="https://www.facebook.com/218369678214850" class="fb-xfbml-parse-ignore"> 5781 <a target="_blank" rel="noopener noreferrer" href="https://www.facebook.com/218369678214850"></a> 5782 </blockquote> 5783 </div> 5784 </div> 5785 </div> 5786 5787 <div class="media qk-display--il"> 5788 <div class="item social_media qk-h--auto qk-float--l"> 5789 <ul> 5790 5791 <li class="qk-display--il_bk"> 5792 <a target="_blank" rel="noopener noreferrer" href="https://www.facebook.com/dosuperfans"> 5793 <svg 5794 class="facebook-svg" 5795 xmlns="http://www.w3.org/2000/svg" 5796 width="40" 5797 height="40"
5798 viewBox="0 0 40 40"> 5799 <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" /> 5800 </svg> 5801 </a> 5802 </li> 5803 5804 5805 5806 5807 </ul> 5808 </div> 5809 </div> 5810 </div> 5811 </div> 5812 </div> 5813 5814 <div class="copyright qk-text--footer_text qk-bd--footer_text qk-text--left qk-bd_t--default"> 5815 <div class="qk-container container qk-fw--500"> 5816 <span>Copyright ©</span> 5817 <a class="qk-text--link" href="/"> 5818 <span>è±ç©æå®ç¶²</span> 5819 </a> 5820 <span>All Rights Reserved.</span> 5821 <span>Designed by 5822 </span> 5823 <a 5824 class="qk-text--link" 5825 href="https://www.cyberbiz.io?utm_source=poweredbycyberbiz" 5826 target="_blank" 5827 rel="noopener noreferrer" 5828 title="Designed by CYBERBIZ">CYBERBIZ</a>. 5829 </div> 5830 </div> 5831 5832</footer>
5833<script> 5834 $(document).ready(function() { 5835 let isDynamicLoading = false; 5836 5837 let menusData = { 5838 5839 5840 "footer": { 5841 5842 "type": "items", 5843 "data": [ 5844 5845 5846 5847 { 5848 "title": "æ¥è©¢", 5849 "url": "/search", 5850 "item_type": "search" 5851 }, 5852 5853 { 5854 "title": "éæ¼è±ç©æ", 5855 "url": "/pages/about-us", 5856 "item_type": "page" 5857 }, 5858 5859 { 5860 "title": "æç帳æ¶", 5861 "url": "/account/index", 5862 "item_type": "http" 5863 }, 5864 5865 { 5866 "title": "鿬¾æ¿ç", 5867 "url": "/pages/refund", 5868 "item_type": "refund" 5869 }, 5870 5871 { 5872 "title": "é±ç§æ¿ç", 5873 "url": "/pages/privacy", 5874 "item_type": "privacy" 5875 }, 5876 5877 { 5878 "title": "æåæ¢æ¬¾", 5879 "url": "/pages/terms", 5880 "item_type": "terms" 5881 }, 5882 5883 { 5884 "title": "æå¡åç´èªªæ", 5885 "url": "/pages/æå¡åç´èªªæ", 5886 "item_type": "page" 5887 } 5888 5889 5890 ] 5891 5892 }, 5893 5894 5895 5896 5897 }; 5898 5899 if (isDynamicLoading) { 5900 window.DynamicLoading.setupComponent({ 5901 sectionId: '#footer', 5902 callbackData:{ 5903 section: {"type":"footer","visible":true,"settings":{"footer_link":"footer","display_facebook":true,"shop_facebook":"https://www.facebook.com/dosuperfans","display_instagram":false,"shop_instagram":"https://www.instagram.com/?hl=zh-tw","display_line":false,"shop_line":"https://line.me/zh-hant/","display_youtube":false,"shop_youtube":"https://www.youtube.com/","footer_link_arrangement":"display_x","display_facebook_fan_block":true},"block_order":["default_link_list","default_contact_info"],"blocks":{"default_link_list":{"type":"link_list_setting","thumbnail":"list","draggable":true,"visible":true,"settings":{"dict_link_list_block_title":"è±ç©æé£åè¡ä»½æéå ¬å¸","footer_link":"footer"},"custom_name":"é¸å®"},"default_contact_info":{"type":"contact_info_setting","thumbnail":"contactInfo","draggable":true,"visible":true,"settings":{"dict_contact_info_block_title":"è¯çµ¡æå","display_phone":"true","dict_phone_number":"02-29109475","display_fax_number":true,"dict_shop_fax_number":"02-29149741","display_shop_email":"true","dict_shop_email":"[email protected]","display_shop_address":"true","dict_shop_address":"æ°å叿°åºå寶èè·¯45å··6å¼10è1.2æ¨","display_office_time":"true","dict_shop_office_time":"å¨ä¸~äº 09:00-18:00(åå®ä¾åæ¥ä¼)","display_tax_id":true,"dict_tax_id":"13101895"},"custom_name":"è¯çµ¡è³è¨"}},"custom_name":"é è ³"}, 5904 shop: { 5905 name: 'è±ç©æå®ç¶²', 5906 cyberbiz_link: 'https://www.cyberbiz.io?utm_source=poweredbycyberbiz', 5907 facebook_fan_page: 'https://www.facebook.com/218369678214850', 5908 }, 5909 menus: menusData, 5910 is_display_facebook_fan_block: true 5911 }, 5912 entryName:'renderFooterSection', 5913 source:'//cdn-general.cybassets.com/frontend/shop/footerSection-e958d46bfee2e69f.js', 5914 }); 5915 } 5916 }); 5917</script>
5917 5918 5919<!-- cyb_snippet _tracking_code start --> 5920
5920<script> 5921 window.fbAsyncInit = function() { 5922 FB.init({ 5923 appId : '', 5924 xfbml : true, 5925 version : 'v24.0', 5926 }); 5927 }; 5928 (function(d, s, id){ 5929 var js, fjs = d.getElementsByTagName(s)[0]; 5930 if (d.getElementById(id)) {return;} 5931 js = d.createElement(s); 5932 js.id = id; 5933 js.src = 'https://connect.facebook.net/zh_TW/sdk.js'; 5934 fjs.parentNode.insertBefore(js, fjs); 5935 }(document, 'script', 'facebook-jssdk')); 5936 </script>
5936 5937 5938
5939<script> 5940 // for scupio 5941 if (document.querySelector("meta[name=\"scupio_mid\"]")) { 5942 mid = document.querySelector("meta[name=\"scupio_mid\"]").content; 5943 } else { 5944 mid = ""; 5945 } 5946 if (!window.is_scupio_sent && mid) { 5947 window._bwtm = window._bwtm || [] 5948 window._bwtm.push({ 5949 "mid": mid, 5950 "uid": "" 5951 }); 5952 } 5953</script>
5953 5954 5955<!-- cyb_snippet _tracking_code end --> 5956
5957<script> 5958 $(document).ready(function(){ 5959 if(window.location.pathname != '' && window.location.pathname != '/' ){ 5960 document.getElementById('index-recommendation').style.display = 'none' 5961 } 5962 }); 5963</script>
5963 5964 5965 5966 5967 <!-- Fast-Events --> 5968 <!-- cyb_snippet fast_events start --> 5969 5970
5971<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/fast_events-e958d46bfee2e69f.js' type='text/javascript'></script>
5971 5972<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/fast_events-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' /> 5973 5974<!-- cyb_snippet fast_events end --> 5975 5976 <div class="bottom-right qk-pos--fixed"> 5977 <!-- gototop --> 5978 <div id="gototop" class="qk-display--none qk-text--center"> 5979 <a href="javascript:void(0)" class="qk-circle qk-circle--lg qk-pos--relative qk-text--center"> 5980 <i class="fas fa-chevron-up"></i> 5981 </a> 5982 </div> 5983 5984 <!-- popup --> 5985 5986 5987 5988 5989<div id="popup-wrapper" class="qk-display--none"></div> 5990 5991<template id="popup-template"> 5992 <div 5993 :class="status" 5994 v-if="hasContent" 5995 id="popup-section" 5996 > 5997 <transition name="backdrop"> 5998 <div 5999 v-if="shouldShowPopup" 6000 @click.capture="minifyPopup" 6001 id="popup-backdrop" 6002 class="qk-w--100vw qk-h--100vh qk-pos--fixed qk-t--0 qk-l--0 qk-tst" 6003 > 6004 </div> 6005 </transition> 6006 <transition name="onShow"> 6007 <div 6008 @click.self="showPopup" 6009 @transitionstart="updateGameStatus('start', this)" 6010 @transitionend="updateGameStatus('end', this)" 6011 class="popup-content qk-display--flex qk-align--center qk-tst qk-tst_dur--30 qk-tst_timing--ease_o" 6012 > 6013 <div 6014 v-for="block in blocks" 6015 :key="block.id" 6016 :class="[block.type, minifiedBlockClasses, block.settings.icon_size]" 6017 class="block qk-tst qk-tst_dur--30 qk-tst_timing--ease_o qk-of--auto" 6018 > 6019 <div v-if="block.type === 'image'" class="qk-pos--rel"> 6020 <img 6021 v-show="!shouldShowPopup" 6022 :src="block.settings.dict_icon_image_url" 6023 class="qk-tst qk-tst_dur--30 qk-tst_timing--ease_o" 6024 alt="popup button" 6025 > 6026 <a 6027 v-show="shouldShowPopup" 6028 :href="block.settings.dict_link" 6029 :target="block.settings.target" 6030 :rel="block.settings.rel" 6031 class="qk-display--flex qk-align--center" 6032 @click="linkClicked" 6033 > 6034 <picture> 6035 <source :srcset="block.settings.dict_mobile_image_url" media="(max-width: 576px)"> 6036 <source :srcset="block.settings.dict_tablet_image_url" media="(max-width: 992px)"> 6037 <img 6038 :src="block.settings.dict_image_url" 6039 class="qk-tst qk-tst_dur--30 qk-tst_timing--ease_o" 6040 alt="popup picture" 6041 /> 6042 </picture> 6043 </a> 6044 </div> 6045 <div v-if="block.type === 'video'"> 6046 <iframe 6047 :src="block.settings.dict_video_link" 6048 frameborder="0" 6049 class="qk-center--y qk-w--100 qk-h--100" 6050 ></iframe> 6051 </div> 6052 <div v-if="block.type === 'game'"> 6053 <div v-show="gameStatus === 'show'" :class="{ 'show-game': gameStatus === 'show' }"> 6054 <iframe 6055 class="cb-game-iframe iframe-loading" 6056 :src="getGameIframeSrc(block)" 6057 style="border: none;" 6058 > 6059 Loading 6060 </iframe> 6061 </div> 6062 <div v-show="gameStatus === 'minified'"> 6063 <img 6064 src="//cdn-general.cybassets.com/game_assets/game_minified_new.png" 6065 class="qk-h--100 qk-w--100" 6066 alt="game minified icon" 6067 /> 6068 </div> 6069 </div> 6070 <div 6071 v-if="block.type === 'carousel'" 6072 :id="`popup-carousel-${block.id}`" 6073 > 6074 </div> 6075 </div> 6076 </div> 6077 </transition> 6078 <transition name="backdrop"> 6079 <div 6080 v-if="shouldShowPopup" 6081 @click.capture="minifyPopup" 6082 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" 6083 > 6084 </div> 6085 </transition> 6086 </div> 6087</template> 6088
6089<script> 6090 $(document).ready(function() { 6091 const CDN_HOST = '//cdn-general.cybassets.com'; 6092 const section = {"type":"popup","visible":true,"blocks":{"popup_block_1":{"type":"image","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzYyMzMzNjgzX-i3s-eqlzExMDUtMDEuanBnLmpwZWciXV0.jpeg?sha=775ea4bcf7230754","icon_size":"large","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzYyMzMzNjgzX-i3s-eqlzExMDUtMDEuanBnLmpwZWciXV0.jpeg?sha=775ea4bcf7230754","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzYyMzMzNjgzX-i3s-eqlzExMDUtMDEuanBnLmpwZWciXV0.jpeg?sha=775ea4bcf7230754","dict_icon_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzYyMzMzNjgzX-i3s-eqlzExMDUtMDEuanBnLmpwZWciXV0.jpeg?sha=775ea4bcf7230754","dict_link":"https://dosuper.cyberbiz.co/blogs/news/login","link_open_in_new_tab":true},"custom_name":"åç"},"1770347373802_0":{"type":"image","custom_name":"åç","visible":false,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcwMzQ3MjQyX-acgOW-jOS4i-WWri1DWeaJiy5qcGcuanBlZyJdXQ.jpeg?sha=9effe9d92973e92b","dict_tablet_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcwMzQ3MjQyX-acgOW-jOS4i-WWri1DWeaJiy5qcGcuanBlZyJdXQ.jpeg?sha=9effe9d92973e92b","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcwMzQ3MjQyX-acgOW-jOS4i-WWri1DWeaJiy5qcGcuanBlZyJdXQ.jpeg?sha=9effe9d92973e92b","dict_icon_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjMzODk4L2F0dGFjaGVkX3Bob3Rvcy8xNzcwMzQ3MjQyX-acgOW-jOS4i-WWri1DWeaJiy5qcGcuanBlZyJdXQ.jpeg?sha=9effe9d92973e92b","icon_size":"small"}}},"block_order":["1770347373802_0"],"settings":{},"custom_name":"å½çªå»£å"}; 6093 var popupSection = Vue.createApp({ 6094 template: '#popup-template', 6095 delimiters: ['${', '}'], 6096 data() { 6097 const isOmniauthPage = ['omniauth_terms_agreement', 'omniauth_mobile/'] 6098 .some(path => location.pathname.includes(path)); 6099 return { 6100 status: 'minified', 6101 gameStatus: 'show', 6102 blocks: isOmniauthPage 6103 ? [] 6104 : section.block_order && section.block_order.reduce( 6105 function(acc, blockId) { 6106 const block = section.blocks[blockId]; 6107 if (block && block.visible) { 6108 acc.push({ 6109 ...block, 6110 id: blockId, 6111 }); 6112 } 6113 return acc; 6114 }, 6115 [], 6116 ), 6117 hasAddedGameScript: false, 6118 }; 6119 }, 6120 computed: { 6121 hasContent: function() { 6122 return !!(this.blocks && this.blocks.length > 0); 6123 }, 6124 minifiedBlockClasses: function() { 6125 return this.status === 'minified' ? 'qk-pointer--none qk-unselectable' : ''; 6126 }, 6127 shouldShowPopup: function() { 6128 return this.status === 'show'; 6129 } 6130 }, 6131 methods: { 6132 unhidePopup: function(storedStatus) { 6133 this.status = storedStatus; 6134 $('#popup-wrapper').removeClass('qk-display--none'); 6135 }, 6136 showPopup: function() { 6137 if (this.status !== 'show') { 6138 this.status = 'show'; 6139 this.saveStatus(this.status); 6140 } 6141 }, 6142 minifyPopup: function() { 6143 this.status = 'minified'; 6144 this.saveStatus('minified'); 6145 }, 6146 loadStatus: function() { 6147 return JSON.parse(localStorage.getItem('popupStatus')); 6148 }, 6149 saveStatus: function(status) { 6150 if (status) { 6151 localStorage.setItem('popupStatus', JSON.stringify({ 6152 status: status, 6153 setTime: new Date().getTime(), 6154 })); 6155 } 6156 }, 6157 linkClicked: function() { 6158 this.saveStatus('minified'); 6159 }, 6160 parseVideoLink: function(settings) { 6161 settings.dict_video_link = themeHelper.parseYtUrl(sett
6161ings.dict_video_link); 6162 }, 6163 setupImageSrc: function (settings) { 6164 settings.dict_image_url = this.addCdnHost(settings.dict_image_url); 6165 if (settings.dict_tablet_image_url) { 6166 settings.dict_tablet_image_url = this.addCdnHost(settings.dict_tablet_image_url); 6167 } 6168 if (settings.dict_mobile_image_url) { 6169 settings.dict_mobile_image_url = this.addCdnHost(settings.dict_mobile_image_url); 6170 } 6171 settings.dict_icon_image_url = this.addCdnHost(settings.dict_icon_image_url) || settings.dict_image_url; 6172 }, 6173 addCdnHost: function(url) { 6174 if (!url) { 6175 return url; // only add cdn host if url is not empty 6176 } 6177 6178 try { 6179 new URL(url); 6180 return url; // already a valid url, cdn host not needed 6181 } catch { 6182 return `${CDN_HOST}${url}`; 6183 } 6184 }, 6185 initStatus: function() { 6186 let newStatus = 'show'; 6187 const popupStatus = this.loadStatus(); 6188 const currentTime = new Date().getTime(); 6189 const oneDay = 1000 * 60 * 60 * 24; 6190 const hasStoredStatus = popupStatus && currentTime - popupStatus.setTime < oneDay; 6191 const redirectedByGameLogin = !this.hasRedirectUrl() && this.redirectedByGameLogin(); 6192 const isLoggingIn = this.isLoggingIn(); 6193 const isCartPage = window.location.pathname.split('/').includes('carts'); 6194 6195 if (hasStoredStatus && !redirectedByGameLogin) { 6196 newStatus = popupStatus.status; 6197 } 6198 6199 if (isLoggingIn) { 6200 newStatus = 'minified'; 6201 } else { 6202 localStorage.removeItem('redirectedByPopup'); 6203 } 6204 6205 setTimeout(() => { 6206 this.status = newStatus; 6207 this.gameStatus = newStatus; 6208 this.saveStatus(newStatus); 6209 if(!isCartPage){ 6210 this.unhidePopup(newStatus); 6211 } 6212 }, 1000); 6213 }, 6214 initBlocks: function() { 6215 if (this.hasContent) { 6216 this.blocks.forEach(block => { 6217 switch(block.type) { 6218 case 'image': 6219 this.setupImageSrc(block.settings); 6220 6221 const isOpenInNewTab = block.settings.link_open_in_new_tab; 6222 if (isOpenInNewTab) { 6223 block.settings.target = '_blank'; 6224 block.settings.rel = 'noopener noreferrer'; 6225 } 6226 6227 break; 6228 case 'video': 6229 this.parseVideoLink(block.settings); 6230 break; 6231 } 6232 }) 6233 } 6234 }, 6235 getGameIframeSrc: function (block) { 6236 return `/games/${block.settings.dict_game_handle}` 6237 }, 6238 updateGameStatus: function(type, element) { 6239 if ( 6240 (type === 'start' && this.status === 'minified') 6241 || (type === 'end' && this.status === 'show') 6242 ) { 6243 this.gameStatus = this.status; 6244 } 6245 }, 6246 setupGameRedirects: function() { 6247 window.addEventListener('pagehide', () => { 6248 const isGameActive = document.body.getElementsByClassName('show-game').length; 6249 if (isGameActive) { 6250 localStorage.setItem('redirectedByPopup', 'true'); 6251 this.saveStatus('minified'); 6252 } 6253 }); 6254 }, 6255 hasRedirectUrl: function() { 6256 return (new URLSearchParams(location.search)).has('redirect_url'); 6257 }, 6258 redirectedByGameLogin: function() { 6259 return localStorage.getItem('redirectedByPopup'); 6260 }, 6261 isLoggingIn: function() { 6262 const loginRelatedPathnames = [ 6263 'account/signup', 6264 'account/login', 6265 'account/customer/password/new', 6266 'pages/terms' 6267 ]; 6268 return loginRelatedPathnames.some(path => location.pathname.includes(path)); 6269 } 6270 }, 6271 created: function() { 6272 this.initStatus(); 6273 this.initBlocks(); 6274 this.setupGameRedirects(); 6275 }, 6276 mounted: function() { 6277 this.blocks.forEach((block) => { 6278 if (block.type === 'carousel' && block.settings.dict_c
6278arousel) { 6279 renderCarousel(`#popup-carousel-${block.id}`, { 6280 title: block.settings.dict_carousel, 6281 CDN_HOST, 6282 onLinkClick: () => this.linkClicked(), 6283 }); 6284 } 6285 }); 6286 }, 6287 }); 6288 popupSection.mount('#popup-wrapper'); 6289 }); 6290</script>
6290 6291 6292 6293 6294 </div> 6295 6296 <!-- ajaxloading --> 6297 <div id="ajaxloading" class="qk-display--none qk-h--100vh qk-w--100vw qk-l--0 qk-t--0 qk-pos--fixed"> 6298 <div class="ajaxbody qk-pos--abs qk-l--50 qk-t--50 qk-text--center"> 6299 <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"> 6300 <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"/> 6301 <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 "/> 6302 <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"/> 6303 <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"/> 6304 <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"/> 6305 <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"/> 6306 </svg> 6307 <div class="success_msg title qk-display--none qk-pos--abs qk-l--0 qk-w--100 qk-text--center">å·²å å ¥è³¼ç©è»</div> 6308 <div class="success_update_msg title qk-display--none qk-pos--abs qk-l--0 qk-w--100 qk-text--center">å·²æ´æ°è³¼ç©è»</div> 6309 <div class="fail_msg title qk-display--none qk-pos--abs qk-l--0 qk-w--100 qk-text--center">網路ç°å¸¸ï¼è«éæ°æ´ç</div> 6310 </div> 6311 </div> 6312
6312<script src="//cdn-general.cybassets.com/assets/referral-code-trace-5fcbbe026a61c36b5f09a1615a1c168688205205d9d3e7ee854181a66b64a6ed.js"></script>
6312 6313
6313<script> 6314 dataLayer.push({ 6315 'event': 'productDetails', 6316 'ecommerce': { 6317 'detail': { 6318 'products': {"id":69561326,"name":"éç®ææä¿å·ç¦®è¢","price":15.0,"brand":null,"category":null,"variant":"","qc":null} 6319 } 6320 } 6321 }); 6322 </script>
6322 6323 6324
6324<script> 6325 cyb.push({ 6326 'event': 'productDetails', 6327 'ecommerce': { 6328 'currencyCode': 'TWD', 6329 'detail': { 6330 'products': [{"id":69561326,"name":"éç®ææä¿å·ç¦®è¢","price":15.0,"brand":null,"category":null,"variant":""}] 6331 } 6332 } 6333 }); 6334 </script>
6334 6335 6336
6336<script> 6337 if (window.fbq) { 6338 fbq("track", "ViewContent", { 6339 content_name: "éç®ææä¿å·ç¦®è¢", 6340 content_ids: "84890442", 6341 content_type: "product", 6342 value: 15.0, 6343 currency: "TWD", 6344 contents: [{"id":84890442,"price":15.0,"quantity":1401}], 6345 content_category: null 6346 },{ 6347 eventID: "ViewContent_0D48F54522C4255BF3DF79DFB9973EEB" 6348 }); 6349 } 6350 </script>
6350 6351 </body> 6352 6353
6353<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/sub_vendor-e958d46bfee2e69f.js' type='text/javascript'></script>
6353 6354
6354<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/theme_helper-e958d46bfee2e69f.js' type='text/javascript'></script>
6354 6355 6356 <!-- theme assets --> 6357
6357<script src='//cdn-general.cybassets.com/s/files/33898/theme/123241/assets/js/1756289073_0ff5c3fe_main.js?1756289073' type='text/javascript'></script>
6357 6358
6358<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/theme-e958d46bfee2e69f.js' type='text/javascript'></script>
6358 6359 6360 <!-- for cache --> 6361
6361<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/cacheable-e958d46bfee2e69f.js' type='text/javascript'></script>
6361 6362</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.