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-5MMDGG24
vendor: 3 bytes, line 12
12');
12</script>
12 13 <!-- End Google Tag Manager --> 14 <!-- CYBERBIZ Google Tag Manager --> 15
15<script>
vendor: 345 bytes, lines 15-19
15(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 16 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 17 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 18 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 19 })(window,document,'script','cyb','
19GTM-TXD9LVJ
vendor: 3 bytes, line 19
19');
19</script>
19 20 <!-- End CYBERBIZ Google Tag Manager --> 21 22 <meta charset="utf-8"> 23<meta http-equiv="X-UA-Compatible" content="IE=edge"> 24<meta name="viewport" content="width=device-width, initial-scale=1"> 25<link rel="icon" href="https://cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjQ2OTkxMjkwX1NLSUlf6buD5aeQ5oSb5L-d6aSKX0xvZ28uanBnLmpwZWciXV0.jpeg?convert=false&sha=927dea8ad1346c9b"> 26<link rel="apple-touch-icon" href="https://cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjQ2OTkxMjkwX1NLSUlf6buD5aeQ5oSb5L-d6aSKX0xvZ28uanBnLmpwZWciXV0.jpeg?convert=false&sha=927dea8ad1346c9b"> 27 28<meta property="og:site_name" content="é»å§æä¿é¤" /> 29 30<!-- og tag --> 31 32 <meta name="keywords" content="SK-II, SK2, é è©©èé», Estée Lauder, 鿥é², ç¥ä»æ°´, å°æ£ç¶, ç¹æ½¤è¶ å°ä¿®è·é², å¤§ç´ ç¶, å°ç泡, ç¾ç½ç²¾è¯, æèä¿é¤å, ä¿æ¿ç²¾è¯, å°æ«ä¿é¤å, å ¬å¸è²¨, æ£åä¿è, å°ç£ç¾è²¨, ç¶é·å" /> 33 <meta name="description" content="å°çSK-II (SK2) èé è©©èé»çå°æ«ä¿é¤åãæä¾éæ¥é²(ç¥ä»æ°´)ãå¤§ç´ ç¶ãå°æ£ç¶çç±é·å ¬å¸è²¨ãéå°ç®èææ²ãæ¯åç²å¤§èæèéæ±æä¾å°æ¥æ¨è¦ãå°ç£ç¾è²¨ï¼ä¿èæ£å å¿«éåºè²¨" /> 34 <meta property="og:title" content="é»å§æä¿é¤ | SK-II é è©©èé» æ£è²¨ç¶é· - åéç²¾åç¾å¦ å¤åç代ç" /> 35 <meta property="og:description" content="å°çSK-II (SK2) èé è©©èé»çå°æ«ä¿é¤åãæä¾éæ¥é²(ç¥ä»æ°´)ãå¤§ç´ ç¶ãå°æ£ç¶çç±é·å ¬å¸è²¨ãéå°ç®èææ²ãæ¯åç²å¤§èæèéæ±æä¾å°æ¥æ¨è¦ãå°ç£ç¾è²¨ï¼ä¿èæ£å å¿«éåºè²¨" /> 36 <meta property="og:url" content="https://www.to-buy.com.tw" /> 37 <meta property="og:type" content="website" /> 38 39 40<!-- og image --> 41 42 43 <meta property="og:image" content="https://cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjQ2OTkxMjkwX1NLSUlf6buD5aeQ5oSb5L-d6aSKX0xvZ28uanBnLmpwZWciXV0.jpeg?sha=927dea8ad1346c9b" /> 44 45 46 47<title> 48 49 é»å§æä¿é¤ | SK-II é è©©èé» æ£è²¨ç¶é· - åéç²¾åç¾å¦ å¤åç代ç 50 51</title> 52 53 54
55<script src='//cdn-general.cybassets.com/frontend/shop/useSettingsData-e958d46bfee2e69f.js' type='text/javascript'></script>
55 56 57 58 59
59<script> 60 window.setSettingsData({"draggable_sections":{"404":[],"index":["1769909594379_7","_main_slider_custom","_index_product_banner","_index_8_blocks","1649756284558","_index_4_blogs","_index_4_blocks","1764205348538_3","1764205535671_3"],"product":["product_info","product_description","board_comments","related_products"],"collection":[],"category":[],"blog":[],"article":[],"cart":[],"contact":[],"express_delivery":[],"search":[],"combo_product":["combo_product_info","combo_product_desc","board_comments"]},"sections":{"navbar":{"type":"navbar","visible":true,"settings":{"navbar_image_logo_url":"//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNzY1MzU4NzE0X-m7g-WnkOaEm-S_nemkil9Mb2dvX1NLLUlJIOmbheipqeiYrem7myDlnIvpmpvnsr7lk4Hnvo7lpp0g5q2j6LKo57aT6Yq3LnBuZy5wbmciXV0.png?sha=129bd7342db5c6d7","navbar_image_logo_tablet_url":"","navbar_image_logo_mobile_url":"","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":"","display_count_down":false,"navbar_display_style":"displayDefault","header_banner_start":"","header_banner_end":"","timer_text_color":"#c39d6f","timer_bg_color":"#2b2b6e","menu_display_style":"three_dimension_menu","link_menu_enabled":false,"link_menu":"undefined","display_banner_type":"imageBanner","header_banner_simple_text_size":"12","header_banner_simple_text_color":"#ffffff","header_banner_simple_bg":"#000000","logo_height":"80","header_logo_image_alt":"é»å§æä¿é¤ | SK-II é è©©èé» åéç²¾åç¾å¦ æ£è²¨ç¶é·","mobile_logo_position":"left","navbar_pc_title_font_size_scale":"90","navbar_pc_body_font_size_scale":"100","navbar_mobile_title_font_size_scale":"90","navbar_mobile_body_font_size_scale":"100","breadcrumb_referrer_enabled":false},"custom_name":"å°è¦½å","thumbnail":"navigation","draggable":false},"footer":{"type":"footer","visible":true,"settings":{"footer_link":"footer","display_facebook":true,"shop_facebook":"https://reurl.cc/mGj0e7","display_instagram":false,"shop_instagram":"https://www.instagram.com/?hl=zh-tw","display_line":true,"shop_line":"https://lin.ee/W87riD8","display_youtube":false,"shop_youtube":"https://www.youtube.com/","footer_link_arrangement":"display_y","display_facebook_fan_block":true},"custom_name":"é è ³","thumbnail":"footer","draggable":false,"block_order":["default_link_list","default_contact_info"],"blocks":{"default_link_list":{"type":"link_list_setting","custom_name":"é¸å®","thumbnail":"list","draggable":true,"visible":true,"settings":{"footer_link":"footer","dict_link_list_block_title":"éæ¼æå"}},"default_contact_info":{"type":"contact_info_setting","custom_name":"è¯çµ¡è³è¨","thumbnail":"contactInfo","draggable":true,"visible":true,"settings":{"display_phone":false,"display_fax_number":false,"shop_fax_number":"0222345678","display_shop_email":true,"display_shop_address":false,"display_office_time":true,"shop_office_time":"10:00-17:00","dict_contact_info_block_title":"è¯çµ¡è³è¨","dict_phone_number":"02-2775-2682","dict_shop_email":"[email protected]","dict_shop_address":"æ°å叿°èåäºå·¥äºè·¯62å··6è䏿¨","display_tax_id":false,"dict_tax_id":"55783512 ","dict_shop_office_time":"é±ä¸å°é±äº 10:00 - 17:30"}}}},"_main_slider_custom":{"type":"_main_slider_custom","visible":true,"blocks":{"display_main_slider_item_1":{"type":"image","visible":true,"settings":{"dict_link":"/collections/all","dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjQ2OTkwOTYzXzIwMjIwMzExX1NLMum7g-WnkOWBhzHpmaoxMEJOX1JJQU5fMTkyMFg4MDAuanBnLmpwZWciXV0.jpeg?sha=0f7e740b12722a2a","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","main_slider_image_alt":"é»å§æä¿é¤-å°æ«æ£è²¨"},"custom_name":"ç´ æ","thumbnail":"banner","draggable":true}
60,"display_main_slider_item_2":{"type":"image","visible":true,"settings":{"dict_link":"https://www.to-buy.com.tw/products/skc11103020","dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNzY0OTAxODQ4XzIwMjUxMjAxLVNLMua0u-WLlS3lsI_oirNfMTkyMHgxMDgwLmpwZy5qcGVnIl1d.jpeg?sha=6ad51490ce747f87","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","link_open_in_new_tab":true,"main_slider_image_alt":"SK-II-鿥é²-é»å§æä¿é¤"},"custom_name":"ç´ æ","thumbnail":"banner","draggable":true},"display_main_slider_item_3":{"type":"image","visible":true,"settings":{"dict_link":"/products/sk0023","dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjQ3MzExNDE0XzIwMjIwMzE1X1NLMiDotoXogozlm6Dpkb3lhYnmt6jnmb3nsr7oj681MG1sIEJOX1JJQU5fMTkyMFg4MDAgLmpwZy5qcGVnIl1d.jpeg?sha=a169c5af60e68c76","dict_tablet_image_url":"","dict_mobile_image_url":""},"custom_name":"ç´ æ","thumbnail":"banner","draggable":true},"display_main_slider_item_4":{"type":"image","visible":true,"settings":{"dict_link":"/collections/all","dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjcyOTY5MjMxXzIwMjMwMTA0U0tiYW5uZXIxOTIweDgwMC5qcGcuanBlZyJdXQ.jpeg?sha=57d7b8e2d232fb18","dict_tablet_image_url":"","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjcyOTY5MjQ4XzIwMjMwMTA0U0tiYW5uZXIxMjAweDgwMC5qcGcuanBlZyJdXQ.jpeg?sha=328a8b35f8f8379c"},"custom_name":"ç´ æ","thumbnail":"banner","draggable":true},"display_main_slider_item_5":{"type":"image","visible":true,"settings":{"dict_link":"","dict_image_url":"","dict_tablet_image_url":"","dict_mobile_image_url":""},"custom_name":"ç´ æ","thumbnail":"banner","draggable":true},"1649644198621":{"type":"image","custom_name":"ç´ æ","visible":true,"settings":{"dict_image_url":"/theme_src/i18n_shoestore/default_img/index_4_blocks_1.jpg","dict_tablet_image_url":"","dict_mobile_image_url":"","dict_link":""}},"1649644212083":{"type":"image","custom_name":"ç´ æ","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjQ5NjQ0NDI5XzIwMjIwNDA4X-m7g-WnkEJOX-Wwj-azol8xOTIweDgwMC5qcGcuanBlZyJdXQ.jpeg?sha=f2f6dc314c4109e8","dict_tablet_image_url":"","dict_mobile_image_url":"","dict_link":"https://line.me/R/ti/p/@666tppkn","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":"é»å§æä¿é¤-å°æ«ç¾å¦æ£è²¨ç¶é·-SK-II-é
è©©èé»-é ç´ä¿é¤å°è³£"}},"1663737517564":{"type":"image","custom_name":"ç´ æ","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjYzNzM3NTM4XznmnIjlkajlubTmhbYtMTkyMHg4MDAuanBnLmpwZWciXV0.jpeg?sha=3fb923e300aefa2b","dict_tablet_image_url":"","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjYzNzM3NTY0XznmnIjlkajlubTmhbYtMTIwMHg4MDAuanBnLmpwZWciXV0.jpeg?sha=7ee9c920551deabb","dict_link":""}},"1667036157031_0":{"type":"image","custom_name":"ç´ æ","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjY3MDM2MTc4X-mbmTEx6LaF54uC6LO854mp56-AMTkyMHg4MDAuanBnLmpwZWciXV0.jpeg?sha=ee4e74d689d21672","dict_tablet_image_url":"","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjY3MDM2MTk2X-mbmTEx6LaF54uC6LO854mp56-AMTIwMHg4MDAuanBnLmpwZWciXV0.jpeg?sha=f6edf72f8625ae76","dict_link":""}},"1667886850286_0":{"type":"image","custom_name":"ç´ æ","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjY3ODg2ODkwX-mbmTExIOeyvumBuDE5MjB4ODAwLmpwZy5qcGVnIl1d.jpeg?sha=ceb0e37b7c5694ab","dict_tablet_image_url":"","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjY3ODg2OTE3X-mbmTExIOeyvumBuDEyMDB4ODAwLmpwZy5qcGVnIl1d.jpeg?sha=8b6141a6efbbfd5a","dict_link":"/collections/double_11_event"}},"1670384203116_0":{"type":"image","custom_name":"ç´ æ","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjQ3NDk0NzA2XzAzMTctU0sy5YWo57O75YiXQk4tUklBTi0xOTIwWDgwMF_lt6XkvZzljYDln58gMS5qcGcuanBlZyJdXQ.jpeg?sha=f4b2ce3ae3096c15","dict_tablet_image_url":"","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjcyOTY5NjE2XzAzMTctU0sy5YWo57O75YiXQk4tUklBTi0xOTIwWDgwMF_lt6XkvZzljYDln58gMSDopIfmnKwuanBnLmpwZWciXV0.jpeg?sha=9f5afeb790cd8618","dict_link":"","slide_contents_display":"left","dict_slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff","main_slider_image_alt":"é»å§æä¿é¤-å°æ«ç¾å¦æ£è²¨ç¶é·-SK-II-é
è©©èé»-é ç´ä¿é¤å°è³£"}},"1706776529094_0":{"type":"image","custom_name":"ç´ æ","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNzA2Nzc2NjM4X-mBjuW5tOWHuuiyqOmAmuefpV8xOTIwLTgwMOmBjuW5tOWHuuiyqOmAmuefpS5qcGcuanBlZyJdXQ.jpeg?sha=62582e6fdca1015f","dict_tablet_image_url":"","dict_mobile_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNzA2Nzc2NjY3X-mBjuW5tOWHuuiyqOmAmuefpV8xMjAwLTgwMOmBjuW5tOWHuuiyqOmAmuefpS5qcGcuanBlZyJdXQ.jpeg?sha=56616d774528f0d1","dict_link":""}}},"block_order":["display_main_slider_item_1","display_main_slider_item_2","1649644212083","1670384203116_0"],"settings":{"margin_x":"0","margin_bottom":"50","mobile_margin_x":"0","mobile_margin_bottom":"50","swiper_delay":"5","image_number":"1","image_space":"12","mobile_image_number":"1","mobile_image_space":"8","transition_speed":"0.3"},"custom_name":"輪æç´ æ","thumbnail":"slider","draggable":true},"_index_product_banner":{"type":"_index_product_banner","visible":true,"settings":{"dict_link":"/pages/partner","dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjQ3NTAxMzA3XzIwMjIwMzE3X1NLMl_pu4Plp5DlkIjkvbVCTl9USU1fMTkyMFg4MDAuanBnLmpwZWciXV0.jpeg?sha=71aec86d7d36ef32","dict_tablet_image_url":"","dict_mobile_image_url":"","cta_btn_display_style":"bottomPosition","cta_btn_text":"黿ï¼å¡«å¯«å購表å®","cta_btn_bg_color":"#f7a608","cta_btn_text_color":"#ffffff","margin_x":"0","margin_bottom":"","mobile_margin_x":"0","mobile_margin_bottom":"24","display_cta_btn":false,"dict_cta_btn_text":"","product_banner_image_alt":"é»å§æä¿é¤-å°æ«ç¾å¦æ£è²¨ç¶é·-SK-II-é
è©©èé»-é ç´ä¿é¤å°è³£"},"custom_name":"æ©«å¹
廣å","thumbnail":"banner","draggable":true},"_index_8_blocks":{"type":"_index_8_blocks","visible":true,"settings":{"dict_title":"ç±é·åå","collection_handle":"facial","limit":"8","margin_x":"0","margin_bottom":"50","mobile_margin_x":"0","mobile_margin_bottom":"24","product_display":"displayDefault","old_container_setting":true,"product_arrangement":"1","product_alignment":"leftPosition","product_text_align":"center","product_column_for_pc":"4","product_column_for_mobile":"2","product_card_hover_effect":"button","product_image_border_radius":"15"},"custom_name":"åååé¡","thumbnail":"collection","draggable":true},"_index_4_blogs":{"type":"_index_4_blogs","visible":false,"blocks":{"index_4_blogs_1":{"type":"blog","visible":true,"settings":{"blog_handle":"news"},"custom_name":"é¨è½æ ¼","thumbnail":"banner","draggable":true},"index_4_blogs_2":{"type":"blog","visible":true,"settings":{"blog_handle":"news"},"custom_name":"é¨è½æ ¼","thumbnail":"banner","draggable":true},"index_4_blogs_3":{"type":"blog","visible":true,"settings":{"blog_handle":"news"},"custom_name":"é¨è½æ ¼","thumbnail":"banner","draggable":true},"index_4_blogs_4":{"type":"blog","visible":true,"settings":{"blog_handle":"news"},"custom_name":"é¨è½æ ¼","thumbnail":"banner","draggable":true}},"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
60olumns":"4"},"custom_name":"åé é 籤","thumbnail":"tabs","draggable":true},"_index_4_blocks":{"type":"_index_4_blocks","visible":true,"blocks":{"display_index_4_block_1":{"type":"image","visible":true,"settings":{"title":"","dict_link":"https://reurl.cc/mGj0e7","dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjQ3NTAzNTYxXzIwMjIwMzE3X1NLMl_lrpjntrLpgKPntZDlnJZGQl8xMjUweDM1MC5qcGcuanBlZyJdXQ.jpeg?sha=bdc59d9f31f0df0f","dict_tablet_image_url":"","dict_mobile_image_url":"","dict_image_description":""},"custom_name":"åç","thumbnail":"banner","draggable":true},"1647313315677":{"type":"video","custom_name":"å½±ç","thumbnail":"video","draggable":true,"visible":true,"settings":{"dict_video_link":"https://www.youtube.com/watch?v=cFt_su5phYg","block_propotion":"100","auto_play":true,"hide_controls":false,"loop":true}},"1647322885680":{"type":"image","custom_name":"åç","thumbnail":"banner","draggable":true,"visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjQ3NTAzNTY0XzIwMjIwMzE3X1NLMl_lrpjntrLpgKPntZDlnJZMSU5FXzEyNTB4MzUwLnBuZy5wbmciXV0.png?sha=7bba79b2b561db23","dict_tablet_image_url":"","dict_mobile_image_url":"","dict_link":"https://lin.ee/W87riD8","dict_image_description":""}},"1647498897014":{"type":"video","custom_name":"å½±ç","thumbnail":"video","draggable":true,"visible":true,"settings":{"dict_video_link":"https://youtu.be/XRS9GYRQq-A","block_propotion":"100","auto_play":true,"hide_controls":false,"loop":true}},"1744855485037_1":{"type":"video","custom_name":"å½±ç","visible":true,"settings":{"dict_video_link":"","auto_play":false,"hide_controls":false,"loop":true}},"1763715667592_1":{"type":"video","custom_name":"å½±ç","visible":false,"settings":{"dict_video_link":"https://drive.google.com/file/d/1rSJ7WWyhR5DpmmR2dxp9cBJmW_03uoYT/view?usp=drive_link","block_propotion":"100","auto_play":false,"hide_controls":false,"loop":true}},"1763715704208_1":{"type":"video","custom_name":"å½±ç","visible":false,"settings":{"dict_video_link":""}}},"block_order":["1647313315677","1647498897014","display_index_4_block_1","1647322885680","1744855485037_1","1763715667592_1"],"custom_name":"èªè¨æçè¨è¨","thumbnail":"banner","draggable":true,"settings":{"margin_x":"0","margin_bottom":"50","mobile_margin_x":"0","mobile_margin_bottom":"50","mobile_columns":1,"margin_block":"10","mobile_margin_block":"10","mobile_align":"left"}},"custom_text":{"type":"custom_text","visible":true,"settings":{}},"blog":{"type":"blog","visible":true,"settings":{"article_limit_in_blog_page":"6"}},"article":{"type":"article","visible":true,"settings":{"display_blog_menu":true,"dict_blog_tags_title":"æç« åé¡","blog_latest_post_limit":"2"}},"category":{"type":"category","visible":true,"settings":{"category_sidebar_set_open":false,"category_product_block_limit":"4","category_product_swiper_item_limit":"6","category_product_item_limit":"18"}},"shop_setting":{"type":"shop_setting","visible":true,"settings":{"favicon_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjQ2OTkxMjkwX1NLSUlf6buD5aeQ5oSb5L-d6aSKX0xvZ28uanBnLmpwZWciXV0.jpeg?sha=927dea8ad1346c9b","og_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjQ2OTkxMjkwX1NLSUlf6buD5aeQ5oSb5L-d6aSKX0xvZ28uanBnLmpwZWciXV0.jpeg?sha=927dea8ad1346c9b","shop_title":"| SK-II é
è©©èé» æ£è²¨ç¶é· - åéç²¾åç¾å¦ å¤åç代ç","shop_description":"å°çSK-II (SK2) èé
è©©èé»çå°æ«ä¿é¤åãæä¾éæ¥é²(ç¥ä»æ°´)ã大ç´
ç¶ãå°æ£ç¶çç±é·å
¬å¸è²¨ãéå°ç®èææ²ãæ¯åç²å¤§èæèéæ±æä¾å°æ¥æ¨è¦ãå°ç£ç¾è²¨ï¼ä¿èæ£å å¿«éåºè²¨","shop_keywords":"SK-II, SK2, é
è©©èé», Estée Lauder, 鿥é², ç¥ä»æ°´, å°æ£ç¶, ç¹æ½¤è¶
å°ä¿®è·é², 大ç´
ç¶, å°ç泡, ç¾ç½ç²¾è¯, æèä¿é¤å, ä¿æ¿ç²¾è¯, å°æ«ä¿é¤å, å
¬å¸è²¨, æ£åä¿è, å°ç£ç¾è²¨, ç¶é·å"},"custom_name":"å
¨ç«è¨å®"},"color_settings":{"type":"color_settings","visible":true,"settings":{"button_color":"#000000","button_text_color":"#FFFFFF","accent_color":"#2B2B6E","heading_color":"#565656","text_color":"#9A9EA2","price_color":"#C39D6F","discount_price_color":"#C39D6F","theme_bg_color":"#FFFFFF","nav_logo_bg_color":"#FFFFFF","nav_menu_bg_color":"#FFFFFF","nav_menu_text_color":"#565656","nav_menu_icon_color":"#565656","footer_bg_color":"#000000","footer_text_color":"#FFFFFF","checkout_button_color":"#000000","checkout_accent_color":"#2b2b6e","product_border_color":"#E2E2E2","tips_text_color":"#0C5460"},"custom_name":"é¡è²è¨å®"},"popup":{"type":"popup","visible":true,"blocks":{"popup_block_1":{"type":"image","visible":false,"settings":{"dict_image_url":"/theme_src/i18n_shoestore/default_img/popup_default.jpg","icon_size":"small"},"custom_name":"åç","thumbnail":"banner","draggable":true}},"block_order":["popup_block_1"],"settings":{},"custom_name":"å½çªå»£å","thumbnail":"banner","draggable":false},"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":"ååä»ç´¹"},"related_products":{"type":"related_products","visible":true,"settings":{"display_related_cols":true,"use_custom_related_cols":true,"dict_group_related_cols_related_product":"ç¸éåå","related_products_limit":"4"},"custom_name":"ç¸éåå"},"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!1d3614.198398723812!2d121.46180341432435!3d25.06126384335351!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x3442a89289e13fa5%3A0xcf82825135a60570!2zMjQy5paw5YyX5biC5paw6I6K5Y2A5paw5YyX5aSn6YGT5LqM5q61MzEy6JmfMw!5e0!3m2!1szh-TW!2stw!4v1647484089160!5m2!1szh-TW!2stw\" width=\"600\" height=\"450\" style=\"border:0;\" allowfullscreen=\"\" loading=\"lazy\"\u003e\u003c/iframe\u003e"},"custom_name":"客æ","thumbnail":"general_page","draggable":false},"collection":{"type":"collection","visible":true,"settings":{"collection_sidebar":"main-menu","collection_sidebar_set_open":false,"collection_pagination_limit":"24"}},"404":{"type":"404","visible":true,"settings":{"image_url":"/theme_src/i18n_shoestore/default_img/404_img.png","dict_404_image_url":"/theme_src/i18n_shoestore/default_img/404_img.png","dict_title_text":"æ±æï¼æ¤é é¢ä¸å卿è
å·²ç¶è¢«ç§»é¤","dict_btn_text":"è¿åé¦é "}},"blogs_all":{"type":"blogs_all","visible":true,"settings":{}},"bundle_discounts":{"type":"bundle_discounts","visible":true,"settings":{}},"cart":{"type":"cart","visible":true,"settings":{}},"cart_empty":{"type":"cart_empty","visible":true,"settings":{}},"page":{"type":"page","visible":true,"settings":{}},"search":{"type":"search","visible":true,"settings":{"search_link_list":"main-menu"},"custom_name":"æå°é "},"customers/account":{"type":"customers/account","visible":true,"settings":{}},"customers/account_edit":{"type":"customers/account_edit","visible":true,"settings":{}},"customers/activate_account":{"type":"customers/activate_account","visible":true,"settings":{}},"customers/addresses":{"type":"customers/addresses","visible":true,"settings":{}},"customers/bonus_points":{"type":"customers/bonus_points","visible":true,"settings":{}},"customers/cancel":{"type":"customers/cancel","visible":true,"settings":{}},"customers/coupons":{"type":"customers/coupons","visible":true,"settings":{}},"customers/forgot_password":{"type":"customers/forgot_password","visible":true,"settings":{}},"customers/login":{"type":"customers/login","visible":true,"settings":{}},"customers/message":{"type":"customers/message","visible":true,"settings":{}},"customers/messages":{"type":"customers/messages","visible":true,"settings":{}},"customers/modify_password":{"type":"customers/modify_password","visible":true,"settings":{}},"customers/order":{"type":"customers/order","visible":true,"settings":{}},"customers/orders":{"type":"customers/orders","visible":true,"settings":{}},"customers/periodic_order":{"type":"customers/periodic_order","visible":true,"settings":{}},"customers/periodic_orders":{"type":"customers/periodic_orders","visible":true,"settings":{}},"customers/register":{"type":"customers/register","visible":true,"settings":{}},"customers/reset_password":{"type":"customers/reset_password","visible":true,"settings":{}},"customers/return":{"type":"customers/return","visible":true,"settings":{}},"customers/tracking_items":{"type":"customers/tracking_items","visible":true,"settings":{}},"express_delivery-navbar":{"type":"express_delivery-navbar","visible":true,"settings":{}},"express_delivery-content":{"type":"express_delivery-content","visible":true,"settings":{}},"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/index_4_blocks_1.jpg","dict_tablet_image_url":"","dict_mobile_image_url":""}}},"block_order":["express_delivery_display_index_4_block_1"]},"board_comments":{"type":"board_comments","visible":true,"settings":{},"custom_name":"ååè©è«","thumbnail":"list","draggable":false},"1649756284558":{"type":"_index_product_banner","custom_name":"æ©«å¹
廣å","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjQ5NzU2MzE4XzA0MTItU0syLUJBTk5FUi1SSUFOLTE5MjBYODAwX-W3peS9nOWNgOWfnyAxLmpwZy5qcGVnIl1d.jpeg?sha=c598a695b1861452","dict_tablet_image_url":"","dict_mobile_image_url":"","dict_link":"","cta_btn_display_style":"topPosition","cta_btn_text":"äºè§£æ´å¤","cta_btn_bg_color":"#000000","cta_btn_text_color":"#ffffff","margin_x":"0","margin_bottom":"50","mobile_margin_x":"0","mobile_margin_bottom":"24","product_banner_image_alt":"é»å§æä¿é¤-å°æ«ç¾å¦æ£è²¨ç¶é·-SK-II-é
è©©èé»-é ç´ä¿é¤å°è³£"},"blocks":{},"block_order":[]},"combo_product_info":{"type":"combo_product_info","visible":true,"settings":{}},"combo_product_desc":{"type":"combo_product_desc","visible":true,"settings":{}},"customers/other_valid_orders":{"type":"customers/other_valid_orders","visible":true,"settings":{}},"1764125042442_3":{"type":"_video_editor_section","custom_name":"å½±çè¨å®","visible":true,"settings":{"video_editor_section_dict_title":"鿥é²ééæ´»å","video_editor_section_dict_video_link":"https://youtube.com/shorts/-ipRMkADEwo","margin_x":"6","margin_bottom":"0","mobile_margin_x":"0","mobile_margin_bottom":"0"},"blocks":{},"block_order":[]},"1764205348538_3":{"type":"_video_editor_section","custom_name":"å½±çè¨å®","visible":false,"settings":{"video_editor_section_dict_title":"鿥é²330ééæ´»åçµ","video_editor_section_dict_video_link":"youtube.com/watch?v=_YQF7mG9He0\u0026feature=youtu.be","margin_x":"7","margin_bottom":"0","mobile_margin_x":"0","mobile_margin_bottom":"0","dict_video_editor_section_title":"鿥é²330ééæ´»åçµ","dict_video_editor_section_video_link":"youtube.com/watch?v=_YQF7mG9He0\u0026feature=youtu.be","auto_play":false,"hide_controls":false,"loop":true},"blocks":{},"block_order":[]},"1764205535671_3":{"type":"_video_editor_section","custom_name":"å½±çè¨å®","visible":false,"settings":{"video_editor_section_dict_title":"鿥é²330ééæ´»å","video_editor_section_dict_video_link":"https://www.youtube.com/watch?v=_YQF7mG9He0","margin_x":"0","margin_bottom":"0","mobile_margin_x":"0","mobile_margin_bottom":"0","dict_video_editor_section_title":"鿥é²330ééæ´»å","dict_video_editor_section_video_link":"https://www.youtube.com/watch?v=_YQF7mG9He0","auto_play":false,"hide_controls":false,"loop":true},"blocks":{},"block_order":[]},"1769909594379_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":"\u003cdiv class=\"brand-intro\"\u003e\r\n \u003ch1 style=\"font-size: 24px; text-align: center;\"\u003eçºå¦³å®è·æ¯ä¸ä»½ç¾éºï¼é»å§å´é¸å°æ«æ£è²¨\u003c/h1\u003e\r\n \u003cp style=\"text-align: center;\"\u003eç¶é· SK-IIãé
è©©èé»çåéåçï¼ä¿èæ£åï¼è®æ¯ä¸å¤©çä¿é¤åå¼ï¼é½æçºå¯µæèªå·±çæç¾æå»ã\u003c/p\u003e\r\n\u003c/div\u003e"},"blocks":{},"block_order":[]},"announcement_bar":{"type":"announcement_bar","visible":true,"blocks":{"announcement_bar_block_1":{"type":"image","visible":true,"settings":{"display_only_index":false,"display_period":"always","dict_link":"","link_open_in_new_tab":false,"dict_image_url":"","dict_image_tablet_url":"","dict_image_mobile_url":"","image_alt":"","dict_content":"","text_size":"12","text_color":"#ffffff","bg_color":"#000000","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":"
606","two_dimension_limit":"10","header_banner_display":true,"header_banner_link":"/","display_main_slider":true,"display_phone":true,"phone_number":"02-7727-7296","display_fax_number":false,"shop_fax_number":"0222345678","display_shop_email":true,"shop_email":"[email protected]","display_shop_address":true,"shop_address":"æ°å叿°èåæ°å大éäºæ®µ312è3æ¨","display_office_time":true,"shop_office_time":"10:00-17:00","index_event_slider_display":true,"index_event_slider_item_1_display":true,"dict_index_event_slider_item_1_link":"#","index_event_slider_item_2_display":true,"dict_index_event_slider_item_2_title":"2019ç§å£é款æ°åä¸å¸","dict_index_event_slider_item_2_link":"#","index_event_slider_item_3_display":true,"dict_index_event_slider_item_3_title":"å
¨é¤¨ä»»é¸ä¸ä»¶çµå¸³åäº«ææ£ï¼ï¼8æï¼ï¼","dict_index_event_slider_item_3_link":"#","index_event_slider_item_4_display":true,"dict_index_event_slider_item_4_title":"FINAL SALE/å¤å¤©ç±é·ç¾æé款è£è²¨å°åº","dict_index_event_slider_item_4_link":"#","index_event_slider_item_5_display":true,"dict_index_event_slider_item_5_title":"ç±è³£åæ¸","dict_index_event_slider_item_5_link":"#","index_event_slider_item_6_display":true,"dict_index_event_slider_item_6_title":"ç¾å¨è¨»åæå¡å³å¯äº«ææ£éï¼50ï¼ç¾æï¼","dict_index_event_slider_item_6_link":"#","index_event_slider_item_7_display":false,"dict_index_event_slider_item_7_title":"","dict_index_event_slider_item_7_link":"","index_event_slider_item_8_display":false,"dict_index_event_slider_item_8_title":"","dict_index_event_slider_item_8_link":"#","index_event_slider_item_9_display":false,"dict_index_event_slider_item_9_title":"","dict_index_event_slider_item_9_link":"#","index_event_slider_item_10_display":false,"dict_index_event_slider_item_10_title":"","dict_index_event_slider_item_10_link":"#","index_4_slider_display":true,"dict_index_4_slider_title":"Instagram","index_4_slider_item_1_display":true,"dict_index_4_slider_item_1_link":"#","index_4_slider_item_2_display":true,"dict_index_4_slider_item_2_link":"#","index_4_slider_item_3_display":true,"dict_index_4_slider_item_3_link":"#","index_4_slider_item_4_display":true,"dict_index_4_slider_item_4_link":"#","index_4_slider_item_5_display":true,"dict_index_4_slider_item_5_link":"#","index_4_slider_item_6_display":false,"dict_index_4_slider_item_6_link":"#","index_4_slider_item_7_display":false,"dict_index_4_slider_item_7_link":"#","index_4_slider_item_8_display":false,"dict_index_4_slider_item_8_link":"#","index_video_blocks_display":true,"dict_index_video_blocks_title":"Youtube","dict_index_video_blocks_video_link":"https://www.youtube.com/watch?v=3bI4IUIVjCk","collection_sidebar":"main-menu","collection_sidebar_set_open":false,"collection_pagination_limit":"24","product_slogan_display":false,"display_product_total_sold":false,"display_periodic_order_label":false,"cart_quantity_limit":"30","is_empty_clickable":true,"is_first_selected":false,"display_product_images_color":false,"discount_product_images_color_expand":false,"display_product_discounts_list":true,"display_discount_price_name":false,"discount_price_slogan_url":"","dict_discount_price_name":"","display_discount_price_suggestion_name":false,"dict_discount_price_suggestion_name":"","display_product_section_description":true,"dict_product_section_description":"ååä»ç´¹","description_section_spec_setting":true,"dict_product_description_section_spec":"è¦æ ¼èªªæ","description_section_shipping_setting":true,"dict_product_description_section_shipping":"ééæ¹å¼","vip_custom_price_visible":false,"display_global_event_1":false,"dict_show_global_event_1_link":"#","display_global_event_2":false,"dict_show_global_event_2_link":"#","display_global_event_3":false,"dict_show_global_event_3_link":"#","display_contact_address":true,"dict_contact_address":"測試å°å","show_google_map":true,"show_google_map_iframe":"\u003ciframe src=\"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3613.6479170127777!2d121.56760821400371!3d25.07991984260527!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x3442ac6fbd841bbd%3A0x64e16bcf25e3da31!2zMTE05Y-w5YyX5biC5YWn5rmW5Y2A55Ge5YWJ6LevNTEz5be3MzDomZ8!5e0!3m2!1szh-TW!2stw!4v1485156761267\" width=\"600\" height=\"450\" frameborder=\"0\" style=\"border:0\" allowfullscreen\u003e\u003c/iframe\u003e","display_selected_blog":true,"selected_blog":"news","product_scale":"default_scale","google_font":"{'ja':{'value':'Noto Sans JP'},'zh-TW':{'value':'Noto Sans TC'},'en':{'value':'Noto Sans TC'},'zh-CN':{'value':'Noto Sans TC'}}","styled_shop_menu":"buttonType","display_inventory_policy":false,"display_product_vendor":true,"product_text_align":"center","product_video_display_location":"before","product_labels":{"items":[{"id":"sale_label","kind":"system","title":"ç¹å¹æ¨ç±¤","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"large"},{"id":"out_of_stock_label","kind":"system","title":"缺貨æ¨ç±¤","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"},{"id":"periodic_event_label","kind":"system","title":"宿å®é¡æ¨ç±¤","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"},{"id":"8105365b-5338-4722-9797-30a9ac73df43","kind":"custom","title":"èªå®ç¾©æ¨ç±¤ 1","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"},{"id":"7193ad43-893d-44d6-b5b1-737192b96af0","kind":"custom","title":"èªå®ç¾©æ¨ç±¤ 2","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"},{"id":"768d7ef8-b244-4bc5-859b-683d1d9fb71e","kind":"custom","title":"èªå®ç¾©æ¨ç±¤ 3","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"},{"id":"3d4f0ee5-da81-451e-98ac-577cb5125469","kind":"custom","title":"èªå®ç¾©æ¨ç±¤ 4","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"}
60,{"id":"42dc9e49-67de-4a7c-9b84-45b89a0bf96f","kind":"custom","title":"èªå®ç¾©æ¨ç±¤ 5","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"}]},"nav_icon_style":"icon_type_default","product_card_hover_effect":"button","product_image_border_radius":"0"}); 61 </script>
61 62 63 64 65 66 67 68 69 70
70<script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","url":"https://www.to-buy.com.tw","logo":"https://cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNzY1MzU4NzE0X-m7g-WnkOaEm-S_nemkil9Mb2dvX1NLLUlJIOmbheipqeiYrem7myDlnIvpmpvnsr7lk4Hnvo7lpp0g5q2j6LKo57aT6Yq3LnBuZy5wbmciXV0.png?sha=129bd7342db5c6d7"}</script>
70<script type="application/ld+json">{"@context":"https://schema.org/","@type":"WebSite","name":"é»å§æä¿é¤","url":"https://www.to-buy.com.tw","potentialAction":{"@type":"SearchAction","target":"www.to-buy.com.tw/search?q={search_term_string}","query-input":"required name=search_term_string"}}</script>
70 71 72 73 74 <!-- for vendor --> 75 <!-- cyb_snippet _bootstrap start --> 76 77<!-- cyb_snippet _bootstrap end --> 78 <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/vendor-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' /> 79 80 <!-- common css rulesets --> 81 <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/common-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' /> 82 83 <!-- for navbar --> 84 <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/navbar-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' /> 85 86 <!-- for footer --> 87 <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/footer-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' /> 88 89 <!-- theme assets --> 90 <link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/main-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' /> 91 92 <!-- for vendor --> 93
93<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/vendor-e958d46bfee2e69f.js' type='text/javascript'></script>
93 94 95
95<script> 96 window.sci = "eyJzaG9wX2lkIjoyMTEyNiwic2hvcF9wbGFuIjoiYm9zc19wbHVzIiwiZGlt\nX2FmZmlsaWF0ZSI6bnVsbCwiY3VzdG9tZXJfaWQiOm51bGwsImN1c3RvbWVy\nX25hbWUiOm51bGwsInNob3BfbmFtZSI6Ium7g+WnkOaEm+S/nemkiiIsInNo\nYXJlX2F0dHJpYnV0aW9uX2VuYWJsZWQiOmZhbHNlfQ==\n"; 97 </script>
97 98 99 100<meta name="csrf-param" content="authenticity_token" /> 101<meta name="csrf-token" content="yEwb8AR-WnlB7FM_vLX_6gLiRfmow1_0CYW5qoFB9M6S4BE6H_ZQ46k_ezR3zA3OvMSArF4SzxZ6WX6arbv00w" />
102<script>(function () { 103 window.gaConfigurations = {"useProductIdInProductEvents":false}; 104})(); 105</script>
vendor: 1 bytes, line 105
105
106<script>(function () { 107 window.CYBERBIZ_PageContext = {"page_type":"home"}; 108})(); 109</script>
109 110<link href="//cdn-general.cybassets.com/frontend/shop/quark-e958d46bfee2e69f.css" rel="stylesheet" type="text/css" media="all" /> 111
111<script> 112 window.shopScriptHelper = { 113 i18nLocale: "zh-TW", 114 i18nLocaleDefault: "zh-TW", 115 availableCurrencies: [], 116 defaultCurrency: "TWD", 117 currenciesInfo: [{"html_unit":"NT${{amount_no_decimals}}","email_unit":"NT${{amount_no_decimals}}","name":"æ°å°å¹£ (TWD)","html":"NT${{amount_no_decimals}}","unit":"","trailing_zeros":false,"money_format":"%u%n","decimal_precision":0,"format":"NT${{amount_no_decimals}}","code":"TWD","symbol":"NT$","email":"NT${{amount_no_decimals}}"}], 118 vueOverrideTranslations: {"zh-TW":{"vue":{}}}, 119 hasI18nInContextEditing: false, 120 shopMultipleCurrenciesCheckout: false, 121 hasLocalizedShopPriceFormat: true, 122 } 123 </script>
123 124 125 126
126<script 127 src="//cdn-general.cybassets.com/frontend/shop/tolgeeIntegration-e958d46bfee2e69f.js"> 128 </script>
128 129
129<script defer> 130 /* 131 * Enable in-context translation for Liquid part on the page. 132 * This must be executed last to prevent conflicts with other Vue apps. 133 * So put it to `onload`, which will be executed after DOM ready's app mount 134 */ 135 window.onload = function() { 136 if ( 137 window.shopScriptHelper && 138 window.shopScriptHelper.hasI18nInContextEditing 139 ) { 140 window.initTolgeeForLiquid() 141 } 142 } 143 </script>
143 144
145<script> var google_con_event_labels = []</script>
vendor: 1 bytes, line 145
145
146<script src="//cdn-general.cybassets.com/frontend/shop/pageEventHandler-e958d46bfee2e69f.js"></script>
vendor: 1 bytes, line 146
146
147<script src="//cdn-general.cybassets.com/frontend/shop/globalAnalysis-e4c650eb0b.js"></script>
147 148
148<script> 149 window.c12t = {"customer_id":null}; 150 </script>
150 151 152 <meta name="request-id" content="9746CF2203810D2D82F68AA15ACA84FD"/> 153 154<link rel="canonical" href="https://www.to-buy.com.tw/">
155<script src="//cdn-general.cybassets.com/frontend/shop/carousel-e958d46bfee2e69f.js"></script>
155 156
156<script> 157 window.parent.postMessage({ type: 'previewShopInit', currentUrl: window.location.href }, '*'); 158 </script>
158 159
160<script src="//cdn-general.cybassets.com/frontend/appStoreSDK/main.2798231628aa7fab87a9.js"></script>
vendor: 1 bytes, line 160
160
161<script>window.CYBERBIZ_AppScriptSettings = {"shop_add_ons":"W3sidmVuZG9yX3R5cGUiOiJDWUJFUkJJWiBHb29nbGUgQW5hbHl0aWNzIDQi\nLCJhcHBfaWQiOiJRVWo1WnFvZUlPUjlaM2JaS2trMG44N3l5a0FpOWU0NURE\naDJ0YlFnaUJBIiwic2V0dGluZ3MiOnsiZ3RhZ19pZCI6IkctRjM3SjBNWTI4\nTiwgRy00QjdSSzdGSFdIIn19LHsidmVuZG9yX3R5cGUiOiJDaGF0IEJveCIs\nImFwcF9pZCI6ImM5ZDgzZjA5OTYxNzRmYmJhODZlYmEwNDFhZTg5OGEyIiwi\nc2V0dGluZ3MiOnsid2lkZ2V0X2tleSI6IlVfUy1paUZZNUxvWXF6REoifX0s\neyJ2ZW5kb3JfdHlwZSI6IkRpZ2l0YWwgSW50ZWxsaWdlbmNlIFRyYWNrZXIi\nLCJhcHBfaWQiOiIxYjUwYTg2ZGMyZDE0MTgzODhmZGVkZjdhMGQ0MzlhZSIs\nInNldHRpbmdzIjp7fX1d\n"} 162</script>
vendor: 1 bytes, line 162
162
163<script src="https://cdn.cybassets.com/appmarket/api/common/attachments/entrypoint/9d6f4550aad572e9f70abb70ae5a6552482cf617ea5e4d5a32ed4ebbb5d60d54.js"></script>
vendor: 1 bytes, line 163
163
164<script src="https://cdn.cybassets.com/appmarket/api/common/attachments/entrypoint/8766542902afa60f4adda3c555c06025d2c27771ea85a6fc657a91cddbe5c59f.js"></script>
vendor: 1 bytes, line 164
164
165<script src="https://cdn.cybassets.com/appmarket/api/common/attachments/entrypoint/35cd1f36a4a855bacbaa53900f8e17b376d4cab44c73812eef261aef6435163d.js"></script>
vendor: 1 bytes, line 165
165
166<script>window.CYBERBIZ.initializeSDK.initialize();</script>
vendor: 1 bytes, line 166
166
167<script src="//cdn-general.cybassets.com/frontend/shop/setAffliateCookie-e958d46bfee2e69f.js"></script>
167 168 169 170 171 172 173 174 175 176 <style id="color_settings"> 177 :root { 178 179 --button: #000000; 180 181 182 183 --button_text: #FFFFFF; 184 185 186 187 --accent: #2B2B6E; 188 189 190 191 --heading: #565656; 192 193 194 195 --text: #9A9EA2; 196 197 198 199 --price: #C39D6F; 200 201 202 203 --discount_price: #C39D6F; 204 205 206 207 --theme_bg: #FFFFFF; 208 209 210 211 --nav_logo_bg: #FFFFFF; 212 213 214 215 --nav_menu_bg: #FFFFFF; 216 217 218 219 --nav_menu_text: #565656; 220 221 222 223 --nav_menu_icon: #565656; 224 225 226 227 --footer_bg: #000000; 228 229 230 231 --footer_text: #FFFFFF; 232 233 234 235 --checkout_button: #000000; 236 237 238 239 --checkout_accent: #2b2b6e; 240 241 242 243 --product_border: #E2E2E2; 244 245 246 247 --tips_text: #0C5460; 248 249 250 251 252 253 } 254</style> 255 256 257 258 259 <!-- Google Search Console, add by ttn 2025.12.06 --> 260 <meta name="google-site-verification" content="gaPfNBerrsTkxzyo7L0jVcRlXvVnx0ZutLsF-Q3zC5I" /> 261 <!-- JSON-LD çµæ§åè³æ , add by ttn 2025.12.06 --> 262
262<script type="application/ld+json"> 263 { 264 "@context": "https://schema.org", 265 "@type": "Organization", 266 "name": "é»å§æä¿é¤", 267 "url": "https://www.to-buy.com.tw/", 268 "logo": { 269 "@type": "ImageObject", 270 "url": "https://cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNzY1MDEyNDQxX-m7g-WnkOaEm-S_nemkil9Mb2dvX1NLLUlJIOmbheipqeiYrem7myDlnIvpmpvnsr7lk4Hnvo7lpp0g5q2j6LKo57aT6Yq3LmpwZy5wbmcucG5nIl1d.png?sha=35535be96a3a7887", 271 "width": 740, // Logo åçç實é寬度 272 "height": 255 // Logo åçç實éé«åº¦ 273 }, 274 "sameAs": [ 275 "https://www.facebook.com/people/%E9%BB%83%E5%A7%90%E6%84%9B%E4%BF%9D%E9%A4%8A/100078345875047/", // 宿¹ Facebook é é¢ 276 "https://line.me/R/ti/p/@666tppkn" // LINE 277 ] 278 } 279 </script>
279 280 281 <!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 74 bytes, lines 281-282
281 282 <script async src="https://www.googletagmanager.com/gtag/js?id=
282G-F37J0MY28N
vendor: 22 bytes, lines 282-283
282"></script> 283
283<script> 284 window.dataLayer = window.dataLayer || []; 285 function gtag(){dataLayer.push(arguments);} 286 gtag('js', new Date()); 287 288 289 </script>
289 290
290<script> 291 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 292 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 293 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 294 })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 295 296 ga('create', '', 'auto', {'name': 'cyberbiz'}); 297 ga('cyberbiz.require', 'displayfeatures'); 298 ga('cyberbiz.set', 'dimension1', '21126'); 299 ga('cyberbiz.require', 'ec'); 300 ga('cyberbiz.send', 'pageview'); 301 </script>
301 302 </head> 303 304 <body style="display: flex; flex-direction: column;"><!-- Google Tag Manager (noscript) -->
vendor: 74 bytes, lines 304-305
304 305 <noscript><iframe src="//www.googletagmanager.com/ns.html?id=
305GTM-5MMDGG24
vendor: 105 bytes, lines 305-307
305" 306 height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 307
307<!-- End Google Tag Manager (noscript) -->
vendor: 74 bytes, lines 307-309
307 308 <noscript><iframe 309 src="//www.googletagmanager.com/ns.html?id=
309GTM-TXD9LVJ
vendor: 117 bytes, lines 309-315
309" 310 height="0" 311 width="0" 312 style="display:none;visibility:hidden"> 313 </iframe></noscript> 314 315
315<!-- Navigation --> 316 <!-- cyb_snippet liquid_helper start -->
317<script> 318 function getDiscountPriceName() { 319 return "false" === "true" ? "" : ""; 320 } 321 322 function getDiscountPriceSuggestionName() { 323 return "false" === "true" ? "" : ""; 324 } 325 326 document.addEventListener('DOMContentLoaded', function() { 327 const languageHandle = Cookies.get("language"); 328 const defaultLanguage = {"handle":"zh-TW","currency_code":"TWD","title":"ç¹é«ä¸æ"}; 329 const languages = []; 330 const currency = window.shopScriptHelper.defaultCurrency; 331 const currencies = window.shopScriptHelper.currenciesInfo; 332 window.liquidHelper = { 333 shopInternational: false, 334 defaultLanguage: defaultLanguage, 335 language: languages.find(function(l) { 336 return l.handle === languageHandle; 337 }) || defaultLanguage, 338 shopMultipleCurrenciesCheckout: false, 339 shopMultipleCurrencies: false, 340 defaultCurrencyFormat: "NT${{amount_no_decimals}}", 341 defaultCurrency: currency, 342 getCurrency: function() { 343 const currencyValue = Cookies.get("currencyValue") || currency; 344 return currencies.find(function(c) { return c.code === currencyValue; } 345 )}, 346 getDefaultCurrency: function() { return currencies.find(function(c) { 347 return c.code === currency; 348 })}, 349 getAvailableCurrencies: function() { return currencies.map(c => c.code) },
350 getCurrencyFormatInfo: function(currency) { 351 const currencyInfo = currencies.find(c => c.code === currency) 352 return _.pick(currencyInfo, [ 353 'decimal_precision', 354 'symbol', 355 'money_format', 356 'unit', 357 'trailing_zeros', 358 'html_unit', 359 'code', 360 ]); 361 }, 362 cartQuantityLimit: (function() { 363 const limit = Number("30" || undefined); 364 return limit <= 0 || isNaN(limit) ? Number.POSITIVE_INFINITY : limit; 365 })(), 366 isFirstVariantSelected: false , 367 isImageColorsUsed: false , 368 isEmptyClickable: true , 369 hasAddBuyProduct: '' !== "" ? true : false, 370 hasPriceWithDiscountPlugin: 'false' ? true : false, 371 conversionBonus: 1, 372 hasLocalizedShopPriceFormat: true, 373 hasCustomerCartPlugin: true, 374 isCartEnabled: true, 375 cdnHost: '//cdn-general.cybassets.com', 376 hasShopCustomPasswordRulePlugin: false, 377 hasDisableProductQuantityValidation: false, 378 hasBreadcrumbReferrerEnabled: false, 379 }; 380 }); 381</script>
381 382 383<!-- cyb_snippet liquid_helper end --> 384
385<script src='//cdn-general.cybassets.com/frontend/shop/navbarSection-e958d46bfee2e69f.js' type='text/javascript'></script>
385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402<style> 403 404 #navbar { 405 --navbar-pc-title-scale: 0.9; 406 --navbar-pc-body-scale: 1.0; 407 --navbar-mobile-title-scale: 0.9; 408 --navbar-mobile-body-scale: 1.0; 409 } 410 411 412 413 414 415</style> 416 417 418 <span id="navbar" class="drawer drawer--left font-size-setting-enabled"> 419 <header id="header" class="qk-w--100vw qk-pos--fixed qk-t--0 qk-l--0"> 420 421 422 423 <div id="announcement-bar"></div> 424 425 426 427 428 <div class="computer_nav qk-hidden--mobile "> 429 <div class="header_logo qk-bg--nav_logo_bg"> 430 <div class="qk-pos--rel"> 431 <div class="qk-text--center"> 432 <!-- logo start --> 433 434 <nav class="logo qk-display--il_bk"> 435 <a href="/" class="qk-w--100"> 436 <img 437 src="//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNzY1MzU4NzE0X-m7g-WnkOaEm-S_nemkil9Mb2dvX1NLLUlJIOmbheipqeiYrem7myDlnIvpmpvnsr7lk4Hnvo7lpp0g5q2j6LKo57aT6Yq3LnBuZy5wbmciXV0.png?sha=129bd7342db5c6d7" 438 class="qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--pc_logo qk-hidden--mobile" 439 style="width: auto; height: 80px;" 440 alt="é»å§æä¿é¤ | SK-II é è©©èé» åéç²¾åç¾å¦ æ£è²¨ç¶é·" 441 height="52" 442 width="auto" 443 > 444 </a> 445 </nav> 446 447 <!-- logo end --> 448 <!-- tool-nav start --> 449 450 <!-- cyb_snippet tool_nav start --> 451 452 453 454 455 456 457<nav class="tool-nav qk-pos--rel qk-float--r qk-display--flex"> 458 <ul class="link_shelf_top qk-display--flex qk-flex--row qk-justify--end qk-align--center qk-pos--abs qk-r--0"> 459 460 461 <!-- member --> 462 463 <li class="customer_account qk-pos--rel qk-pd--05"> 464 <div class="dropdown qk-pos--static"> 465 <div class="qk-cursor--pointer" data-toggle="dropdown"> 466 <div data-icon-type="custom_icon_type_account"></div> 467 <span class="text"></span> 468 </div> 469 <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"> 470 <ul id="customer-logined-menu" style="display: none"> 471 <li> 472 <div class="qk-fs--body qk-text--heading"> 473 <p class="customer-name qk-whitespace-break-spaces"></p> 474 <p>æ¨å¥½ï¼</p> 475 </div> 476 </li> 477 </ul> 478 <ul id="customer-not-login-menu"> 479 <li class="button qk-text--center"> 480 <a href="/account/login" class="btn-login qk-btn qk-btn--lg qk-btn--primary qk-w--100">æå¡ç»å ¥</a> 481 </li> 482 <li class="button qk-text--center"> 483 <a href="/account/signup" class="btn-orders qk-btn qk-btn--lg qk-btn--secondary qk-w--100 qk-bg--transparent">è¨»åæ°æå¡</a> 484 </li> 485 </ul> 486 <span class="menu-bd qk-bd_t--default qk-bd--product_border"></span> 487 <ul class="member-menu qk-bd_t--default qk-bd--product_border"> 488 <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg"> 489 <a href="/account/index" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">æç帳æ¶</a> 490 </li> 491 <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg"> 492 <a href="/account/orders" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">è¨å®æ¥è©¢</a> 493 </li> 494 <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg"> 495 <a href="/account/coupons" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">å°å±¬åªæ å¸</a> 496 </li> 497 <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg"> 498 <a href="/account/tracking_items" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">æ¶èæ¸ å®</a> 499 </li> 500 <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"> 501 <a href="/account/logout" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">æå¡ç»åº</a> 502 </li> 503 </ul> 504 </div> 505 </div> 506 </li> 507 508 <!-- for money symbol --> 509 <div id="money-symbol" data-money-symbol="NT${{amount_no_decimals}}" hidden></div> 510 <!-- cart --> 511 512 <li class="cart qk-pos--rel qk-pd--05"> 513 <!--é»è ¦ççè³¼ç©è»é¸å®--> 514 <div class="dropdown qk-pos--static"> 515 <div data-toggle="dropdown" class="shopcart qk-cursor--pointer" > 516 <div data-icon-type="custom_icon_type_cart"></div>
517 <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> 518 <span class="global-cart-loading"></span> 519 </div> 520 <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"> 521 <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> 522 <p class="cart_empty qk-fs--body qk-text--heading qk-text--center">ç®åçè³¼ç©è»æ¯ç©ºçï¼</p> 523 <ul> 524 <li class="button qk-text--center"> 525 <a class="btn-checkout qk-btn qk-btn--lg qk-btn--primary qk-w--100" href="/cart" style="display: none">ç«å³è³¼è²·</a> 526 <a class="btn-tracking qk-btn qk-btn--lg qk-btn--secondary qk-w--100 qk-bg--transparent" href="/account/tracking_items">å徿¶èæ¸ å®</a> 527 </li> 528 </ul> 529 </div> 530 </div> 531 </li> 532 533 <!-- search --> 534 535 <li class="search qk-pos--rel qk-pd--05" id="search-icon"> 536 <div class="dropdown qk-pos--static"> 537 <div class="qk-cursor--pointer" data-toggle="dropdown"> 538 <div data-icon-type="custom_icon_type_search"></div> 539 </div> 540 <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"> 541 <div class="search-area qk-display--flex qk-flex--row qk-justify--start qk-align--center qk-vert--mid"> 542 <form action="/search" class="form-inline qk-search_form qk-display--flex qk-justfify--between qk-align--center qk-flex--1"> 543 <input class="search-input form-control qk-inputbox qk-inputbox--lg qk-flex--1 qk-w--100 qk-bg--transparent qk-text--heading" type="search" placeholder="æå°" aria-label="Search" name="q" value="" /> 544 <button class="search-btn qk-btn qk-btn--lg qk-btn--primary qk-pd--0" type="submit">æå°</button> 545 </form> 546 </div> 547 </div> 548 </div> 549 </li> 550 551 <!-- express delivery --> 552 553 </ul> 554</nav> 555 556<!-- cyb_snippet tool_nav end --> 557 558 <!-- tool-nav end --> 559 </div> 560 </div> 561 </div> 562 563 <div class="header_nav qk-bg--nav_menu_bg"> 564 <div class="qk-pd_x--15"> 565 <div class="qk-pos--relative center"> 566 <!-- main-nav start --> 567 <nav class="main_nav qk-display--init"> 568 <!-- cyb_snippet _main_nav_skeleton start --><ul 569 class="main_nav_skeleton link_shelf_top qk-display--flex qk-flex--row qk-flex--wrap qk-justify--center qk-align--center qk-body" 570 style="justify-content: center; visibility: hidden;" 571 aria-hidden="true" 572 ><span> 573 <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> 574 </span><span> 575 <li class="dropdown qk-dropdown_wrapper qk-pos--rel"><span class="qk-display--bk qk-fs--body qk-text--nav_menu_text qk-text--accent_hover qk-cursor--default">ååå表</span></li> 576 </span><span> 577 <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> 578 </span><span> 579 <li class="dropdown qk-dropdown_wrapper qk-pos--rel"><a href="/pages/about-us" class="qk-display--bk qk-fs--body qk-text--nav_menu_text qk-text--accent_hover qk-cursor--pointer">éæ¼æå</a></li> 580 </span><span> 581 <li class="dropdown qk-dropdown_wrapper qk-pos--rel"><a href="/contact" class="qk-display--bk qk-fs--body qk-text--nav_menu_text qk-text--accent_hover qk-cursor--pointer">客æä¸å¿</a></li> 582 </span><span> 583 <li class="dropdown qk-dropdown_wrapper qk-pos--rel"><a href="/pages/shop" class="qk-display--bk qk-fs--body qk-text--nav_menu_text qk-text--accent_hover qk-cursor--pointer">ç¹ç´ååº</a></li> 584 </span><span> 585 <li class="dropdown qk-dropdown_wrapper qk-pos--rel"><a href="/pages/sales-channels" class="qk-display--bk qk-fs--body qk-text--nav_menu_text qk-text--accent_hover qk-cursor--pointer">é·å®æé»</a></li> 586 </span></ul><!-- cyb_snippet _main_nav_skeleton end --> 587 </nav>
588 <!-- main-nav end --> 589 </div> 590 </div> 591 </div> 592 593 </div> 594 595 <div class="qk-hidden--pc "> 596 <!-- mobile-nav start --> 597 <nav class="mobile-nav qk-bg--nav_logo_bg"> 598 <ul class="qk-display--flex qk-flex--row qk-justify--between qk-align--center qk-pd_x--05 qk-pd_y--0"> 599 <!-- menu --> 600 601 <li class="sidebar-menu-icon drawer-toggle qk-text--center qk-pd_x--05 qk-pd_y--0 qk-display--flex qk-align--center"> 602 <div data-icon-type="custom_icon_type_menu"></div> 603 </li> 604 605 <!-- logo --> 606 607 <li class="logo qk-mg_r--auto qk-pd_x--05 qk-pd_y--0"> 608 609 <a href="/" class="qk-display--il_flex qk-align--center qk-h--100 qk-hidden--phone"> 610 <img 611 src="//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNzY1MzU4NzE0X-m7g-WnkOaEm-S_nemkil9Mb2dvX1NLLUlJIOmbheipqeiYrem7myDlnIvpmpvnsr7lk4Hnvo7lpp0g5q2j6LKo57aT6Yq3LnBuZy5wbmciXV0.png?sha=129bd7342db5c6d7" 612 height="25" 613 width="auto" 614 alt="é»å§æä¿é¤ | SK-II é è©©èé» åéç²¾åç¾å¦ æ£è²¨ç¶é·" 615 > 616 </a> 617 618 619 <a href="/" class="qk-display--il_flex qk-align--center qk-h--100 qk-hidden--tablet"> 620 <img 621 src="//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNzY1MzU4NzE0X-m7g-WnkOaEm-S_nemkil9Mb2dvX1NLLUlJIOmbheipqeiYrem7myDlnIvpmpvnsr7lk4Hnvo7lpp0g5q2j6LKo57aT6Yq3LnBuZy5wbmciXV0.png?sha=129bd7342db5c6d7" 622 height="25" 623 width="auto" 624 alt="é»å§æä¿é¤ | SK-II é è©©èé» åéç²¾åç¾å¦ æ£è²¨ç¶é·" 625 > 626 </a> 627 628 </li> 629 630 631 <!-- search --> 632 633 <li class="search qk-text--center qk-pd_x--05 qk-pd_y--0 qk-display--flex qk-align--center "> 634 <div class="dropdown qk-pos--static qk-text--center"> 635 <div class="qk-cursor--pointer" data-toggle="dropdown"> 636 <div data-icon-type="custom_icon_type_search"></div> 637 </div> 638 <div 639 class="qk-dropdown_menu dropdown-menu qk-w--100vw qk-bg--theme_bg qk-bd--default qk-bd--product_border qk-mg--0" 640 role="menu" 641 > 642 <div class="search-area qk-display--flex qk-flex--row qk-justify--start qk-align--center qk-sp_bt--5 qk-w--100"> 643 <form action="/search" class="form-inline qk-display--flex qk-justfify--center qk-flex--1"> 644 <div class="form-inline qk-search_form qk-display--flex qk-justfify--center qk-align--center qk-flex--1"> 645 <input 646 class="form-control qk-flex--1 qk-inputbox qk-inputbox--lg qk-bg--transparent qk-text--heading" 647 type="search" 648 placeholder="æå°" 649 aria-label="Search" 650 name="q" 651 value="" 652 > 653 <button class="search-btn qk-btn qk-btn--lg qk-btn--primary qk-pd--0" type="submit"> 654 æå° 655 </button> 656 </div> 657 </form> 658 </div> 659 </div> 660 </div> 661 </li> 662 663 <!-- express delivery --> 664 665 666 </ul> 667 </nav> 668 <!-- mobile-nav end --> 669 </div> 670 671 </header>
671<script> 672 (function () { 673 var isNavbarTransparent = false; 674 675 function measureHeaderOffset() { 676 var header = document.getElementById('header'); 677 if (!header) return null; 678 679 var headerHeight = header.getBoundingClientRect().height; 680 681 if (isNavbarTransparent && window.matchMedia('(min-width: 992px)').matches) { 682 var computerNav = document.querySelector('.computer_nav'); 683 if (computerNav) { 684 headerHeight -= computerNav.getBoundingClientRect().height; 685 } 686 } 687 688 var floatFilter = document.getElementById('float-filter'); 689 var floatFilterHeight = floatFilter 690 ? floatFilter.getBoundingClientRect().height 691 : 0; 692 693 return headerHeight - floatFilterHeight; 694 } 695 696 window.measureHeaderOffset = measureHeaderOffset; 697 698 var offset = measureHeaderOffset(); 699 if (offset !== null) { 700 document.body.style.paddingTop = offset + 'px'; 701 } 702 })(); 703 </script>
703 704 705 <!-- Sidebar --> 706 <nav class="drawer-nav drawer-nav_width qk-bg--nav_menu_bg " role="navigation"> 707 <div class="drawer-menu"> 708 <!-- cyb_snippet side_menu start --> 709 710 711<ul id="index_sidebar_shelf_top" class="sidebar qk-pd_b--1"> 712 713 <li class="logo qk-pos--rel qk-bg--nav_logo_bg qk-pd_x--1 qk-pd_y--05"> 714 <a href="/" class="qk-pd--0"> 715 <img src="//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNzY1MzU4NzE0X-m7g-WnkOaEm-S_nemkil9Mb2dvX1NLLUlJIOmbheipqeiYrem7myDlnIvpmpvnsr7lk4Hnvo7lpp0g5q2j6LKo57aT6Yq3LnBuZy5wbmciXV0.png?sha=129bd7342db5c6d7" height="32" width="auto" alt="logo"> 716 </a> 717 <button class="drawer-toggle qk-pos--abs qk-bg--transparent qk-pd--0"></button> 718 </li> 719 720 721 722 723 724 <!-- cyb_snippet components/side_menu/menu start --> 725 726 <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> 727 728 729 730 731 732 <li class="qk-pos--rel qk-pd--0"> 733 734 <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> 735 736 </li> 737 738 739 740 741 742 <li class="qk-pos--rel qk-pd--0"> 743 <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 "> 744 745 <span class="qk-cursor--pointer qk-text--nav_menu_text"> ååå表 </span> 746 747 </button> 748 <ul id="index_sidebar_shelf_second_2" class="collapse_index_sidebar_2 collapse shelf_second show qk-pd--0"> 749 750 751 752 753 <li class="qk-pos--rel qk-pd--0"> 754 755 <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/collections/all_products"> 756 å ¨é¨åå 757 </a> 758 759 </li> 760 761 762 763 764 765 <li class="qk-pos--rel qk-pd--0"> 766 767 <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/å èè»éç ¥äº®ç³»å"> 768 å èè»éç ¥äº®ç³»å 769 </a> 770 771 </li> 772 773 774 775 776 777 <li class="qk-pos--rel qk-pd--0"> 778 779 <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/facial"> 780 éæ¥é² 781 </a> 782 783 </li> 784 785 786 787 788 789 <li class="qk-pos--rel qk-pd--0"> 790 791 <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/skin_power"> 792 èæ´»è½éç³»å 793 </a> 794 795 </li> 796 797 798 799 800 801 <li class="qk-pos--rel qk-pd--0"> 802 803 <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/genoptics"> 804 è¶ èå ç³»å 805 </a> 806 807 </li> 808 809 810 811 812 813 <li class="qk-pos--rel qk-pd--0"> 814 815 <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/lxp"> 816 æ¶é½æ¥µç·»ç³»å 817 </a> 818 819 </li> 820 821 822 823 824 825 <li class="qk-pos--rel qk-pd--0"> 826 827 <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/toner"> 828 å妿°´ 829 </a> 830 831 </li> 832 833 834 835 836 837 <li class="qk-pos--rel qk-pd--0"> 838 839 <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/lotion"> 840 乳液 841 </a> 842 843 </li> 844 845 846 847 848 849 <li class="qk-pos--rel qk-pd--0"> 850 851 <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/essence"> 852 ç²¾è¯æ¶² 853 </a> 854 855 </li> 856 857 858 859 860 861 <li class="qk-pos--rel qk-pd--0"> 862 863 <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/eye_cream"> 864 ç¼é 865 </a> 866 867 </li> 868 869 870 871 872 873 <li class="qk-pos--rel qk-pd--0"> 874 875 <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/cream"> 876 ä¹³é 877 </a> 878 879 </li> 880 881 882 883 884 885 <li class="qk-pos--rel qk-pd--0"> 886 887 <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/mask"> 888 é¢è 889 </a> 890 891 </li> 892 893 894 895 896 897 <li class="qk-pos--rel qk-pd--0"> 898 899 <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/facial_cleanser"> 900 æ´é¢ä¹³ 901 </a> 902 903 </li> 904 905 906 907 908 909 <li class="qk-pos--rel qk-pd--0"> 910 911 <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/cleansing"> 912 å¸å¦ 913 </a> 914 915 </li> 916 917 918 </ul> 919 </li> 920 921 922 923 924 925 <li class="qk-pos--rel qk-pd--0"> 926 927 <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> 928 929 </li> 930 931 932 933 934 935 <li class="qk-pos--rel qk-pd--0"> 936 937 <a class="qk-fw--bold qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/pages/about-us">éæ¼æå</a> 938 939 </li> 940 941 942 943 944 945 <li class="qk-pos--rel qk-pd--0"> 946 947 <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="/contact">客æä¸å¿</a> 948 949 </li> 950 951 952 953 954 955 <li class="qk-pos--rel qk-pd--0"> 956 957 <a class="qk-fw--bold qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/pages/shop">ç¹ç´ååº</a> 958 959 </li> 960 961 962 963 964 965 <li class="qk-pos--rel qk-pd--0"> 966 967 <a class="qk-fw--bold qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-bg--nav_menu_bg qk-text--nav_menu_text" href="/pages/sales-channels">é·å®æé»</a> 968 969 </li> 970 971 972
973<script> 974 $('button a').on('click', function(e) {e.stopPropagation()}); 975</script>
975 976 977<!-- cyb_snippet components/side_menu/menu end --> 978 979 980 981 982 <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> 983 <li class="qk-pos--rel qk-pd--0"> 984 <div class="customer-logined-menu qk-display--il_bk qk-w--100 qk-text--left" style="display: none"> 985 <a href="/account/index" class="qk-text--nav_menu_text qk-fw--bold qk-fs--body">æç帳æ¶</a> 986 </div> 987 </li> 988 <li class="qk-pos--rel qk-pd--0"> 989 <div class="customer-logined-menu qk-display--il_bk qk-w--100 qk-text--left" style="display: none"> 990 <a href="/account/orders" class="qk-text--nav_menu_text qk-fw--bold qk-fs--body">è¨å®æ¥è©¢</a> 991 </div> 992 </li> 993 <li class="qk-pos--rel qk-pd--0"> 994 <div class="customer-logined-menu qk-display--il_bk qk-w--100 qk-text--left" style="display: none"> 995 <a href="/account/logout" class="qk-text--nav_menu_text qk-fw--bold qk-fs--body">æå¡ç»åº</a> 996 </div> 997 </li> 998 <li class="qk-pos--rel qk-pd--0"> 999 <a href="/account/login"> 1000 <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 "> 1001 <span class="qk-text--nav_menu_bg qk-fw--500 qk-fs--body"> 1002 æå¡ç»å ¥ 1003 </span> 1004 </div> 1005 </a> 1006 </li> 1007 <li class="qk-pos--rel qk-pd--0"> 1008 <a href="/account/signup"> 1009 <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"> 1010 <span class="qk-text--nav_menu_text qk-fs--body qk-fw--500"> 1011 è¨»åæ°æå¡ 1012 </span> 1013 </div> 1014 </a> 1015 </li> 1016 1017 1018 1019 1020 1021</ul> 1022 1023<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/sidebar-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' /> 1024
1025<script> 1026 $(document).ready(function(){ 1027 // å´éé¸å® 1028 if ($('.drawer').length){ 1029 $('.drawer').drawer(); 1030 $('.bt-toggle').click(function(){ 1031 setTimeout(function(){ 1032 $('.drawer')[0].iScroll.refresh() 1033 },500) 1034 }) 1035 } 1036 }); 1037</script>
1037 1038 1039 1040<!-- cyb_snippet side_menu end --> 1041 1042 </div> 1043 </nav> 1044 <!-- Bottombar --> 1045 1046 <div 1047 id="mobile-bottom-bar" 1048 class="qk-display--flex qk-justify--around qk-bg--nav_logo_bg qk-w--100vw qk-pos--fixed qk-b--0 qk-hidden--pc" 1049 > 1050 <!-- home --> 1051 <div class="qk-display--flex qk-justify--center qk-align--center qk-text--center qk-pd_x--05 qk-pd_y--0 qk-flex--1"> 1052 <a id="home-nav-icon" href="/"> 1053 <div data-icon-type="custom_icon_type_home"></div> 1054 </a> 1055 </div> 1056 <!-- tracking items --> 1057 <div class="qk-display--flex qk-justify--center qk-align--center qk-text--center qk-pd_x--05 qk-pd_y--0 qk-flex--1"> 1058 <a href="/account/tracking_items"> 1059 <div data-icon-type="custom_icon_type_tracking_items" c></div> 1060 </a> 1061 </div> 1062 <!-- cart --> 1063 1064 <div class="qk-display--flex qk-justify--center qk-align--center qk-text--center qk-pd_x--05 qk-pd_y--0 qk-flex--1"> 1065 <a 1066 href="/cart" 1067 class="qk-display--il_flex qk-flex--row qk-justify--center qk-align--center qk-vert--mid qk-pos--rel" 1068 > 1069 <div data-icon-type="custom_icon_type_cart"></div> 1070 <span 1071 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" 1072 style="display: none;" 1073 >0</span 1074 > 1075 </a> 1076 </div> 1077 1078 <!-- member --> 1079 1080 <div class="qk-display--flex qk-justify--center qk-align--center qk-text--center qk-pd_x--05 qk-pd_y--0 qk-flex--1"> 1081 <a id="customer-phone-nav-icon" href="/account/login"> 1082 <div data-icon-type="custom_icon_type_account"></div> 1083 </a> 1084 </div> 1085 1086 </div> 1087 1088 1089 </span> 1090 1091<div id="index-popular-tags"></div> 1092 1093<style id="timer_color"> 1094 :root { 1095 1096 --timer_text: #c39d6f; 1097 1098 1099 1100 --timer_bg: #2b2b6e; 1101 1102 } 1103</style> 1104
1105<script> 1106 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":"åé¡å
1106
§å®¹","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天å
è²»éè³
1106æï¼å«ä¾åæ¥ï¼ãéæè²¨æè«ä¿æåå
è£ååç宿´ï¼å
å«è³¼è²·ååï¼éä»¶ï¼è´åçï¼ã\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":"è¬è¬æ¨çå¯
1106¶è²´æè¦","thanks_you_have_signed_up":"è¬è¬æ¨å·²è¨»å","total_bonus_redemption":"ç¸½ç´ å©æè³¼é»æ¸","tw_city_placeholder":"è«é¸æç¸£å¸","tw_district_placeholder":"è«é¸æéé®å¸å","unreach_favorable":"æªéåªæ ","verification_error_please_correct":"é©èæèª¤è«ä¿®æ£","verify_success":"é©èç¢¼ç¢ºèªæå","view_product":"æ¥çåå","vip_shipping_free":"VIPå éè²»","zip":"éµéåè","suggested_range":"建è°åé:","periodic_order_label":"宿å®é¡"} 1107 $(document).ready(function(){ 1108 if(window.location.pathname != '' && window.location.pathname != '/' ){ 1109 document.getElementById('index-popular-tags').style.display = 'none' 1110 } 1111 // åæ¸è¨æ 1112 1113 1114 function adjustContentTop() { 1115 const offset = window.measureHeaderOffset(); 1116 if (offset === null) return; 1117 $("body").css({ "padding-top": offset + "px" }); 1118 } 1119 1120 window.adjustContentTop = adjustContentTop; 1121 1122 // navbarè¨å®éæ 1123 1124 1125 // Call it first once DOM is ready to prevent CLS 1126 adjustContentTop(); 1127 1128 // å»¶é²åå§åï¼çå¾ app banner åå§å宿 1129 $(window).on("resize", adjustContentTop); 1130 1131 // ä½¿ç¨ setTimeout ç¢ºä¿ banner çæ å·²ç¶ç¢ºå® 1132 $(window).on("load", function() { 1133 setTimeout(function() { 1134 adjustContentTop(); 1135 }, 200); // 給 banner è¶³å¤ æéåå§å 1136 }); 1137 1138 $('img.header_banner').on('load', adjustContentTop); 1139 1140 window.renderNavbarSection('.main_nav', { 1141 navbarCollections: null, 1142 navbarItems: [{"id":599486,"title":"é¦é ","url":"/","item_type":"frontpage","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":691551,"title":"ååå表","url":"ååå表","item_type":"linklist","subtitle":null,"icon_image_url":null,"menuItems":[{"id":735407,"title":"å ¨é¨åå","url":"/collections/all_products","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1256073,"title":"å èè»éç ¥äº®ç³»å","url":"/collections/å èè»éç ¥äº®ç³»å","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":735408,"title":"鿥é²","url":"/collections/facial","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":735409,"title":"èæ´»è½éç³»å","url":"/collections/skin_power","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":735410,"title":"è¶ èå ç³»å","url":"/collections/genoptics","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":735411,"title":"æ¶é½æ¥µç·»ç³»å","url":"/collections/lxp","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":735412,"title":"å妿°´","url":"/collections/toner","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":735413,"title":"乳液","url":"/collections/lotion","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":735414,"title":"ç²¾è¯æ¶²","url":"/collections/essence","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":735415,"title":"ç¼é","url":"/collections/eye_cream","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":735416,"title":"ä¹³é","url":"/collections/cream","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":735417,"title":"é¢è","url":"/collections/mask","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":735418,"title":"æ´é¢ä¹³","url":"/collections/facial_cleanser","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":735419,"title":"å¸å¦","url":"/collections/cleansing","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null}]},{"id":599488,"title":"ææ°åæ ","url":"/blogs/news","item_type":"http","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":599489,"title":"éæ¼æå","url":"/pages/about-us","item_type":"page","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":599490,"title":"客æä¸å¿","url":"/contact","item_type":"contact","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":678664,"title":"ç¹ç´ååº","url":"/pages/shop","item_type":"page","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1877781,"title":"é·å®æé»","url":"/pages/sales-channels","item_type":"page","subtitle":null,"icon_image_url":null,"menuItems":null}], 1143 settings: { 1144 menuDisplayStyle: "three_dimension_menu", 1145 pcLogoImgUrl: "//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNzY1MzU4NzE0X-m7g-WnkOaEm-S_nemkil9Mb2dvX1NLLUlJIOmbheipqeiYrem7myDlnIvpmpvnsr7lk4Hnvo7lpp0g5q2j6LKo57aT6Yq3LnBuZy5wbmciXV0.png?sha=129bd7342db5c6d7", 1146 mobileLogoImgUrl: "//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNzY1MzU4NzE0X-m7g-WnkOaEm-S_nemkil9Mb2dvX1NLLUlJIOmbheipqeiYrem7myDlnIvpmpvnsr7lk4Hnvo7lpp0g5q2j6LKo57aT6Yq3LnBuZy5wbmciXV0.png?sha=129bd7342db5c6d7", 1147 navbarDisplayStyle: "displayDefault", 1148 } 1149 } 1150 ); 1151 1152 1153 // for link menu 1154 const linkMenuElement = document.querySelector('.link-nav'); 1155 const data = [] 1156 data.forEach((item) => { 1157 const wrapper = document.createElement('a'); 1158 const link = document.createElement('ul'); 1159 1160 wrapper.href = item.url; 1161 link.textContent = item.title; 1162 link.classList.add('link-item'); 1163 1164 wrapper.appendChild(link); 1165 linkMenuElement.appendChild(wrapper); 1166 }); 1167 1168 // for safe-area space on iOS devices 1169 const userAgent = navigator.userAgent; 1170 const isIOS = /iPad|iPhone|iPod/.test(userAgent) && !window.MSStream; 1171 const isLiff = /Line\/[\d.]+/i.test(userAgent); 1172 const $mobileBottomBar = $('#mobile-bottom-bar'); 1173 1174 if ($mobileBottomBar.length && isIOS && isLiff) { 1175 $mobileBottomBar.addClass('is-ios-liff'); 1176 } 1177 }); 1178 document.addEventListener('DOMContentLoaded', function() { 1179 window.getCartAmount = function() { 1180 return parseInt($('.global-cart-count').html()); 1181 }; 1182 }); 1183</script>
1183 1184
1185<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/navbar-e958d46bfee2e69f.js' type='text/javascript'></script>
vendor: 1 bytes, line 1185
1185
1186<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/currencies-e958d46bfee2e69f.js' type='text/javascript'></script>
1186 1187<!-- cyb_snippet i18n_modal start --> 1188 1189 1190<!-- cyb_snippet i18n_modal end --> 1191<!-- cyb_snippet _load_fonts start -->
1192<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/load_fonts-e958d46bfee2e69f.js' type='text/javascript'></script>
vendor: 1 bytes, line 1192
1192
1193<script> 1194 document.addEventListener('DOMContentLoaded', function() { 1195 window.loadFontSetting("{'ja':{'value':'Noto Sans JP'},'zh-TW':{'value':'Noto Sans TC'},'en':{'value':'Noto Sans TC'},'zh-CN':{'value':'Noto Sans TC'}}") 1196 }) 1197</script>
1197 1198 1199<!-- cyb_snippet _load_fonts end --> 1200<!-- cyb_snippet _custom_icon start -->
1201<script src='//cdn-general.cybassets.com/frontend/shop/navIcon-e958d46bfee2e69f.js' type='text/javascript'></script>
1201 1202
1203<script> 1204 (function() { 1205 const iconUrlMap = new Map([ 1206 ['custom_icon_type_home', null], 1207 ['custom_icon_type_tracking_items', null], 1208 ['custom_icon_type_account', null], 1209 ['custom_icon_type_cart', null], 1210 ['custom_icon_type_search', null], 1211 ['custom_icon_type_menu', null] 1212 ]); 1213 const elements = document.querySelectorAll('[data-icon-type]'); 1214 elements.forEach((element, index) => { 1215 const iconAttributes = element.getAttribute('data-icon-type'); 1216 1217 const uniqueId = `icon_${iconAttributes}_${index}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`; 1218 element.id = uniqueId; 1219 window.renderNavCustomIcon(`#${uniqueId}`, { 1220 navIconStyle: "icon_type_default", 1221 customIconUrl: iconUrlMap.get(iconAttributes) || '', 1222 iconAttributes: iconAttributes, 1223 currentTemplate: "index", 1224 }); 1225 }); 1226 })(); 1227</script>
1227 1228 1229<!-- cyb_snippet _custom_icon end --> 1230 1231 1232 1233 1234 1235
1235<script src='//cdn-general.cybassets.com/frontend/shop/announcementBar-e958d46bfee2e69f.js' type='text/javascript'></script>
1235 1236 1237 1238 1239 1240 1241
1241<script> 1242 $(document).ready(function() { 1243 window.renderAnnouncementBar('#announcement-bar', { 1244 sectionId: "announcement_bar", 1245 isIndex: true, 1246 }); 1247 }); 1248 </script>
1248 1249 1250 1251 1252 1253 1254 1255 <!-- template --> 1256 <div id="template" style="flex:1 0 auto; background-color: var(--theme_bg);"> 1257 <div class="index"> 1258 1259 1260 1261 1262 1263 1264<section id="1769909594379_7"> 1265 <div class="brand-intro"> 1266 <h1 style="font-size: 24px; text-align: center;">çºå¦³å®è·æ¯ä¸ä»½ç¾éºï¼é»å§å´é¸å°æ«æ£è²¨</h1> 1267 <p style="text-align: center;">ç¶é· SK-IIãé è©©èé»çåéåçï¼ä¿èæ£åï¼è®æ¯ä¸å¤©çä¿é¤åå¼ï¼é½æçºå¯µæèªå·±çæç¾æå»ã</p> 1268</div> 1269</section> 1270 1271<style> 1272 [id="1769909594379_7"] { 1273 margin: 0 0px 0px !important; 1274 } 1275 @media (max-width: 991px) { 1276 [id="1769909594379_7"] { 1277 margin: 0 0px 0px !important; 1278 } 1279 } 1280</style> 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/_main_slider_custom-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' /> 1293 1294<style> 1295 [id="_main_slider_custom"] { 1296 margin: 0 0px 50px !important; 1297 } 1298 @media (max-width: 576px) { 1299 .main-slider-placeholder { 1300 display: none !important; 1301 } 1302 .swiper-container { 1303 visibility: visible !important; 1304 } 1305 } 1306 @media (max-width: 991px) { 1307 [id="_main_slider_custom"] { 1308 margin: 0 0px 50px !important; 1309 } 1310 } 1311</style> 1312 1313<section id="_main_slider_custom" class="main-slider qk-pos--rel"> 1314 1315 1316 1317 <div 1318 class="swiper swiper-container" 1319 1320 > 1321 <div class="swiper-wrapper qk-align--center"> 1322 1323 1324 1325 <div class="swiper-slide"> 1326 1327 1328 <a 1329 href="/collections/all" 1330 class="img-flex qk-align--stretch qk-display--contents" 1331 target="" 1332 rel="" 1333 > 1334 1335 1336 1337 1338 1339 1340 <picture> 1341 1342 1343 <img 1344 id="slider-image" 1345 data-src="//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjQ2OTkwOTYzXzIwMjIwMzExX1NLMum7g-WnkOWBhzHpmaoxMEJOX1JJQU5fMTkyMFg4MDAuanBnLmpwZWciXV0.jpeg?sha=0f7e740b12722a2a" 1346 height="auto" 1347 alt="é»å§æä¿é¤-å°æ«æ£è²¨" 1348 class="swiper-lazy" 1349 > 1350 </picture> 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 </a> 1365 1366 1367 <div class="swiper-lazy-preloader"></div> 1368 1369 </div> 1370 1371 <div class="swiper-slide"> 1372 1373 1374 <a 1375 href="https://www.to-buy.com.tw/products/skc11103020" 1376 class="img-flex qk-align--stretch qk-display--contents" 1377 target="_blank" 1378 rel="noopener noreferrer" 1379 > 1380 1381 1382 1383 1384 1385 1386 <picture> 1387 1388 1389 <img 1390 id="slider-image" 1391 data-src="//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNzY0OTAxODQ4XzIwMjUxMjAxLVNLMua0u-WLlS3lsI_oirNfMTkyMHgxMDgwLmpwZy5qcGVnIl1d.jpeg?sha=6ad51490ce747f87" 1392 height="auto" 1393 alt="SK-II-鿥é²-é»å§æä¿é¤" 1394 class="swiper-lazy" 1395 > 1396 </picture> 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 </a> 1411 1412 1413 <div class="swiper-lazy-preloader"></div> 1414 1415 </div> 1416 1417 <div class="swiper-slide"> 1418 1419 1420 <a 1421 href="https://line.me/R/ti/p/@666tppkn" 1422 class="img-flex qk-align--stretch qk-display--contents" 1423 target="_blank" 1424 rel="noopener noreferrer" 1425 > 1426 1427 1428 1429 1430 1431 1432 <picture> 1433 1434 1435 <img 1436 id="slider-image" 1437 data-src="//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjQ5NjQ0NDI5XzIwMjIwNDA4X-m7g-WnkEJOX-Wwj-azol8xOTIweDgwMC5qcGcuanBlZyJdXQ.jpeg?sha=f2f6dc314c4109e8" 1438 height="auto" 1439 alt="é»å§æä¿é¤-å°æ«ç¾å¦æ£è²¨ç¶é·-SK-II-é è©©èé»-é ç´ä¿é¤å°è³£" 1440 class="swiper-lazy" 1441 > 1442 </picture> 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 </a> 1457 1458 1459 <div class="swiper-lazy-preloader"></div> 1460 1461 </div> 1462 1463 <div class="swiper-slide"> 1464
1465 <span class="img-flex qk-align--stretch qk-display--contents"> 1466 1467 1468 1469 1470 1471 1472 <picture> 1473 1474 <source 1475 media="(max-width: 576px)" 1476 data-srcset="//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjcyOTY5NjE2XzAzMTctU0sy5YWo57O75YiXQk4tUklBTi0xOTIwWDgwMF_lt6XkvZzljYDln58gMSDopIfmnKwuanBnLmpwZWciXV0.jpeg?sha=9f5afeb790cd8618" 1477 alt="é»å§æä¿é¤-å°æ«ç¾å¦æ£è²¨ç¶é·-SK-II-é è©©èé»-é ç´ä¿é¤å°è³£" 1478 > 1479 1480 1481 <img 1482 id="slider-image" 1483 data-src="//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjQ3NDk0NzA2XzAzMTctU0sy5YWo57O75YiXQk4tUklBTi0xOTIwWDgwMF_lt6XkvZzljYDln58gMS5qcGcuanBlZyJdXQ.jpeg?sha=f4b2ce3ae3096c15" 1484 height="auto" 1485 alt="é»å§æä¿é¤-å°æ«ç¾å¦æ£è²¨ç¶é·-SK-II-é è©©èé»-é ç´ä¿é¤å°è³£" 1486 class="swiper-lazy" 1487 > 1488 </picture> 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 </span> 1503 1504 1505 <div class="swiper-lazy-preloader"></div> 1506 1507 </div> 1508 1509 </div> 1510 1511 <div 1512 class="qk-swiper_btn qk-swiper_btn--lg qk-swiper_btn--v2 qk-swiper_btn--prev main_slider_custom_prev qk-hidden--mobile" 1513 ></div> 1514 <div 1515 class="qk-swiper_btn qk-swiper_btn--lg qk-swiper_btn--v2 qk-swiper_btn--next main_slider_custom_next qk-hidden--mobile" 1516 ></div> 1517 1518 </div> 1519 1520 <div class="qk-swiper_pg qk-w--100 qk-mg_t--1 qk-text--center main_slider_pagination"></div> 1521 1522</section> 1523
1524<script> 1525 $(document).ready(function(){ 1526 let isDynamicLoading = false; 1527 let settingObj = { 1528 id: '_main_slider_custom', 1529 mobile_img_number: Number('1'), 1530 mobile_img_space: Number('8'), 1531 img_number: Number('1'), 1532 img_space: Number('12'), 1533 swiper_delay: '5', 1534 } 1535 window.mainSlider = function(obj){ 1536 var id = themeHelper.escapeId(obj.id); 1537 var slideCount = $(`#${obj.id} .swiper-slide`).length 1538 var autoLoop = true 1539 if (slideCount <= 1){ 1540 autoLoop = false 1541 } 1542 var mainSlider = new Swiper('#' + id + ' .swiper-container', { 1543 preloadImages: false, 1544 slidesPerView: Number(obj.mobile_img_number), 1545 spaceBetween: Number(obj.mobile_img_space), 1546 breakpoints: { 1547 0:{ 1548 slidesPerView: Number(obj.mobile_img_number), 1549 spaceBetween: Number(obj.mobile_img_space), 1550 }, 1551 991: { 1552 slidesPerView: Number(obj.img_number), 1553 spaceBetween: Number(obj.img_space), 1554 } 1555 }, 1556 // Enable lazy loading 1557 observer: true, 1558 observeParents: true, 1559 autoheight: true, 1560 lazy: { 1561 loadPrevNext: true, 1562 }, 1563 freeMode: { 1564 enabled: true, 1565 sticky: true, 1566 momentum: true, 1567 momentumRatio: 0.4, 1568 momentumVelocityRatio: 0.1, 1569 }, 1570 loop: autoLoop, 1571 autoplay: { delay: obj.swiper_delay * 1000 }, 1572 speed: Number('300.0'), 1573 pagination: { 1574 el: '#' + id + ' .main_slider_pagination', 1575 clickable: true, 1576 }, 1577 navigation: { 1578 nextEl: '#' + id + ' .main_slider_custom_next', 1579 prevEl: '#' + id + ' .main_slider_custom_prev', 1580 }, 1581 on: { 1582 init: function () { 1583 if (isDynamicLoading && !window.matchMedia("(max-width: 576px)").matches) { 1584 document.querySelector('#' + id + ' .main-slider-placeholder').style.display = 'none'; 1585 document.querySelector('#' + id + ' .swiper-container').style.visibility = 'visible'; 1586 } 1587 }, 1588 } 1589 }); 1590 } 1591 if (isDynamicLoading) { 1592 window.DynamicLoading.setupComponent({ 1593 sectionId: "_main_slider_custom", 1594 sectionSettingData: settingObj, 1595 entryName:'mainSlider', 1596 source:'https://cdnjs.cloudflare.com/ajax/libs/Swiper/5.4.5/js/swiper.js', 1597 componentType:'js', 1598 hiddenDom: true 1599 }); 1600 }else{ 1601 mainSlider(settingObj); 1602 } 1603 }) 1604</script>
1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615
1616<script src='//cdn-general.cybassets.com/frontend/shop/productBanner-e958d46bfee2e69f.js' type='text/javascript'></script>
1616 1617 1618 1619<style> 1620 [id="_index_product_banner"] { 1621 margin: 0 0px 0px !important; 1622 } 1623 @media (max-width: 991px) { 1624 [id="_index_product_banner"] { 1625 margin: 0 0px 24px !important; 1626 } 1627 } 1628</style> 1629 1630<section id="_index_product_banner" class="index-product-banner qk-display--bk qk-pos--rel"> 1631 <div id="index_product_banner-_index_product_banner"></div> 1632</section> 1633
1634<script> 1635 $(document).ready(function() { 1636 let isDynamicLoading = false; 1637 if (isDynamicLoading) { 1638 window.DynamicLoading.setupComponent({ 1639 sectionId:'#index_product_banner-_index_product_banner', 1640 callbackData:{ 1641 sectionId: "_index_product_banner", 1642 section: {"type":"_index_product_banner","visible":true,"settings":{"dict_link":"/pages/partner","dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjQ3NTAxMzA3XzIwMjIwMzE3X1NLMl_pu4Plp5DlkIjkvbVCTl9USU1fMTkyMFg4MDAuanBnLmpwZWciXV0.jpeg?sha=71aec86d7d36ef32","dict_tablet_image_url":"","dict_mobile_image_url":"","cta_btn_display_style":"bottomPosition","cta_btn_text":"黿ï¼å¡«å¯«å購表å®","cta_btn_bg_color":"#f7a608","cta_btn_text_color":"#ffffff","margin_x":"0","margin_bottom":"","mobile_margin_x":"0","mobile_margin_bottom":"24","display_cta_btn":false,"dict_cta_btn_text":"","product_banner_image_alt":"é»å§æä¿é¤-å°æ«ç¾å¦æ£è²¨ç¶é·-SK-II-é è©©èé»-é ç´ä¿é¤å°è³£"},"custom_name":"æ©«å¹ å»£å","thumbnail":"banner","draggable":true,"schedule":{"enabled_default":true,"schedule_lists":[]}}, 1643 dictMobileImageUrl:"", 1644 dictTabletImageUrl:"", 1645 dictImageUrl:"//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjQ3NTAxMzA3XzIwMjIwMzE3X1NLMl_pu4Plp5DlkIjkvbVCTl9USU1fMTkyMFg4MDAuanBnLmpwZWciXV0.jpeg?sha=71aec86d7d36ef32", 1646 }, 1647 entryName:'renderProductBanner', 1648 source:'//cdn-general.cybassets.com/frontend/shop/productBanner-e958d46bfee2e69f.js', 1649 }); 1650 }else{ 1651 window.renderProductBanner('#index_product_banner-_index_product_banner', 1652 { 1653 sectionId: "_index_product_banner", 1654 section: {"type":"_index_product_banner","visible":true,"settings":{"dict_link":"/pages/partner","dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjQ3NTAxMzA3XzIwMjIwMzE3X1NLMl_pu4Plp5DlkIjkvbVCTl9USU1fMTkyMFg4MDAuanBnLmpwZWciXV0.jpeg?sha=71aec86d7d36ef32","dict_tablet_image_url":"","dict_mobile_image_url":"","cta_btn_display_style":"bottomPosition","cta_btn_text":"黿ï¼å¡«å¯«å購表å®","cta_btn_bg_color":"#f7a608","cta_btn_text_color":"#ffffff","margin_x":"0","margin_bottom":"","mobile_margin_x":"0","mobile_margin_bottom":"24","display_cta_btn":false,"dict_cta_btn_text":"","product_banner_image_alt":"é»å§æä¿é¤-å°æ«ç¾å¦æ£è²¨ç¶é·-SK-II-é è©©èé»-é ç´ä¿é¤å°è³£"},"custom_name":"æ©«å¹ å»£å","thumbnail":"banner","draggable":true,"schedule":{"enabled_default":true,"schedule_lists":[]}}, 1655 dictMobileImageUrl:"", 1656 dictTabletImageUrl:"", 1657 dictImageUrl:"//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjQ3NTAxMzA3XzIwMjIwMzE3X1NLMl_pu4Plp5DlkIjkvbVCTl9USU1fMTkyMFg4MDAuanBnLmpwZWciXV0.jpeg?sha=71aec86d7d36ef32", 1658 }); 1659 } 1660 }); 1661</script>
1661 1662 1663 1664<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/_index_8_blocks-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' />
1664<script src='//cdn-general.cybassets.com/frontend/shop/productCollection-e958d46bfee2e69f.js' type='text/javascript'></script>
1664<!-- cyb_snippet _combo_product_related_items_modal start --><!-- cyb_snippet _combo_product_related_items_modal end --> 1665 1666 1667
1668<script> 1669 $(document).ready(function() { 1670 let isDynamicLoading = false; 1671 1672 function sendProductImpressions(products, collectionTitle) { 1673 if (products && products.length > 0) { 1674 var gtm_product = [] 1675 1676 $.each(products, function(index, product) { 1677 productInfo = { 1678 'brand': product.vendor, 1679 'category': product.product_type, 1680 'id': product.id, 1681 'list': 'Index: ' + collectionTitle, 1682 'name': product.title, 1683 'position': index + 1, 1684 'price': product.price, 1685 'variant': '' 1686 } 1687 1688 if (typeof google_tag_manager_id != 'undefined' || typeof cyb != 'undefined') { 1689 gtm_product.push(productInfo) 1690 } 1691 }) 1692 1693 if (typeof google_tag_manager_id != 'undefined' && gtm_product.length > 0) { 1694 dataLayer.push({ 1695 'event': 'productImpressions', 1696 'ecommerce': { 1697 'impressions': gtm_product 1698 } 1699 }); 1700 } 1701 1702 if (typeof cyb != "undefined" && gtm_product.length > 0) { 1703 cyb.push({ 1704 'event': 'productImpressions', 1705 'impressions': gtm_product 1706 }); 1707 } 1708 } 1709 } 1710 1711 const props = { 1712 sectionId: "_index_8_blocks", 1713 collection: { 1714 id: 208079, 1715 title: "鿥é²", 1716 }, 1717 allProductCount: 2, 1718 cartEnabled: true, 1719 discountPriceSloganUrl: "", 1720 showMultipleLabels: false, 1721 collectionHandleUrl: "/collections/facial", 1722 blockProducts: 1723{"products":[{"id":43447684,"title":"ãSK-IIãéæ¥ç²¾è¯é² 30ml","handle":"skc11103017","price":3290.0,"vendor":null,"slogan":"","sell_from":null,"url":"/products/skc11103017","product_type":null,"total_sold":0,"sold_out":false,"price_range":{"min":{"id":50563488,"price":3290.0,"compare_at_price":4600.0},"max":{"id":50563488,"price":3290.0,"compare_at_price":4600.0}},"show_slogan":true,"related_to_sales_page":false,"hide_price?":false,"sales_mode_purchasable?":true,"featured_image":"//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L3Byb2R1Y3RzLzQzNDQ3Njg0LzE3MDA2NDEwOTBfZDkyZDhmN2FkY2RkM2QzY2Q3ZDkucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=9601c4e19be25838","optional_combo_product?":false,"combo_product_info":null,"purchase_eligibility":{"required":false,"eligible":true,"status":"eligible"},"product_labels":[],"images":["//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L3Byb2R1Y3RzLzQzNDQ3Njg0LzE3MDA2NDEwOTBfZDkyZDhmN2FkY2RkM2QzY2Q3ZDkucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=9601c4e19be25838"]},{"id":36337552,"title":"ãSK-IIã鿥é²","handle":"skc11103020","price":2680.0,"vendor":null,"slogan":"䏿»´éæ¥é²ï¼å¤éæ¹åèèäºå¤§ç¾è度","sell_from":null,"url":"/products/skc11103020","product_type":null,"total_sold":18,"sold_out":false,"price_range":{"min":{"id":76829217,"price":2680.0,"compare_at_price":1490.0},"max":{"id":40960054,"price":4850.0,"compare_at_price":8990.0}},"show_slogan":true,"related_to_sales_page":false,"hide_price?":false,"sales_mode_purchasable?":true,"featured_image":"//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L3Byb2R1Y3RzLzM2MzM3NTUyLzE2NDYzMDE1NTRfOTQ3ODVjYTM3ZWNjYzAyODkyMzQucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=9278a70fbdfd38dd","optional_combo_product?":false,"combo_product_info":null,"purchase_eligibility":{"required":false,"eligible":true,"status":"eligible"},"product_labels":[],"images":["//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L3Byb2R1Y3RzLzM2MzM3NTUyLzE2NDYzMDE1NTRfOTQ3ODVjYTM3ZWNjYzAyODkyMzQucG5nIl0sWyJwIiwidGh1bWIiLCI2MDB4NjAwIl1d.png?sha=9278a70fbdfd38dd","//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L3Byb2R1Y3RzLzM2MzM3NTUyLzE3NjQ2NTQ5OTBfMWE2Nzk4MGUwYmU4Y2JjNDJhZmYuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=210c4df4a09f1edf","//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L3Byb2R1Y3RzLzM2MzM3NTUyLzE3NjU3NjQ4MTlfMTEyZTE0NTk1ZmQ5MTEwOGUyMzkuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=7b6d8e2459f500bd"]}]} 1724, 1725 sessionTitle: null, 1726 section: {"type":"_index_8_blocks","visible":true,"settings":{"dict_title":"ç±é·åå","collection_handle":"facial","limit":"8","margin_x":"0","margin_bottom":"50","mobile_margin_x":"0","mobile_margin_bottom":"24","product_display":"displayDefault","old_container_setting":true,"product_arrangement":"1","product_alignment":"leftPosition","product_text_align":"center","product_column_for_pc":"4","product_column_for_mobile":"2","product_card_hover_effect":"button","product_image_border_radius":"15"},"custom_name":"åååé¡","thumbnail":"collection","draggable":true,"schedule":{"enabled_default":true,"schedule_lists":[]}}, 1727 productURLSearch: "", 1728 hasIntegratedProductLabelsPlugin: true, 1729 isDisplayPriceRange: null || false, 1730 pageType: "index", 1731 } 1732 if (isDynamicLoading) { 1733 window.DynamicLoading.setupComponent({ 1734 sectionId: '#index_8_blocks-_index_8_blocks', 1735 callbackData: props, 1736 entryName: 'renderProductCollection', 1737 source: '//cdn-general.cybassets.com/frontend/shop/productCollection-e958d46bfee2e69f.js', 1738 }); 1739 } else { 1740 renderProductCollection('#index_8_blocks-_index_8_blocks', props); 1741 } 1742 var products = props.blockProducts && props.blockProducts.products; 1743 if (products) { 1744 sendProductImpressions(products, props.collection.title); 1745 } 1746 }); 1747</script>
1747 1748 1749<style> 1750 [id="_index_8_blocks"] { 1751 margin: 0 0px 50px !important; 1752 } 1753 @media (max-width: 991px) { 1754 [id="_index_8_blocks"] { 1755 margin: 0 0px 24px !important; 1756 } 1757 } 1758</style> 1759 1760<section id="_index_8_blocks" class="index_8_blocks qk-text--center"> 1761 <div id="index_8_blocks-_index_8_blocks"></div> 1762</section> 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774
1775<script src='//cdn-general.cybassets.com/frontend/shop/productBanner-e958d46bfee2e69f.js' type='text/javascript'></script>
1775 1776 1777 1778<style> 1779 [id="1649756284558"] { 1780 margin: 0 0px 50px !important; 1781 } 1782 @media (max-width: 991px) { 1783 [id="1649756284558"] { 1784 margin: 0 0px 24px !important; 1785 } 1786 } 1787</style> 1788 1789<section id="1649756284558" class="index-product-banner qk-display--bk qk-pos--rel"> 1790 <div id="index_product_banner-1649756284558"></div> 1791</section> 1792
1793<script> 1794 $(document).ready(function() { 1795 let isDynamicLoading = false; 1796 if (isDynamicLoading) { 1797 window.DynamicLoading.setupComponent({ 1798 sectionId:'#index_product_banner-1649756284558', 1799 callbackData:{ 1800 sectionId: "1649756284558", 1801 section: {"type":"_index_product_banner","custom_name":"æ©«å¹ å»£å","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjQ5NzU2MzE4XzA0MTItU0syLUJBTk5FUi1SSUFOLTE5MjBYODAwX-W3peS9nOWNgOWfnyAxLmpwZy5qcGVnIl1d.jpeg?sha=c598a695b1861452","dict_tablet_image_url":"","dict_mobile_image_url":"","dict_link":"","cta_btn_display_style":"topPosition","cta_btn_text":"äºè§£æ´å¤","cta_btn_bg_color":"#000000","cta_btn_text_color":"#ffffff","margin_x":"0","margin_bottom":"50","mobile_margin_x":"0","mobile_margin_bottom":"24","product_banner_image_alt":"é»å§æä¿é¤-å°æ«ç¾å¦æ£è²¨ç¶é·-SK-II-é è©©èé»-é ç´ä¿é¤å°è³£"},"blocks":{},"block_order":[],"schedule":{"enabled_default":true,"schedule_lists":[]}}, 1802 dictMobileImageUrl:"", 1803 dictTabletImageUrl:"", 1804 dictImageUrl:"//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjQ5NzU2MzE4XzA0MTItU0syLUJBTk5FUi1SSUFOLTE5MjBYODAwX-W3peS9nOWNgOWfnyAxLmpwZy5qcGVnIl1d.jpeg?sha=c598a695b1861452", 1805 }, 1806 entryName:'renderProductBanner', 1807 source:'//cdn-general.cybassets.com/frontend/shop/productBanner-e958d46bfee2e69f.js', 1808 }); 1809 }else{ 1810 window.renderProductBanner('#index_product_banner-1649756284558', 1811 { 1812 sectionId: "1649756284558", 1813 section: {"type":"_index_product_banner","custom_name":"æ©«å¹ å»£å","visible":true,"settings":{"dict_image_url":"//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjQ5NzU2MzE4XzA0MTItU0syLUJBTk5FUi1SSUFOLTE5MjBYODAwX-W3peS9nOWNgOWfnyAxLmpwZy5qcGVnIl1d.jpeg?sha=c598a695b1861452","dict_tablet_image_url":"","dict_mobile_image_url":"","dict_link":"","cta_btn_display_style":"topPosition","cta_btn_text":"äºè§£æ´å¤","cta_btn_bg_color":"#000000","cta_btn_text_color":"#ffffff","margin_x":"0","margin_bottom":"50","mobile_margin_x":"0","mobile_margin_bottom":"24","product_banner_image_alt":"é»å§æä¿é¤-å°æ«ç¾å¦æ£è²¨ç¶é·-SK-II-é è©©èé»-é ç´ä¿é¤å°è³£"},"blocks":{},"block_order":[],"schedule":{"enabled_default":true,"schedule_lists":[]}}, 1814 dictMobileImageUrl:"", 1815 dictTabletImageUrl:"", 1816 dictImageUrl:"//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjQ5NzU2MzE4XzA0MTItU0syLUJBTk5FUi1SSUFOLTE5MjBYODAwX-W3peS9nOWNgOWfnyAxLmpwZy5qcGVnIl1d.jpeg?sha=c598a695b1861452", 1817 }); 1818 } 1819 }); 1820</script>
1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/_index_4_blocks-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' />
1835<script src='//cdn-general.cybassets.com/frontend/shop/productDisplay-e958d46bfee2e69f.js' type='text/javascript'></script>
1835 1836 1837<style> 1838 [id="_index_4_blocks"] { 1839 margin: 0 0px 50px !important; 1840 } 1841 1842 @media (min-width: 992px) { 1843 [id="_index_4_blocks"] .block:not(.last-row) { 1844 margin-bottom: 10px !important; 1845 } 1846 [id="_index_4_blocks"] .block-default-width-margin:not(:first-of-type), 1847 [id="_index_4_blocks"] .block-not-first-margin { 1848 margin-left: 10px !important; 1849 } 1850 } 1851 1852 @media (max-width: 991px) { 1853 [id="_index_4_blocks"] { 1854 margin: 0 0px 50px !important; 1855 } 1856 [id="_index_4_blocks"] > .qk-display--flex.qk-flex--wrap { 1857 gap: 10px; 1858 justify-content: flex-start; 1859 } 1860 [id="_index_4_blocks"] .block { 1861 flex: 0 0 calc((100% - (1 - 1) * 10px) / 1); 1862 } 1863 } 1864 1865 .video-block-loading { 1866 background-color: #eeee; 1867 position: absolute; 1868 top: 0; 1869 bottom: 0; 1870 left: 0; 1871 width: 100%; 1872 height: 100%; 1873 } 1874</style> 1875
1876<script> 1877 1878 $(document).ready(function() { 1879 let isDynamicLoading = false; 1880 if (isDynamicLoading) { 1881 window.DynamicLoading.setupComponent({ 1882 sectionId:'_index_4_blocks', 1883 componentType:'liquid', 1884 }); 1885 } 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 }) 1898</script>
1898 1899
1900<script> 1901 function buildYoutubeEmbedUrl(url, options) { 1902 const YT_REGEX = /^.*(youtu\.be\/|v\/|u\/\w\/|embed\/|watch\?v=|&v=|shorts\/)([^#&?]*).*/; 1903 const match = (url || '').match(YT_REGEX); 1904 const videoId = match && match[2].length === 11 ? match[2] : ''; 1905 1906 if (!videoId) { 1907 return ''; 1908 } 1909 1910 const autoPlay = options && options.autoPlay; 1911 const hideControls = options && options.hideControls; 1912 const loop = options && options.loop; 1913 1914 const searchParams = new URLSearchParams(); 1915 1916 searchParams.set('autoplay', autoPlay ? '1' : '0'); 1917 // è¥èªåææ¾ï¼é è¨éé³ä»¥ç¬¦åç覽å¨éå¶ 1918 searchParams.set('mute', autoPlay ? '1' : '0'); 1919 searchParams.set('playsinline', '1'); 1920 1921 searchParams.set('controls', hideControls ? '0' : '1'); 1922 searchParams.set('rel', '0'); 1923 1924 if (loop) { 1925 searchParams.set('loop', '1'); 1926 searchParams.set('playlist', videoId); 1927 } 1928 1929 return 'https://www.youtube.com/embed/' + videoId + '?' + searchParams.toString(); 1930 } 1931 1932 function parseYtUrlOnLoad(target, url, autoPlay, hideControls, loop) { 1933 const finalUrl = buildYoutubeEmbedUrl(url, { 1934 autoPlay: autoPlay, 1935 hideControls: hideControls, 1936 loop: loop, 1937 }); 1938 1939 if (!finalUrl || target.src === finalUrl) { 1940 return; 1941 } 1942 1943 const handleVideoLoad = function () { 1944 try { 1945 const wrapper = $(target).closest('.embed-responsive')[0]; 1946 if (wrapper) { 1947 // éé loading skeleton 1948 const loading = wrapper.querySelector('.video-block-loading'); 1949 if (loading) { 1950 loading.style.display = 'none'; 1951 } 1952 } 1953 } catch (e) { 1954 console.error('iframe onload èç失æ', e); 1955 } finally { 1956 target.removeEventListener('load', handleVideoLoad); 1957 } 1958 }; 1959 1960 target.addEventListener('load', handleVideoLoad); 1961 1962 target.src = finalUrl; 1963 if (hideControls && autoPlay) { 1964 target.style.pointerEvents = 'none'; 1965 } 1966 1967 // 夿·æ¯ä¸æ¯ YouTube shortsï¼æ±ºå®è¦ä¸è¦å ä¸ .short-youtube class 1968 try { 1969 const isShort = (url || '').indexOf('/shorts/') !== -1; 1970 if (isShort) { 1971 const wrapper = $(target).closest('.embed-responsive')[0]; 1972 if (wrapper) { 1973 wrapper.classList.add('short-youtube'); 1974 } 1975 } 1976 } catch (e) { 1977 console.error('isShort 夿·å¤±æ', e); 1978 } 1979 } 1980 1981 1982 window.addEventListener('load', function () { 1983 const sectionEl = document.getElementById('_index_4_blocks'); 1984 if (!sectionEl) return; 1985 1986 const options = { 1987 threshold: 0.25, 1988 }; 1989 1990 1991 1992 { 1993 const target = sectionEl.querySelector('#video-block-1647313315677'); 1994 1995 if (!target) { 1996 return; 1997 } 1998 1999 const callback = (entries, observer) => { 2000 entries.forEach(entry => { 2001 if (entry.isIntersecting) { 2002 const iframe = target.querySelector('iframe'); 2003 parseYtUrlOnLoad( 2004 iframe, 2005 'https://www.youtube.com/watch?v=cFt_su5phYg', 2006 true, 2007 false, 2008 true 2009 ); 2010 2011 observer.unobserve(entry.target); 2012 } 2013 }); 2014 }; 2015 2016 const observer = new IntersectionObserver(callback, options); 2017 observer.observe(target); 2018 } 2019 2020 2021 2022 { 2023 const target = sectionEl.querySelector('#video-block-1647498897014'); 2024 2025 if (!target) { 2026 return; 2027 } 2028 2029 const callback = (entries, observer) => { 2030 entries.forEach(entry => { 2031 if (entry.isIntersecting) { 2032 const iframe = target.querySelector('iframe'); 2033 parseYtUrlOnLoad( 2034 iframe, 2035 'https://youtu.be/XRS9GYRQq-A', 2036 true, 2037 false, 2038 true 2039 ); 2040 2041 observer.unobserve(entry.target); 2042 } 2043 }); 2044 }; 2045 2046 const observer = new IntersectionObserver(callback, options); 2047 observer.observe(target); 2048 } 2049 2050 2051 2052 2053 2054 2055 2056 { 2057 const target = sectionEl.querySelector('#video-block-1744855485037_1'); 2058 2059 if (!target) { 2060 return; 2061 } 2062 2063 const callback = (entries, observer) => {
2064 entries.forEach(entry => { 2065 if (entry.isIntersecting) { 2066 const iframe = target.querySelector('iframe'); 2067 parseYtUrlOnLoad( 2068 iframe, 2069 '', 2070 false, 2071 false, 2072 true 2073 ); 2074 2075 observer.unobserve(entry.target); 2076 } 2077 }); 2078 }; 2079 2080 const observer = new IntersectionObserver(callback, options); 2081 observer.observe(target); 2082 } 2083 2084 2085 }); 2086</script>
2086 2087 2088<section id="_index_4_blocks" class="index-4-blocks"> 2089 <div class="qk-display--flex qk-flex--wrap"> 2090 2091 2092 2093 2094 <div class="block video mobile-1-col" style="width: calc(100% - 0.0px);"> 2095 2096 2097 <div class="embed-responsive only-video" id="video-block-1647313315677"> 2098 <iframe 2099 frameborder="0" 2100 allowfullscreen 2101 allow="autoplay; encrypted-media" 2102 ></iframe> 2103 2104 <div class="video-block-loading" > 2105 </div> 2106 2107 </div> 2108 2109 </div> 2110 2111 2112 2113 <div class="block video mobile-1-col" style="width: calc(100% - 0.0px);"> 2114 2115 2116 <div class="embed-responsive only-video" id="video-block-1647498897014"> 2117 <iframe 2118 frameborder="0" 2119 allowfullscreen 2120 allow="autoplay; encrypted-media" 2121 ></iframe> 2122 2123 <div class="video-block-loading" > 2124 </div> 2125 2126 </div> 2127 2128 </div> 2129 2130 2131 2132 <div class="block image mobile-1-col last-row" style="width: calc(20.0% - 0.0px);"> 2133 2134 <div class="img-card" id="display_index_4_block_1"> 2135 2136 2137 2138 <a href="https://reurl.cc/mGj0e7" class="banner qk-hidden--mobile" target="" rel=""> 2139 <img src="//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjQ3NTAzNTYxXzIwMjIwMzE3X1NLMl_lrpjntrLpgKPntZDlnJZGQl8xMjUweDM1MC5qcGcuanBlZyJdXQ.jpeg?sha=bdc59d9f31f0df0f" class="qk-w--100" alt=""> 2140 </a> 2141 2142 2143 2144 2145 <a 2146 href="https://reurl.cc/mGj0e7" 2147 class="banner qk-display--bk qk-hidden--phone qk-hidden--pc" 2148 target="" 2149 rel="" 2150 > 2151 <img 2152 src="//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjQ3NTAzNTYxXzIwMjIwMzE3X1NLMl_lrpjntrLpgKPntZDlnJZGQl8xMjUweDM1MC5qcGcuanBlZyJdXQ.jpeg?sha=bdc59d9f31f0df0f" 2153 class="qk-w--100" 2154 alt="" 2155 > 2156 </a> 2157 2158 2159 2160 2161 <a 2162 href="https://reurl.cc/mGj0e7" 2163 class="banner qk-display--bk qk-hidden--pc qk-hidden--tablet" 2164 target="" 2165 rel="" 2166 > 2167 <img 2168 src="//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjQ3NTAzNTYxXzIwMjIwMzE3X1NLMl_lrpjntrLpgKPntZDlnJZGQl8xMjUweDM1MC5qcGcuanBlZyJdXQ.jpeg?sha=bdc59d9f31f0df0f" 2169 class="qk-w--100" 2170 alt="" 2171 > 2172 </a> 2173 2174 2175 2176 <div class="advance-rich-text-content-container"> 2177 2178 </div> 2179 </div> 2180 2181 </div> 2182 2183 2184 2185 <div class="block image mobile-1-col block-not-first-margin last-row" style="width: calc(20.0% - 0.0px);"> 2186 2187 <div class="img-card" id="1647322885680"> 2188 2189 2190 2191 <a href="https://lin.ee/W87riD8" class="banner qk-hidden--mobile" target="" rel=""> 2192 <img src="//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjQ3NTAzNTY0XzIwMjIwMzE3X1NLMl_lrpjntrLpgKPntZDlnJZMSU5FXzEyNTB4MzUwLnBuZy5wbmciXV0.png?sha=7bba79b2b561db23" class="qk-w--100" alt=""> 2193 </a> 2194 2195 2196 2197 2198 <a 2199 href="https://lin.ee/W87riD8" 2200 class="banner qk-display--bk qk-hidden--phone qk-hidden--pc" 2201 target="" 2202 rel="" 2203 > 2204 <img 2205 src="//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjQ3NTAzNTY0XzIwMjIwMzE3X1NLMl_lrpjntrLpgKPntZDlnJZMSU5FXzEyNTB4MzUwLnBuZy5wbmciXV0.png?sha=7bba79b2b561db23" 2206 class="qk-w--100" 2207 alt="" 2208 > 2209 </a> 2210 2211 2212 2213 2214 <a 2215 href="https://lin.ee/W87riD8" 2216 class="banner qk-display--bk qk-hidden--pc qk-hidden--tablet" 2217 target="" 2218 rel="" 2219 > 2220 <img 2221 src="//cdn-general.cybassets.com/media/W1siZiIsIjIxMTI2L2F0dGFjaGVkX3Bob3Rvcy8xNjQ3NTAzNTY0XzIwMjIwMzE3X1NLMl_lrpjntrLpgKPntZDlnJZMSU5FXzEyNTB4MzUwLnBuZy5wbmciXV0.png?sha=7bba79b2b561db23" 2222 class="qk-w--100" 2223 alt="" 2224 > 2225 </a> 2226 2227 2228 2229 <div class="advance-rich-text-content-container"> 2230 2231 </div> 2232 </div> 2233 2234 </div> 2235 2236 2237 2238 <div class="block video mobile-1-col block-not-first-margin last-row" style="width: calc(20.0% - 0.0px);"> 2239 2240 2241 <div class="embed-responsive" id="video-block-1744855485037_1"> 2242 <iframe 2243 frameborder="0" 2244 allowfullscreen 2245 allow="autoplay; encrypted-media" 2246 ></iframe> 2247 2248 </div> 2249 2250 </div> 2251 2252 </div> 2253</section> 2254 2255 2256 2257 2258 <!-- å å ¥è³¼ç©è» --> 2259 2260 <!-- cyb_snippet new_addcart_modal start --> 2261<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/vue_product_modal-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' /> 2262 2263<div id="new-addcart-modal" class="container"> 2264 <transition name="modal"> 2265 <product-modal 2266 v-if="showProductModal" 2267 :only-description="onlyDescription" 2268 :product-url="popProductUrl" 2269 :color="color" 2270 :is-collection="isCollection" 2271 :is-show-description="isShowDescription" 2272 :is-quick-buy="isQuickBuy" 2273 :selected-variant-id="selectedVariantId" 2274 :categories="categories" 2275 :call-back="checkoutAddToCartCallback" 2276 ref="productModal" 2277 > 2278 </product-modal> 2279 </transition> 2280</div> 2281 2282<!-- cyb_snippet components/product_modal/product_modal start -->
2283<script type="text/x-template" id="product-modal"> 2284 <div class="modal-mask qk-h--100 qk-w--100 qk-l--0 qk-t--0 qk-pos--fixed" @click="closeModal"> 2285 <div class="modal-content qk-bd--none qk-center qk-bg--theme_bg" :class="{'only-description': onlyDescription}" @click.stop> 2286 <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> 2287 <div class="modal-body custom-scrollbar qk-w--100"> 2288 <div v-if="!isLoading"> 2289 <div id="checkout-product" class="row"> 2290 <div class="col-sm-6 col-xs-4"> 2291 <photo-swiper 2292 :mediaItems="swiperItems" 2293 :current-image-index="currentImageIndex" 2294 :current-variant="currentVariant" 2295 :video-after-image="videoAfterImage" 2296 ></photo-swiper> 2297 </div> 2298 <div class="col-sm-6 col-xs-8"> 2299 <h4 class="qk-fs--hd2 qk-fw--bold qk-text--heading qk-mg--0" v-html="product.title"></h4> 2300 <p class="product_brief qk-text--text qk-fs--body" v-html="product.brief"></p> 2301 <p class="product_slogan qk-text--heading qk-fs--body" v-html="product.slogan"></p> 2302 <div class="swiper_thumbnails" style="margin-bottom: 10px;"> 2303 <swiper-thumbnails 2304 :mediaItems="swiperItems" 2305 :current-image-index="currentImageIndex" 2306 :title="product.title" 2307 @update-current-image-index="(thumbnailIndex) => { currentImageIndex = thumbnailIndex }" 2308 ></swiper-thumbnails> 2309 </div> 2310 2311 <div v-if="!hidePrice" style="margin-bottom: 10px;"> 2312 2313 <span class="price-title qk-fs--body qk-fw--500 qk-text--heading">${ priceTitleTag }</span> 2314 2315 <div> 2316 <span v-html="variantPrice" class="variant-price qk-fs--hd1 qk-fw--bold" :class="[isDiscountPrice ? 'qk-text--discount_price' : 'qk-text--price']"></span> 2317 <del v-html="marketPrice" class="variant-del-price qk-fs--body qk-fw--500 qk-text--text"></del> 2318 </div> 2319 </div> 2320 <div v-if="!onlyDescription" class="controls"> 2321 <div class="variant-quantity qk-display--flex qk-flex--column"> 2322 <div v-if="hasVariant" class="product-variant-options"> 2323 <div v-for="(option, index) in optionInfo" class="product-variant-option" :class="{'product-variant-option--hidden': shouldHideSingleVariantOptions}"> 2324 <div class="advance variant-select-option" v-if="styledShopMenu==='dropDownType'"> 2325 2326 <label>${option.name}</label> 2327 <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> 2328 <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}`)"> 2329 <option value="null" class="select_option-hidden">è«é¸æ${option.name}</option> 2330 <option :style="{ visibility : isMobileSize ? 'hidden' : 'visible' }" v-for="(types) in option.types" :disabled="!types.isValid" :value="types.name">${types.name}</option> 2331 </select> 2332 <span class="select_placeholder-color" v-if="currentOption[`option${index + 1}`] === null" v-show="isMobileSize" @click="onClickSelectModal(option,`option${index + 1}`)">è«é¸æ${option.name}</span>
2333 <span v-else :value="currentOption[`option${index + 1}`]" v-show="isMobileSize" @click="onClickSelectModal(option,`option${index + 1}`)" v-html="currentOption[`option${index + 1}`]"></span> 2334 </div> 2335 <advance-option v-else :option-key="'option' + (index + 1)" :option="option" :current-option="currentOption" :toggle-current-option="toggleCurrentOption"/> 2336 </div> 2337 </div> 2338 <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)"> 2339 <div class="list_block custom-scrollbar qk-of_x--hidden"> 2340 <h4 class="qk-text--heading qk-fs--body">æ¤åååèçåªæ æ´»å 2341 </h4> 2342 <template v-if="displayPeriodicSalesPages"> 2343 <div v-for="salesPage in product.showableSalesPages" class="discount-list"> 2344 <span class="discount-label qk-fs--breadcrumb qk-bd--default qk-bd--accent qk-bg--white qk-display--il_bk qk-text--accent">宿å®é¡ 2345 </span> 2346 <a class="discount-title qk-text--accent qk-fs--body" :href="salesPage.path">${ salesPage.title }</a> 2347 </div> 2348 </template> 2349 <template v-for="discounts in discountsList"> 2350 <div v-for="discount in discounts" class="discount-list"> 2351 <a v-if="discount.url" :href="discount.url" class="discount-title qk-text--accent qk-fs--body"> 2352 ${ discount.title } 2353 </a> 2354 <span v-else class="discount-title qk-text--accent qk-fs--body">${ discount.title }</span> 2355 </div> 2356 </template> 2357 </div> 2358 </div> 2359 <div v-if="showPurchaseControls" class="product-quantity qk-bd--product_border" v-show="!isMobileSize"> 2360 <div class="btn-group qk-w--100" role="group" aria-label="First group"> 2361 <button class="btn add-down qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityDecrease">ï¼</button> 2362 <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"> 2363 <button class="btn add-up qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityIncrease">ï¼</button> 2364 </div> 2365 </div> 2366 </div> 2367 <div v-if="showPurchaseControls" class="add-button-wrapper"> 2368 <!-- cyb_snippet _product_modal_button start --> 2369<button 2370 class="btn btn-default add-button qk-cursor--pointer qk-w--100 qk-btn--primary" 2371 :class="{selected: isChoose, adding: adding || isHideAddCartBtn, secondary: isSecondaryBtn, 'qk-btn--disabled': isHideAddCartBtn && isNewNnCollection, 'qk-bd--none': isHideAddCartBtn && isNewNnCollection}" 2372 type="button" 2373 :disabled="isHideAddCartBtn" 2374 @click="addProduct" 2375> 2376 ${ addCartText } 2377</button> 2378 2379<!-- cyb_snippet _product_modal_button end --> 2380 </div> 2381 <div class="product-others qk-fs--body"> 2382 <span class="product-love"> 2383 <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"> 2384 <svg 2385 width="15" 2386 height="15"
2387 viewBox="0 0 24 24" 2388 fill="none" 2389 xmlns="http://www.w3.org/2000/svg"> 2390 <path 2391 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" 2392 stroke="currentColor" 2393 stroke-width="2" 2394 stroke-linecap="round" 2395 stroke-linejoin="round" /> 2396 </svg> 2397 å å ¥ææ 2398 </a> 2399 </span> 2400 <span class="product_sold qk-text--text" v-if="false"> 2401 <span>å·²é·å®ï¼ 2402 ${ product.totalSold } 2403 ä»¶ 2404 </span> 2405 </span> 2406 <span class="product_bonus qk-text--text" v-if="false"> 2407 æ¤åå ã æé« ãå¯ä»¥ææµç´ å© 2408 <span class="val qk-fw--600 qk-fs--hd2" v-if="currentVariant">${currentVariant.maxUsableBonus}</span> 2409 <span class="val qk-fw--600 qk-fs--hd2" v-else>${maxUsableBonus}</span> 2410 é» 2411 <span v-html="bonusToPrice"/> 2412 </span> 2413 </div> 2414 <div class='product_limit_buy qk-fs--body' v-show="product.minBuy > 0 || product.limitBuy > 0"> 2415 ${limitBuyText} 2416 </div> 2417 </div> 2418 </div> 2419 </div> 2420 <div v-if="isShowDescription" class="row"> 2421 <div class="col-sm-12"> 2422 2423 <div v-if="product.bodyHtml"> 2424 <h5 class="section-heading qk-bd--heading qk-fs--hd2 qk-text--heading"> 2425 ååä»ç´¹ 2426 </h5> 2427 <div class="ckeditor"> 2428 <div v-html="product.bodyHtml"></div> 2429 </div> 2430 </div> 2431 2432 2433 <div v-if="otherDescriptions['product_description_section_spec']"> 2434 <h5 class="section-heading qk-bd--heading qk-fs--hd2 qk-text--heading"> 2435 è¦æ ¼èªªæ 2436 </h5> 2437 <div class="ckeditor"> 2438 <div v-html="otherDescriptions['product_description_section_spec']"></div> 2439 </div> 2440 </div> 2441 2442 2443 <div v-if="otherDescriptions['product_description_section_shipping']"> 2444 <h5 class="section-heading qk-bd--heading qk-fs--hd2 qk-text--heading"> 2445 ééæ¹å¼ 2446 </h5> 2447 <div class="ckeditor"> 2448 <div v-html="otherDescriptions['product_description_section_shipping']"></div> 2449 </div> 2450 </div> 2451 2452 </div> 2453 </div> 2454 </div> 2455 <div v-show="isLoading" style="text-align: center; padding-bottom: 20px;"> 2456 <i class="fas fa-spinner fa-spin fa-fw fa-2x"></i> 2457 </div> 2458 </div> 2459 <!-- cyb_snippet _product_modal_button_mobile start --> 2460 <div 2461 v-if="showPurchaseControls" 2462 v-show="isMobileSize" 2463 class="mobile_footer" 2464 :class="{'mobile_footer-z': variantSize > 1 }"> 2465 <div class="product-quantity"> 2466 <div class="btn-group qk-w--100" role="group" aria-label="First group"> 2467 <button class="btn add-down qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityDecrease">ï¼</button> 2468 <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"> 2469 <button class="btn add-up qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityIncrease">ï¼</button> 2470 </div> 2471 </div> 2472 <button 2473 v-if="!isLoading && !onlyDescription" 2474 class="btn btn-mobile add-button qk-btn qk-btn--primary qk-btn--lg" 2475 :class="{selected: isChoose, adding: adding || isHideAddCartBtn, 'qk-btn--disabled': isHideAddCartBtn && isNewNnCollection, 'qk-bd--none': isHideAddCartBtn && isNewNnCollection}" 2476 type="button" 2477 :disabled="isHideAddCartBtn" 2478 @click="addProduct"> 2479 ${ addCartText } 2480 </button> 2481</div> 2482<div 2483 class="mobile-modal" 2484 :class="{ 'modal-open': isModalSelectShow && isMobileSize }"> 2485 <div class="mobile_modal-content"> 2486 <div class="modal_close-button"> 2487 <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> 2488 </div> 2489 2490 <p>è«é¸æ${modalOption.name}</p> 2491 <div class="modal_select-templete qk-display--flex qk-of_y--auto qk-w--100"> 2492 <div class="options-container"> 2493 <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> 2494 </div> 2495 </div> 2496 <div v-if="variantSize > 1" class="modal_select_footer qk-display--flex"> 2497 <button type="button" class="modal_cancel qk-bd--default qk-btn--secondary qk-bd--button qk-text--button" @click="onChangeModalSelect(false,false)">åæ¶</button> 2498 <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> 2499 </div> 2500 </div> 2501</div> 2502 2503<!-- cyb_snippet _product_modal_button_mobile end --> 2504 </div> 2505 </div> 2506</script>
2506 2507 2508<!-- cyb_snippet components/product_modal/color_image_option start -->
2509<script id="color-image-option" type="text/x-template"> 2510 <div class="color-image qk-display--flex qk-flex--wrap qk-align--center"> 2511 <div class="title">é¡è²</div> 2512 <div 2513 v-for="(imageColor, index) in imageColors" 2514 :class="{ 2515 'focus': !currentOption[optionKey] === option.types[index].name && currentImageIndex === index, 2516 'selected': currentOption[optionKey] === option.types[index].name, 2517 'disabled': !option.types[index].isValid 2518 }" 2519 class="image-option img-flex qk-bd--default qk-bd--transparent qk-display--block qk-pos--rel" 2520 @mouseleave="setCurrentImageIndex(index)" 2521 @mouseover="getOptionImageIndex(index)" 2522 @click="setOption(optionKey, index)" 2523 > 2524 <img v-if="imageColor !== 'noColorImage'" :src="imageColor.large" alt="image"> 2525 <img v-else src="/assets/no-image-large.png" alt="image"> 2526 </div> 2527 </div> 2528</script>
2528 2529
2530<script type="text/javascript"> 2531 $(document).ready(function() { 2532 window.themeHelper.productModalComponents['color-image-option'] = { 2533 template: '#color-image-option', 2534 delimiters: ['${', '}'], 2535 props: { 2536 optionKey: String, 2537 option: Object, 2538 product: Object, 2539 imageColors: Array, 2540 isChoose: Boolean, 2541 currentImageIndex: Number, 2542 setCurrentImageIndex: Function, 2543 getOptionImageIndex: Function, 2544 currentOption: Object, 2545 toggleCurrentOption: Function, 2546 }, 2547 methods: { 2548 setOption: function(optionKey, index) { 2549 const type = this.option.types[index]; 2550 if(type.isValid){ 2551 this.toggleCurrentOption(optionKey, type.name); 2552 } 2553 } 2554 } 2555 }; 2556 }); 2557</script>
2557 2558 2559<!-- cyb_snippet components/product_modal/color_image_option end --> 2560<!-- cyb_snippet components/product_modal/advance_option start -->
2561<script id="advance-option" type="text/x-template"> 2562 <div class="advance"> 2563 <div class="title qk-text--heading qk-fs--body">${option.name}</div> 2564 <div 2565 v-for="type in option.types" 2566 :class="{ 2567 'selected': currentOption[optionKey] === type.name, 2568 'disabled': !type.isValid 2569 }" 2570 @click="setOption(optionKey, type)" 2571 class="option qk-btn qk-bd--button qk-text--button qk-pd_x--1" 2572 > 2573 ${type.name} 2574 </div> 2575 </div> 2576</script>
2576 2577
2578<script type="text/javascript"> 2579 $(document).ready(function() { 2580 window.themeHelper.productModalComponents['advance-option'] = { 2581 template: '#advance-option', 2582 delimiters: ['${', '}'], 2583 props: { 2584 optionKey: String, 2585 option: Object, 2586 product: Object, 2587 currentOption: Object, 2588 toggleCurrentOption: Function, 2589 }, 2590 methods: { 2591 setOption: function(optionKey, type) { 2592 if(type.isValid){ 2593 this.toggleCurrentOption(optionKey, type.name); 2594 } 2595 } 2596 } 2597 }; 2598 }); 2599</script>
2599 2600 2601<!-- cyb_snippet components/product_modal/advance_option end --> 2602 2603<!-- cyb_snippet components/product_modal/photo_swiper start --> 2604 2605
2606<script id="photo-swiper" type="text/x-template"> 2607 <div ref="photoSwiper" id="photo_swiper" class="photos swiper swiper-container"> 2608 <div class="swiper-wrapper"> 2609 <template v-if="hasImage"> 2610 <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"> 2611 <video-player v-if="item.url" :video="item" 2612 :video-poster=" !!mediaItems[firstImageIndex] ? mediaItems[firstImageIndex].large : '//cdn-general.cybassets.com/img_loading.svg' " 2613 > 2614 </video-player> 2615 <img v-else class="qk-center" :src="item.large" alt="image"/> 2616 </div> 2617 </template> 2618 <div v-else class="photo swiper-slide qk-align--center qk-display--flex qk-justify--center qk-vert--text_top default_scale"> 2619 <img src="//cdn-general.cybassets.com/assets/no-image-large-2b95ea56c455be9ce081d81c14eded925df68bf8fa38809e46f6af8fcdd5f9bc.png" alt="image" /> 2620 </div> 2621 </div> 2622 <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> 2623 <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> 2624 2625 <div class="photo-pagination qk-bd--default qk-bd--body qk-text--center qk-text--body qk-fs--breadcrumb qk-visible-sm"> 2626 <span class="current-index qk-text--default_dark">${currentImageIndex +1 }</span><span class="pagination-slash">/</span> 2627 <span>${mediaItems.length}</span> 2628 </div> 2629 </div> 2630</script>
2630 2631
2632<script> 2633 $(document).ready(function () { 2634 window.themeHelper.productModalComponents['photo-swiper'] = { 2635 template: '#photo-swiper', 2636 delimiters: ['${', '}'], 2637 props: { 2638 mediaItems: Array, 2639 currentImageIndex: Number, 2640 currentVariant: Object, 2641 videoAfterImage: Boolean, 2642 }, 2643 data: function () { 2644 return { 2645 swiper: {}, 2646 swiperOption: { 2647 preventInteractionOnTransition: true, 2648 rewind: true, 2649 spaceBetween: 5, 2650 slidesPerView: 1, 2651 navigation: { 2652 nextEl: '.photo-next', 2653 prevEl: '.photo-prev' 2654 } 2655 }, 2656 showBtn: true, 2657 isVariantReposition: false, 2658 } 2659 }, 2660 mounted: function() { 2661 this.swiper = new Swiper('#photo_swiper', this.swiperOption); 2662 this.swiper.on('slideChange', this.slideOnChange); 2663 }, 2664 watch: { 2665 currentImageIndex: function() { 2666 this.slideToIndex(); 2667 }, 2668 currentVariant: { 2669 immediate: true, 2670 handler: function() { 2671 this.showBtn = this.mediaItems.length > 1; 2672 this.isVariantReposition = true; 2673 this.$nextTick(() => { 2674 if (this.swiper) { 2675 this.swiper.update(); 2676 this.swiper.slideToLoop(this.initialItemIndex) 2677 this.slideOnChange(); 2678 this.isVariantReposition = false; 2679 } 2680 }); 2681 }, 2682 }, 2683 }, 2684 computed: { 2685 hasImage: function() { 2686 return this.mediaItems.length > 0; 2687 }, 2688 hasVideo: function() { 2689 return this.mediaItems.findIndex(item => !!item.url) !== -1; 2690 }, 2691 variantPhotos: function() { 2692 if (this.currentVariant?.photos?.length) { 2693 return this.currentVariant.photos; 2694 } else { 2695 return null; 2696 } 2697 }, 2698 initialItemIndex: function() { 2699 if (this.hasVideo && !this.videoAfterImage) { 2700 // Focus on photo if "variant with photos" selected, video otherwise 2701 return this.variantPhotos?.length ? 1 : 0; 2702 } else { 2703 // Focus on first photo 2704 return 0; 2705 } 2706 }, 2707 }, 2708 methods: { 2709 slideOnChange: function() { 2710 themeHelper.EventBus.$emit('photoOnChange', this.swiper.realIndex, this.isVariantReposition); 2711 }, 2712 slideToIndex: function() { 2713 if(this.swiper.realIndex != this.currentImageIndex) { 2714 this.swiper.slideToLoop(this.currentImageIndex); 2715 this.swiper.update(); 2716 } 2717 }, 2718 } 2719 }; 2720 }); 2721</script>
2721 2722 2723 2724<!-- cyb_snippet components/product_modal/video_player start -->
2725<script id="video-player" type="text/x-template"> 2726 <div class="videoPlayer__wrapper" @click="handleVideoClick"> 2727 <video 2728 id='modal-video' 2729 class="videoPlayer__video qk-cursor--pointer qk-center" 2730 :poster="videoPoster" 2731 loop defaultMuted muted playsinline webkit-playsinline autoplay 2732 > 2733 <source :src="videoUrl" type="video/mp4"> 2734 <p>ä½ çç覽å¨ä¸æ¯æ´ HTML 5 video</p> 2735 </video> 2736 <button id="modal-video-button" class="videoPlayer__pauseButton"></button> 2737 </div> 2738</script>
2738 2739
2740<script> 2741 $(document).ready(function () { 2742 window.themeHelper.productModalComponents['video-player'] = { 2743 template: '#video-player', 2744 delimiters: ['${', '}'], 2745 props: { 2746 video: Object, 2747 videoPoster: String, 2748 }, 2749 data: function() { 2750 return { 2751 videoElement: null, 2752 buttonElement: null, 2753 }; 2754 }, 2755 mounted: function() { 2756 this.videoElement = $('#modal-video')[0]; 2757 this.buttonElement = $('#modal-video-button'); 2758 this.setVideoVolumeZero(); 2759 this.videoElement.addEventListener('canplay', (event) => { 2760 this.sendGtag('play'); 2761 }, { once: true }); 2762 }, 2763 computed: { 2764 videoUrl: function() { 2765 return this.video.url; 2766 } 2767 }, 2768 methods: { 2769 sendGtag: function(action) { 2770 window.productVideoView && productVideoView(action); 2771 }, 2772 setVideoVolumeZero: function() { 2773 this.videoElement.volume = 0; 2774 }, 2775 handleVideoClick: function() { 2776 if (this.videoElement.paused){ 2777 this.videoElement.play(); 2778 this.sendGtag('play'); 2779 } else { 2780 this.videoElement.pause(); 2781 this.sendGtag('paused'); 2782 } 2783 this.handleVideoButtonDisplay(this.buttonElement, this.videoElement); 2784 }, 2785 handleVideoButtonDisplay: function(button, video) { 2786 button.toggleClass('videoPlayer__playButton', video.paused); 2787 button.toggleClass('videoPlayer__pauseButton', !video.paused); 2788 }, 2789 } 2790 }; 2791 }); 2792</script>
2792 2793 2794<!-- cyb_snippet components/product_modal/video_player end --> 2795 2796<!-- cyb_snippet components/product_modal/photo_swiper end --> 2797<!-- cyb_snippet components/product_modal/swiper_thumbnails start -->
2798<script id="swiper-thumbnails" type="text/x-template"> 2799 <div 2800 v-for="(thumbnail, index) in allThumbnails" 2801 :key="index" 2802 class="product-thumbnail img-flex qk-of--hidden qk-display--il_bk qk-cursor--pointer qk-bd--default qk-bd--transparent default_scale" 2803 :class="{ focus: index === currentImageIndex }" 2804 @mouseover="updateCurrentImageIndex(index)" 2805 > 2806 <template v-if="thumbnail.isVideo"> 2807 <video class="qk-w--100 qk-h--100" :src="thumbnail.url" defaultMuted playsinline></video> 2808 <button class="videoPlayer__playButton"></button> 2809 </template> 2810 <img v-else :src="thumbnail.url" :alt="title" class="qk-w--100 qk-h--100"> 2811 </div> 2812</script>
2812 2813
2814<script type="text/javascript"> 2815 $(document).ready(function () { 2816 window.themeHelper.productModalComponents['swiper-thumbnails'] = { 2817 template: '#swiper-thumbnails', 2818 delimiters: ['${', '}'], 2819 props: { 2820 title: String, 2821 mediaItems: Array, 2822 currentImageIndex: Number, 2823 }, 2824 emits: ['updateCurrentImageIndex'], 2825 methods: { 2826 updateCurrentImageIndex: function(thumbnailIndex) { 2827 if (thumbnailIndex !== this.currentImageIndex ) { 2828 this.$emit('updateCurrentImageIndex', thumbnailIndex); 2829 } 2830 }, 2831 }, 2832 mounted() { 2833 // can be removed after replacing video thumbnail with img 2834 const thumbnailVideo = $('.product-thumbnail video')[0]; 2835 if (!!thumbnailVideo) { 2836 thumbnailVideo.volume = 0; 2837 const promise = thumbnailVideo.play(); 2838 promise.then(() => { 2839 thumbnailVideo.pause(); 2840 }) 2841 } 2842 }, 2843 computed: { 2844 allThumbnails: function() { 2845 return this.mediaItems.map(item => ({ 2846 isVideo: !!item.url, 2847 url: item.url || item.medium 2848 })); 2849 }, 2850 }, 2851 watch: { 2852 allThumbnails: { 2853 handler(){ 2854 this.updateCurrentImageIndex(this.currentImageIndex); 2855 } 2856 } 2857 } 2858 }; 2859 }); 2860</script>
2860 2861 2862<!-- cyb_snippet components/product_modal/swiper_thumbnails end --> 2863 2864 2865<!-- cyb_snippet _product_modal_js start -->
2866<script type="text/javascript"> 2867 $(document).ready(function() { 2868 var categoryLevels = []; 2869 var productCategoryLevels = null; 2870 var pageMainProductId = null; 2871 window.themeHelper.productModalComponents['product-modal'] = { 2872 template: '#product-modal', 2873 delimiters: [ 2874 '${', '}' 2875 ], 2876 props: { 2877 onlyDescription: Boolean, 2878 cartItems: Array, 2879 groupId: Number, 2880 productUrl: String, 2881 color: String, // unused 2882 collectionId: Number, 2883 categories: Array, 2884 // 夿·æ¯å¦æè²ç¥¨å±é 2885 isCollection: { 2886 type: Boolean, 2887 required: false, 2888 default: false, 2889 }, 2890 // 夿·å å ¥è³¼ç©è»çæ¹æ³ 2891 isNnCollection: Boolean, 2892 isNewNnCollection: Boolean, 2893 isBundleDiscount: Boolean, 2894 2895 // 夿·æ¯å¦é¡¯ç¤ºååæè¿° 2896 isShowDescription: { 2897 type: Boolean, 2898 default: true 2899 }, 2900 2901 // 夿·æ¯å¦çºç«å³è³¼è²· 2902 isQuickBuy: { 2903 type: Boolean, 2904 default: false 2905 }, 2906 selectedVariantId: Number, 2907 callBack: Function 2908 }, 2909 data: function() { 2910 return { 2911 styledShopMenu: "buttonType", 2912 selectOption: '', 2913 selectCurrentStr:'', 2914 isModalSelectShow: false, 2915 modalOption: {}, 2916 adding: false, 2917 currentImageIndex: 0, 2918 _navState: { variantId: null, photoIndex: 0 }, 2919 currentOption: { 2920 option1: null, 2921 option2: null, 2922 option3: null 2923 }, 2924 currentVariant: null, 2925 variantNotifications: null, 2926 currentVariantIndex: null, 2927 product: {}, 2928 isChoose: false, 2929 isLoading: true, 2930 isEmptyClickable: liquidHelper.isEmptyClickable, 2931 quantity: 1, 2932 maxUsableBonus: 0, 2933 isDiscountPrice: false, 2934 displayProductDiscountsList: true, 2935 displayPeriodicSalesPages:false, 2936 discountsList: null, 2937 hasVideoPlugin: true, 2938 videoDisplayLocation: "before", 2939 hasStockNotificationPlugin: false, 2940 isDisplayPriceRange: null, 2941 hasVariantPriceRangePlugin: true, 2942 hasHideSingleVariantOptionsPlugin: false, 2943 } 2944 }, 2945 mounted: function() { 2946 this.getProductDetail(); 2947 $('.custom-scrollbar').addCustomScrollbar(); 2948 themeHelper.EventBus.$on('photoOnChange', this.photoOnChange); 2949 }, 2950 beforeUnmount: function() { 2951 themeHelper.EventBus.$off('photoOnChange', this.photoOnChange); 2952 }, 2953 computed: { 2954 photoUrls: function() { 2955 return this.product.photoUrls.length > 0 2956 ? this.product.photoUrls 2957 : [this.featuredImage]; 2958 }, 2959 photoUrlsMap: function() { 2960 var map = {}; 2961 var urls = this.product.photoUrls; 2962 this.product.photos.forEach(function(photo, index) { 2963 map[photo.photo.id] = urls[index]; 2964 }); 2965 2966 return map; 2967 }, 2968 featuredImage: function() { 2969 return this.product.featuredImage; 2970 }, 2971 swiperPhotos: function() { 2972 if (!this.photoUrls.length) { 2973 return [this.featuredImage]; 2974 } 2975 2976 if (this.currentVariant && this.currentVariant.photos.length) { 2977 var map = this.photoUrlsMap; 2978 return this.currentVariant.photos.map(function(p) { 2979 return map[p.id]; 2980 }); 2981 } 2982 2983 return this.photoUrls; 2984 }, 2985 productVideo: function() { 2986 return this.product.video; 2987 }, 2988 videoAfterImage: function() { 2989 return this.videoDisplayLocation === 'after'; 2990 }, 2991 swiperItems: function() { 2992 const media = [...this.swiperPhotos]; 2993 if ( 2994 this.hasVideoPlugin && this.productVideo.url 2995 ) { 2996 this.videoAfterImage 2997 ? media.push(this.productVideo) 2998 : media.unshift(this.productVideo); 2999 } 3000 return media; 3001 }, 3002 firstImageIndex: function() { 3003 return this.hasVideoPlugin && this.productVideo.url && !this.videoAfterImage 3004 ? 1 3005 : 0 3006 }, 3007 otherDescriptions: function() { 3008 var descriptions = {}; 3009 this.product.otherDescriptions.forEach(function(od) { 3010 descriptions[od.settingName] = od.bodyHtml; 3011 }) 3012 return descriptions 3013 }, 3014 variantOptions: function() { 3015 return themeHelper.variantOptions(this.product); 3016 }, 3017 firstValidVariant: function() { 3018 var self = this; 3019 var result = this.product.variants.find(function(variant) { 3020 // å¢å product modal è¯çµ¡åºå®¶ property 3021 variant.imgUrl = ""; 3022 variant.productTitle = ""; 3023 3024 return variant.available; 3025 }); 3026 3027 return result 3028 ? result 3029 : null; 3030 }, 3031 selectedValidVariant: function() { 3032 var self = this; 3033 var result = this.variantOptions.find(function(variant) { 3034 return variant.id === self.selectedVariantId; 3035 }); 3036 3037 return result 3038 ? result 3039 : null; 3040 }, 3041 totalInventoryQuantity: function(product) { 3042 return themeHelper.totalInventoryQuantity(this.product) 3043 }, 3044 addCartText: function() { 3045 var variants = parseInt(""); 3046 let isRegisteredNotification = this.currentVariant && this.variantNotifications && this.variantNotifications[this.currentVariant.id] 3047 if (this.isNnCollection || this.isBundleDiscount) { 3048 if (this.currentVariant && !themeHelper.variantIsAvailable(this.currentVariant)) { 3049 if (this.currentVariant.inventoryPolicy === 'continue') { 3050 if (this.isNnCollection) { 3051 return this.isChoose && !this.isNewNnCollection 3052 ? 'å·²é è³¼' 3053 : 'é è³¼åå'; 3054 } 3055 } else { 3056 return 'å·²å®å®'; 3057 } 3058 } 3059 if (this.totalInventoryQuantity === 0) { 3060 return 'å·²å®å®'; 3061 } 3062 return this.isChoose && !this.isNewNnCollection 3063 ? 'å·²é¸è³¼' 3064 : 'é¸è³¼'; 3065 } else { 3066 if (this.isQuickBuy) { 3067 if (this.currentVariant && !themeHelper.variantIsAvailable(this.currentVariant)) { 3068 if (this.currentVariant.inventoryPolicy === 'continue'){ 3069 return 'ç«å³é è³¼' 3070 } 3071 return this.hasStockNotificationPlugin 3072 ? (isRegisteredNotification 3073 ? 'å·²ç»è¨è£è²¨éç¥' 3074 : 'å·²å®å®ï¼è²¨å°éç¥æ') 3075 : 'è¯çµ¡åºå®¶' 3076 } 3077 return 'ç«å³è³¼è²·'; 3078 } else { 3079 if (this.currentVariant) { 3080 if (!themeHelper.variantIsAvailable(this.currentVariant)) { 3081 if (this.currentVariant.inventoryPolicy === 'continue'){ 3082 return 'é è³¼åå' 3083 } 3084 return this.hasStockNotificationPlugin 3085 ? (isRegisteredNotification 3086 ? 'å·²ç»è¨è£è²¨éç¥' 3087 : 'å·²å®å®ï¼è²¨å°éç¥æ') 3088 : 'è¯çµ¡åºå®¶' 3089 } 3090 } else { 3091 if (this.totalInventoryQuantity === 0) { 3092 return 'å·²å®å®'; 3093 } 3094 } 3095 return 'å å ¥è³¼ç©è»'; 3096 } 3097 } 3098 }, 3099 cartItem: function() { 3100 if (!this.currentVariant) { 3101 return null 3102 } 3103 return { 3104 id: this.currentVariant.id, 3105 groupId: this.groupId, 3106 productId: this.product.id, 3107 title: this.product.title, 3108 photo: this.currentVariant.imgUrl || this.featuredImage.large, 3109 quantity: this.quantity, 3110 price: this.currentVariant.price, 3111 variant: this.currentVariant, 3112 product: this.product 3113 } 3114 }, 3115 options: function() { 3116 return this.product.options; 3117 }, 3118 optionTypes: function() { 3119 3120 // å æ ¹æè¨å®çvariantsä¾æåº 3121 var self = this; 3122 3123 var option1 = []; 3124 var option2 = []; 3125 var option3 = [];
3126 this.product.variants.forEach(function(item) { 3127 if (item.option1 !== null) { 3128 option1.push(item.option1); 3129 } 3130 if (item.option2 !== null) { 3131 option2.push(item.option2); 3132 } 3133 if (item.option3 !== null) { 3134 option3.push(item.option3); 3135 } 3136 }) 3137 var filteredOptionTypes = []; 3138 this.product.optionTypes.forEach(function(item, index) { 3139 filteredOptionTypes.push(self.getUniqueVariant(eval('option' + ( 3140 index + 1 3141 ))).join(',')); 3142 }); 3143 return filteredOptionTypes; 3144 }, 3145 optionInfo: function() { 3146 var self = this; 3147 3148 return self.options.map(function(option, index) { 3149 return { 3150 name: option, 3151 types: self.getOptions('option' + ( 3152 index + 1 3153 ), self.optionTypes[index].split(',')) 3154 } 3155 }); 3156 }, 3157 hasVariant: function() { 3158 return this.product.options.length > 0; 3159 }, 3160 shouldHideSingleVariantOptions: function() { 3161 return this.hasHideSingleVariantOptionsPlugin && 3162 this.product.variants && 3163 this.product.variants.length <= 1; 3164 }, 3165 variantSize: function() { 3166 if(this.product.options){ 3167 return this.product.options.length; 3168 } 3169 }, 3170 firstVariant: function() { 3171 return this.product.variants[0]; 3172 }, 3173 firstCheapestVariant: function() { 3174 return this.product.variants.find((v)=> (v.price === this.priceStats.minPrice)); 3175 }, 3176 priceStats: function() { 3177 return this.product.variants.reduce(function(acc, variant) { 3178 return { 3179 minPrice: variant.price < acc.minPrice ? variant.price : acc.minPrice, 3180 maxPrice: variant.price > acc.maxPrice ? variant.price : acc.maxPrice, 3181 }; 3182 }, { 3183 minPrice: this.firstVariant.price, 3184 maxPrice: this.firstVariant.price, 3185 }); 3186 }, 3187 hidePrice: function() { 3188 return this.product && this.product.hidePrice === true; 3189 }, 3190 salesModePurchasable: function() { 3191 return !(this.product && this.product.salesModePurchasable === false); 3192 }, 3193 // - 任鏿æ£ï¼ç´ é ç¶ ï¼ã鏿ãåªæ¯å é²è©¦ç®æ¸ å®ï¼ä¸æç´æ¥ä¸å®ï¼æ åªæèå¹åå 3194 // - å ¶ä»æ å¢ï¼ååé ã群çµé ãå¤å±¤ç´åé¡ãæå°ãé¦é åååå¡ï¼ï¼ä¸å¯è³¼è²·ï¼å«èå¹ï¼å°±æ´çµæ¶æ 3195 showPurchaseControls: function() { 3196 if (this.isNnCollection || this.isBundleDiscount) { 3197 return !this.hidePrice; 3198 } 3199 return this.salesModePurchasable; 3200 }, 3201 variantPrice: function() { 3202 if (this.hidePrice) { 3203 return ''; 3204 } 3205 var from = liquidHelper.defaultCurrency; 3206 if (this.currentVariant) { 3207 return moneySymbol(this.currentVariant.price, from); 3208 } 3209 if (this.product.variants.length === 1) { 3210 return moneySymbol(this.firstVariant.price, from); 3211 } 3212 3213 var minPrice = this.priceStats.minPrice; 3214 var maxPrice = this.priceStats.maxPrice; 3215 3216 if (minPrice !== maxPrice && (!this.hasVariantPriceRangePlugin || this.isDisplayPriceRange)) { 3217 this.isDiscountPrice = false; 3218 return moneySymbol(minPrice, from) + '~' + moneySymbol(maxPrice, from); 3219 } else { 3220 return moneySymbol(minPrice, from); 3221 } 3222 }, 3223 marketPrice: function() { 3224 if (this.hidePrice) { 3225 this.isDiscountPrice = false; 3226 return; 3227 } 3228 var from = liquidHelper.defaultCurrency; 3229 if (this.currentVariant) { 3230 this.isDiscountPrice = false; 3231 if (this.currentVariant.compareAtPrice && this.currentVariant.compareAtPrice > this.currentVariant.price) { 3232 this.isDiscountPrice = true; 3233 return moneySymbol(this.currentVariant.compareAtPrice, from); 3234 } 3235 } else { 3236 if (!_.includes(this.variantPrice, '~')) { 3237 const price = Number(this.variantPrice.replace(/[^0-9.
3237-]/g, "")) 3238 // æªé¸ææ¬¾å¼ä¹ä¸é¡¯ç¤ºåéæï¼é¡¯ç¤ºç¬¬ä¸åæä¾¿å®ç款å¼çå®å¹ 3239 if (this.firstCheapestVariant.compareAtPrice && this.firstCheapestVariant.compareAtPrice > price){ 3240 this.isDiscountPrice = true; 3241 return moneySymbol(this.firstCheapestVariant.compareAtPrice, from); 3242 } 3243 // æªé¸ææ¬¾å¼æè¦æ¹åä¸è¬å¹æ ¼é¡è² 3244 this.isDiscountPrice = false; 3245 } 3246 } 3247 }, 3248 isShowDropdownList: function() { 3249 if (this.product.options.length > 0) { 3250 return true; 3251 } 3252 return this.product.variants.length > 1 3253 }, 3254 priceTitleTag: function() { 3255 return this.marketPrice 3256 ? getDiscountPriceName() 3257 : getDiscountPriceSuggestionName(); 3258 }, 3259 isHideAddCartBtn: function() { 3260 if (this.addCartText === 'å·²å®å®') { 3261 return true; 3262 } 3263 return false; 3264 }, 3265 isSecondaryBtn: function() { 3266 if (this.addCartText === 'è¯çµ¡åºå®¶') { 3267 return true; 3268 } 3269 return false; 3270 }, 3271 variantsMaxUsableBonus: function() { 3272 var variants = this.product.variants; 3273 var maxUsableBonusArray = variants.map(function(item) { 3274 return item.maxUsableBonus 3275 }); 3276 return Math.max.apply(null, maxUsableBonusArray); 3277 }, 3278 bonusToPrice: function() { 3279 const bonus = this.currentVariant 3280 ? this.currentVariant.maxUsableBonus 3281 : this.maxUsableBonus; 3282 const price = Math.floor(bonus / window.liquidHelper.conversionBonus); 3283 const priceWithMoney = window.themeHelper.productDisplayCurrencyBlock(price); 3284 return "(ç´çæ¼ value )".replace('value', priceWithMoney); 3285 }, 3286 isMobileSize: function() { 3287 return window.innerWidth <= 580 3288 }, 3289 limitBuyText: function () { 3290 const minCount = this.product.minBuy; 3291 const maxCount = this.product.limitBuy; 3292 if (minCount > 0 && maxCount > 0) { 3293 return 'æ¤å忝çè¨å®æå°é購買 minCount ä»¶ï¼æå¤å¯è³¼è²· maxCount ä»¶'.replace('minCount', minCount).replace('maxCount', maxCount); 3294 } 3295 if (minCount > 0) { 3296 return 'æ¤å忝çè¨å®æå°é購買 minCount ä»¶'.replace('minCount', minCount); 3297 } 3298 if (maxCount > 0) { 3299 return 'æ¤å忝çè¨å®æå¤å¯è³¼è²· maxCount ä»¶'.replace('maxCount', maxCount); 3300 } 3301 return ''; 3302 } 3303 }, 3304 methods: { 3305 onClickSelectModal: function(objData, selectOptionStr) { 3306 this.isModalSelectShow = true; 3307 this.modalOption = objData; 3308 this.selectOption = selectOptionStr 3309 this.selectCurrentStr = this.currentOption && (String(this.currentOption[selectOptionStr]) || null) 3310 }, 3311 onChangeModalSelect: function(flag, isSelect) { 3312 if(!isSelect){ 3313 this.setOption(this.selectOption,this.selectCurrentStr,this.modalOption.types) 3314 } 3315 this.isModalSelectShow = flag; 3316 }, 3317 setOption: function(optionKey, type, dataArr) { 3318 let flag = true 3319 dataArr.forEach(item => { 3320 if (item.name === type) { 3321 flag = item.isValid 3322 } 3323 }) 3324 if (flag) { 3325 this.toggleCurrentOption(optionKey, type) 3326 } 3327 }, 3328 addToWishListEvent: function() { 3329 try { 3330 if (appMarketAddToWishListEvent) { 3331 var product = this.product; 3332 var currentVariant = this.currentVariant 3333 var element = $(`.btn[data-id=${product.id}]`); 3334 var index; 3335 var listName; 3336 if (element) { 3337 index = element.data('position') 3338 listName = element.data('list') 3339 } 3340 // sku_properties:é¸ä¸æ¬¾å¼ç option pairs(ç¶åèªç³»),é¡åå zip å¼ 3341 var optionValues = [currentVariant.option1, currentVariant.option2, currentVariant.option3]; 3342 var properties = [];
3343 (product.options || []).forEach(function(optionName, i) { 3344 if (optionName && optionValues[i]) { 3345 properties.push({ name: optionName, value: optionValues[i] }); 3346 } 3347 }); 3348 var dataSet = { 3349 name: product.title, 3350 category: product.productType, 3351 categories: (this.categories && this.categories.length) ? this.categories : (categoryLevels.length ? categoryLevels : (product.id === pageMainProductId ? productCategoryLevels : undefined)), 3352 sku: currentVariant.sku, 3353 price: currentVariant.price, 3354 compare_at_price: currentVariant.compareAtPrice, 3355 properties: properties, 3356 quantity: currentVariant.inventoryQuantity, 3357 variant: currentVariant.title, 3358 listName: listName || null, 3359 productId: product.id, 3360 variantId: currentVariant.id, 3361 index: Number(index) || 0, 3362 } 3363 appMarketAddToWishListEvent(dataSet) 3364 } 3365 } catch (e) { 3366 console.error(e) 3367 } 3368 }, 3369 addWishList: function() { 3370 if (this.currentVariant === null) { 3371 window.msg('è«é¸æå忬¾å¼', 'warning').show(); 3372 return; 3373 } 3374 var productVariantId = this.currentVariant.id; 3375 var addToWishListEvent = this.addToWishListEvent 3376 $.ajax({ 3377 method: 'POST', 3378 url: '/tracking_items', 3379 dataType: 'json', 3380 data: { 3381 product_variant_id: productVariantId 3382 }, 3383 success: function(response) { 3384 if (response.message) { 3385 window.msg(response.message, 'success').show(); 3386 addToWishListEvent() 3387 } 3388 3389 if (response.error) { 3390 window.msg(response.error, 'error').show(); 3391 3392 } 3393 if (response.info) { 3394 window.msg(response.info, 'info').show(); 3395 } 3396 if (response.success === false) { 3397 if (window.liquidHelper && window.liquidHelper.language && window.liquidHelper.language.handle) { 3398 window.location = "/" + window.liquidHelper.language.handle + "/account/login"; 3399 } else { 3400 window.location = "/account/login"; 3401 } 3402 } 3403 } 3404 }); 3405 }, 3406 setChoose: function(currentVariant) { 3407 this.maxUsableBonus = 0; 3408 var quantity = 1; 3409 var cartItem = null; 3410 if (!this.isNnCollection && this.cartItems) { 3411 cartItem = this.normalGetChoosenItem(currentVariant); 3412 } 3413 if (this.isNnCollection) { 3414 cartItem = this.nnCollectionGetChoosenItem(currentVariant); 3415 } 3416 this.isChoose = !! cartItem; 3417 if (this.isNewNnCollection) { 3418 return 3419 } 3420 this.quantity = cartItem 3421 ? cartItem.quantity 3422 : this.quantity; 3423 3424 // product modal è¯çµ¡åºå®¶æ å¢ 3425 if (currentVariant) { 3426 var photoIndex = 0; 3427 if (! currentVariant.imgUrl) { 3428 currentVariant.imgUrl = this.swiperPhotos.length > 0 3429 ? (this.swiperPhotos[photoIndex] && this.swiperPhotos[photoIndex].large) 3430 : this.featuredImage.large; 3431 } 3432 currentVariant.productTitle = this.product.title + ' - ' + this.currentVariant.title; 3433 } 3434 }, 3435 normalGetChoosenItem: function(currentVariant) { 3436 return this.cartItems.find(function(cartItem) { 3437 return currentVariant && cartItem.id === currentVariant.id; 3438 }); 3439 }, 3440 nnCollectionGetChoosenItem: function(currentVariant) { 3441 var isSelected = null; 3442 if (! currentVariant) { 3443 return isSelected; 3444 } 3445 if (this.isNewNnCollection) { 3446 var cart = store.get(`SpecialCollectionCart_${this.collectionId}`); 3447 isSelected = cart && cart.find((item) => item.variant_id == currentVariant.id) || null; 3448 } else { 3449 store.each(function(value, key) { 3450 var productId = _.includes(key, 'Pro' + currentVariant.productId); 3451 var variantID = _.includes(key, 'Var' + currentVariant.id); 3452 if (productId && variantID) { 3453 isSelected = store.get(key); 3454 } 3455 }); 3456 } 3457 3458 return isSelected; 3459 }, 3460 // get product detail 3461 getProductDetail: function() { 3462 var self = this; 3463 3464 $.ajax({ 3465 url: self.productUrl + '.json', 3466 type: 'GET', 3467 timeout: 30000, 3468 beforeSend: function() { 3469 self.isLoading = true; 3470 }, 3471 error: function(xhr) { 3472 self.closeModal(); 3473 if (xhr.status === 429) { 3474 window.showAddCartRateLimitModal(5); 3475 return; 3476 } 3477 window.msg('網路é£ç·ç°å¸¸ï¼è«éæ°æ´ç', 'error').show(); 3478 } 3479 }).done(function(data) { 3480 if (data.id) { 3481 var productData = [themeHelper.toCamelCase(data)]; 3482 self.product = themeHelper.priceWithDiscount(productData, liquidHelper.hasPriceWithDiscountPlugin)[0]; 3483 self.maxUsableBonus = self.variantsMaxUsableBonus; 3484 if (self.product.variants.length === 1 || liquidHelper.isFirstVariantSelected || self.selectedVariantId) { 3485 self.currentVariant = self.firstValidVariant; 3486 // 妿已ç¶èªé¸ååï¼åååé 䏿»å å ¥è³¼ç©è»é¡¯ç¤ºèªé¸åå 3487 if (self.selectedVariantId) { 3488 self.currentVariant = self.selectedValidVariant; 3489 } 3490 if (self.currentVariant) { 3491 self.setChoose(self.currentVariant); 3492 self.setDefaultOption(); 3493 } 3494 } 3495 if (self.displayProductDiscountsList) { 3496 self.setUpDiscountsTag(data); 3497 } 3498 self.isLoading = false;
3499 if (self.product && self.product.variants) { 3500 self.product.variants.forEach(function(discountedVariant) { 3501 var rawVariant = data.variants.find(function(v) { return v.id === discountedVariant.id; }); 3502 if (rawVariant) { rawVariant.price = discountedVariant.price; } 3503 }); 3504 } 3505 viewItem && viewItem(data, { collectionId: '', collectionName: null, categories: (self.categories && self.categories.length) ? self.categories : (categoryLevels.length ? categoryLevels : (data.id === pageMainProductId ? productCategoryLevels : undefined)) }); 3506 3507 3508 } else { 3509 window.msg('網路é£ç·ç°å¸¸ï¼è«éæ°æ´ç', 'error').show(); 3510 self.closeModal() 3511 } 3512 }) 3513 }, 3514 // product image btn 3515 photoOnChange: function(photoIndex, isVariantReposition) { 3516 var visiblePhotos = (this.currentVariant && this.currentVariant.photos.length) 3517 ? this.currentVariant.photos 3518 : this.product.photos.map(function(p) { return p.photo; }); 3519 var result = themeHelper.buildNavigateItemImagePayload(this._navState, { 3520 product: this.product, 3521 currentVariant: this.currentVariant, 3522 visiblePhotos: visiblePhotos, 3523 slideIndex: photoIndex, 3524 videoOffset: this.firstImageIndex, 3525 }); 3526 this._navState = result.nextState; 3527 if (result.payload && !isVariantReposition) { 3528 window.navigateItemImage(result.payload); 3529 } 3530 this.currentImageIndex = photoIndex; 3531 }, 3532 toggleCurrentOption: function(key, value) { 3533 this.currentOption[key] = 3534 (this.currentOption[key] === value || value === 'null') ? null : value; 3535 var variantIndex = this.getVariantIndex(); 3536 if (variantIndex !== -1) { 3537 this.currentVariant = this.product.variants[variantIndex]; 3538 } else { 3539 this.currentVariant = null; 3540 } 3541 this.setChoose(this.product.variants[variantIndex]); 3542 if (this.currentOption[key] !== null) { 3543 var optionIndex = parseInt(key.replace('option', '')) - 1; 3544 appStoreSelectItemEvent(this.product, this.product.options[optionIndex], this.currentOption[key], this.currentVariant); 3545 } 3546 }, 3547 toggleNotification: function() { 3548 var self = this; 3549 var variantId = this.currentVariant.id; 3550 3551 $.ajax({ 3552 url: '/toggle_pv_notification', 3553 method: 'POST', 3554 dataType: 'json', 3555 data: { 3556 product_variant_id: variantId 3557 }, 3558 success: function(response) { 3559 self.variantNotifications[variantId] = response.notice; 3560 window.msg(response.message, "success").show(); 3561 }, 3562 error: function(xhr) { 3563 var response = xhr.responseJSON; 3564 var msg = response && response.error || "網路é£ç·ç°å¸¸ï¼è«éæ°æ´ç"; 3565 window.msg(msg, "error").show(); 3566 } 3567 }) 3568 }, 3569 getOptionImageIndex: function(index) { 3570 this.currentImageIndex = index; 3571 }, 3572 quantityDecrease: function() { 3573 if (this.cartItem) { 3574 themeHelper.EventBus.$emit('quantityDecrease', this.cartItem, false); 3575 this.quantity = this.cartItem.quantity 3576 } else { 3577 window.msg("è«é¸æå忬¾å¼", 'warning').show(); 3578 } 3579 }, 3580 quantityIncrease: function() { 3581 if (this.cartItem) { 3582 themeHelper.EventBus.$emit('quantityIncrease', this.cartItem, false); 3583 this.quantity = this.cartItem.quantity 3584 } else { 3585 window.msg("è«é¸æå忬¾å¼", 'warning').show(); 3586 } 3587 }, 3588 quantityChange: function(el) { 3589 if (this.cartItem) { 3590 themeHelper.EventBus.$emit('quantityChange', parseInt(el.target.value), this.cartItem, false); 3591 this.quantity = this.cartItem.quantity; 3592 el.target.value = this.cartItem.quantity; 3593 } else { 3594 window.msg("è«é¸æå忬¾å¼", 'warning').show(); 3595 } 3596 }, 3597 addProduct: function() { 3598 if (this.addCartText === 'è¯çµ¡åºå®¶') { 3599 $('#messagebuy-Modal').data('variant', this.currentVariant); 3600 $('#messagebuy-Modal').modal('show'); 3601 $('#messagebuy-Modal').css("background-color", "rgba(0, 0, 0, .6)"); 3602 } else if ( 3603 this.addCartText === 'å·²ç»è¨è£è²¨éç¥' || 3604 this.addCartText === 'å·²å®å®ï¼è²¨å°éç¥æ' 3605 ) { 3606 this.toggleNotification(); 3607 } else { 3608 if (this.cartItem) { 3609 try { 3610 if (this.isChoose) { 3611 themeHelper.EventBus.$emit('updateStore', 'update', this.cartItem, this.callBack) 3612 } else { 3613 themeHelper.EventBus.$emit('updateStore', 'add', this.cartItem, this.callBack) 3614 } 3615 3616 this.adding = true; 3617 this.closeModal(); 3618 } catch (e) { 3619 window.msg("å忬¾å¼ç°å¸¸", 'error').show(); 3620 } 3621 } else { 3622 window.msg("è«é¸æå忬¾å¼", 'warning').show(); 3623 } 3624 } 3625 }, 3626 closeModal: function() { 3627 themeHelper.EventBus.$emit('closeProductModal'); 3628 }, 3629 setDefaultOption: function() { 3630 var self = this; 3631 Object.keys(self.currentOption).map(function(optionKey) { 3632 self.currentOption[optionKey] = self.currentVariant[optionKey]; 3633 }); 3634 }, 3635 getVariantIndex: function() { 3636 var self = this; 3637 return self.product.variants.findIndex(function(variant, index) { 3638 var isVariant = true;
3639 Object.keys(self.currentOption).forEach(function(option) { 3640 if (variant[option] !== self.currentOption[option]) { 3641 isVariant = false; 3642 } 3643 }); 3644 return isVariant; 3645 }); 3646 }, 3647 3648 // 篩é¸éè¤åé 3649 getUniqueVariant: function(variants) { 3650 return variants.filter(function(value, index, self) { 3651 return self.indexOf(value) === index; 3652 }); 3653 }, 3654 groupBy(xs, key) { 3655 return xs.reduce(function(rv, x) { 3656 (rv[x[key]] = rv[x[key]] || []).push(x); 3657 return rv; 3658 }, {}); 3659 }, 3660 setUpDiscountsTag(data) { 3661 var self = this; 3662 var languagePrefix = '/' + ((window.shopScriptHelper && window.shopScriptHelper.i18nLocale) || 'zh-TW'); 3663 $.ajax({ 3664 url: languagePrefix + self.productUrl + '/discounts_list', 3665 method: 'GET', 3666 success: function(result) { 3667 if (result.length > 0) { 3668 var discounts_list = self.groupBy(result, 'campaign_type'); 3669 self.discountsList = discounts_list; 3670 } else { 3671 self.discountsList = null; 3672 } 3673 } 3674 }); 3675 }, 3676 getOptions: function(optionKey, optionTypes) { 3677 var self = this; 3678 return optionTypes.map(function(optionType, index) { 3679 var isValid = true; 3680 3681 // é¸åºå å«ç®åtypeçvariant 3682 var matchVariants = self.product.variants.filter(function(variant) { 3683 return variant[optionKey] === optionType; 3684 }); 3685 3686 // 篩é¸å·²å¾é¸type 3687 Object.keys(self.currentOption).forEach(function(currentOptionKey) { 3688 if (currentOptionKey !== optionKey) { 3689 matchVariants = matchVariants.filter(function(variant) { 3690 if (self.currentOption[currentOptionKey]) { 3691 return variant[currentOptionKey] === self.currentOption[currentOptionKey] 3692 } else { 3693 return true; 3694 } 3695 }); 3696 } 3697 }); 3698 if (matchVariants.length === 0) { 3699 isValid = false; 3700 } 3701 if (! self.isEmptyClickable) { 3702 isValid = false; 3703 matchVariants.find(function(item) { 3704 if (item.inventoryQuantity === null || item.inventoryQuantity > 0 || item.inventoryPolicy === 'continue') { 3705 isValid = true; 3706 } 3707 }); 3708 } 3709 return {name: optionType, isValid: isValid} 3710 }); 3711 } 3712 } 3713 }; 3714 }); 3715</script>
3715 3716 3717<!-- cyb_snippet _product_modal_js end --> 3718 3719<!-- cyb_snippet components/product_modal/product_modal end --> 3720 3721<!-- cyb_snippet messagebuy_modal start --> 3722 3723<div class="modal" id="messagebuy-Modal" tabindex="-1" role="dialog" aria-hidden="true"> 3724 <div class="modal-dialog modal-dialog-centered" role="document"> 3725 <div class="modal-content"> 3726 <div class="modal-header"> 3727 <p class="modal-title qk-fw--500" style="font-size: 1.25rem;">åå庫åä¸è¶³çè¨</p> 3728 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 3729 <span aria-hidden="true">×</span> 3730 </button> 3731 </div> 3732 <div class="modal-body"> 3733 <form class="form-horizontal" id="message-form"> 3734 <input type="hidden" name="authenticity_token" id="authenticity_token" value="pnuDS6HNkkZ5Wb_TLvCgfpXuLXQ97fdRKfjY-AQ1XVL814mBukWY3JGKl9jliVJaK8joIcs8Z7NaJB_IKM9dTw" autocomplete="off" /> 3735 <div class="product_link img-flex"> 3736 <img src="" alt="product img" class="product_img" width="300" height="300"> 3737 </div> 3738 <p class="product_name qk-fw--500 qk-mg_t--05 qk-mg_b--05" style="font-size: 1.25rem;"></p> 3739 <div class="form-group"> 3740 <input type="email" class="form-control" id="contact_us_email" name="contact[email]" placeholder="Email" data-error="é䏿¯ææçemail" required> 3741 <input type="email" class="form-control" id="repeat-email" name="content[email]" placeholder="Email"> 3742 <div class="help-block with-errors"></div> 3743 </div> 3744 <div class="form-group"> 3745 <textarea type="text" class="form-control" id="message_body" name="contact[body]" placeholder="çè¨çµ¦åºå®¶" data-error="è«ç䏿³å°æå說ç話åï¼" rows="4" required></textarea> 3746 <div class="help-block with-errors"></div> 3747 </div> 3748 <div id="messagebuy-captcha-mount" class="qk-mg_b--05"></div> 3749 <button type="submit" class="qk-btn qk-btn--primary qk-btn--lg qk-w--100 btn-submit-message">éåº</button> 3750 </form> 3751 </div> 3752 </div> 3753 </div> 3754</div> 3755 3756 3757 3758
3759<script> 3760 $(document).ready(function(){ 3761 // setting modal 3762 var product_title, product_img, variant, variant_name, variant_sku, variant_price 3763 var flowCaptcha = {"provider_type":null,"site_key":null}; 3764 var captchaSitekey = flowCaptcha.site_key; 3765 var captchaProviderType = flowCaptcha.provider_type; 3766 var captcha = null; 3767 3768 $('#repeat-email').hide(); 3769 3770 $('#messagebuy-Modal').on('show.bs.modal', function(){ 3771 var currentVariant = $('#messagebuy-Modal').data('variant'); 3772 3773 if (currentVariant) { 3774 // product modal è¯çµ¡åºå®¶ 3775 $('#messagebuy-Modal').find('.product_name').html(currentVariant.productTitle); 3776 $('#messagebuy-Modal').find('.product_img').attr('src', currentVariant.imgUrl); 3777 product_title = currentVariant.productTitle; 3778 variant_sku = currentVariant.sku; 3779 variant_name = currentVariant.title; 3780 variant_price = parseInt(currentVariant.price); 3781 } else { 3782 product_title = $('#product .product_info .product_title').text() 3783 // æ¯å¦é¡¯ç¤ºè²ç¥¨ 3784 var isDisplayImagesColor = "false"; 3785 if (isDisplayImagesColor === "true") { 3786 product_img = $('#photo_with_images_color').attr('src'); 3787 } else { 3788 product_img = $('#product .product_info .thumb .active img').attr('src') 3789 } 3790 variant = $('#product .product_variant').find(':selected') 3791 variant_name = $(variant).data('name'); 3792 variant_sku = variant.data('sku'); 3793 variant_price = variant.data('price'); 3794 $('#messagebuy-Modal').find('.product_name').text(product_title) 3795 $('#messagebuy-Modal').find('.product_img').attr('src', product_img) 3796 } 3797 }) 3798 3799 var isCaptchaReady = true; 3800 var isSubmitting = false; 3801 3802 function refreshSubmitState() { 3803 3804 var isDisabled = isSubmitting || !isCaptchaReady; 3805 $('#message-form .btn-submit-message') 3806 .prop('disabled', isDisabled) 3807 .toggleClass('qk-btn--disabled', isDisabled); 3808 } 3809 3810 function setSubmitting(submitting) { 3811 isSubmitting = submitting; 3812 refreshSubmitState(); 3813 } 3814 3815 function setCaptchaReady(ready) { 3816 isCaptchaReady = ready; 3817 refreshSubmitState(); 3818 } 3819 3820 function showErrorMsg(message) { 3821 window.msg(message || "è«ç¨å¾å試", 'error').show(); 3822 } 3823 3824 function mountCaptcha() { 3825 if (!captchaSitekey || !window.renderCaptcha) { 3826 return null; 3827 } 3828 return window.renderCaptcha('#messagebuy-captcha-mount', { 3829 providerType: captchaProviderType, 3830 sitekey: captchaSitekey, 3831 size: 'invisible', 3832 onVerify: function (token) { 3833 sendMessage(token); 3834 }, 3835 onError: function (message) { 3836 setSubmitting(false); 3837 showErrorMsg(message); 3838 }, 3839 onReadyChange: function (ready) { 3840 setCaptchaReady(ready); 3841 }, 3842 }); 3843 } 3844 3845 function sendMessage(captchaToken) { 3846 setSubmitting(true); 3847 3848 var csrf_token = $('meta[name=csrf-token]').attr('content'); 3849 var message_email = $('#message-form input[name="contact[email]"]').val(); 3850 var message_body = $('#message-form textarea[name="contact[body]"]').val(); 3851 var variant_info = "\n (å忍é¡:" + product_title + " ,(ååsku:" + variant_sku + " ,å忍£å¼:" + variant_name + " ,åå广 ¼:" + variant_price + ')'; 3852 if(!variant_sku || !variant_name || !variant_price){ 3853 variant_info = "\n (å忍é¡:" + product_title + ", æªé¸æåå ï¼" 3854 } 3855 message_body += variant_info 3856 3857 var headers = {}; 3858 if (csrf_token && csrf_token !== '') { 3859 headers['X-CSRF-TOKEN'] = csrf_token; 3860 } 3861 3862 $.ajax({ 3863 method: 'POST', 3864 url: '/contact', 3865 headers: headers, 3866 data: { 3867 contact: { email: message_email, body: message_body }, 3868 captcha_token: captchaToken || '', 3869 }, 3870 dataType: 'json' 3871 }).done(function(){ 3872 $('#message-form input[name="contact[email]"]').val(''); 3873 $('#message-form textarea[name="contact[body]"]').val(''); 3874 3875 window.msg("éåºæå", 'success').show() 3876 $('#messagebuy-Modal').modal('hide'); 3877 themeHelper.EventBus.$emit('closeProductModal'); 3878 }).fail(function(){ 3879 showErrorMsg(); 3880 }).always(function(){ 3881 setSubmitting(false); 3882 }); 3883 } 3884 3885 captcha = mountCaptcha(); 3886 3887 $('#message-form').on('submit', function (e) { 3888 e.preventDefault() 3889 3890 var robot_check = $('#repeat-email').val(); 3891 if(robot_check) 3892 return; 3893 3894 if (this.checkValidity && this.checkValidity() === false) { 3895 this.classList.add('was-validated'); 3896 return; 3897 } 3898 3899 if (!captchaSitekey) { 3900 sendMessage(''); 3901 return; 3902 } 3903 3904 if (!captcha) { 3905 showErrorMsg(); 3906 return; 3907 } 3908 3909 captcha.execute(); 3910 }) 3911 }) 3912</script>
3912 3913 3914 3915<!-- cyb_snippet messagebuy_modal end --> 3916<!-- cyb_snippet components/rate_limit_modal start --> 3917<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/rate_limit_modal-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' /> 3918 3919<div class="modal fade" id="rate-limit-modal" tabindex="-1" role="dialog" aria-hidden="true" data-backdrop="static" data-keyboard="false"> 3920 <div class="modal-dialog modal-dialog-centered" role="document"> 3921 <div class="modal-content"> 3922 <div class="modal-body"> 3923 <div class="qk-text--default_dark rate-limit-text"> 3924 <p id="rate-limit-title">ç®åæ¶è³¼äººæ½®ç¾å¤ï¼è«èå¿çå</p> 3925 <p class="qk-fs--body qk-fw--500 rate-limit-message"> 3926 <span class="qk-text--error" id="rate-limit-countdown"></span> 3927 <span id="rate-limit-desc"></span> 3928 </p> 3929 <p class="qk-fs--body qk-fw--500 rate-limit-message" id="rate-limit-warn">è¥é¢éæ¤é é¢ï¼å¯è½æå»¶é·çå¾ æéã</p> 3930 </div> 3931 <button id="rate-limit-btn" class="btn qk-btn qk-btn--primary" disabled>éæ°é²å ¥ååé </button> 3932 </div> 3933 </div> 3934 </div> 3935</div> 3936
3937<script> 3938 window.showRateLimitModal = function(countdownSec) { 3939 var countdown = countdownSec || 5; 3940 var $modal = $('#rate-limit-modal'); 3941 var $btn = $modal.find('#rate-limit-btn'); 3942 var $countdownEl = $modal.find('#rate-limit-countdown'); 3943 3944 $btn.show(); 3945 $modal.find('#rate-limit-desc').text(language["product_rate_limit_desc"]); 3946 $countdownEl.text(countdown); 3947 $btn.prop('disabled', true); 3948 $modal.modal('show'); 3949 3950 var timer = setInterval(function() { 3951 countdown--; 3952 $countdownEl.text(countdown); 3953 if (countdown <= 0) { 3954 clearInterval(timer); 3955 $btn.prop('disabled', false); 3956 } 3957 }, 1000); 3958 3959 $btn.off('click').on('click', function() { 3960 location.reload(); 3961 }); 3962 } 3963 3964 window.showAddCartRateLimitModal = function(countdownSec) { 3965 var countdown = countdownSec || 5; 3966 var $modal = $('#rate-limit-modal'); 3967 var $countdownEl = $modal.find('#rate-limit-countdown'); 3968 3969 $modal.find('#rate-limit-btn').hide(); 3970 $modal.find('#rate-limit-desc').text(language["addcart_rate_limit_desc"]); 3971 $countdownEl.text(countdown); 3972 $modal.modal('show'); 3973 3974 var timer = setInterval(function() { 3975 countdown--; 3976 $countdownEl.text(countdown); 3977 if (countdown <= 0) { 3978 clearInterval(timer); 3979 $modal.modal('hide'); 3980 } 3981 }, 1000); 3982 } 3983</script>
3983 3984 3985<!-- cyb_snippet components/rate_limit_modal end --> 3986
3987<script> 3988 $(document).ready(function() { 3989 const shouldSkipQuantityCheck = false; 3990 const newAddCartModalApp = new window.themeHelper.LiquidVueHandler({ 3991 componentNames: Object.keys(window.themeHelper.productModalComponents), 3992 mountSelector: '#new-addcart-modal', 3993 autoMount: false, 3994 }); 3995 3996 newAddCartModalApp.createApp({ 3997 el: '#new-addcart-modal', 3998 delimiters: ['${', '}'], 3999 data() { 4000 return { 4001 collectionId: 0, 4002 categories: [], 4003 color: '', // unused 4004 isCollection: true, 4005 productQuantity: 0, 4006 onlyDescription: false, 4007 showProductModal: false, 4008 popProductUrl: '', 4009 loading: false, 4010 }; 4011 }, 4012 mounted: function() { 4013 themeHelper.EventBus.$on('closeProductModal',this.closeProductModal); 4014 themeHelper.EventBus.$on('updateStore', this.addProduct); 4015 themeHelper.EventBus.$on('quantityDecrease', this.quantityDecrease); 4016 themeHelper.EventBus.$on('quantityIncrease', this.quantityIncrease); 4017 themeHelper.EventBus.$on('quantityChange', this.quantityChange); 4018 }, 4019 methods: { 4020 addProduct: function(actionType, productData, checkoutAddToCartCallback){ 4021 var self = this; 4022 var pageViewId = window.CYBERBIZ && window.CYBERBIZ.dis && window.CYBERBIZ.dis.pageViewId; 4023 $.ajax({ 4024 method: 'POST', 4025 url: '/cart/add', 4026 headers: pageViewId ? { 'X-Cyb-Page-View-Id': pageViewId } : {}, 4027 data: { 4028 id: productData.id, 4029 quantity: productData.quantity, 4030 }, 4031 dataType: 'json', 4032 beforeSend: function() { 4033 self.loading = true; 4034 themeHelper.ajaxLoadingMsg('loading'); 4035 $('.shopcart').dropdown('hide') 4036 $('.global-cart-count').hide(); 4037 $('.global-cart-loading').show(); 4038 $('.global-cart-loading').html('<i class="fa fa-spinner fa-pulse" style="vertical-align: middle;"></i>'); 4039 }, 4040 error: function(xhr) { 4041 $('.global-cart-loading').hide(); 4042 $('.global-cart-count').show(); 4043 self.loading = false; 4044 if (xhr.status === 429) { 4045 themeHelper.ajaxLoadingMsg('hide', 0); 4046 self.closeProductModal(); 4047 window.showAddCartRateLimitModal(5); 4048 return; 4049 } 4050 themeHelper.ajaxLoadingMsg('fail', 2000); 4051 } 4052 }).done(function(data, status, request){ 4053 // product modal ç«å³è³¼è²·æé 4054 window.sendAddToCartEvent && sendAddToCartEvent({ 4055 price: productData.price, 4056 quantity: productData.quantity, 4057 id: productData.product.id, 4058 name: productData.product.title, 4059 category: productData.product.productType, 4060 brand: productData.product.vendor, 4061 qc: productData.variant.qc, 4062 variant: { 4063 id: productData.variant.id, 4064 title: productData.variant.title, 4065 sku: productData.variant.sku, 4066 price: productData.variant.price, 4067 qc: productData.variant.qc, 4068 }, 4069 position: "ååå½åºè¦çª", 4070 request, 4071 }) 4072 if (self.isQuickBuy) { 4073 if (window.liquidHelper && window.liquidHelper.language && window.liquidHelper.language.handle) { 4074 window.location = "/" + window.liquidHelper.language.handle + "/cart"; 4075 } else { 4076 window.location = "/cart"; 4077 } 4078 } else { 4079 themeHelper.ajaxLoadingMsg('success'); 4080 pullNavCart(); 4081 $('.shopcart').dropdown('show') 4082 $('.global-cart-loading').hide(); 4083 self.loading = false; 4084 } 4085 if(typeof checkoutAddToCartCallback === 'function'){ 4086 var callbackData = { 4087 id: productData.id, 4088 quantity: productData.quantity, 4089 title: productData.product ? productData.product.title : productData.title || '' 4090 }; 4091 checkoutAddToCartCallback(callbackData) 4092 } 4093 peh.emit('product:add_to_cart', [{ 4094 variantId: productData.id, 4095 quantity: productData.quantity 4096 }], self.collectionId); 4097 }).fail(function(e){ 4098 if (e.status === 429) { 4099 return; 4100 } 4101 let err_msg = e.responseJSON.err_msg; 4102 err_msg && err_msg.length > 0 ? 4103 window.msg(e.responseJSON.err_msg, 'warning').show(): 4104 window.msg("å å ¥è³¼ç©è»æèª¤ï¼è«éæ°å試", 'warning').show(); 4105 }) 4106 }, 4107 quantityDecrease: function(cartItem, isAdded){ 4108 if (cartItem.quantity > 1) { 4109 cartItem.quantity -= 1; 4110 } else { 4111 window.msg("æ¸éä¸å¾çºä½æ¼ 1", 'warning').show(); 4112 } 4113 }, 4114 quantityIncrease: function(cartItem, isAdded){ 4115 const limitQuantity = cartItem.variant.inventoryQuantity; 4116 const limitBuy = cartItem.product.limitBuy 4117 if (limitBuy && cartItem.quantity >= limitBuy) { 4118 product_limit_buy = "æ¤ååéè³¼ limitBuy ä»¶".replace('limitBuy', limitBuy) 4119 window.msg(product_limit_buy, 'warning').show(); 4120 return; 4121 } else if (cartItem.quantity >= liquidHelper.cartQuantityLimit) { 4122 window.msg("æ¸éè¶ é購買ä¸é", 'warning').show(); 4123 } else if ( cartItem.quantity < limitQuantity || limitQuantity === null || 4124 cartItem.variant.inventoryPolicy == "continue" || shouldSkipQuantityCheck) { 4125 cartItem.quantity += 1; 4126 } else { 4127 this.showInventoryMessage(limitQuantity); 4128 } 4129 },
4130 quantityChange: function(quantity, cartItem, isAdded){ 4131 const limitBuy = cartItem.product.limitBuy 4132 var limitQuantity = cartItem.variant.inventoryQuantity; 4133 var inventoryPolicy = cartItem.variant.inventoryPolicy; 4134 if (Number.isInteger(quantity)) { 4135 if (quantity >= 1) { 4136 if (limitBuy && quantity >= limitBuy) { 4137 product_limit_buy = "æ¤ååéè³¼ limitBuy ä»¶".replace('limitBuy', limitBuy) 4138 window.msg(product_limit_buy, 'warning').show(); 4139 } else if (quantity > liquidHelper.cartQuantityLimit) { 4140 window.msg("æ¸éè¶ é購買ä¸é", 'warning').show(); 4141 } else if (quantity <= limitQuantity || limitQuantity === null || inventoryPolicy == "continue" || shouldSkipQuantityCheck) { 4142 cartItem.quantity = quantity; 4143 } else { 4144 cartItem.quantity = limitQuantity; 4145 this.showInventoryMessage(limitQuantity); 4146 } 4147 } else { 4148 window.msg("æ¸éä¸å¾çºä½æ¼ 1", 'warning').show(); 4149 } 4150 } else { 4151 window.msg("æ¸éè¼¸å ¥é¯èª¤", 'warning').show(); 4152 } 4153 }, 4154 popModal: function(productUrl, collectionId, color, isCollection, isShowDescription, isQuickBuy, variantId, checkoutAddToCartCallback, categories){ 4155 this.showProductModal = true; 4156 this.collectionId = collectionId; 4157 this.categories = categories || []; 4158 this.popProductUrl = productUrl; 4159 this.color = color || ''; // unused 4160 this.isCollection = isCollection || false; 4161 this.isShowDescription = isShowDescription != false; 4162 this.isQuickBuy = isQuickBuy || false; 4163 this.selectedVariantId = parseInt(variantId) || undefined; 4164 this.checkoutAddToCartCallback = checkoutAddToCartCallback; 4165 document.body.style.overflow = "hidden"; 4166 }, 4167 closeProductModal: function() { 4168 this.showProductModal = false; 4169 document.body.style.overflow = ""; 4170 }, 4171 showInventoryMessage: function(inventoryQuantity) { 4172 const stockMessage = "åå庫åå©é¤ count ä»¶".replace('count', inventoryQuantity || 0); 4173 window.msg(stockMessage, 'warning').show(); 4174 }, 4175 } 4176 }); 4177 4178 for (const componentName in window.themeHelper.productModalComponents) { 4179 newAddCartModalApp.component( 4180 componentName, 4181 window.themeHelper.productModalComponents[componentName], 4182 ); 4183 } 4184 4185 window.new_addcart_modal = newAddCartModalApp.mount(); 4186 }); 4187</script>
4187 4188 4189<!-- cyb_snippet new_addcart_modal end --> 4190
4190<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/new_cart-e958d46bfee2e69f.js' type='text/javascript'></script>
4190 4191 4192</div> 4193 4194 </div> 4195 4196 <!-- Footer --> 4197 4198 4199 4200 4201 4202 4203 4204<style> 4205 4206 4207 @media(min-width: 991px) { 4208 .display_x .left-content > div { 4209 max-width: calc(100% / 2); 4210 } 4211 } 4212</style> 4213 4214<div id="index-recommendation"></div> 4215 4216<footer id="footer" class="qk-fs--body qk-bg--footer_bg"> 4217 4218 4219 <div class="qk-container display_y"> 4220 <div class="footer_content qk-mg--0 qk-display--flex qk-justify--between"> 4221 <div class="left-content qk-flex--1"> 4222 4223 4224 <div class="link-list-container"> 4225 4226 <p class="footer_title qk-fs--title qk-text--footer_text">éæ¼æå</p> 4227 4228 <div class="item horizontal qk-text--left"> 4229 <ul class="qk-display--flex qk-flex--wrap"> 4230 4231 4232 <li class="qk-display--il_bk"> 4233 4234 <a 4235 class="qk-text--footer_text" 4236 href="/search" 4237 rel="noopener noreferrer" 4238 target="_blank">æ¥è©¢</a> 4239 4240 </li> 4241 4242 <li class="qk-display--il_bk"> 4243 4244 <a 4245 class="qk-text--footer_text" 4246 href="/pages/about-us" 4247 rel="noopener noreferrer" 4248 target="_blank">éæ¼æå</a> 4249 4250 </li> 4251 4252 <li class="qk-display--il_bk"> 4253 4254 <a 4255 class="qk-text--footer_text" 4256 href="/pages/genuine" 4257 rel="noopener noreferrer" 4258 target="_blank">ä¿èæ£è²¨</a> 4259 4260 </li> 4261 4262 <li class="qk-display--il_bk"> 4263 4264 <a 4265 class="qk-text--footer_text" 4266 href="/account/index" 4267 rel="noopener noreferrer" 4268 target="_blank">æç帳æ¶</a> 4269 4270 </li> 4271 4272 <li class="qk-display--il_bk"> 4273 4274 <a 4275 class="qk-text--footer_text" 4276 href="/pages/refund" 4277 rel="noopener noreferrer" 4278 target="_blank">éæè²¨æ¿ç</a> 4279 4280 </li> 4281 4282 4283 </ul> 4284 </div> 4285 </div> 4286 4287 4288 4289 <div class="item contact qk-text--left"> 4290 4291 <p class="footer_title qk-fs--title qk-text--footer_text">è¯çµ¡è³è¨</p> 4292 4293 <ul> 4294 4295 4296 4297 <li class="time qk-bd_r--default qk-bd--footer_text qk-display--il_bk"> 4298 <span class="qk-text--footer_text">客ææéï¼é±ä¸å°é±äº 10:00 - 17:30</span> 4299 </li> 4300 4301 4302 <br> 4303 <li class="mail qk-bd_r--default qk-bd--footer_text qk-cursor--pointer qk-display--il_bk"> 4304 <a class="qk-text--footer_text" href="mailto:[email protected]">ä¿¡ç®±ï¼[email protected]</a> 4305 </li> 4306 4307 4308 4309 </ul> 4310 </div> 4311 4312 4313 </div> 4314 <div class="right-content qk-display--flex qk-flex--column"> 4315 4316 <div class="media qk-display--il"> 4317 <div class="item social_media qk-h--auto qk-float--l"> 4318 <ul> 4319 4320 <li class="qk-display--il_bk"> 4321 <a target="_blank" rel="noopener noreferrer" href="https://reurl.cc/mGj0e7"> 4322 <svg 4323 class="facebook-svg" 4324 xmlns="http://www.w3.org/2000/svg" 4325 width="40" 4326 height="40"
4327 viewBox="0 0 40 40"> 4328 <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" /> 4329 </svg> 4330 </a> 4331 </li> 4332 4333 4334 4335 <li class="qk-display--il_bk"> 4336 <a target="_blank" rel="noopener noreferrer" href="https://lin.ee/W87riD8"> 4337 <svg 4338 class="line-svg" 4339 xmlns="http://www.w3.org/2000/svg" 4340 width="40" 4341 height="40" 4342 viewBox="0 0 40 40"> 4343 <rect class="qk-svg--footer_text" width="40" height="40" rx="20" /> 4344 <path class="qk-svg--footer_bg" d="M32.5946 18.2214C32.5946 12.5857 26.9449 8 20.0002 8C13.0555 8 7.40576 12.5857 7.40576 18.2214C7.40576 23.2743 11.8873 27.5053 17.9396 28.3048C18.3506 28.392 18.908 28.575 19.0487 28.9269C19.1754 29.245 19.1303 29.7433 19.0881 30.0642C19.0881 30.0642 18.9417 30.9537 18.908 31.1423C18.8517 31.4604 18.6546 32.3866 20.0002 31.8207C21.343 31.2549 27.2545 27.5503 29.895 24.5101C31.7191 22.5058 32.5946 20.4762 32.5946 18.2214Z" /> 4345 <path class="qk-svg--footer_text" d="M17.4413 15.4965H16.5574C16.4223 15.4965 16.3125 15.6062 16.3125 15.7414V21.2279C16.3125 21.363 16.4223 21.4728 16.5574 21.4728H17.4413C17.5764 21.4728 17.6862 21.363 17.6862 21.2279V15.7414C17.6862 15.6062 17.5764 15.4965 17.4413 15.4965Z" /> 4346 <path class="qk-svg--footer_text" d="M23.5219 15.4965H22.638C22.5028 15.4965 22.3931 15.6063 22.3931 15.7414V19.0012L19.8792 15.6063C19.8736 15.5978 19.868 15.5894 19.8595 15.5809C19.8595 15.5809 19.8595 15.5809 19.8595 15.5781C19.8539 15.5725 19.8483 15.5668 19.8455 15.564C19.8426 15.564 19.8426 15.5612 19.8398 15.5584C19.8342 15.5556 19.8314 15.55 19.8258 15.5471C19.8229 15.5443 19.8229 15.5443 19.8201 15.5415C19.8173 15.5387 19.8117 15.5359 19.8089 15.5331C19.8061 15.5303 19.8032 15.5303 19.8004 15.5274C19.7948 15.5246 19.792 15.5218 19.7863 15.519C19.7835 15.519 19.7807 15.5162 19.7779 15.5162C19.7723 15.5134 19.7695 15.5105 19.7638 15.5105C19.761 15.5105 19.7582 15.5077 19.7554 15.5077C19.7498 15.5049 19.7469 15.5049 19.7413 15.5021C19.7385 15.5021 19.7357 15.5021 19.7329 15.4993C19.7272 15.4993 19.7244 15.4965 19.7188 15.4965C19.716 15.4965 19.7132 15.4965 19.7075 15.4937C19.7019 15.4937 19.6991 15.4937 19.6935 15.4908C19.6878 15.4908 19.685 15.4908 19.6822 15.4908C19.6794 15.4908 19.6766 15.4908 19.6737 15.4908H18.7898C18.6547 15.4908 18.5449 15.6006 18.5449 15.7358V21.2222C18.5449 21.3574 18.6547 21.4671 18.7898 21.4671H19.6737C19.8089 21.4671 19.9187 21.3574 19.9187 21.2222V17.9709L22.4353 21.3714C22.4522 21.3968 22.4747 21.4165 22.4972 21.4305C22.4972 21.4305 22.5 21.4305 22.5 21.4334C22.5057 21.4362 22.5113 21.439 22.5141 21.4418C22.5169 21.4418 22.5197 21.4446 22.5226 21.4446C22.5254 21.4474 22.531 21.4474 22.5338 21.4503C22.5366 21.4531 22.5423 21.4531 22.5451 21.4559C22.5479 21.4559 22.5507 21.4587 22.5535 21.4587C22.5591 21.4615 22.5648 21.4615 22.5704 21.4643H22.5732C22.5929 21.47 22.6154 21.4728 22.6352 21.4728H23.5191C23.6542 21.4728 23.764 21.363 23.764 21.2279V15.7414C23.7668 15.6063 23.657 15.4965 23.5219 15.4965Z" /> 4347 <path class="qk-svg--footer_text" d="M15.313 20.099H12.9118V15.7414C12.9118 15.6062 12.802 15.4965 12.6669 15.4965H11.783C11.6479 15.4965 11.5381 15.6062 11.5381 15.7414V21.2279C11.5381 21.2926 11.5634 21.3545 11.6056 21.3968L11.6085 21.3996L11.6113 21.4024C11.6563 21.4446 11.7154 21.4699 11.7802 21.4699H15.3102C15.4453 21.4699 15.5551 21.3602 15.5551 21.225V20.3411C15.5579 20.2116 15.4482 20.099 15.313 20.099Z" /> 4348 <path class="qk-svg--footer_text" d="M28.4001 16.8702C28.5352 16.8702 28.645 16.7604 28.645 16.6253V15.7414C28.645 15.6062 28.5352 15.4965 28.4001 15.4965H24.87C24.8053 15.4965 24.7433 15.5218 24.7011 15.5668L24.6983 15.5697C24.6983 15.5725 24.6955 15.5725 24.6955 15.5753C24.6533 15.6203 24.6279 15.6794 24.6279 15.7442V21.2307C24.6279 21.2954 24.6533 21.3573 24.6955 21.3996L24.6983 21.4024L24.7011 21.4052C24.7462 21.4474 24.8053 21.4756 24.87 21.4756H28.4001C28.5352 21.4756 28.645 21.3658 28.645 21.2307V20.3467C28.645 20.2116 28.5352 20.1018 28.4001 20.1018H25.9988V19.1757H28.4001C28.5352 19.1757 28.645 19.0659 28.645 18.9308V18.0469C28.645 17.9118 28.5352 17.802 28.4001 17.802H25.9988V16.8758H28.4001V16.8702Z" /> 4349 </svg> 4350 </a> 4351 </li> 4352 4353 4354 </ul> 4355 </div> 4356 </div> 4357 </div> 4358 </div> 4359 </div> 4360 4361 <div class="copyright qk-text--footer_text qk-bd--footer_text qk-text--left qk-bd_t--default"> 4362 <div class="qk-container container qk-fw--500">
4363 <span>Copyright ©</span> 4364 <a class="qk-text--link" href="/"> 4365 <span>é»å§æä¿é¤</span> 4366 </a> 4367 <span>All Rights Reserved.</span> 4368 <span>Designed by 4369 </span> 4370 <a 4371 class="qk-text--link" 4372 href="https://www.cyberbiz.io?utm_source=poweredbycyberbiz" 4373 target="_blank" 4374 rel="noopener noreferrer" 4375 title="Designed by CYBERBIZ">CYBERBIZ</a>. 4376 </div> 4377 </div> 4378 4379</footer>
4380<script> 4381 $(document).ready(function() { 4382 let isDynamicLoading = false; 4383 4384 let menusData = { 4385 4386 4387 "footer": { 4388 4389 "type": "items", 4390 "data": [ 4391 4392 4393 4394 { 4395 "title": "æ¥è©¢", 4396 "url": "/search", 4397 "item_type": "search" 4398 }, 4399 4400 { 4401 "title": "éæ¼æå", 4402 "url": "/pages/about-us", 4403 "item_type": "page" 4404 }, 4405 4406 { 4407 "title": "ä¿èæ£è²¨", 4408 "url": "/pages/genuine", 4409 "item_type": "page" 4410 }, 4411 4412 { 4413 "title": "æç帳æ¶", 4414 "url": "/account/index", 4415 "item_type": "http" 4416 }, 4417 4418 { 4419 "title": "éæè²¨æ¿ç", 4420 "url": "/pages/refund", 4421 "item_type": "refund" 4422 } 4423 4424 4425 ] 4426 4427 }, 4428 4429 4430 4431 4432 }; 4433 4434 if (isDynamicLoading) { 4435 window.DynamicLoading.setupComponent({ 4436 sectionId: '#footer', 4437 callbackData:{ 4438 section: {"type":"footer","visible":true,"settings":{"footer_link":"footer","display_facebook":true,"shop_facebook":"https://reurl.cc/mGj0e7","display_instagram":false,"shop_instagram":"https://www.instagram.com/?hl=zh-tw","display_line":true,"shop_line":"https://lin.ee/W87riD8","display_youtube":false,"shop_youtube":"https://www.youtube.com/","footer_link_arrangement":"display_y","display_facebook_fan_block":true},"custom_name":"é è ³","thumbnail":"footer","draggable":false,"block_order":["default_link_list","default_contact_info"],"blocks":{"default_link_list":{"type":"link_list_setting","custom_name":"é¸å®","thumbnail":"list","draggable":true,"visible":true,"settings":{"footer_link":"footer","dict_link_list_block_title":"éæ¼æå"}},"default_contact_info":{"type":"contact_info_setting","custom_name":"è¯çµ¡è³è¨","thumbnail":"contactInfo","draggable":true,"visible":true,"settings":{"display_phone":false,"display_fax_number":false,"shop_fax_number":"0222345678","display_shop_email":true,"display_shop_address":false,"display_office_time":"true","shop_office_time":"10:00-17:00","dict_contact_info_block_title":"è¯çµ¡è³è¨","dict_phone_number":"02-2775-2682","dict_shop_email":"[email protected]","dict_shop_address":"æ°å叿°èåäºå·¥äºè·¯62å··6è䏿¨","display_tax_id":false,"dict_tax_id":"55783512 ","dict_shop_office_time":"é±ä¸å°é±äº 10:00 - 17:30"}}}}, 4439 shop: { 4440 name: 'é»å§æä¿é¤', 4441 cyberbiz_link: 'https://www.cyberbiz.io?utm_source=poweredbycyberbiz', 4442 facebook_fan_page: '', 4443 }, 4444 menus: menusData, 4445 is_display_facebook_fan_block: false 4446 }, 4447 entryName:'renderFooterSection', 4448 source:'//cdn-general.cybassets.com/frontend/shop/footerSection-e958d46bfee2e69f.js', 4449 }); 4450 } 4451 }); 4452</script>
4452 4453 4454<!-- cyb_snippet _tracking_code start --> 4455
4455<script> 4456 window.fbAsyncInit = function() { 4457 FB.init({ 4458 appId : '', 4459 xfbml : true, 4460 version : 'v24.0', 4461 }); 4462 }; 4463 (function(d, s, id){ 4464 var js, fjs = d.getElementsByTagName(s)[0]; 4465 if (d.getElementById(id)) {return;} 4466 js = d.createElement(s); 4467 js.id = id; 4468 js.src = 'https://connect.facebook.net/zh_TW/sdk.js'; 4469 fjs.parentNode.insertBefore(js, fjs); 4470 }(document, 'script', 'facebook-jssdk')); 4471 </script>
4471 4472 4473
4474<script> 4475 // for scupio 4476 if (document.querySelector("meta[name=\"scupio_mid\"]")) { 4477 mid = document.querySelector("meta[name=\"scupio_mid\"]").content; 4478 } else { 4479 mid = ""; 4480 } 4481 if (!window.is_scupio_sent && mid) { 4482 window._bwtm = window._bwtm || [] 4483 window._bwtm.push({ 4484 "mid": mid, 4485 "uid": "" 4486 }); 4487 } 4488</script>
4488 4489 4490<!-- cyb_snippet _tracking_code end --> 4491
4492<script> 4493 $(document).ready(function(){ 4494 if(window.location.pathname != '' && window.location.pathname != '/' ){ 4495 document.getElementById('index-recommendation').style.display = 'none' 4496 } 4497 }); 4498</script>
4498 4499 4500 4501 4502 <!-- Fast-Events --> 4503 <!-- cyb_snippet fast_events start --> 4504 4505
4506<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/fast_events-e958d46bfee2e69f.js' type='text/javascript'></script>
4506 4507<link href='//cdn-general.cybassets.com/frontend/shop/beta_theme/css/fast_events-e958d46bfee2e69f.css' rel='stylesheet' type='text/css' media='all' /> 4508 4509<!-- cyb_snippet fast_events end --> 4510 4511 <div class="bottom-right qk-pos--fixed"> 4512 <!-- gototop --> 4513 <div id="gototop" class="qk-display--none qk-text--center"> 4514 <a href="javascript:void(0)" class="qk-circle qk-circle--lg qk-pos--relative qk-text--center"> 4515 <i class="fas fa-chevron-up"></i> 4516 </a> 4517 </div> 4518 4519 <!-- popup --> 4520 4521 4522 4523 4524<div id="popup-wrapper" class="qk-display--none"></div> 4525 4526<template id="popup-template"> 4527 <div 4528 :class="status" 4529 v-if="hasContent" 4530 id="popup-section" 4531 > 4532 <transition name="backdrop"> 4533 <div 4534 v-if="shouldShowPopup" 4535 @click.capture="minifyPopup" 4536 id="popup-backdrop" 4537 class="qk-w--100vw qk-h--100vh qk-pos--fixed qk-t--0 qk-l--0 qk-tst" 4538 > 4539 </div> 4540 </transition> 4541 <transition name="onShow"> 4542 <div 4543 @click.self="showPopup" 4544 @transitionstart="updateGameStatus('start', this)" 4545 @transitionend="updateGameStatus('end', this)" 4546 class="popup-content qk-display--flex qk-align--center qk-tst qk-tst_dur--30 qk-tst_timing--ease_o" 4547 > 4548 <div 4549 v-for="block in blocks" 4550 :key="block.id" 4551 :class="[block.type, minifiedBlockClasses, block.settings.icon_size]" 4552 class="block qk-tst qk-tst_dur--30 qk-tst_timing--ease_o qk-of--auto" 4553 > 4554 <div v-if="block.type === 'image'" class="qk-pos--rel"> 4555 <img 4556 v-show="!shouldShowPopup" 4557 :src="block.settings.dict_icon_image_url" 4558 class="qk-tst qk-tst_dur--30 qk-tst_timing--ease_o" 4559 alt="popup button" 4560 > 4561 <a 4562 v-show="shouldShowPopup" 4563 :href="block.settings.dict_link" 4564 :target="block.settings.target" 4565 :rel="block.settings.rel" 4566 class="qk-display--flex qk-align--center" 4567 @click="linkClicked" 4568 > 4569 <picture> 4570 <source :srcset="block.settings.dict_mobile_image_url" media="(max-width: 576px)"> 4571 <source :srcset="block.settings.dict_tablet_image_url" media="(max-width: 992px)"> 4572 <img 4573 :src="block.settings.dict_image_url" 4574 class="qk-tst qk-tst_dur--30 qk-tst_timing--ease_o" 4575 alt="popup picture" 4576 /> 4577 </picture> 4578 </a> 4579 </div> 4580 <div v-if="block.type === 'video'"> 4581 <iframe 4582 :src="block.settings.dict_video_link" 4583 frameborder="0" 4584 class="qk-center--y qk-w--100 qk-h--100" 4585 ></iframe> 4586 </div> 4587 <div v-if="block.type === 'game'"> 4588 <div v-show="gameStatus === 'show'" :class="{ 'show-game': gameStatus === 'show' }"> 4589 <iframe 4590 class="cb-game-iframe iframe-loading" 4591 :src="getGameIframeSrc(block)" 4592 style="border: none;" 4593 > 4594 Loading 4595 </iframe> 4596 </div> 4597 <div v-show="gameStatus === 'minified'"> 4598 <img 4599 src="//cdn-general.cybassets.com/game_assets/game_minified_new.png" 4600 class="qk-h--100 qk-w--100" 4601 alt="game minified icon" 4602 /> 4603 </div> 4604 </div> 4605 <div 4606 v-if="block.type === 'carousel'" 4607 :id="`popup-carousel-${block.id}`" 4608 > 4609 </div> 4610 </div> 4611 </div> 4612 </transition> 4613 <transition name="backdrop"> 4614 <div 4615 v-if="shouldShowPopup" 4616 @click.capture="minifyPopup" 4617 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" 4618 > 4619 </div> 4620 </transition> 4621 </div> 4622</template> 4623
4624<script> 4625 $(document).ready(function() { 4626 const CDN_HOST = '//cdn-general.cybassets.com'; 4627 const section = {"type":"popup","visible":true,"blocks":{"popup_block_1":{"type":"image","visible":false,"settings":{"dict_image_url":"/theme_src/i18n_shoestore/default_img/popup_default.jpg","icon_size":"small"},"custom_name":"åç","thumbnail":"banner","draggable":true}},"block_order":["popup_block_1"],"settings":{},"custom_name":"å½çªå»£å","thumbnail":"banner","draggable":false}; 4628 var popupSection = Vue.createApp({ 4629 template: '#popup-template', 4630 delimiters: ['${', '}'], 4631 data() { 4632 const isOmniauthPage = ['omniauth_terms_agreement', 'omniauth_mobile/'] 4633 .some(path => location.pathname.includes(path)); 4634 return { 4635 status: 'minified', 4636 gameStatus: 'show', 4637 blocks: isOmniauthPage 4638 ? [] 4639 : section.block_order && section.block_order.reduce( 4640 function(acc, blockId) { 4641 const block = section.blocks[blockId]; 4642 if (block && block.visible) { 4643 acc.push({ 4644 ...block, 4645 id: blockId, 4646 }); 4647 } 4648 return acc; 4649 }, 4650 [], 4651 ), 4652 hasAddedGameScript: false, 4653 }; 4654 }, 4655 computed: { 4656 hasContent: function() { 4657 return !!(this.blocks && this.blocks.length > 0); 4658 }, 4659 minifiedBlockClasses: function() { 4660 return this.status === 'minified' ? 'qk-pointer--none qk-unselectable' : ''; 4661 }, 4662 shouldShowPopup: function() { 4663 return this.status === 'show'; 4664 } 4665 }, 4666 methods: { 4667 unhidePopup: function(storedStatus) { 4668 this.status = storedStatus; 4669 $('#popup-wrapper').removeClass('qk-display--none'); 4670 }, 4671 showPopup: function() { 4672 if (this.status !== 'show') { 4673 this.status = 'show'; 4674 this.saveStatus(this.status); 4675 } 4676 }, 4677 minifyPopup: function() { 4678 this.status = 'minified'; 4679 this.saveStatus('minified'); 4680 }, 4681 loadStatus: function() { 4682 return JSON.parse(localStorage.getItem('popupStatus')); 4683 }, 4684 saveStatus: function(status) { 4685 if (status) { 4686 localStorage.setItem('popupStatus', JSON.stringify({ 4687 status: status, 4688 setTime: new Date().getTime(), 4689 })); 4690 } 4691 }, 4692 linkClicked: function() { 4693 this.saveStatus('minified'); 4694 }, 4695 parseVideoLink: function(settings) { 4696 settings.dict_video_link = themeHelper.parseYtUrl(settings.dict_video_link); 4697 }, 4698 setupImageSrc: function (settings) { 4699 settings.dict_image_url = this.addCdnHost(settings.dict_image_url); 4700 if (settings.dict_tablet_image_url) { 4701 settings.dict_tablet_image_url = this.addCdnHost(settings.dict_tablet_image_url); 4702 } 4703 if (settings.dict_mobile_image_url) { 4704 settings.dict_mobile_image_url = this.addCdnHost(settings.dict_mobile_image_url); 4705 } 4706 settings.dict_icon_image_url = this.addCdnHost(settings.dict_icon_image_url) || settings.dict_image_url; 4707 }, 4708 addCdnHost: function(url) { 4709 if (!url) { 4710 return url; // only add cdn host if url is not empty 4711 } 4712 4713 try { 4714 new URL(url); 4715 return url; // already a valid url, cdn host not needed 4716 } catch { 4717 return `${CDN_HOST}${url}`; 4718 } 4719 }, 4720 initStatus: function() { 4721 let newStatus = 'show'; 4722 const popupStatus = this.loadStatus(); 4723 const currentTime = new Date().getTime(); 4724 const oneDay = 1000 * 60 * 60 * 24; 4725 const hasStoredStatus = popupStatus && currentTime - popupStatus.setTime < oneDay; 4726 const redirectedByGameLogin = !this.hasRedirectUrl() && this.redirectedByGameLogin(); 4727 const isLoggingIn = this.isLoggingIn(); 4728 const isCartPage = window.location.pathname.split('/').includes('carts'); 4729 4730 if (hasStoredStatus && !redirectedByGameLogin) { 4731 newStatus = popupStatus.status; 4732 } 4733 4734 if (isLoggingIn) { 4735 newStatus = 'minified'; 4736 } else { 4737 localStorage.removeItem('redirectedByPopup'); 4738 } 4739 4740 setTimeout(() => { 4741 this.status = newStatus; 4742 this.gameStatus = newStatus; 4743 this.saveStatus(newStatus); 4744 if(!isCartPage){ 4745 this.unhidePopup(newStatus); 4746 } 4747 }, 1000); 4748 }, 4749 initBlocks: function() { 4750 if (this.hasContent) { 4751 this.blocks.forEach(block => { 4752 switch(block.type) { 4753 case 'image': 4754 this.setupImageSrc(block.settings); 4755 4756 const isOpenInNewTab = block.settings.link_open_in_new_tab; 4757 if (isOpenInNewTab) { 4758 block.settings.target = '_blank'; 4759 block.settings.rel = 'noopener noreferrer'; 4760 } 4761 4762 break; 4763 case 'video': 4764 this.parseVideoLink(block.settings); 4765 break; 4766 } 4767 }) 4768 } 4769 }, 4770 getGameIframeSrc: function (block) { 4771 return `/games/${block.settings.dict_game_handle}` 4772 }, 4773 updateGameStatus: function(type, element) { 4774 if ( 4775 (type === 'start' && this.status === 'minified') 4776 || (type === 'end' && this.status === 'show') 4777 ) { 4778 this.gameStatus = this.status; 4779 } 4780 }, 4781 setupGameRedirects: function() { 4782 window.addEventListener('pagehide', () => { 4783 const isGameActive = document.body.getElementsByClassName('show-game').length; 4784 if (isGameActive) { 4785 localStorage.setItem('redirectedByPopup', 'true'); 4786 this.saveStatus('minified'); 4787 } 4788 }); 4789 }, 4790 hasRedirectUrl: function() { 4791 return (new URLSearchParams(location.search)).has('redirect_url'); 4792 }, 4793 redirectedByGameLogin: function() { 4794 return localStorage.getItem('redirectedByPopup'); 4795 }, 4796 isLoggingIn: function() { 4797 const loginRelatedPathnames = [ 4798 'account/signup', 4799 'account/login', 4800 'account/customer/password/new', 4801 'pages/terms' 4802 ]; 4803 return loginRelatedPathnames.some(path => location.pathname.includes(path)); 4804 } 4805 }, 4806 created: function() { 4807 this.initStatus(); 4808 this.initBlocks(); 4809 this.setupGameRedirects(); 4810 }, 4811 mounted: function() { 4812 this.blocks.forEach((block) => { 4813 if (block.type === 'carousel' && block.settings.dict_c
4813arousel) { 4814 renderCarousel(`#popup-carousel-${block.id}`, { 4815 title: block.settings.dict_carousel, 4816 CDN_HOST, 4817 onLinkClick: () => this.linkClicked(), 4818 }); 4819 } 4820 }); 4821 }, 4822 }); 4823 popupSection.mount('#popup-wrapper'); 4824 }); 4825</script>
4825 4826 4827 4828 4829 </div> 4830 4831 <!-- ajaxloading --> 4832 <div id="ajaxloading" class="qk-display--none qk-h--100vh qk-w--100vw qk-l--0 qk-t--0 qk-pos--fixed"> 4833 <div class="ajaxbody qk-pos--abs qk-l--50 qk-t--50 qk-text--center"> 4834 <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"> 4835 <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"/> 4836 <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 "/> 4837 <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"/> 4838 <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"/> 4839 <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"/> 4840 <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"/> 4841 </svg> 4842 <div class="success_msg title qk-display--none qk-pos--abs qk-l--0 qk-w--100 qk-text--center">å·²å å ¥è³¼ç©è»</div> 4843 <div class="success_update_msg title qk-display--none qk-pos--abs qk-l--0 qk-w--100 qk-text--center">å·²æ´æ°è³¼ç©è»</div> 4844 <div class="fail_msg title qk-display--none qk-pos--abs qk-l--0 qk-w--100 qk-text--center">網路ç°å¸¸ï¼è«éæ°æ´ç</div> 4845 </div> 4846 </div> 4847 </body> 4848 4849
4849<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/sub_vendor-e958d46bfee2e69f.js' type='text/javascript'></script>
4849 4850
4850<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/theme_helper-e958d46bfee2e69f.js' type='text/javascript'></script>
4850 4851 4852 <!-- theme assets --> 4853
4853<script src='//cdn-general.cybassets.com/s/files/21126/theme/77307/assets/js/1666252931_8187bd3d_main.js?1666252931' type='text/javascript'></script>
4853 4854
4854<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/theme-e958d46bfee2e69f.js' type='text/javascript'></script>
4854 4855 4856 <!-- for cache --> 4857
4857<script src='//cdn-general.cybassets.com/frontend/shop/beta_theme/js/cacheable-e958d46bfee2e69f.js' type='text/javascript'></script>
4857 4858</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.