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 8 <!-- CYBERBIZ Google Tag Manager --> 9
9<script>
vendor: 345 bytes, lines 9-13
9(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 10 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 11 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 12 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 13 })(window,document,'script','cyb','
13GTM-TXD9LVJ
vendor: 3 bytes, line 13
13');
13</script>
13 14 <!-- End CYBERBIZ Google Tag Manager --> 15 16 <meta charset="utf-8"> 17<meta http-equiv="X-UA-Compatible" content="IE=edge"> 18<meta name="viewport" content="width=device-width, initial-scale=1"> 19<link rel="icon" href="https://cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY2NzY1Mjc2XzQ4LmpwZy5qcGVnIl1d.jpeg?convert=false&sha=ce9aa9d35465a12e"> 20<link rel="apple-touch-icon" href="https://cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY2NzY1Mjc2XzQ4LmpwZy5qcGVnIl1d.jpeg?convert=false&sha=ce9aa9d35465a12e"> 21 22<meta property="og:site_name" content="æåSUCCESS" /> 23 24<!-- og tag --> 25 26 27<!-- og image --> 28 29 <meta property="og:image" content="https://cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L3Byb2R1Y3RzLzM3ODU5MzkwLzE2NjEzMTM2MTdfNWE5MjBiYjM1NGFlYWQ5ODIyNTMuanBlZyJdLFsicCIsInRodW1iIiwiNDgweDQ4MCJdXQ.jpeg?sha=e62005be53c4562d" /> 30 31 32<title> 33 34 æå S5190æ¶æåèè ¿è¸æ¥æ© æåSUCCESS 35 36</title> 37 38 39
40<script src='//cdn1-next.cybassets.com/frontend/shop/useSettingsData-3a2e378145f8a165.js' type='text/javascript'></script>
40 41 42 43 44
44<script> 45 window.setSettingsData({"draggable_sections":{"404":[],"index":["_index_product_banner_2","1686029053702_0","1762478853109_3","1692680896631_1","_index_4_blocks","1669106926578_0","_index_8_blocks","1669107192847_1"],"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":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY2NzY0MTM2X2xvZ28o55m95qGG6KGh5Y675a2XKS5wbmcucG5nIl1d.png?sha=2339a9b00a8564ac","navbar_image_logo_tablet_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY2NzY0MTM2X2xvZ28o55m95qGG6KGh5Y675a2XKS5wbmcucG5nIl1d.png?sha=2339a9b00a8564ac","navbar_image_logo_mobile_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY2NzY0MTM2X2xvZ28o55m95qGG6KGh5Y675a2XKS5wbmcucG5nIl1d.png?sha=2339a9b00a8564ac","main_nav":"main-menu","slider_primary_linklist":"main-menu","slider_primary_linklist_set_open":false,"nav_show_three_dimension":true,"search_enabled":true,"display_only_index":false,"dict_header_banner_image_url":"","dict_header_banner_image_tablet_url":"","dict_header_banner_image_mobile_url":"","dict_header_banner_link":"","display_count_down":true,"navbar_display_style":"rowNav","navbar_background_transparent":false,"header_banner_start":"2023-07-01T10:00:00+08:00","header_banner_end":"2023-07-31T10:00:00+08:00","timer_text_color":"#ffffff","timer_bg_color":"#bd1212","menu_display_style":"two_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":"","mobile_logo_position":"left","navbar_pc_title_font_size_scale":"100","navbar_pc_body_font_size_scale":"100","navbar_mobile_title_font_size_scale":"100","navbar_mobile_body_font_size_scale":"100","breadcrumb_referrer_enabled":false},"custom_name":"å°è¦½å"},"footer":{"type":"footer","visible":true,"settings":{"footer_link":"footer","display_facebook":true,"shop_facebook":"https://www.facebook.com/%E6%88%90%E5%8A%9Fsuccess-102582118310299","display_instagram":true,"shop_instagram":"https://www.instagram.com/success.1959?igsh=MWhuNjc4YTE4cGZjOA%3D%3D\u0026utm_source=qr","display_line":true,"shop_line":"https://page.line.me/success1959","display_youtube":true,"shop_youtube":"https://www.youtube.com/channel/UC_mmdR-71QxAqsVymgFeDIQ","footer_link_arrangement":"display_y","display_facebook_fan_block":true},"block_order":["default_link_list","1669108375663_2","default_contact_info"],"blocks":{"default_link_list":{"type":"link_list_setting","custom_name":"é¸å®","thumbnail":"list","draggable":true,"visible":true,"settings":{"dict_link_list_block_title":"","footer_link":"main-menu"}},"default_contact_info":{"type":"contact_info_setting","custom_name":"è¯çµ¡è³è¨","thumbnail":"contactInfo","draggable":true,"visible":true,"settings":{"contact_info_block_title":"è¯çµ¡è³è¨","display_phone":true,"dict_phone_number":"0800-007-030ï¼åæ©10æ39","display_fax_number":true,"dict_shop_fax_number":"0226957031","display_shop_email":true,"dict_shop_email":"[email protected]","display_shop_address":true,"dict_shop_address":"æ°å叿±æ¢å康寧è¡149è2F","display_office_time":true,"dict_shop_office_time":"08:30-17:30","dict_contact_info_block_title":"è¯çµ¡è³è¨"}},"1669108375663_2":{"type":"rich_text_editor_setting","custom_name":"èªè¨æå","visible":true,"settings":{"dict_rich_text_title":"","dict_rich_text_content":"\u003cp\u003eæåé«è²æå ·è¡ä»½æéå ¬å¸\u003cbr\u003eçµ±ä¸ç·¨è : 04431071\u003c/p\u003e\n"}}},"custom_name":"é è ³"},"_index_product_banner":{"type":"_index_product_banner","visible":true,"settings":{"dict_link":"/collections/äºä¼¯ç¹-ç»å±±æ","dict_image_url":"","dict_tablet_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MDI0MDE0XzE5MjAt55m75bGx5p2WOTYwLmpwZy5qcGVnIl1d.jpeg?sha=1e0f1867f0a6aa92","dict_mobile_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MDI0MDU5XzE5MjAt55m75bGx5p2WNDgwLmpwZy5qcGVnIl1d.jpeg?sha=2ffc86c42e056c08","display_cta_btn":false,"cta_btn_display_style":"bottomPosition","cta_btn_text":"SHOP NOW","cta_btn_bg_color":"#ffffff","cta_btn_text_color":"#673131","margin_x":"0","margin_bottom":"8","mobile_margin_x":"0","mobile_margin_bottom":"12"},"custom_name":"æ©«å¹ å»£å"},"_index_8_blocks":{"type":"_index_8_blocks","visible":true,"settings":{"dict_title":"Hot sale ç±é·åå ","collection_handle":"æ°åä¸å¸","limit":"8","margin_x":"80","margin_bottom":"0","mobile_margin_x":"0","mobile_margin_bottom":"48","product_display":"displayAll","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":"åååé¡"},"_index_4_blocks":{"type":"_index_4_blocks","visible":true,"blocks":{"display_index_4_block_1":{"type":"image","visible":true,"settings":{"title":"","dict_link":"","dict_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY2Nzc2MzAzX-mWgOaquy3lhY3pgYsxOTIwLmpwZy5qcGVnIl1d.jpeg?sha=26c8c49a04ed3929","dict_tablet_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY2Nzc2NTA1X-mWgOaquy3lhY3pgYs5NjAuanBnLmpwZWciXV0.jpeg?sha=3a199d1227a911f8","dict_mobile_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY2Nzc2NTE0X-mWgOaquy3lhY3pgYs0ODAuanBnLmpwZWciXV0.jpeg?sha=2f4bd94830152766","block_propotion":"33","dict_image_description":""},"custom_name":"åç"},"display_index_4_block_2":{"type":"image","custom_name":"åç","visible":true,"settings":{"dict_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY2Nzc2NTM1X-mWgOaquy3ku5josrsxOTIwLmpwZy5qcGVnIl1d.jpeg?sha=8b37116df8b78942","dict_tablet_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY2Nzc2NTUwX-mWgOaquy3ku5josrs5NjAuanBnLmpwZWciXV0.jpeg?sha=96268c1e7ddca6d6","dict_mobile_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY2Nzc2NTYxX-mWgOaquy3ku5josrs0ODAuanBnLmpwZWciXV0.jpeg?sha=3eeab02e2ba9bd63","dict_link":"","block_propotion":"33","dict_image_description":""}},"display_index_4_block_3":{"type":"image","custom_name":"åç","visible":true,"settings":{"dict_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY5MTA1NDg0X-acjeWLmS0xOTIwLmpwZy5qcGVnIl1d.jpeg?sha=744112a104b47563","dict_tablet_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY5MTA1NDg4X-acjeWLmS05NjAuanBnLmpwZWciXV0.jpeg?sha=bb003fd0cfba29f8","dict_mobile_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY5MTA1NDkxX-acjeWLmS00ODAuanBnLmpwZWciXV0.jpeg?sha=30387837bf4447e6","dict_link":"","block_propotion":"33","dict_image_description":""}}},"block_order":["display_index_4_block_1","display_index_4_block_2","display_index_4_block_3"],"custom_name":"èªè¨æçè¨è¨","settings":{"margin_x":"0","margin_bottom":"48","mobile_margin_x":"0","mobile_margin_bottom":"40","mobile_columns":1,"margin_block":"10","mobile_margin_block":"10","mobile_align":"left"}},"_index_8_blocks_2":{"type":"_index_8_blocks","custom_name":"åååé¡","visible":true,"settings":{"dict_title":"Womens","collection_handle":"under-peace-men","limit":"4","margin_x":"0","margin_bottom":"50","mobile_margin_x":"0","mobile_margin_bottom":"24","product_display":"displayPartial"},"blocks":{},"block_order":[]},"_index_product_banner_2":{"type":"_index_product_banner","custom_name":"æ©«å¹ å»£å","visible":false,"settings":{"dict_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNzM3NTE3MzM0X-aYpeevgDE5MjAuanBnLmpwZWciXV0.jpeg?sha=bd9905e525ff6bc6","dict_tablet_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNzM3NTE3MzQ1X-aYpeevgDk2MC5qcGcuanBlZyJdXQ.jpeg?sha=2cc97cfc2f006b34","dict_mobile_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNzM3NTE3MzUxX-aYpeevgDQ4MC5qcGcuanBlZyJdXQ.jpeg?sha=11e07c06f42672f8","dict_link":"","display_cta_btn":false,"cta_btn_display_style":"bottomPosition","cta_btn_text":"Shop Now â","cta_btn_bg_color":"#000000","cta_btn_text_color":"#ffffff","margin_x":"0","margin_bottom":"5","mobile_margin_x":"0","mobile_margin_bottom":"5"},"blocks":{},"block_order":[]},"_index_product_banner_3":{"type":"_index_product_banner","custom_name":"æ©«å¹ å»£å","visible":true,"settings":{"dict_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY5MTA2NzAwXzE5MjAtYnIxLmpwZy5qcGVnIl1d.jpeg?sha=3b76ccb1b4bc76f9","dict_tablet_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY5MTA2NzkyXzk2MC1icjEuanBnLmpwZWciXV0.jpeg?sha=36b896ee4d8e9eb2","dict_mobile_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY5MTA2Nzk5XzQ4MC1icjEuanBnLmpwZWciXV0.jpeg?sha=4d6f976170517a78","dict_link":"","display_cta_btn":true,"cta_btn_display_style":"bottomPosition","cta_btn_text":"Shop Now â","cta_btn_bg_color":"#000000","cta_btn_text_color":"#ffffff","margin_x":"120","margin_bottom":"32","mobile_margin_x":"0","mobile_margin_bottom":"40"},"blocks":{},"block_order":[]},"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_walker/default_img/index_4_blocks_1.png","dict_tablet_image_url":"","dict_mobile_image_url":""}}},"block_order":["express_delivery_display_index_4_block_1"]},"custom_text":{"type":"custom_text","visible":true,"settings":{}},"blog":{"type":"blog","visible":true,"settings":{"article_limit_in_blog_page":"6"},"custom_name":"é¨è½æ ¼è¨å®"},"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":"
456","category_product_item_limit":"18"}},"shop_setting":{"type":"shop_setting","visible":true,"settings":{"favicon_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY2NzY1Mjc2XzQ4LmpwZy5qcGVnIl1d.jpeg?sha=ce9aa9d35465a12e","og_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY2NzY1Mjc2XzMwMC5qcGcuanBlZyJdXQ.jpeg?sha=ae8a9f7c07271f83","shop_title":" ","shop_description":"æåé«è²æå
·è¡ä»½æéå
¬å¸åµå§æ¼1959å¹´ï¼ç´¯ç©æ¸åå¹´å實çå°æ¥ç¶çèç ç¼å¯¦åï¼ç§æè嵿°ãæåãå°æ¥çç¶çç念ï¼ä¸¦éµå¾ªèè½æºç°ä¿ãå¥åº·ä¼éæ¹éï¼ä¸æ·ç ç¼æèãç¡æ¯ãç°ä¿çç¢åï¼ä¾æ»¿è¶³æ¶è²»è
çéæ±ã æåçæä¸ææ¡æé¡ãæ¡çé¡ãè·å
·é¡ã滾çé¡ãææ©é¡ãæå帶é¡ãåé´é¡ãè·¯è·ç¨åé¡ãè¢å¥é¡ãéåçé¡ãå¥èº«å¨æãçç卿ã跳繩é¡ãæ³³é¡é¡ãç´æè¼ªé¡ãæ»æ¿é¡ãèæ¿é¡ãç¾½æé¡ãç¾½çé¡...ççã","shop_keywords":"ç´æè¼ª,ç±ç,ç¾½ç,æ¡ç,è·å
·,çç,å¥èº«,游泳,ç»å±±æ,éé¤å¢,帳篷,æå
·,辦å
¬ç¨å,ç½æ¿ç,éä¹¾ç,彩è²ç,ç£éµ,æé¤,é»è ","prevent_right_click":false},"custom_name":"å
¨ç«è¨å®"},"color_settings":{"type":"color_settings","visible":true,"settings":{"button_color":"#00a1a3","button_text_color":"#ffffff","accent_color":"#40c1ac","heading_color":"#000000","text_color":"#9A9EA2","price_color":"#00a1a3","discount_price_color":"#00a1a3","theme_bg_color":"#ffffff","product_border_color":"#00a1a3","nav_logo_bg_color":"#d5f3eb","nav_menu_bg_color":"#d5f3eb","nav_menu_text_color":"#636465","nav_menu_icon_color":"#3e4442","footer_bg_color":"#d5f3eb","footer_text_color":"#636465","checkout_button_color":"#535353","checkout_accent_color":"#00a1a3","tips_text_color":"#0C5460"},"custom_name":"é¡è²è¨å®"},"popup":{"type":"popup","visible":true,"blocks":{"popup_block_1":{"type":"image","visible":true,"settings":{"dict_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjg4NDM5MzQyX-W9iOi3sy5qcGcuanBlZyJdXQ.jpeg?sha=ed7cd65133fce6f7","icon_size":"small","dict_tablet_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjg4NDM5MzUwX-W9iOi3sy05NjAuanBnLmpwZWciXV0.jpeg?sha=27a1e07ebc1671ea","dict_mobile_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjg4NDM5MzU3X-W9iOi3szQ4MC5qcGcuanBlZyJdXQ.jpeg?sha=e8c5df78cb302b2e","dict_icon_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjg4NDM5MzYzX-W9iOi3sy0xMDAuanBnLmpwZWciXV0.jpeg?sha=bea2f6df686dba72","dict_link":"/collections/åºæ¸
ç¹å¹39å
èµ·"},"custom_name":"åç"}},"block_order":["popup_block_1"],"settings":{},"custom_name":"å½çªå»£å"},"product_info":{"type":"product_info","visible":true,"settings":{"display_product_sku":true,"dict_vip_custom_price_text":"","dict_vip_custom_price_href":""},"custom_name":"åºæ¬è¨å®"},"product_description":{"type":"product_description","visible":true,"custom_name":"ååä»ç´¹"},"board_comments":{"type":"board_comments","visible":true,"settings":{},"custom_name":"ååè©è«","thumbnail":"list","draggable":false},"related_products":{"type":"related_products","visible":true,"settings":{"display_related_cols":true,"use_custom_related_cols":true,"dict_group_related_cols_related_product":"ç¸éåå","related_products_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!1d3613.6479170127777!2d121.56760821400371!3d25.07991984260527!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x3442ac6fbd841bbd%3A0x64e16bcf25e3da31!2zMTE05Y-w5YyX5biC5YWn5rmW5Y2A55Ge5YWJ6LevNTEz5be3MzDomZ8!5e0!3m2!1szh-TW!2stw!4v1485156761267\" width=\"600\" height=\"450\" frameborder=\"0\" style=\"border:0\" allowfullscreen\u003e\u003c/iframe\u003e"}},"collection":{"type":"collection","visible":true,"settings":{"collection_sidebar":"main-menu","collection_sidebar_set_open":false,"collection_pagination_limit":"24"},"custom_name":"åååé¡è¨å®"},"404":{"type":"404","visible":true,"settings":{"image_url":"","dict_404_image_url":"","dict_title_text":"æ±æï¼æ¤é é¢ä¸å卿è
å·²ç¶è¢«ç§»é¤","dict_btn_text":"è¿åé¦é "},"custom_name":"404é "},"blogs_all":{"type":"blogs_all","visible":true,"settings":{}},"bundle_discounts":{"type":"bundle_discounts","visible":true,"settings":{}},"cart":{"type":"cart","visible":true,"settings":{}},"cart_empty":{"type":"cart_empty","visible":true,"settings":{}},"page":{"type":"page","visible":true,"settings":{}},"search":{"type":"search","visible":true,"settings":{"search_link_list":"main-menu"},"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":{}},"1669106926578_0":{"type":"_main_slider_custom","custom_name":"輪æç´ æ","visible":false,"settings":{"margin_x":"0","margin_bottom":"50","mobile_margin_x":"0","mobile_margin_bottom":"50","swiper_delay":"3","image_number":"1","image_space":"12","mobile_image_number":"1","mobile_image_space":"8","transition_speed":"0.3"},"blocks":{"1669106926584_0":{"type":"image","custom_name":"ç´ æ","visible":true,"settings":{"dict_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY5MTA1OTgxX1M1MTkwLmpwZy5qcGVnIl1d.jpeg?sha=09216c6994a30aab","dict_tablet_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY5MTA2MTY3X1M1MTkwLTk2MC5qcGcuanBlZyJdXQ.jpeg?sha=89398016e821ee52","dict_mobile_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY5MTA2MTc1X1M1MTkwLTQ4MC5qcGcuanBlZyJdXQ.jpeg?sha=4b7bb24703a2a88b","dict_link":"/products/s5190","slide_contents_display":"left","slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff","dict_slide_btn_link":""}},"1669107082895_0":{"type":"image","custom_name":"ç´ æ","visible":false,"settings":{"dict_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY5MTA2NzAwXzE5MjAtYnIxLmpwZy5qcGVnIl1d.jpeg?sha=3b76ccb1b4bc76f9","dict_tablet_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY5MTA2NzkyXzk2MC1icjEuanBnLmpwZWciXV0.jpeg?sha=36b896ee4d8e9eb2","dict_mobile_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY5MTA2Nzk5XzQ4MC1icjEuanBnLmpwZWciXV0.jpeg?sha=4d6f976170517a78","dict_link":"/products/s5196","slide_contents_display":"left","slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff","dict_slide_btn_link":""}}},"block_order":["1669106926584_0","1669107082895_0"]},"1669107192847_1":{"type":"_index_product_banner","custom_name":"æ©«å¹
廣å","visible":true,"settings":{"dict_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY5MTA4MTcwX-a
45ItuWkli0xOTIwLmpwZy5qcGVnIl1d.jpeg?sha=bdacaa86b33e7acb","dict_tablet_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY5MTA4MTc4X-aItuWkli05NjAuanBnLmpwZWciXV0.jpeg?sha=7e02a4358f8b8e22","dict_mobile_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY5MTA4MTg1X-aItuWkli00ODAuanBnLmpwZWciXV0.jpeg?sha=40c6dc69d5832d33","dict_link":"/collections/æ»æ¿-èæ¿-æ»æ¿è»","display_cta_btn":true,"cta_btn_display_style":"bottomPosition","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"},"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":{}},"1686029053702_0":{"type":"_main_slider_custom","custom_name":"輪æç´ æ","visible":true,"settings":{"margin_x":"0","margin_bottom":"50","mobile_margin_x":"0","mobile_margin_bottom":"50","swiper_delay":"3","image_number":"1","image_space":"12","mobile_image_number":"1","mobile_image_space":"8","transition_speed":"0.3"},"blocks":{"1686029053709_0":{"type":"image","custom_name":"ç´ æ","visible":true,"settings":{"dict_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY5MTA1OTgxX1M1MTkwLmpwZy5qcGVnIl1d.jpeg?sha=09216c6994a30aab","dict_tablet_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY5MTA2MTY3X1M1MTkwLTk2MC5qcGcuanBlZyJdXQ.jpeg?sha=89398016e821ee52","dict_mobile_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY5MTA2MTc1X1M1MTkwLTQ4MC5qcGcuanBlZyJdXQ.jpeg?sha=4b7bb24703a2a88b","dict_link":"https://www.success.com.tw/products/s5190-20230317094020","main_slider_image_alt":"ç»å±±æ","slide_contents_display":"left","slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff","dict_slide_btn_link":""}},"1686029076548_0":{"type":"image","custom_name":"ç´ æ","visible":true,"settings":{"dict_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MDMxNjc2XzE5MjAt55m75bGx5p2WMS5qcGcuanBlZyJdXQ.jpeg?sha=3c4f03e0faf6ca16","dict_tablet_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MDMxNjkyXzk2MC3nmbvlsbHmnZYxLmpwZy5qcGVnIl1d.jpeg?sha=fdabfc685f760bcc","dict_mobile_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjg2MDMxNjk5XzQ4MC3nmbvlsbHmnZYxLmpwZy5qcGVnIl1d.jpeg?sha=84cac13f78bf5764","dict_link":"/collections/äºä¼¯ç¹-ç»å±±æ","slide_contents_display":"left","slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff","dict_slide_btn_link":""}},"1686032070219_0":{"type":"image","custom_name":"ç´ æ","visible":true,"settings":{"dict_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNzMxNDAwMjYzXzE5MjAt5aq956WWLmpwZy5qcGVnIl1d.jpeg?sha=13ed248cf6a8b8cf","dict_tablet_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNzMxNDAwMjc4Xzk2MC3lqr3npZYuanBnLmpwZWciXV0.jpeg?sha=319e13ea93e32074","dict_mobile_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNzMxNDAwMjkwXzQ4MC3lqr3npZYuanBnLmpwZWciXV0.jpeg?sha=07dfa0baa079794f","dict_link":"https://www.success.com.tw/products/s5118s5119","main_slider_image_alt":"跳繩","slide_contents_display":"left","slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff","dict_slide_btn_link":""}},"1695259670388_0":{"type":"image","custom_name":"ç´ æ","visible":false,"settings":{"dict_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNzcwNjE5ODIwX-aYpeevgDE5MjAuanBnLmpwZWciXV0.jpeg?sha=45f18bcabaf3d60f","dict_tablet_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNzcwNjE5ODMxX-aYpeevgDk2MC5qcGcuanBlZyJdXQ.jpeg?sha=356fc29267864859","dict_mobile_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNzcwNjE5ODM5X-aYpeevgDQ4MC5qcGcuanBlZyJdXQ.jpeg?sha=c8c059cf79217b12","dict_link":"https://www.success.com.tw/collections/%E4%BA%9E%E4%BC%AF%E7%89%B9-%E9%87%8E%E9%A4%90%E6%B2%99%E7%81%98%E5%BF%AB%E9%96%8B%E5%B8%B3%E7%AF%B7","main_slider_image_alt":"","slide_contents_display":"left","slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff","dict_slide_btn_link":""}},"1779849970742_0":{"type":"image","custom_name":"ç´ æ","visible":true,"settings":{"dict_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNzg1NDY1NzAwX1MyOTA1LTE5MjAuanBnLmpwZWciXV0.jpeg?sha=44a4dd6d239b6965","dict_tablet_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNzg1NDY1NzEyX1MyOTA1LTk2MC5qcGcuanBlZyJdXQ.jpeg?sha=311f74ca4244a440","dict_mobile_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNzg1NDY1NzIxX1MyOTA1LTQ4MC5qcGcuanBlZyJdXQ.jpeg?sha=6a9180af6052d9c0","dict_link":"/collections/å¹å
æ-å¹å
ç","slide_contents_display":"left","dict_slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff"}},"1785463752155_0":{"type":"image","custom_name":"ç´ æ","visible":true,"settings":{"dict_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNzg1NDYzODU4X1M0ODAwLTE5MjAuanBnLmpwZWciXV0.jpeg?sha=09b7823c08734f1d","dict_tablet_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNzg1NDYzODc3X1M0ODAwLTk2MC5qcGcuanBlZyJdXQ.jpeg?sha=77ac0db9edbf159d","dict_mobile_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNzg1NDYzODg1X1M0ODAwLTQ4MC5qcGcuanBlZyJdXQ.jpeg?sha=781b84d68cf3dd48","dict_link":"https://www.success.com.tw/products/s4800","slide_contents_display":"left","dict_slide_btn_link":"","slide_title_color":"#000000","slide_content_color":"#000000","slide_btn_bg_color":"#000000","slide_btn_text_color":"#ffffff"}}},"block_order":["1779849970742_0","1686029053709_0","1686032070219_0","1785463752155_0","1695259670388_0","1686029076548_0"]},"1692680896631_1":{"type":"_index_product_banner","custom_name":"æ©«å¹
廣å","visible":true,"settings":{"dict_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNzY3MDYxOTQ2X-aOkueQg-WwkeW5tC0xOTIwIGZpeC5qcGcuanBlZyJdXQ.jpeg?sha=41320efe27ab3d0d","dict_tablet_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNzY3MDYyMDc1X-aOkueQg-WwkeW5tC05NjAgZml4LmpwZy5qcGVnIl1d.jpeg?sha=85714f3a54a50d7c","dict_mobile_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNzY3MDYyMDg0X-aOkueQg-WwkeW5tC00ODAgZml4LmpwZy5qcGVnIl1d.jpeg?sha=7ccbb5d998be57ce","dict_link":"/collections/æçå°å¹´æ£çå¨é","cta_btn_display_style":"bottomPosition","cta_btn_bg_color":"#000000","cta_btn_text_color":"#ffffff","margin_x":"0","margin_bottom":"50","mobile_margin_x":"0","mobile_margin_bottom":"24","display_cta_btn":false,"dict_cta_btn_text":"è¶å¿«å ±åå»"},"blocks":{},"block_order":[]},"1760686730690_5":{"type":"_index_4_blocks","custom_name":"èªè¨æçè¨è¨","visible":true,"settings":{"margin_x":"0","margin_bottom":"50","margin_block":"10","mobile_margin_x":"0","mobile_margin_bottom":"50","mobile_columns":1,"mobile_margin_block":"10"},"blocks":{"1760686730691_0":{"type":"image","custom_name":"åç","visible":true,"settings":{"dict_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNzYwNjg3MTYzX-aOkueQg-WwkeW5tCAtMTkyMC5qcGcuanBlZyJdXQ.jpeg?sha=9f546de29f5b322a","dict_tablet_image_url":"","dict_mobile_image_url":"","dict_image_description":"","dict_link":""}},"1760686730692_1":{"type":"video","custom_name":"å½±ç","visible":true,"settings":{"dict_video_link":""}}},"block_order":["1760686730691_0","1760686730692_1"]},"1762478732613_3":{"type":"_video_editor_section","custom_name":"å½±çè¨å®","visible":true,"settings":{"video_editor_section_dict_title":"","video_editor_section_dict_video_link":"","margin_x":"0","margin_bottom":"0","mobile_margin_x":"0","mobile_margin_bottom":"0"},"blocks":{},"block_order":[]},"1762478853109_3":{"type":"_video_editor_section","custom_name":"å½±çè¨å®","visible":false,"settings":{"video_editor_section_dict_title":"","video_editor_section_dict_video_link":"https://www.youtube.com/watch?v=brwjiHcWn7s","margin_x":"0","margin_bottom":"20","mobile_margin_x":"0","mobile_margin_bottom":"0","dict_video_editor_section_title":"","dict_video_editor_section_video_link":"https://www.youtube.com/watch?v=brwjiHcWn7s","auto_play":false,"hide_controls":false,"loop":true},"blocks":{},"block_order":[]},"1762479126564_5":{"type":"_index_4_blocks","custom_name":"èªè¨æçè¨è¨","visible":true,"settings":{"margin_x":"0","margin_bottom":"50","margin_block":"10","mobile_margin_x":"0","mobile_margin_bottom":"50","mobile_columns":1,"mobile_margin_block":"10"},"blocks":{"1762479126565_0":{"type":"image","custom_name":"åç","visible":true,"settings":{"dict_image_url":"/theme_src/i18n_shoestore/default_img/index_4_blocks_1.jpg","dict_tablet_image_url":"","dict_mobile_image_url":"","dict_image_description":"","dict_link":""}},"1762479126565_1":{"type":"video","custom_name":"å½±ç","visible":true,"settings":{"dict_video_link":"https://www.youtube.com/watch?v=f_XHSsI9wBI\u0026list=RDf_XHSsI9wBI\u0026start_radio=1","block_propotion":""}}},"block_order":["1762479126565_0","1762479126565_1"]},"announcement_bar":{"type":"announcement_bar","visible":true,"blocks":{"announcement_bar_block_1":{"type":"image","visible":true,"settings":{"display_only_index":false,"display_period":"limited","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":"#ffffff","timer_bg_color":"#bd1212","migrated_from_navbar":true}}},"block_order":["announcement_bar_block_1"],"settings":{"display_mode":"vertical","carousel_interval":"3"}}},"navbar_image_logo":true,"show_default_all_products":true,"one_dimension_limit":"
456","two_dimension_limit":"10","header_banner_display":true,"header_banner_link":"/","display_main_slider":true,"display_phone":true,"phone_number":"0912345678","display_fax_number":true,"shop_fax_number":"0222345678","display_shop_email":true,"shop_email":"[email protected]","display_shop_address":true,"shop_address":"測試å°å","display_office_time":true,"shop_office_time":"10:00-17:00","index_event_slider_display":true,"index_event_slider_item_1_display":true,"dict_index_event_slider_item_1_link":"#","index_event_slider_item_2_display":true,"dict_index_event_slider_item_2_title":"2019ç§å£é款æ°åä¸å¸","dict_index_event_slider_item_2_link":"#","index_event_slider_item_3_display":true,"dict_index_event_slider_item_3_title":"å ¨é¤¨ä»»é¸ä¸ä»¶çµå¸³åäº«ææ£ï¼ï¼8æï¼ï¼","dict_index_event_slider_item_3_link":"#","index_event_slider_item_4_display":true,"dict_index_event_slider_item_4_title":"FINAL SALE/å¤å¤©ç±é·ç¾æé款è£è²¨å°åº","dict_index_event_slider_item_4_link":"#","index_event_slider_item_5_display":true,"dict_index_event_slider_item_5_title":"ç±è³£åæ¸","dict_index_event_slider_item_5_link":"#","index_event_slider_item_6_display":true,"dict_index_event_slider_item_6_title":"ç¾å¨è¨»åæå¡å³å¯äº«ææ£éï¼50ï¼ç¾æï¼","dict_index_event_slider_item_6_link":"#","index_event_slider_item_7_display":false,"dict_index_event_slider_item_7_title":"","dict_index_event_slider_item_7_link":"","index_event_slider_item_8_display":false,"dict_index_event_slider_item_8_title":"","dict_index_event_slider_item_8_link":"#","index_event_slider_item_9_display":false,"dict_index_event_slider_item_9_title":"","dict_index_event_slider_item_9_link":"#","index_event_slider_item_10_display":false,"dict_index_event_slider_item_10_title":"","dict_index_event_slider_item_10_link":"#","index_4_slider_display":true,"dict_index_4_slider_title":"Instagram","index_4_slider_item_1_display":true,"dict_index_4_slider_item_1_link":"#","index_4_slider_item_2_display":true,"dict_index_4_slider_item_2_link":"#","index_4_slider_item_3_display":true,"dict_index_4_slider_item_3_link":"#","index_4_slider_item_4_display":true,"dict_index_4_slider_item_4_link":"#","index_4_slider_item_5_display":true,"dict_index_4_slider_item_5_link":"#","index_4_slider_item_6_display":false,"dict_index_4_slider_item_6_link":"#","index_4_slider_item_7_display":false,"dict_index_4_slider_item_7_link":"#","index_4_slider_item_8_display":false,"dict_index_4_slider_item_8_link":"#","index_video_blocks_display":true,"dict_index_video_blocks_title":"Youtube","dict_index_video_blocks_video_link":"https://www.youtube.com/watch?v=3bI4IUIVjCk","collection_sidebar":"main-menu","collection_sidebar_set_open":false,"collection_pagination_limit":"24","product_slogan_display":false,"display_product_total_sold":false,"display_periodic_order_label":false,"cart_quantity_limit":"0","is_empty_clickable":true,"is_first_selected":false,"display_product_images_color":false,"discount_product_images_color_expand":false,"display_product_discounts_list":true,"display_discount_price_name":false,"discount_price_slogan_url":"/theme_src/beta_theme/default_img/onsale_icon.png","dict_discount_price_name":"","display_discount_price_suggestion_name":false,"dict_discount_price_suggestion_name":"","display_product_section_description":true,"dict_product_section_description":"ååä»ç´¹","description_section_spec_setting":true,"dict_product_description_section_spec":"è¦æ ¼èªªæ","description_section_shipping_setting":true,"dict_product_description_section_shipping":"ééæ¹å¼","vip_custom_price_visible":false,"display_global_event_1":false,"dict_show_global_event_1_link":"#","display_global_event_2":false,"dict_show_global_event_2_link":"#","display_global_event_3":false,"dict_show_global_event_3_link":"#","display_contact_address":true,"dict_contact_address":"測試å°å","show_google_map":true,"show_google_map_iframe":"\u003ciframe src=\"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3613.6479170127777!2d121.56760821400371!3d25.07991984260527!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x3442ac6fbd841bbd%3A0x64e16bcf25e3da31!2zMTE05Y-w5YyX5biC5YWn5rmW5Y2A55Ge5YWJ6LevNTEz5be3MzDomZ8!5e0!3m2!1szh-TW!2stw!4v1485156761267\" width=\"600\" height=\"450\" frameborder=\"0\" style=\"border:0\" allowfullscreen\u003e\u003c/iframe\u003e","display_selected_blog":true,"selected_blog":"news","product_scale":"three_to_four_scale","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":true,"display_product_vendor":true,"product_text_align":"center","product_video_display_location":"before","nav_icon_style":"icon_type_default","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":"b11f8fdc-8712-4032-8366-eb06318dc34c","kind":"custom","title":"èªå®ç¾©æ¨ç±¤ 1","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"},{"id":"f153aace-57df-4c5f-ba5e-e7627979a644","kind":"custom","title":"èªå®ç¾©æ¨ç±¤ 2","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"},{"id":"6121256e-21f4-4360-b5fd-bb8e3a171c00","kind":"custom","title":"èªå®ç¾©æ¨ç±¤ 3","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"},{"id":"e869aa65-5d19-4155-b12e-e919475bc3a1","kind":"custom","title":"èªå®ç¾©æ¨ç±¤ 4","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"},{"id":"834ce151-66e7-46e9-9a83-886ffcf16070","kind":"custom","title":"èªå®ç¾©æ¨ç±¤ 5","tag":"","display":false,"type":"text","dict_text":{"zh-TW":""},"image":"","image_size":"small"}]},"product_card_hover_effect":"button","product_image_border_radius":"0"}); 46 </script>
46 47 48 49 50 51 52 53 54 55 56 57 <!-- for vendor --> 58 <!-- cyb_snippet _bootstrap start --> 59 60<!-- cyb_snippet _bootstrap end --> 61 <link href='//cdn1-next.cybassets.com/frontend/shop/beta_theme/css/vendor-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' /> 62 63 <!-- common css rulesets --> 64 <link href='//cdn1-next.cybassets.com/frontend/shop/beta_theme/css/common-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' /> 65 66 <!-- for navbar --> 67 <link href='//cdn1-next.cybassets.com/frontend/shop/beta_theme/css/navbar-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' /> 68 69 <!-- for footer --> 70 <link href='//cdn1-next.cybassets.com/frontend/shop/beta_theme/css/footer-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' /> 71 72 <!-- theme assets --> 73 <link href='//cdn1-next.cybassets.com/frontend/shop/beta_theme/css/main-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' /> 74 75 <!-- for vendor --> 76
76<script src='//cdn1-next.cybassets.com/frontend/shop/beta_theme/js/vendor-3a2e378145f8a165.js' type='text/javascript'></script>
76 77 78
78<script> 79 window.sci = "eyJzaG9wX2lkIjoyMjA4Niwic2hvcF9wbGFuIjoibWFzdGVyIiwiZGltX2Fm\nZmlsaWF0ZSI6bnVsbCwiY3VzdG9tZXJfaWQiOm51bGwsImN1c3RvbWVyX25h\nbWUiOm51bGwsInNob3BfbmFtZSI6IuaIkOWKn1NVQ0NFU1MiLCJzaGFyZV9h\ndHRyaWJ1dGlvbl9lbmFibGVkIjp0cnVlfQ==\n"; 80 </script>
80 81 82 83<meta name="csrf-param" content="authenticity_token" /> 84<meta name="csrf-token" content="wFW8rsoMPuqD4hHZzWlUKT8lBx6q1v8gnjumOpof0goYJdiLNoH5oR1S-6MfhN49VJlfV7g7TUJJ-77WhFF1Rw" />
85<script>(function () { 86 window.gaConfigurations = {"useProductIdInProductEvents":false}; 87})(); 88</script>
vendor: 1 bytes, line 88
88
89<script>(function () { 90 window.CYBERBIZ_PageContext = {"page_type":"product"}; 91})(); 92</script>
92 93<link href="//cdn1-next.cybassets.com/frontend/shop/quark-3a2e378145f8a165.css" rel="stylesheet" type="text/css" media="all" /> 94
94<script> 95 window.shopScriptHelper = { 96 i18nLocale: "zh-TW", 97 i18nLocaleDefault: "zh-TW", 98 availableCurrencies: [], 99 defaultCurrency: "TWD", 100 currenciesInfo: [{"name":"æ°å°å¹£ (TWD)","html":"NT${{amount_no_decimals}}","money_format":"%u%n","unit":"","decimal_precision":0,"email_unit":"NT${{amount_no_decimals}}","html_unit":"NT${{amount_no_decimals}}","format":"NT${{amount_no_decimals}}","trailing_zeros":false,"code":"TWD","email":"NT${{amount_no_decimals}}","symbol":"NT$"}], 101 vueOverrideTranslations: {"zh-TW":{"vue":{}}}, 102 hasI18nInContextEditing: false, 103 shopMultipleCurrenciesCheckout: false, 104 hasLocalizedShopPriceFormat: true, 105 } 106 </script>
106 107 108 109
109<script 110 src="//cdn1-next.cybassets.com/frontend/shop/tolgeeIntegration-3a2e378145f8a165.js"> 111 </script>
111 112
112<script defer> 113 /* 114 * Enable in-context translation for Liquid part on the page. 115 * This must be executed last to prevent conflicts with other Vue apps. 116 * So put it to `onload`, which will be executed after DOM ready's app mount 117 */ 118 window.onload = function() { 119 if ( 120 window.shopScriptHelper && 121 window.shopScriptHelper.hasI18nInContextEditing 122 ) { 123 window.initTolgeeForLiquid() 124 } 125 } 126 </script>
126 127
128<script> var google_con_event_labels = [{"conversion_id":"10883446473","conversion_event":"account_created","conversion_label":"5PfVCMW0mMkZEMnt0MUo","id":null},{"conversion_id":"10883446473","conversion_event":"add_to_cart","conversion_label":"9RziCOHqpMkZEMnt0MUo","id":null},{"conversion_id":"10883446473","conversion_event":"checkout_page","conversion_label":"lnhMCOTqpMkZEMnt0MUo","id":null},{"conversion_id":"10883446473","conversion_event":"order_created","conversion_label":"hhc5CLiRoskZEMnt0MUo","id":null},{"conversion_id":"10883446473","conversion_event":"all","conversion_label":"XqzPCOrqpMkZEMnt0MUo","id":null},{"conversion_id":"10883446473","conversion_event":"home_page","conversion_label":"DIlRCOfqpMkZEMnt0MUo","id":null}]</script>
vendor: 1 bytes, line 128
128
129<script src="//cdn1-next.cybassets.com/frontend/shop/pageEventHandler-3a2e378145f8a165.js"></script>
vendor: 1 bytes, line 129
129
130<script src="//cdn1-next.cybassets.com/frontend/shop/globalAnalysis-e4c650eb0b.js"></script>
130 131
131<script> 132 window.c12t = {"customer_id":null,"product":{"id":39906070,"name":"æå S5190æ¶æåèè ¿è¸æ¥æ©","price":2880.0,"brand":"æåSUCCESS"}}; 133 </script>
133 134 135 <meta name="request-id" content="68EB76A2BABD6A93E407EEB22F3A710D"/> 136 137<link rel="canonical" href="https://www.success.com.tw/products/s5190-20230317094020">
138<script src="//cdn1-next.cybassets.com/frontend/shop/carousel-3a2e378145f8a165.js"></script>
138 139
139<script> 140 window.parent.postMessage({ type: 'previewShopInit', currentUrl: window.location.href }, '*'); 141 </script>
141 142
143<script src="//cdn1-next.cybassets.com/frontend/appStoreSDK/main.2798231628aa7fab87a9.js"></script>
vendor: 1 bytes, line 143
143
144<script>window.CYBERBIZ_AppScriptSettings = {"shop_add_ons":"W3sidmVuZG9yX3R5cGUiOiJDWUJFUkJJWiBHb29nbGUgQW5hbHl0aWNzIDQi\nLCJhcHBfaWQiOiJRVWo1WnFvZUlPUjlaM2JaS2trMG44N3l5a0FpOWU0NURE\naDJ0YlFnaUJBIiwic2V0dGluZ3MiOnsiZ3RhZ19pZCI6IkctRjM3SjBNWTI4\nTiwgRy00QjdSSzdGSFdIIn19LHsidmVuZG9yX3R5cGUiOiJHb29nbGUgQW5h\nbHl0aWNzIDQiLCJhcHBfaWQiOiJSYkpWMTVFcVZWOHJ1Umo3NVlmV3Z1RUlD\nRm90Q0FPZm0xSDZtZ3hyNkZBIiwic2V0dGluZ3MiOnsiZ3RhZ19pZCI6Ikct\nRjZUODk0VktaMCJ9fSx7InZlbmRvcl90eXBlIjoiRGlnaXRhbCBJbnRlbGxp\nZ2VuY2UgVHJhY2tlciIsImFwcF9pZCI6IjFiNTBhODZkYzJkMTQxODM4OGZk\nZWRmN2EwZDQzOWFlIiwic2V0dGluZ3MiOnt9fV0=\n"} 145</script>
vendor: 1 bytes, line 145
145
146<script src="https://cdn.cybassets.com/appmarket/api/common/attachments/entrypoint/9d6f4550aad572e9f70abb70ae5a6552482cf617ea5e4d5a32ed4ebbb5d60d54.js"></script>
vendor: 1 bytes, line 146
146
147<script src="https://cdn.cybassets.com/appmarket/api/common/attachments/entrypoint/a810ec58aab67d16f8de1c4adf06fc7cc9f4477ec503b9cb1a998741bc692652.js"></script>
vendor: 1 bytes, line 147
147
148<script src="https://cdn.cybassets.com/appmarket/api/common/attachments/entrypoint/35cd1f36a4a855bacbaa53900f8e17b376d4cab44c73812eef261aef6435163d.js"></script>
vendor: 1 bytes, line 148
148
149<script>window.CYBERBIZ.initializeSDK.initialize();</script>
vendor: 1 bytes, line 149
149
150<script src="//cdn1-next.cybassets.com/frontend/shop/setAffliateCookie-3a2e378145f8a165.js"></script>
vendor: 1 bytes, line 150
150
151<script src="//cdn1-next.cybassets.com/assets/url-share-attribution-087b8170482449a1d92fbb0c92f9ce3ef38a84f35c52016ed831bd3efd8eed8b.js"></script>
151 152 153 154 155 156<meta name="title" content="æå S5190æ¶æåèè ¿è¸æ¥æ© | æåSUCCESS"> 157<meta property="og:title" content="æå S5190æ¶æåèè ¿è¸æ¥æ© | æåSUCCESS"> 158<meta name="description" content="åèï¼S5190尺寸ï¼é·45.7 x 寬43.3 x é«108.5(å«è¨æ¥å¨)ééï¼ç´8.5kgå ¥æ¸ï¼1å°[æè³ª] éµãèä¸ç¯ãä¸è æ©¡è ãæ³¡æ£ãæ²¹[é«åº¦] æ¶æå¯èª¿3段ï¼é«åº¦åå¥94ï¼99ï¼104cmè²¼å¿æé: å¿é£çºè¸©è¸è¶ é20åéï¼è®æ²¹ç®¡æ¶²å£é溫20~30åéä¹å¾å使ç¨ï¼ä»¥å é æéåº¦ä½¿ç¨æå£ï¼å»¶é·æ²¹ç®¡å£½å½åã"> 159<meta property="og:description" content="åèï¼S5190尺寸ï¼é·45.7 x 寬43.3 x é«108.5(å«è¨æ¥å¨)ééï¼ç´8.5kgå ¥æ¸ï¼1å°[æè³ª] éµãèä¸ç¯ãä¸è æ©¡è ãæ³¡æ£ãæ²¹[é«åº¦] æ¶æå¯èª¿3段ï¼é«åº¦åå¥94ï¼99ï¼104cmè²¼å¿æé: å¿é£çºè¸©è¸è¶ é20åéï¼è®æ²¹ç®¡æ¶²å£é溫20~30åéä¹å¾å使ç¨ï¼ä»¥å é æéåº¦ä½¿ç¨æå£ï¼å»¶é·æ²¹ç®¡å£½å½åã"> 160<meta name="keywords" content="æå S5190æ¶æåèè ¿è¸æ¥æ©"> 161<meta property="og:url" content="https://www.success.com.tw/products/s5190-20230317094020"> 162<meta property="og:type" content="og:product">
163<script type="application/ld+json">{"@context":"https://schema.org/","@type":"Product","name":"æå S5190æ¶æåèè
¿è¸æ¥æ©","image":"https://cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L3Byb2R1Y3RzLzM3ODU5MzkwLzE2NjEzMTM2MTdfNWE5MjBiYjM1NGFlYWQ5ODIyNTMuanBlZyJdLFsicCIsInRodW1iIiwiNDgweDQ4MCJdXQ.jpeg?sha=e62005be53c4562d","description":"åèï¼S5190\n尺寸ï¼é·45.7 x 寬43.3 x é«108.5(å«è¨æ¥å¨)\nééï¼ç´8.5kg\nå
¥æ¸ï¼1å°\n[æè³ª] éµãèä¸ç¯ãä¸è
æ©¡è ãæ³¡æ£ãæ²¹\n[é«åº¦] æ¶æå¯èª¿3段ï¼é«åº¦åå¥94ï¼99ï¼104cm\nè²¼å¿æé: å¿é£çºè¸©è¸è¶
é20åéï¼è®æ²¹ç®¡æ¶²å£é溫20~30åéä¹å¾å使ç¨ï¼ä»¥å
é æéåº¦ä½¿ç¨æå£ï¼å»¶é·æ²¹ç®¡å£½å½åã","brand":"æåSUCCESS","sku":"S5190","offers":[{"@type":"Offer","url":"https://www.success.com.tw/products/s5190-20230317094020","priceCurrency":"TWD","price":"2880.0","availability":"InStock","itemCondition":"https://schema.org/NewCondition","sku":"45826133"}],"productId":39906070}</script>
163 164 165
165<script> 166 document.addEventListener("DOMContentLoaded", function() { 167 gtag('event', 'view_item', {"items":[{"id":45826133,"name":"æå S5190æ¶æåèè ¿è¸æ¥æ©","price":2880.0}],"send_to":["cyberbiz","dynamic_remarketing"]}); 168 }) 169 </script>
169 170 171
171<script> 172 document.addEventListener("DOMContentLoaded", function() { 173 gtag('event', 'view_item', {"items":[{"id":"S5190","name":"æå S5190æ¶æåèè ¿è¸æ¥æ©","price":2880.0}],"send_to":["ecommerce","enhanced_ecommerce"]}); 174 }) 175 </script>
175 176 177 178
178<script> 179 document.addEventListener("DOMContentLoaded", function() { 180 try { 181 var productData = [{"id":"S5190","product_id":39906070,"variant_id":45826133,"sku":"S5190","name":"æå S5190æ¶æåèè ¿è¸æ¥æ©","price":2880.0,"compare_at_price":3600.0,"currency":"TWD","inventory_quantity_status":"safety","category":null,"categories":["ææ°§ / æ ¸å¿å¥èº«"],"properties":[],"list_name":""}]; 182 183 if (document.referrer.indexOf('collection') !== -1 || document.referrer.indexOf('products') !== -1) { 184 for (var i = 0; i < productData.length; i++) { 185 productData[i].list_name = sessionStorage.getItem("viewedCollection"); 186 } 187 } 188 189 window.CYBERBIZ.eventSDK.callEvent("viewItem", productData) 190 191 window.addEventListener("beforeunload", function(event) { 192 var collection = "ç¸éåå"; 193 sessionStorage.setItem("viewedCollection", collection); 194 }); 195 196 } catch (error) { 197 console.error('Exception catched in appMarketViewItemEvent') 198 } 199 }) 200 </script>
200 201 202
203<script src="//cdn1-next.cybassets.com/frontend/shop/gallery-3a2e378145f8a165.js"></script>
203 204 205 <style id="color_settings"> 206 :root { 207 208 --button: #00a1a3; 209 210 211 212 --button_text: #ffffff; 213 214 215 216 --accent: #40c1ac; 217 218 219 220 --heading: #000000; 221 222 223 224 --text: #9A9EA2; 225 226 227 228 --price: #00a1a3; 229 230 231 232 --discount_price: #00a1a3; 233 234 235 236 --theme_bg: #ffffff; 237 238 239 240 --nav_logo_bg: #d5f3eb; 241 242 243 244 --nav_menu_bg: #d5f3eb; 245 246 247 248 --nav_menu_text: #636465; 249 250 251 252 --nav_menu_icon: #3e4442; 253 254 255 256 --footer_bg: #d5f3eb; 257 258 259 260 --footer_text: #636465; 261 262 263 264 --checkout_button: #535353; 265 266 267 268 --checkout_accent: #00a1a3; 269 270 271 272 --product_border: #00a1a3; 273 274 275 276 --tips_text: #0C5460; 277 278 279 280 281 282 } 283</style> 284 285 286 287 288 289 <!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 74 bytes, lines 289-290
289 290 <script async src="https://www.googletagmanager.com/gtag/js?id=
290G-F37J0MY28N
vendor: 22 bytes, lines 290-291
290"></script> 291
291<script> 292
vendor: 183 bytes, lines 292-297
292window.dataLayer = window.dataLayer || []; 293 function gtag(){dataLayer.push(arguments);} 294 gtag('js', new Date()); 295 296 297 gtag('config', '
297G-F6T894VKZ0
vendor: 27 bytes, line 297
297', {"groups":"ecommerce"});
297gtag('config', 'AW-10883446473', {"groups":"dynamic_remarketing"});</script>
297 298
298<script> 299 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 300 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 301 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 302 })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 303 304 ga('create', '', 'auto', {'name': 'cyberbiz'}); 305 ga('cyberbiz.require', 'displayfeatures'); 306 ga('cyberbiz.set', 'dimension1', '22086'); 307 ga('cyberbiz.require', 'ec'); 308 ga('cyberbiz.send', 'pageview'); 309 </script>
309 310 311
311<script>
vendor: 426 bytes, lines 311-318
311 312 !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod? 313 n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n; 314 n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0; 315 t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, 316 document,'script','//connect.facebook.net/en_US/fbevents.js'); 317 318 fbq('init', '
318807846951422007
vendor: 38 bytes, lines 318-319
318', {}, {'agent':'plcyberbiz'}); 319
319fbq('track', "PageView", '', { eventID: "PageView_68EB76A2BABD6A93E407EEB22F3A710D" }); 320 var facebook_pixel_id = '807846951422007'</script>
320 321 322 </head> 323 324 <body style="display: flex; flex-direction: column;">
vendor: 74 bytes, lines 324-326
324 325 <noscript><iframe 326 src="//www.googletagmanager.com/ns.html?id=
326GTM-TXD9LVJ
vendor: 117 bytes, lines 326-332
326" 327 height="0" 328 width="0" 329 style="display:none;visibility:hidden"> 330 </iframe></noscript> 331 332
332<!-- Navigation --> 333 <!-- cyb_snippet liquid_helper start -->
334<script> 335 function getDiscountPriceName() { 336 return "false" === "true" ? "" : ""; 337 } 338 339 function getDiscountPriceSuggestionName() { 340 return "false" === "true" ? "" : ""; 341 } 342 343 document.addEventListener('DOMContentLoaded', function() { 344 const languageHandle = Cookies.get("language"); 345 const defaultLanguage = {"handle":"zh-TW","currency_code":"TWD","title":"ç¹é«ä¸æ"}; 346 const languages = []; 347 const currency = window.shopScriptHelper.defaultCurrency; 348 const currencies = window.shopScriptHelper.currenciesInfo; 349 window.liquidHelper = { 350 shopInternational: false, 351 defaultLanguage: defaultLanguage, 352 language: languages.find(function(l) { 353 return l.handle === languageHandle; 354 }) || defaultLanguage, 355 shopMultipleCurrenciesCheckout: false, 356 shopMultipleCurrencies: false, 357 defaultCurrencyFormat: "NT${{amount_no_decimals}}", 358 defaultCurrency: currency, 359 getCurrency: function() { 360 const currencyValue = Cookies.get("currencyValue") || currency; 361 return currencies.find(function(c) { return c.code === currencyValue; } 362 )}, 363 getDefaultCurrency: function() { return currencies.find(function(c) { 364 return c.code === currency; 365 })}, 366 getAvailableCurrencies: function() { return currencies.map(c => c.code) },
367 getCurrencyFormatInfo: function(currency) { 368 const currencyInfo = currencies.find(c => c.code === currency) 369 return _.pick(currencyInfo, [ 370 'decimal_precision', 371 'symbol', 372 'money_format', 373 'unit', 374 'trailing_zeros', 375 'html_unit', 376 'code', 377 ]); 378 }, 379 cartQuantityLimit: (function() { 380 const limit = Number("0" || undefined); 381 return limit <= 0 || isNaN(limit) ? Number.POSITIVE_INFINITY : limit; 382 })(), 383 isFirstVariantSelected: false , 384 isImageColorsUsed: false , 385 isEmptyClickable: true , 386 hasAddBuyProduct: '' !== "" ? true : false, 387 hasPriceWithDiscountPlugin: 'true' ? true : false, 388 conversionBonus: 1, 389 hasLocalizedShopPriceFormat: true, 390 hasCustomerCartPlugin: true, 391 isCartEnabled: true, 392 cdnHost: '//cdn1-next.cybassets.com', 393 hasShopCustomPasswordRulePlugin: false, 394 hasDisableProductQuantityValidation: false, 395 hasBreadcrumbReferrerEnabled: false, 396 }; 397 }); 398</script>
398 399 400<!-- cyb_snippet liquid_helper end --> 401
402<script src='//cdn1-next.cybassets.com/frontend/shop/navbarSection-3a2e378145f8a165.js' type='text/javascript'></script>
402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419<style> 420 421 #navbar { 422 --navbar-pc-title-scale: 1.0; 423 --navbar-pc-body-scale: 1.0; 424 --navbar-mobile-title-scale: 1.0; 425 --navbar-mobile-body-scale: 1.0; 426 } 427 428 429 430 431 432</style> 433 434 435 <span id="navbar" class="drawer drawer--left font-size-setting-enabled"> 436 <header id="header" class="qk-w--100vw qk-pos--fixed qk-t--0 qk-l--0"> 437 438 439 440 <div id="announcement-bar"></div> 441 442 443 444 445 446 447 <div class="computer_nav row_nav qk-hidden--mobile "> 448 <div class="header_logo qk-bg--nav_logo_bg"> 449 <div class="qk-pos--rel"> 450 <div class="qk-text--center qk-display--flex"> 451 <!-- logo start --> 452 453 454 <nav class="logo qk-display--il_bk"> 455 <a href="/" class="qk-w--100"> 456 <img 457 src="//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY2NzY0MTM2X2xvZ28o55m95qGG6KGh5Y675a2XKS5wbmcucG5nIl1d.png?sha=2339a9b00a8564ac" 458 class="qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--pc_logo qk-hidden--mobile" 459 style="width: auto; height: 52px;" 460 alt="" 461 height="52" 462 width="auto" 463 > 464 </a> 465 </nav> 466 467 <!-- logo end --> 468 469 <div class="header_nav qk-flex--1"> 470 <div class="qk-pos--relative center qk-pd_r--1 qk-w--100"> 471 <!-- main-nav start --> 472 <nav class="main_nav qk-display--init"></nav> 473 <!-- main-nav end --> 474 </div> 475 </div> 476 477 <!-- tool-nav start --> 478 479 <div style="display: flex; align-items: center; position: relative; top: -12px;"> 480 <!-- cyb_snippet tool_nav start --> 481 482 483 484 485 486 487<nav class="tool-nav qk-pos--rel qk-float--r qk-display--flex"> 488 <ul class="link_shelf_top qk-display--flex qk-flex--row qk-justify--end qk-align--center qk-pos--abs qk-r--0"> 489 490 491 <!-- member --> 492 493 <li class="customer_account qk-pos--rel qk-pd--05"> 494 <div class="dropdown qk-pos--static"> 495 <div class="qk-cursor--pointer" data-toggle="dropdown"> 496 <div data-icon-type="custom_icon_type_account"></div> 497 <span class="text"></span> 498 </div> 499 <div class="member qk-dropdown_menu dropdown-menu qk-pos--abs qk-r--0 qk-bd--default qk-bd--product_border qk-bg--theme_bg" role="menu"> 500 <ul id="customer-logined-menu" style="display: none"> 501 <li> 502 <div class="qk-fs--body qk-text--heading"> 503 <p class="customer-name qk-whitespace-break-spaces"></p> 504 <p>æ¨å¥½ï¼</p> 505 </div> 506 </li> 507 </ul> 508 <ul id="customer-not-login-menu"> 509 <li class="button qk-text--center"> 510 <a href="/account/login" class="btn-login qk-btn qk-btn--lg qk-btn--primary qk-w--100">æå¡ç»å ¥</a> 511 </li> 512 <li class="button qk-text--center"> 513 <a href="/account/signup" class="btn-orders qk-btn qk-btn--lg qk-btn--secondary qk-w--100 qk-bg--transparent">è¨»åæ°æå¡</a> 514 </li> 515 </ul> 516 <span class="menu-bd qk-bd_t--default qk-bd--product_border"></span> 517 <ul class="member-menu qk-bd_t--default qk-bd--product_border"> 518 <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg"> 519 <a href="/account/index" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">æç帳æ¶</a> 520 </li> 521 <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg"> 522 <a href="/account/orders" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">
522è¨å®æ¥è©¢</a> 523 </li> 524 <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg"> 525 <a href="/account/coupons" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">å°å±¬åªæ å¸</a> 526 </li> 527 <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg"> 528 <a href="/account/tracking_items" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">æ¶èæ¸ å®</a> 529 </li> 530 <li class="qk-bg--mask_hover qk-tst qk-tst_dur--15 qk-tst_timing--ease_io qk-tst_prop--bg customer-logout-li" style="display: none"> 531 <a href="/account/logout" class="qk-fs--body qk-text--heading qk-w--100 qk-display--il_bk">æå¡ç»åº</a> 532 </li> 533 </ul> 534 </div> 535 </div> 536 </li> 537 538 <!-- for money symbol --> 539 <div id="money-symbol" data-money-symbol="NT${{amount_no_decimals}}" hidden></div> 540 <!-- cart --> 541 542 <li class="cart qk-pos--rel qk-pd--05"> 543 <!--é»è ¦ççè³¼ç©è»é¸å®--> 544 <div class="dropdown qk-pos--static"> 545 <div data-toggle="dropdown" class="shopcart qk-cursor--pointer" > 546 <div data-icon-type="custom_icon_type_cart"></div> 547 <span class="global-cart-count qk-circle qk-circle--sm qk-bg--accent qk-text--white qk-vert--mid qk-pos--abs qk-bd" style="display: none;">0</span> 548 <span class="global-cart-loading"></span> 549 </div> 550 <div class="qk-dropdown_menu dropdown-menu qk-pos--abs qk-r--0 qk-bd--default qk-bd--product_border qk-bg--theme_bg" role="menu"> 551 <div class="cart_list global-cart-item-list custom-scrollbar qk-of_x--hidden qk-of_y--scroll qk-of_y--overlay qk-display--flex qk-flex--column qk-justify--between three_to_four_scale"></div> 552 <p class="cart_empty qk-fs--body qk-text--heading qk-text--center">ç®åçè³¼ç©è»æ¯ç©ºçï¼</p> 553 <ul> 554 <li class="button qk-text--center"> 555 <a class="btn-checkout qk-btn qk-btn--lg qk-btn--primary qk-w--100" href="/cart" style="display: none">ç«å³è³¼è²·</a> 556 <a class="btn-tracking qk-btn qk-btn--lg qk-btn--secondary qk-w--100 qk-bg--transparent" href="/account/tracking_items">å徿¶èæ¸ å®</a> 557 </li> 558 </ul> 559 </div> 560 </div> 561 </li> 562 563 <!-- search --> 564 565 <li class="search qk-pos--rel qk-pd--05" id="search-icon"> 566 <div class="dropdown qk-pos--static"> 567 <div class="qk-cursor--pointer" data-toggle="dropdown"> 568 <div data-icon-type="custom_icon_type_search"></div> 569 </div> 570 <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"> 571 <div class="search-area qk-display--flex qk-flex--row qk-justify--start qk-align--center qk-vert--mid"> 572 <form action="/search" class="form-inline qk-search_form qk-display--flex qk-justfify--between qk-align--center qk-flex--1"> 573 <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="" /> 574 <button class="search-btn qk-btn qk-btn--lg qk-btn--primary qk-pd--0" type="submit">æå°</button> 575 </form> 576 </div> 577 </div> 578 </div> 579 </li> 580 581 <!-- express delivery --> 582 583 </ul> 584</nav> 585 586<!-- cyb_snippet tool_nav end --> 587 </div> 588 589 590 <!-- tool-nav end --> 591 </div> 592 </div> 593 </div> 594 </div> 595 596 <div class="qk-hidden--pc "> 597 <!-- mobile-nav start --> 598 <nav class="mobile-nav qk-bg--nav_logo_bg"> 599 <ul class="qk-display--flex qk-flex--row qk-justify--between qk-align--center qk-pd_x--05 qk-pd_y--0"> 600 <!-- menu --> 601 602 <li class="sidebar-menu-icon drawer-toggle qk-text--center qk-pd_x--05 qk-pd_y--0 qk-display--flex qk-align--center"> 603 <div data-icon-type="custom_icon_type_menu"></div> 604 </li> 605 606 <!-- logo --> 607 608 <li class="logo qk-mg_r--auto qk-pd_x--05 qk-pd_y--0"> 609 610 <a href="/" class="qk-display--il_flex qk-align--center qk-h--100 qk-hidden--phone"> 611 <img 612 src="//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY2NzY0MTM2X2xvZ28o55m95qGG6KGh5Y675a2XKS5wbmcucG5nIl1d.png?sha=2339a9b00a8564ac" 613 height="25" 614 width="auto" 615 alt="" 616 > 617 </a> 618 619 620 <a href="/" class="qk-display--il_flex qk-align--center qk-h--100 qk-hidden--tablet"> 621 <img 622 src="//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY2NzY0MTM2X2xvZ28o55m95qGG6KGh5Y675a2XKS5wbmcucG5nIl1d.png?sha=2339a9b00a8564ac" 623 height="25" 624 width="auto" 625 alt="" 626 > 627 </a> 628 629 </li> 630 631 632 <!-- search --> 633 634 <li class="search qk-text--center qk-pd_x--05 qk-pd_y--0 qk-display--flex qk-align--center "> 635 <div class="dropdown qk-pos--static qk-text--center"> 636 <div class="qk-cursor--pointer" data-toggle="dropdown"> 637 <div data-icon-type="custom_icon_type_search"></div> 638 </div> 639 <div 640 class="qk-dropdown_menu dropdown-menu qk-w--100vw qk-bg--theme_bg qk-bd--default qk-bd--product_border qk-mg--0" 641 role="menu" 642 > 643 <div class="search-area qk-display--flex qk-flex--row qk-justify--start qk-align--center qk-sp_bt--5 qk-w--100"> 644 <form action="/search" class="form-inline qk-display--flex qk-justfify--center qk-flex--1"> 645 <div class="form-inline qk-search_form qk-display--flex qk-justfify--center qk-align--center qk-flex--1"> 646 <input 647 class="form-control qk-flex--1 qk-inputbox qk-inputbox--lg qk-bg--trans
647parent qk-text--heading" 648 type="search" 649 placeholder="æå°" 650 aria-label="Search" 651 name="q" 652 value="" 653 > 654 <button class="search-btn qk-btn qk-btn--lg qk-btn--primary qk-pd--0" type="submit"> 655 æå° 656 </button> 657 </div> 658 </form> 659 </div> 660 </div> 661 </div> 662 </li> 663 664 <!-- express delivery --> 665 666 667 </ul> 668 </nav> 669 <!-- mobile-nav end --> 670 </div> 671 672 </header> 673 674 <!-- Sidebar --> 675 <nav class="drawer-nav drawer-nav_width qk-bg--nav_menu_bg " role="navigation"> 676 <div class="drawer-menu"> 677 <!-- cyb_snippet side_menu start --> 678 679 680<ul id="index_sidebar_shelf_top" class="sidebar qk-pd_b--1"> 681 682 <li class="logo qk-pos--rel qk-bg--nav_logo_bg qk-pd_x--1 qk-pd_y--05"> 683 <a href="/" class="qk-pd--0"> 684 <img src="//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY2NzY0MTM2X2xvZ28o55m95qGG6KGh5Y675a2XKS5wbmcucG5nIl1d.png?sha=2339a9b00a8564ac" height="32" width="auto" alt="logo"> 685 </a> 686 <button class="drawer-toggle qk-pos--abs qk-bg--transparent qk-pd--0"></button> 687 </li> 688 689 690 691 692 693 <!-- cyb_snippet components/side_menu/menu start --> 694 695 <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> 696 697 698 699 700 701 <li class="qk-pos--rel qk-pd--0"> 702 703 <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> 704 705 </li> 706 707 708 709 710 711 <li class="qk-pos--rel qk-pd--0"> 712 713 <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> 714 715 </li> 716 717 718 719 720 721 <li class="qk-pos--rel qk-pd--0"> 722 <button class="linklist bt-toggle qk-fw--bold collapsed qk-display--il_bk qk-w--100 qk-text--left qk-fs--body qk-text--nav_menu_text qk-bg--nav_menu_bg qk-pos--rel" data-toggle="collapse" data-target=".collapse_index_sidebar_3" aria-expanded=" false "> 723 724 <a class="qk-text--nav_menu_text" href="/collections/frontpage"> ååå表 </a> 725 726 </button> 727 <ul id="index_sidebar_shelf_second_3" class="collapse_index_sidebar_3 collapse shelf_second qk-pd--0"> 728 729 730 731 732 <li class="qk-pos--rel qk-pd--0"> 733 734 <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/æçå°å¹´æ£çå¨é"> 735 æçå°å¹´æ£çå¨é 736 </a> 737 738 </li> 739 740 741 742 743 744 <li class="qk-pos--rel qk-pd--0"> 745 746 <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/æ°åä¸å¸"> 747 NEW æ°åä¸å¸ 748 </a> 749 750 </li> 751 752 753 754 755 756 <li class="qk-pos--rel qk-pd--0"> 757 758 <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/åºæ¸ ç¹å¹39å èµ·"> 759 åºæ¸ ç¹å¹39å èµ· 760 </a> 761 762 </li> 763 764 765 766 767 768 <li class="qk-pos--rel qk-pd--0"> 769 <button class="qk-fw--500 linklist bt-toggle collapsed qk-display--il_bk qk-w--100 qk-text--left qk-text--nav_menu_text qk-fs--body qk-bg--nav_menu_bg qk-pos--rel" data-toggle="collapse" data-target=".collapse_index_sidebar_3_4" aria-expanded=" false "> 770
771 <span class="qk-cursor--pointer qk-text--nav_menu_text"> äºä¼¯ç¹åçç³»å </span> 772 773 </button> 774 <ul class="collapse_index_sidebar_3_4 collapse shelf_third qk-pd--0 qk-bd--nav_menu_text"> 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-bg--nav_menu_bg qk-fs--body qk-text--nav_menu_text" href="/collections/äºä¼¯ç¹-ç»å±±æ"> 780 ç»å±±æ 781 </a> 782 783 </li> 784 785 786 <li class="qk-pos--rel qk-pd--0"> 787 788 <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-bg--nav_menu_bg qk-fs--body qk-text--nav_menu_text" href="/collections/äºä¼¯ç¹-é餿²çå¿«é帳篷"> 789 éé¤/æ²çå¿«é帳篷 790 </a> 791 792 </li> 793 794 </ul> 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/ç´æè¼ª"> 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/æ»æ¿-èæ¿-æ»æ¿è»"> 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/æ»è¼ªè·å ·é ä»¶"> 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/ç±ç"> 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/è¶³ç"> 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/æç"> 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/躲é¿ç"> 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/ææ°£ç-çè¢-èè¢"> 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/å ¶ä»çé¡-ç©å ·ç-é£ç¤"> 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/è·å ·-è¢å¥-è ¿å¥"> 912 è·å · / è¢å¥ / è ¿å¥ 913 </a> 914 915 </li> 916 917 918 919 920 921 <li class="qk-pos--rel qk-pd--0"> 922 923 <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/跳繩"> 924 跳繩 925 </a> 926 927 </li> 928 929 930 931 932 933 <li class="qk-pos--rel qk-pd--0"> 934 935 <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/æå帶-å½å帶-æç帶"> 936 æå帶 / å½å帶 / æç帶 937 </a> 938 939 </li> 940 941 942 943 944 945 <li class="qk-pos--rel qk-pd--0"> 946 947 <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/æ¡åå¨"> 948 æ¡åå¨ 949 </a> 950 951 </li> 952 953 954 955 956 957 <li class="qk-pos--rel qk-pd--0"> 958 959 <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/å¥è ¹è¼ª-æè °ç¤-å¥èº«å¨æ"> 960 å¥è ¹è¼ª / æè °ç¤ / å¥èº«å¨æ 961 </a> 962 963 </li> 964 965 966 967 968 969 <li class="qk-pos--rel qk-pd--0"> 970 971 <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/ææ°§-æ ¸å¿å¥èº«"> 972 ææ°§ / æ ¸å¿å¥èº« 973 </a> 974 975 </li> 976 977 978 979 980 981 <li class="qk-pos--rel qk-pd--0"> 982 983 <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/åé´-æ²å -æ³æ-é ä»¶"> 984 åé´ / æ²å / æ³æ / é ä»¶ 985 </a> 986 987 </li> 988 989 990 991 992 993 <li class="qk-pos--rel qk-pd--0"> 994 995 <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/é»å¾ç"> 996 é»å¾ç 997 </a> 998 999 </li> 1000 1001 1002 1003 1004 1005 <li class="qk-pos--rel qk-pd--0"> 1006 1007 <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/ççå¢-ççç£-ççå"> 1008 ççå¢ / ççç£ / ççå 1009 </a> 1010 1011 </li> 1012 1013 1014 1015 1016 1017 <li class="qk-pos--rel qk-pd--0"> 1018 1019 <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/滾ç-ææ©é¡-æçæ¿">
1020 滾ç / ææ©é¡ / æçæ¿ 1021 </a> 1022 1023 </li> 1024 1025 1026 1027 1028 1029 <li class="qk-pos--rel qk-pd--0"> 1030 1031 <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/游泳系å"> 1032 游泳系å 1033 </a> 1034 1035 </li> 1036 1037 1038 1039 1040 1041 <li class="qk-pos--rel qk-pd--0"> 1042 1043 <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/ç¾½çæç³»å"> 1044 ç¾½çæç³»å 1045 </a> 1046 1047 </li> 1048 1049 1050 1051 1052 1053 <li class="qk-pos--rel qk-pd--0"> 1054 1055 <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/å¹å æ-å¹å ç"> 1056 å¹å æ / å¹å çç³»å 1057 </a> 1058 1059 </li> 1060 1061 1062 1063 1064 1065 <li class="qk-pos--rel qk-pd--0"> 1066 1067 <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/æ¡çç³»å"> 1068 æ¡çç³»å 1069 </a> 1070 1071 </li> 1072 1073 1074 1075 1076 1077 <li class="qk-pos--rel qk-pd--0"> 1078 1079 <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/æ¸å¯«ç³»å"> 1080 æ¸å¯«ç³»å 1081 </a> 1082 1083 </li> 1084 1085 1086 1087 1088 1089 <li class="qk-pos--rel qk-pd--0"> 1090 1091 <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/æ¿é¡-æ¿æ¦-å示æ¶"> 1092 æ¿é¡ / æ¿æ¦ / åç¤ºæ¶ 1093 </a> 1094 1095 </li> 1096 1097 1098 1099 1100 1101 <li class="qk-pos--rel qk-pd--0"> 1102 1103 <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/ç£éµç¨å"> 1104 ç£éµç³»å 1105 </a> 1106 1107 </li> 1108 1109 1110 1111 1112 1113 <li class="qk-pos--rel qk-pd--0"> 1114 <button class="qk-fw--500 linklist bt-toggle collapsed qk-display--il_bk qk-w--100 qk-text--left qk-text--nav_menu_text qk-fs--body qk-bg--nav_menu_bg qk-pos--rel" data-toggle="collapse" data-target=".collapse_index_sidebar_3_31" aria-expanded=" false "> 1115 1116 <span class="qk-cursor--pointer qk-text--nav_menu_text"> çæ´»ç¾è²¨ </span> 1117 1118 </button> 1119 <ul class="collapse_index_sidebar_3_31 collapse shelf_third qk-pd--0 qk-bd--nav_menu_text"> 1120 1121 1122 <li class="qk-pos--rel qk-pd--0"> 1123 1124 <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-bg--nav_menu_bg qk-fs--body qk-text--nav_menu_text" href="/collections/çæ´»ç¾è²¨-æé¤"> 1125 æé¤ / éµé¤ 1126 </a> 1127 1128 </li> 1129 1130 1131 <li class="qk-pos--rel qk-pd--0"> 1132 1133 <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-bg--nav_menu_bg qk-fs--body qk-text--nav_menu_text" href="/collections/çæ´»ç¾è²¨-è¬ç¨é»åè é¡"> 1134 è¬ç¨é»å / è é¡ 1135 </a> 1136 1137 </li> 1138 1139 1140 <li class="qk-pos--rel qk-pd--0"> 1141 1142 <a class="qk-fw--500 qk-display--il_bk qk-w--100 qk-text--left qk-bg--nav_menu_bg qk-fs--body qk-text--nav_menu_text" href="/collections/çæ´»ç¾è²¨-è 帶"> 1143 è 帶系å 1144 </a> 1145 1146 </li> 1147 1148 </ul> 1149 </li> 1150 1151 1152 1153 1154 1155 <li class="qk-pos--rel qk-pd--0"> 1156 1157 <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/å¹¼ææ¨å¨"> 1158 å¹¼ææ¨å¨ 1159 </a> 1160 1161 </li> 1162 1163 1164 1165 1166 1167 <li class="qk-pos--rel qk-pd--0"> 1168 1169 <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/è¾¦å ¬ç¨å"> 1170 è¾¦å ¬ç¨å 1171 </a> 1172 1173 </li> 1174 1175 1176 1177 1178 1179 <li class="qk-pos--rel qk-pd--0"> 1180 1181 <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/ææ¬åå"> 1182 ææ¬åå 1183 </a> 1184 1185 </li> 1186 1187 1188 </ul> 1189 </li> 1190 1191 1192 1193 1194 1195 <li class="qk-pos--rel qk-pd--0"> 1196 1197 <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> 1198 1199 </li> 1200 1201 1202 1203 1204 1205 <li class="qk-pos--rel qk-pd--0"> 1206 1207 <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> 1208 1209 </li> 1210 1211 1212
1213<script> 1214 $('button a').on('click', function(e) {e.stopPropagation()}); 1215</script>
1215 1216 1217<!-- cyb_snippet components/side_menu/menu end --> 1218 1219 1220 1221 1222 <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> 1223 <li class="qk-pos--rel qk-pd--0"> 1224 <div class="customer-logined-menu qk-display--il_bk qk-w--100 qk-text--left" style="display: none"> 1225 <a href="/account/index" class="qk-text--nav_menu_text qk-fw--bold qk-fs--body">æç帳æ¶</a> 1226 </div> 1227 </li> 1228 <li class="qk-pos--rel qk-pd--0"> 1229 <div class="customer-logined-menu qk-display--il_bk qk-w--100 qk-text--left" style="display: none"> 1230 <a href="/account/orders" class="qk-text--nav_menu_text qk-fw--bold qk-fs--body">è¨å®æ¥è©¢</a> 1231 </div> 1232 </li> 1233 <li class="qk-pos--rel qk-pd--0"> 1234 <div class="customer-logined-menu qk-display--il_bk qk-w--100 qk-text--left" style="display: none"> 1235 <a href="/account/logout" class="qk-text--nav_menu_text qk-fw--bold qk-fs--body">æå¡ç»åº</a> 1236 </div> 1237 </li> 1238 <li class="qk-pos--rel qk-pd--0"> 1239 <a href="/account/login"> 1240 <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 "> 1241 <span class="qk-text--nav_menu_bg qk-fw--500 qk-fs--body"> 1242 æå¡ç»å ¥ 1243 </span> 1244 </div> 1245 </a> 1246 </li> 1247 <li class="qk-pos--rel qk-pd--0"> 1248 <a href="/account/signup"> 1249 <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"> 1250 <span class="qk-text--nav_menu_text qk-fs--body qk-fw--500"> 1251 è¨»åæ°æå¡ 1252 </span> 1253 </div> 1254 </a> 1255 </li> 1256 1257 1258 1259 1260 1261</ul> 1262 1263<link href='//cdn1-next.cybassets.com/frontend/shop/beta_theme/css/sidebar-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' /> 1264
1265<script> 1266 $(document).ready(function(){ 1267 // å´éé¸å® 1268 if ($('.drawer').length){ 1269 $('.drawer').drawer(); 1270 $('.bt-toggle').click(function(){ 1271 setTimeout(function(){ 1272 $('.drawer')[0].iScroll.refresh() 1273 },500) 1274 }) 1275 } 1276 }); 1277</script>
1277 1278 1279 1280<!-- cyb_snippet side_menu end --> 1281 1282 </div> 1283 </nav> 1284 <!-- Bottombar --> 1285 1286 1287 </span> 1288 1289<div id="index-popular-tags"></div> 1290 1291<style id="timer_color"> 1292 :root { 1293 1294 --timer_text: #ffffff; 1295 1296 1297 1298 --timer_bg: #bd1212; 1299 1300 } 1301</style> 1302
1303<script> 1304 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":"åé¡å
1304
§å®¹","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天å
è²»éè³
1304æï¼å«ä¾åæ¥ï¼ãéæè²¨æè«ä¿æåå
è£ååç宿´ï¼å
å«è³¼è²·ååï¼éä»¶ï¼è´åçï¼ã\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":"è¬è¬æ¨çå¯
1304¶è²´æè¦","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":"宿å®é¡"} 1305 $(document).ready(function(){ 1306 if(window.location.pathname != '' && window.location.pathname != '/' ){ 1307 document.getElementById('index-popular-tags').style.display = 'none' 1308 } 1309 // åæ¸è¨æ 1310 1311 var leftDay = $('.left_day'); 1312 var leftHour = $('.left_hour'); 1313 var leftMin = $('.left_min'); 1314 var leftSec = $('.left_sec'); 1315 var nowTime = '' * 1; 1316 var startTime = '' ? '' * 1 : nowTime; 1317 var endTime = '' * 1; 1318 1319 function paddedFormat(num) { 1320 return num < 10 ? "0" + num : num; 1321 }; 1322 1323 function startCountDown(duration) { 1324 var left_day, left_hour, left_min, left_sec = 0; 1325 var countInterval = setInterval(function () { 1326 leftDay.html(paddedFormat(parseInt(duration / 3600 / 24))); 1327 leftHour.html(paddedFormat(parseInt(duration / 3600) % 24)); 1328 leftMin.html(paddedFormat(parseInt(duration / 60) % 60)); 1329 leftSec.html(paddedFormat(parseInt(duration) % 60)); 1330 duration = duration - 1; 1331 if (duration < 0) { 1332 clearInterval(countInterval); 1333 }; 1334 }, 1000); 1335 }; 1336 1337 if (startTime <= nowTime && endTime > nowTime) { 1338 startTime = nowTime; 1339 startCountDown(endTime - startTime); 1340 } 1341 1342 1343 function adjustContentTop() { 1344 1345 const isNavbarTransparent = false; 1346 let headerHeight = $("#header").outerHeight(); 1347 if (isNavbarTransparent && $('#template').width() >= 992) { 1348 headerHeight -= $('.computer_nav').height(); 1349 } 1350 const floatFilterHeight = $('#float-filter').innerHeight() || 0; 1351 $("body").css({ 1352 "padding-top": (headerHeight - floatFilterHeight) + "px", 1353 }); 1354 } 1355 1356 window.adjustContentTop = adjustContentTop; 1357 1358 // navbarè¨å®éæ 1359 1360 1361 // Call it first once DOM is ready to prevent CLS 1362 adjustContentTop(); 1363 1364 // å»¶é²åå§åï¼çå¾ app banner åå§å宿 1365 $(window).on("resize", adjustContentTop); 1366 1367 // ä½¿ç¨ setTimeout ç¢ºä¿ banner çæ å·²ç¶ç¢ºå® 1368 $(window).on("load", function() { 1369 setTimeout(function() { 1370 adjustContentTop(); 1371 }, 200); // 給 banner è¶³å¤ æéåå§å 1372 }); 1373 1374 $('img.header_banner').on('load', adjustContentTop); 1375 1376 window.renderNavbarSection('.main_nav', { 1377 navbarCollections: null, 1378 navbarItems: [{"id":641096,"title":"é¦é ","url":"/","item_type":"frontpage","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":641099,"title":"éæ¼æå","url":"/pages/about-us","item_type":"page","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":897297,"title":"ååå表","url":"/collections/frontpage","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":[{"id":1816669,"title":"æçå°å¹´æ£çå¨é","url":"/collections/æçå°å¹´æ£çå¨é","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":989142,"title":"NEW æ°åä¸å¸","url":"/collections/æ°åä¸å¸","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1022589,"title":"åºæ¸ ç¹å¹39å èµ·","url":"/collections/åºæ¸ ç¹å¹39å èµ·","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":916508,"title":"äºä¼¯ç¹åçç³»å","url":"","item_type":"linklist","subtitle":null,"icon_image_url":null,"menuItems":[{"id":916532,"title":"ç»å±±æ","url":"/collections/äºä¼¯ç¹-ç»å±±æ","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":916534,"title":"éé¤/æ²çå¿«é帳篷","url":"/collections/äºä¼¯ç¹-é餿²çå¿«é帳篷","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null}]},{"id":897299,"title":"ç´æè¼ª","url":"/collections/ç´æè¼ª","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":897312,"title":"æ»æ¿ / èæ¿ / æ»æ¿è»","url":"/collections/æ»æ¿-èæ¿-æ»æ¿è»","
1378item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":953248,"title":"æ»è¼ªè·å ·é ä»¶","url":"/collections/æ»è¼ªè·å ·é ä»¶","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":897320,"title":"ç±ç","url":"/collections/ç±ç","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":897321,"title":"è¶³ç","url":"/collections/è¶³ç","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":897332,"title":"æç","url":"/collections/æç","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":897333,"title":"躲é¿ç","url":"/collections/躲é¿ç","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":897340,"title":"ææ°£ç / çè¢ / èè¢","url":"/collections/ææ°£ç-çè¢-èè¢","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":897347,"title":"å ¶ä»çé¡ / ç©å ·ç / é£ç¤","url":"/collections/å ¶ä»çé¡-ç©å ·ç-é£ç¤","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":897348,"title":"è·å · / è¢å¥ / è ¿å¥","url":"/collections/è·å ·-è¢å¥-è ¿å¥","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":897371,"title":"跳繩","url":"/collections/跳繩","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":897381,"title":"æå帶 / å½å帶 / æç帶","url":"/collections/æå帶-å½å帶-æç帶","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":897382,"title":"æ¡åå¨","url":"/collections/æ¡åå¨","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":897393,"title":"å¥è ¹è¼ª / æè °ç¤ / å¥èº«å¨æ","url":"/collections/å¥è ¹è¼ª-æè °ç¤-å¥èº«å¨æ","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":897406,"title":"ææ°§ / æ ¸å¿å¥èº«","url":"/collections/ææ°§-æ ¸å¿å¥èº«","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":897407,"title":"åé´ / æ²å / æ³æ / é ä»¶","url":"/collections/åé´-æ²å -æ³æ-é ä»¶","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":897408,"title":"é»å¾ç","url":"/collections/é»å¾ç","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":897422,"title":"ççå¢ / ççç£ / ççå","url":"/collections/ççå¢-ççç£-ççå","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":897423,"title":"滾ç / ææ©é¡ / æçæ¿","url":"/collections/滾ç-ææ©é¡-æçæ¿","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":897455,"title":"游泳系å","url":"/collections/游泳系å","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":897456,"title":"ç¾½çæç³»å","url":"/collections/ç¾½çæç³»å","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1840070,"title":"å¹å æ / å¹å çç³»å","url":"/collections/å¹å æ-å¹å ç","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":897457,"title":"æ¡çç³»å","url":"/collections/æ¡çç³»å","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":897458,"title":"æ¸å¯«ç³»å","url":"/collections/æ¸å¯«ç³»å","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":934932,"title":"æ¿é¡ / æ¿æ¦ / å示æ¶","url":"/collections/æ¿é¡-æ¿æ¦-å示æ¶","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":955341,"title":"ç£éµç³»å","url":"/collections/ç£éµç¨å","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":985776,"title":"çæ´»ç¾è²¨","url":"","item_type":"linklist","subtitle":null,"icon_image_url":null,"menuItems":[{"id":985777,"title":"æé¤ / éµé¤","url":"/collections/çæ´»ç¾è²¨-æé¤","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":985778,"title":"è¬ç¨é»å / è é¡","url":"/collections/çæ´»ç¾è²¨-è¬ç¨é»åè é¡","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":1307309,"title":"è 帶系å","url":"/collections/çæ´»ç¾è²¨-è 帶","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null}]},{"id":986429,"title":"å¹¼ææ¨å¨","url":"/collections/å¹¼ææ¨å¨","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":987184,"title":"è¾¦å ¬ç¨å","url":"/collections/è¾¦å ¬ç¨å","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":987500,"title":"ææ¬åå","url":"/collections/ææ¬åå","item_type":"custom_collection","subtitle":null,"icon_image_url":null,"menuItems":null}]},{"id":872368,"title":"å½±çç¹è¼¯","url":"/blogs/news","item_type":"blog","subtitle":null,"icon_image_url":null,"menuItems":null},{"id":641100,"title":"客æä¸å¿","url":"/contact","item_type":"contact","subtitle":null,"icon_image_url":null,"menuItems":null}], 1379 settings: { 1380 menuDisplayStyle: "two_dimension_menu", 1381 pcLogoImgUrl: "//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY2NzY0MTM2X2xvZ28o55m95qGG6KGh5Y675a2XKS5wbmcucG5nIl1d.png?sha=2339a9b00a8564ac", 1382 mobileLogoImgUrl: "//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjY2NzY0MTM2X2xvZ28o55m95qGG6KGh5Y675a2XKS5wbmcucG5nIl1d.png?sha=2339a9b00a8564ac", 1383 navbarDisplayStyle: "rowNav", 1384 } 1385 } 1386 ); 1387 1388 1389 // for link menu 1390 const linkMenuElement = document.querySelector('.link-nav'); 1391 const data = [] 1392 data.forEach((item) => { 1393 const wrapper = document.createElement('a'); 1394 const link = document.createElement('ul'); 1395 1396 wrapper.href = item.url; 1397 link.textContent = item.title; 1398 link.classList.add('link-item'); 1399 1400 wrapper.appendChild(link); 1401 linkMenuElement.appendChild(wrapper); 1402 }); 1403 1404 // for safe-area space on iOS devices 1405 const userAgent = navigator.userAgent; 1406 const isIOS = /iPad|iPhone|iPod/.test(userAgent) && !window.MSStream; 1407 const isLiff = /Line\/[\d.]+/i.test(userAgent); 1408 const $mobileBottomBar = $('#mobile-bottom-bar'); 1409 1410 if ($mobileBottomBar.length && isIOS && isLiff) { 1411 $mobileBottomBar.addClass('is-ios-liff'); 1412 } 1413 }); 1414 document.addEventListener('DOMContentLoaded', function() { 1415 window.getCartAmount = function() { 1416 return parseInt($('.global-cart-count').html()); 1417 }; 1418 }); 1419</script>
1419 1420
1421<script src='//cdn1-next.cybassets.com/frontend/shop/beta_theme/js/navbar-3a2e378145f8a165.js' type='text/javascript'></script>
vendor: 1 bytes, line 1421
1421
1422<script src='//cdn1-next.cybassets.com/frontend/shop/beta_theme/js/currencies-3a2e378145f8a165.js' type='text/javascript'></script>
1422 1423<!-- cyb_snippet i18n_modal start --> 1424 1425 1426<!-- cyb_snippet i18n_modal end --> 1427<!-- cyb_snippet _load_fonts start -->
1428<script src='//cdn1-next.cybassets.com/frontend/shop/beta_theme/js/load_fonts-3a2e378145f8a165.js' type='text/javascript'></script>
vendor: 1 bytes, line 1428
1428
1429<script> 1430 document.addEventListener('DOMContentLoaded', function() { 1431 window.loadFontSetting("{'ja':{'value':'Noto Sans JP'},'zh-TW':{'value':'Noto Sans TC'},'en':{'value':'Noto Sans TC'},'zh-CN':{'value':'Noto Sans TC'}}") 1432 }) 1433</script>
1433 1434 1435<!-- cyb_snippet _load_fonts end --> 1436<!-- cyb_snippet _custom_icon start -->
1437<script src='//cdn1-next.cybassets.com/frontend/shop/navIcon-3a2e378145f8a165.js' type='text/javascript'></script>
1437 1438
1439<script> 1440 (function() { 1441 const iconUrlMap = new Map([ 1442 ['custom_icon_type_home', null], 1443 ['custom_icon_type_tracking_items', null], 1444 ['custom_icon_type_account', null], 1445 ['custom_icon_type_cart', null], 1446 ['custom_icon_type_search', null], 1447 ['custom_icon_type_menu', null] 1448 ]); 1449 const elements = document.querySelectorAll('[data-icon-type]'); 1450 elements.forEach((element, index) => { 1451 const iconAttributes = element.getAttribute('data-icon-type'); 1452 1453 const uniqueId = `icon_${iconAttributes}_${index}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`; 1454 element.id = uniqueId; 1455 window.renderNavCustomIcon(`#${uniqueId}`, { 1456 navIconStyle: "icon_type_default", 1457 customIconUrl: iconUrlMap.get(iconAttributes) || '', 1458 iconAttributes: iconAttributes, 1459 currentTemplate: "product", 1460 }); 1461 }); 1462 })(); 1463</script>
1463 1464 1465<!-- cyb_snippet _custom_icon end --> 1466 1467 1468 1469 1470 1471
1471<script src='//cdn1-next.cybassets.com/frontend/shop/announcementBar-3a2e378145f8a165.js' type='text/javascript'></script>
1471 1472 1473 1474 1475 1476 1477
1477<script> 1478 $(document).ready(function() { 1479 window.renderAnnouncementBar('#announcement-bar', { 1480 sectionId: "announcement_bar", 1481 isIndex: false, 1482 }); 1483 }); 1484 </script>
1484 1485 1486 1487 1488 1489 1490 1491 <!-- template --> 1492 <div id="template" style="flex:1 0 auto; background-color: var(--theme_bg);"> 1493 <!-- cyb_snippet breadcrumb start --> 1494 1495<link href='//cdn1-next.cybassets.com/frontend/shop/beta_theme/css/breadcrumb-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' /> 1496 1497 1498<div id="site_path" class="qk-bd_b--default qk-bd--product_border"> 1499 <!-- mobile: toggle button (hidden on PC) --> 1500 <div class="qk-container qk-hidden--pc"> 1501 <div class="breadcrumb qk-bg--theme_bg qk-pd_x--0 qk-mg--0 qk-fs--breadcrumb"> 1502 <button 1503 class="bt-toggle qk-bg--theme_bg qk-pd_x--0 qk-w--100 qk-text--left qk-bd--none qk-pos--rel collapsed" 1504 data-toggle="collapse" 1505 data-target=".breadcrumb-content" 1506 > 1507 <a href="/" class="qk-text--text"> 1508 <i class="fas fa-home"></i> 1509 </a> 1510 </button> 1511 </div> 1512 </div> 1513 <!-- breadcrumb nav: single DOM, PC always visible, mobile as collapse dropdown --> 1514 <div class="breadcrumb-content qk-bg--theme_bg collapse"> 1515 <div class="qk-container"> 1516 <!-- cyb_snippet breadcrumb_nav start --> 1517<!-- 主é¡çå麵å å± --> 1518<nav aria-label="breadcrumb"> 1519 <ol 1520 class="breadcrumb qk-bg--theme_bg qk-pd_x--0 qk-mg--0 qk-fs--breadcrumb" 1521 itemscope 1522 itemtype="http://schema.org/BreadcrumbList" 1523 > 1524 1525 <li 1526 class="breadcrumb-item 1527 1528 " 1529 itemprop="itemListElement" 1530 itemscope itemtype="http://schema.org/ListItem"> 1531 <!-- home --> 1532 1533 <a href="/" class="qk-text--text" itemprop="item"> 1534 <i class="fas fa-home"></i> 1535 <span class="qk-display--none" itemprop="name">é¦é </span> 1536 </a> 1537 <!-- account --> 1538 1539 <meta itemprop="position" content="1"/> 1540 </li> 1541 1542 <li 1543 class="breadcrumb-item 1544 1545 " 1546 itemprop="itemListElement" 1547 itemscope itemtype="http://schema.org/ListItem"> 1548 <!-- home --> 1549 1550 1551 <a href="#" itemprop="item" style="display: none;"> 1552 <span itemprop="name">åå</span> 1553 </a> 1554 1555 1556 <span class="qk-text--text" data-breadcrumb-links> 1557 <a href='/collections/ææ°§-æ ¸å¿å¥èº«' class='qk-text--text' itemprop='item'><span itemprop='name'>ææ°§ / æ ¸å¿å¥èº«</span></a> 1558 </span> 1559 1560 <!-- product --> 1561 1562 <meta itemprop="position" content="2"/> 1563 </li> 1564 1565 <li 1566 class="breadcrumb-item 1567 1568 active " 1569 itemprop="itemListElement" 1570 itemscope itemtype="http://schema.org/ListItem"> 1571 <!-- home --> 1572 1573 <a href="/products/s5190-20230317094020" class="qk-text--text" itemprop="item"> 1574 <span itemprop="name">æå S5190æ¶æåèè ¿è¸æ¥æ©</span> 1575 </a> 1576 <!-- search --> 1577 1578 <meta itemprop="position" content="3"/> 1579 </li> 1580 1581 </ol> 1582</nav>
1583<script> 1584 $(document).ready(function () { 1585 if (!window.liquidHelper || !window.liquidHelper.hasBreadcrumbReferrerEnabled) return; 1586 1587 var $collections = $('[data-breadcrumb-links]'); 1588 if (!$collections.length) return; 1589 1590 var refMatch = document.referrer.match(/\/collections\/([^/?#]+)/); 1591 if (!refMatch || refMatch[1] === 'all') return; 1592 1593 var referrerHandle = decodeURIComponent(refMatch[1]); 1594 1595 function getCollectionHandle(url) { 1596 if (!url) return null; 1597 try { 1598 var pathname = new URL(url, location.origin).pathname; 1599 var parts = pathname.split('/'); 1600 var idx = parts.indexOf('collections'); 1601 if (idx === -1 || !parts[idx + 1]) return null; 1602 return decodeURIComponent(parts[idx + 1]); 1603 } catch (e) { 1604 return null; 1605 } 1606 } 1607 1608 var $link = $collections.find('a').filter(function () { 1609 return getCollectionHandle(this.href) === referrerHandle; 1610 }); 1611 1612 if ($link.length) { 1613 $collections.siblings('a.qk-text--accent[href="#"]').remove(); 1614 $collections.empty().append($link); 1615 } 1616 }); 1617</script>
1617 1618 1619<!-- cyb_snippet breadcrumb_nav end --> 1620 </div> 1621 </div> 1622</div> 1623 1624 1625<!-- cyb_snippet breadcrumb end --> 1626 1627 1628<div id="img"></div> 1629 1630 1631 1632 1633
1634<script> 1635 var gallery_img = undefined; 1636 document.addEventListener("DOMContentLoaded", function(){ 1637 gallery_img = renderGallery( 1638 '#img', 1639 { 1640 urls: ["//cdn-general.cybassets.com/media/W1siZiIsIjIyMDg2L3Byb2R1Y3RzLzM3ODU5MzkwLzE2NjEzMTM2MTdfNWE5MjBiYjM1NGFlYWQ5ODIyNTMuanBlZyJdLFsicCIsInRodW1iIiwiMjA0OHgyMDQ4Il1d.jpeg?sha=e9ad710c55df74f2","//cdn-general.cybassets.com/media/W1siZiIsIjIyMDg2L3Byb2R1Y3RzLzM3ODU5MzkwLzE2NjEzMTM2MTdfMjA4OTIxMjljZDMzY2EyZjI3YzIuanBlZyJdLFsicCIsInRodW1iIiwiMjA0OHgyMDQ4Il1d.jpeg?sha=4b1b91e28f3b5e77"], 1641 onSwiperGalleryChange: function (payload) { 1642 var eventPayload = Object.assign({ galleryName: "img" }, payload); 1643 $(document).trigger('swiper-gallery-change', [eventPayload]); 1644 }, 1645 }, 1646 ); 1647 }); 1648</script>
1648 1649 1650<div id="product" class="product"> 1651 <div class="qk-container"> 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661<div id="product_info" class="product_info qk-display--grid" data-purchase-eligibility='{"required":false,"eligible":true,"status":"eligible"}' data-hide-price="false" data-sales-mode-purchasable="true"> 1662 <!-- product image start --> 1663 <div id="variant_photos" class="variant_photos"> 1664 1665 1666 1667 1668 <variant-photos-block 1669 :product-photos-json="'[{\'id\':9681634,\'imageUrl\':\'//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L3Byb2R1Y3RzLzM3ODU5MzkwLzE2NjEzMTM2MTdfNWE5MjBiYjM1NGFlYWQ5ODIyNTMuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=f05a30c3e658b150\',\'imageMaxUrl\':\'//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L3Byb2R1Y3RzLzM3ODU5MzkwLzE2NjEzMTM2MTdfNWE5MjBiYjM1NGFlYWQ5ODIyNTMuanBlZyJdLFsicCIsInRodW1iIiwiMjA0OHgyMDQ4Il1d.jpeg?sha=e9ad710c55df74f2\'}, {\'id\':9681635,\'imageUrl\':\'//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L3Byb2R1Y3RzLzM3ODU5MzkwLzE2NjEzMTM2MTdfMjA4OTIxMjljZDMzY2EyZjI3YzIuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=e4fa23d9c07b1dcd\',\'imageMaxUrl\':\'//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L3Byb2R1Y3RzLzM3ODU5MzkwLzE2NjEzMTM2MTdfMjA4OTIxMjljZDMzY2EyZjI3YzIuanBlZyJdLFsicCIsInRodW1iIiwiMjA0OHgyMDQ4Il1d.jpeg?sha=4b1b91e28f3b5e77\'}]'" 1670 :display-product-images-color=false 1671 :product-id="39906070" 1672 product-title="æå S5190æ¶æåèè ¿è¸æ¥æ©" 1673 1674 /> 1675 </div> 1676 <!-- product image end --> 1677 <!-- product content start --> 1678 <div id="product_content" class="product_content qk-display--flex" data-tracking-variant-ids="null"> 1679 1680 <!-- æ¨é¡ --> 1681 <div class="product_title"> 1682 <h1 class="qk-text--heading qk-fs--hd1 qk-fw--bold qk-mg--0">æå S5190æ¶æåèè ¿è¸æ¥æ©</h1> 1683 </div> 1684 1685 <!-- ç°¡è¿° --> 1686 1687 <div class="product_brief qk-text--text qk-fs--body"> 1688 åèï¼S5190<br>尺寸ï¼é·45.7 x 寬43.3 x é«108.5(å«è¨æ¥å¨)<br>ééï¼ç´8.5kg<br>å ¥æ¸ï¼1å°<br>[æè³ª] éµãèä¸ç¯ãä¸è æ©¡è ãæ³¡æ£ãæ²¹<br>[é«åº¦] æ¶æå¯èª¿3段ï¼é«åº¦åå¥94ï¼99ï¼104cm<br>è²¼å¿æé: å¿é£çºè¸©è¸è¶ é20åéï¼è®æ²¹ç®¡æ¶²å£é溫20~30åéä¹å¾å使ç¨ï¼ä»¥å é æéåº¦ä½¿ç¨æå£ï¼å»¶é·æ²¹ç®
1688¡å£½å½åã 1689 </div> 1690 1691 <!-- å» å,æ¨èª --> 1692 <div class="product_vendor_slogan qk-display--il_bk qk-align--center"> 1693 1694 1695 <span class="product_slogan qk-text--heading qk-fs--body">æ ¸å¿æ©è½å¼·åï¼æèè¨ç·´</span> 1696 1697 </div> 1698 <!-- ååå®å¹ --> 1699 1700 1701 1702 <div 1703 class="product_price" 1704 id="price_title" 1705 data-discount-price-name="" 1706 data-discount-price-suggestion-name=""> 1707 <!-- 广 ¼title --> 1708 1709 1710 1711 1712 <!-- åå广 ¼ --> 1713 <div class="qk-display--il_bk"> 1714 <span class="qk-text--discount_price price qk-fs--hd1 qk-fw--bold qk-display--il_bk qk-vert--mid"><span class="money_tag" data-currency-from="TWD" data-amount="2880.0">NT$2,880</span></span> 1715 </div> 1716 <del class="qk-text--text qk-fs--body qk-pd_l--05 qk-display--il_bk qk-vert--mid"><span class="money_tag" data-currency-from="TWD" data-amount="3600.0">NT$3,600</span></del> 1717 1718 <!--æå¡å¯è¦å¹--> 1719 1720 </div> 1721 1722 <!-- ååsku --> 1723 1724 <div class="product_sku qk-text--heading qk-fs--body"> 1725 <span>ååç·¨è: 1726 </span> 1727 <span class="val">S5190</span> 1728 </div> 1729 1730 <!-- ä¾è²¨çæ³ --> 1731 1732 <div class="product_inventory_policy qk-text--heading qk-fs--body"> 1733 <span>ä¾è²¨çæ³: 1734 </span> 1735 <span class="val">å°æåº«å</span> 1736 </div> 1737 1738 1739 <!-- å忬¾å¼ --> 1740 <div id="variant_options" class="variant_options"> 1741 <variant-options-block 1742 :product-api-url="'/products/s5190-20230317094020'" 1743 :sku="sku" 1744 :auto-select-variant-by-sku="false" 1745 :hide-other-variants-by-sku="false" 1746 :hide-single-variant-options="false" 1747 :sales-mode-purchasable="true" 1748 default-price="NT$2,880" 1749 default-compare-price="NT$3,600" 1750 :default-discounted="true" 1751 @set-choose="getSelectedDatas" 1752 @get-option-image="getCurrentImage"></variant-options-block> 1753 </div> 1754 1755 <div id="product-tags"></div> 1756 1757 <!-- product discounts_list start --> 1758 <div class="product_discounts_list force-show-scrollbar hide qk-bd--default qk-bd--product_border qk-pd--1 qk-of_y--auto qk-of_x--hidden "> 1759 <div class="list_block custom-scrollbar qk-of_x--hidden"> 1760 <p class="qk-text--heading qk-fs--body qk-mg_b--05">æ¤åååèçåªæ æ´»å</p> 1761 1762 </div> 1763 </div> 1764 <!-- product discounts_list end --> 1765 1766 <!-- è¦æ ¼,æ¸é --> 1767 1768 <div class="product_variant_quantity"> 1769 <span class="product_quantity"> 1770 <div 1771 class="btn-group" 1772 role="group" 1773 aria-label="First group"> 1774 <button class="btn add-down qk-bd--product_border" type="button"></button> 1775 <input 1776 class="btn item-quantity qk-text--heading qk-bd--product_border" 1777 type="text" 1778 name="quantity" 1779 value="1" 1780 data-old-value="1"> 1781 <button class="btn add-up qk-bd--product_border" type="button"></button> 1782 </div> 1783 </span> 1784 </div> 1785 1786 <!-- 購買æé --> 1787 <div class="product_button qk-display--flex qk-hidden--mobile"> 1788 <!-- cyb_snippet _product_info_button start --> 1789<button class="btn addToCart btn_to_cart qk-btn qk-text--button qk-bd--button qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button" 1790 data-brand="" 1791 data-id="39906070" 1792 data-category="" 1793 data-list="å®ç¢å細覽" 1794 data-name="æå S5190æ¶æåèè ¿è¸æ¥æ©" 1795 data-quantity="1" 1796 data-position="å ¨é " 1797 1798 data-ga-custom-dimension="" 1799 data-ga-custom-value="" 1800 data-sku="S5190">å å ¥è³¼ç©è»</button> 1801<button class="btn addToCart btn-quick_buy qk-btn qk-btn--primary qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button" data-buy="quick_buy" 1802 data-brand="" 1803 data-id="39906070" 1804 data-category="" 1805 data-list="å®ç¢å細覽" 1806 data-name="æå S5190æ¶æåèè ¿è¸æ¥æ©" 1807 data-quantity="1" 1808 data-position="å ¨é " 1809 1810 data-ga-custom-dimension="" 1811 data-ga-custom-value="" 1812 data-sku="S5190"><span>ç«å³è³¼è²·</span></button> 1813 1814<!-- cyb_snippet _product_info_button end --> 1815 <!-- cyb_snippet _product_info_status_button start --> 1816<button class="btn btn_not_sale hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button"> 1817 å°æªéè³£ 1818</button> 1819<button class="btn btn_login_to_view hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button"> 1820 ç»å ¥æ¥çè³æ ¼ 1821</button> 1822<button class="btn btn_not_eligible hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button"> 1823 è³¼è²·è³æ ¼ä¸ç¬¦ 1824</button> 1825<!-- cyb_snippet _product_info_status_button end --> 1826 1827 <button class="btn btn_notice hidden qk-btn qk-btn--primary qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button"> 1828 å·²å®å®ï¼è²¨å°éç¥æ 1829 </button> 1830 1831 <button class="btn btn_soldout hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button"> 1832 å·²å®å® 1833 </button> 1834 <button 1835 class="btn buy-together hidden qk-btn qk-text--button qk-bd--button qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" 1836 type="button" 1837 data-brand="" 1838 data-id="39906070" 1839 data-category="" 1840 data-list="å®ç¢å細覽" 1841 data-name="æå S5190æ¶æåèè ¿è¸æ¥æ©" 1842 data-quantity="1" 1843 data-position="å ¨é " 1844 1845 data-ga-custom-dimension="" 1846 data-ga-custom-value="" 1847 data-sku="S5190">åæå è³¼ç©è»</button> 1848 <button 1849 class="btn buy-together hidden qk-btn qk-btn--primary qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" 1850 type="button" 1851 data-buy="quick_buy" 1852 data-brand="" 1853 data-id="39906070" 1854 data-category="" 1855 data-list="å®ç¢å細覽" 1856 data-name="æå S5190æ¶æåèè ¿è¸æ¥æ©" 1857 data-quantity="1" 1858 data-position="å ¨é " 1859 1860 data-ga-custom-dimension="" 1861 data-ga-custom-value="" 1862 data-sku="S5190">åæè³¼è²·</button> 1863 </div> 1864 1865 <div class="product_button_mobile qk-display--flex qk-align--center qk-hidden--pc">
1866 <span class="product_love_mobile qk-display--il_bk"> 1867 <input 1868 type="hidden" 1869 class="product-variant-id" 1870 value="45826133" 1871 data-sku="S5190" 1872 data-price="2880.0" 1873 data-compare_at_price="3600.0" 1874 data-variant="" 1875 data-inventory_quantity="20"> 1876 <a 1877 class="btn_love scupio-add-wishlist qk-text--text qk-fs--body qk-cursor--pointer" 1878 data-itemid="S5190" 1879 1880 > 1881 <div data-icon-type="custom_icon_type_tracking_items" ></div> 1882 1883 </a> 1884 </span> 1885 1886 <div class="cart qk-text--center qk-pd_x--05 qk-pd_y--0"> 1887 <a href="/cart" class="qk-display--il_flex qk-flex--row qk-justify--center qk-align--center qk-vert--mid qk-pos--rel"> 1888 <div data-icon-type="custom_icon_type_cart" ></div> 1889 1890 <span class="number global-cart-count qk-circle qk-circle--sm qk-bg--accent qk-text--white qk-text--center qk-vert--mid qk-pos--abs" style="display: none;">0</span> 1891 </a> 1892 </div> 1893 <!-- cyb_snippet _product_info_button_mobile start --> 1894<button 1895 class="btn addToCart_mobile btn_to_cart_mobile open_product_modal qk-btn qk-flex--1 qk-fs--title qk-text-truncate qk-bd--button qk-text--button" 1896 data-handle="s5190-20230317094020"> 1897 å å ¥è³¼ç©è»</button> 1898<button 1899 class="btn addToCart_mobile btn_quick_buy_mobile open_quick_buy_modal qk-btn qk-btn--primary qk-flex--1 qk-fs--title qk-text-truncate" 1900 data-handle="s5190-20230317094020"> 1901 ç«å³è³¼è²·</button> 1902 1903<!-- cyb_snippet _product_info_button_mobile end --> 1904 <!-- cyb_snippet _product_info_status_button start --> 1905<button class="btn btn_not_sale hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button"> 1906 å°æªéè³£ 1907</button> 1908<button class="btn btn_login_to_view hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button"> 1909 ç»å ¥æ¥çè³æ ¼ 1910</button> 1911<button class="btn btn_not_eligible hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button"> 1912 è³¼è²·è³æ ¼ä¸ç¬¦ 1913</button> 1914<!-- cyb_snippet _product_info_status_button end --> 1915 1916 <button class="btn btn_notice btn_notice_mobile hidden qk-btn qk-btn--primary qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button"> 1917 å·²å®å®ï¼è²¨å°éç¥æ 1918 </button> 1919 1920 <button class="btn btn_soldout hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-flex--1 qk-fs--title" type="button"> 1921 å·²å®å® 1922 </button> 1923 <button 1924 class="btn buy-together hidden qk-btn qk-flex--1 qk-fs--title qk-bd--button qk-text--button" 1925 type="button" 1926 data-brand="" 1927 data-id="39906070" 1928 data-category="" 1929 data-list="å®ç¢å細覽" 1930 data-name="æå S5190æ¶æåèè ¿è¸æ¥æ©" 1931 data-quantity="1" 1932 data-position="å ¨é " 1933 1934 data-sku="S5190">åæå è³¼ç©è»</button> 1935 <button 1936 class="btn buy-together hidden qk-btn qk-btn--primary qk-flex--1 qk-fs--title" 1937 type="button" 1938 data-buy="quick_buy" 1939 data-brand="" 1940 data-id="39906070" 1941 data-category="" 1942 data-list="å®ç¢å細覽" 1943 data-name="æå S5190æ¶æåèè ¿è¸æ¥æ©" 1944 data-quantity="1" 1945 data-position="å ¨é " 1946 1947 data-sku="S5190">åæè³¼è²·</button> 1948 1949 </div> 1950 1951 1952 1953 1954 1955 <!-- å å ¥ææ,é·å®æ¸é,ç´ å©ææµ --> 1956 <div class="product_others qk-display--flex qk-flex--wrap qk-align--center"> 1957 <span class="product_love qk-display--il_bk qk-hidden--phone"> 1958 <input 1959 type="hidden" 1960 class="product-variant-id" 1961 value="45826133" 1962 data-sku="S5190" 1963 data-price="2880.0" 1964 data-compare_at_price="3600.0" 1965 data-variant="" 1966 data-inventory_quantity="20"> 1967 <a 1968 class="btn_love scupio-add-wishlist qk-text--text qk-fs--body qk-bd--default qk-bd--product_border qk-cursor--pointer qk-display--flex qk-align--center" 1969 data-itemid="S5190" 1970 1971 > 1972 <svg 1973 width="15" 1974 height="15"
1975 viewBox="0 0 24 24" 1976 fill="none" 1977 xmlns="http://www.w3.org/2000/svg"> 1978 <path 1979 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" 1980 stroke="currentColor" 1981 stroke-width="2" 1982 stroke-linecap="round" 1983 stroke-linejoin="round" /> 1984 </svg> 1985 å å ¥ææ 1986 </a> 1987 </span> 1988 1989 <span 1990 class="product_bonus qk-text--text qk-fs--body qk-display--il_bk" 1991 > 1992 æ¤åå ã æé« ãå¯ä»¥ææµç´ å© 1993 <span class="val">2880</span> 1994 é» 1995 1996 (ç´çæ¼ <span class="money_tag" data-currency-from="TWD" data-amount="2880">NT$2,880</span> ) 1997 </span> 1998 </div> 1999 </div> 2000 <!-- product content end --> 2001</div> 2002<div class="add-buy-products-container"> 2003 <!-- cyb_snippet add_buy_products start --> 2004 2005 2006 2007 2008<!-- cyb_snippet add_buy_products end --> 2009 2010</div> 2011
2012<script src='//cdn1-next.cybassets.com/frontend/shop/beta_theme/js/cart-3a2e378145f8a165.js' type='text/javascript'></script>
vendor: 1 bytes, line 2012
2012
2013<script src='//cdn1-next.cybassets.com/frontend/shop/beta_theme/js/product_variant-3a2e378145f8a165.js' type='text/javascript'></script>
2013 2014<link href='//cdn1-next.cybassets.com/frontend/shop/beta_theme/css/product-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' />
2015<script src='//cdn1-next.cybassets.com/frontend/shop/beta_theme/js/product_info-3a2e378145f8a165.js' type='text/javascript'></script>
2015 2016 2017<!-- cyb_snippet new_addcart_modal start --> 2018<link href='//cdn1-next.cybassets.com/frontend/shop/beta_theme/css/vue_product_modal-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' /> 2019 2020<div id="new-addcart-modal" class="container"> 2021 <transition name="modal"> 2022 <product-modal 2023 v-if="showProductModal" 2024 :only-description="onlyDescription" 2025 :product-url="popProductUrl" 2026 :color="color" 2027 :is-collection="isCollection" 2028 :is-show-description="isShowDescription" 2029 :is-quick-buy="isQuickBuy" 2030 :selected-variant-id="selectedVariantId" 2031 :categories="categories" 2032 :call-back="checkoutAddToCartCallback" 2033 ref="productModal" 2034 > 2035 </product-modal> 2036 </transition> 2037</div> 2038 2039<!-- cyb_snippet components/product_modal/product_modal start -->
2040<script type="text/x-template" id="product-modal"> 2041 <div class="modal-mask qk-h--100 qk-w--100 qk-l--0 qk-t--0 qk-pos--fixed" @click="closeModal"> 2042 <div class="modal-content qk-bd--none qk-center qk-bg--theme_bg" :class="{'only-description': onlyDescription}" @click.stop> 2043 <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> 2044 <div class="modal-body custom-scrollbar qk-w--100"> 2045 <div v-if="!isLoading"> 2046 <div id="checkout-product" class="row"> 2047 <div class="col-sm-6 col-xs-4"> 2048 <photo-swiper 2049 :mediaItems="swiperItems" 2050 :current-image-index="currentImageIndex" 2051 :current-variant="currentVariant" 2052 :video-after-image="videoAfterImage" 2053 ></photo-swiper> 2054 </div> 2055 <div class="col-sm-6 col-xs-8"> 2056 <h4 class="qk-fs--hd2 qk-fw--bold qk-text--heading qk-mg--0" v-html="product.title"></h4> 2057 <p class="product_brief qk-text--text qk-fs--body" v-html="product.brief"></p> 2058 <p class="product_slogan qk-text--heading qk-fs--body" v-html="product.slogan"></p> 2059 <div class="swiper_thumbnails" style="margin-bottom: 10px;"> 2060 <swiper-thumbnails 2061 :mediaItems="swiperItems" 2062 :current-image-index="currentImageIndex" 2063 :title="product.title" 2064 @update-current-image-index="(thumbnailIndex) => { currentImageIndex = thumbnailIndex }" 2065 ></swiper-thumbnails> 2066 </div> 2067 2068 <div v-if="!hidePrice" style="margin-bottom: 10px;"> 2069 2070 <span class="price-title qk-fs--body qk-fw--500 qk-text--heading">${ priceTitleTag }</span> 2071 2072 <div> 2073 <span v-html="variantPrice" class="variant-price qk-fs--hd1 qk-fw--bold" :class="[isDiscountPrice ? 'qk-text--discount_price' : 'qk-text--price']"></span> 2074 <del v-html="marketPrice" class="variant-del-price qk-fs--body qk-fw--500 qk-text--text"></del> 2075 </div> 2076 </div> 2077 <div v-if="!onlyDescription" class="controls"> 2078 <div class="variant-quantity qk-display--flex qk-flex--column"> 2079 <div v-if="hasVariant" class="product-variant-options"> 2080 <div v-for="(option, index) in optionInfo" class="product-variant-option" :class="{'product-variant-option--hidden': shouldHideSingleVariantOptions}"> 2081 <div class="advance variant-select-option" v-if="styledShopMenu==='dropDownType'"> 2082 2083 <label>${option.name}</label> 2084 <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> 2085 <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}`)"> 2086 <option value="null" class="select_option-hidden">è«é¸æ${option.name}</option> 2087 <option :style="{ visibility : isMobileSize ? 'hidden' : 'visible' }" v-for="(types) in option.types" :disabled="!types.isValid" :value="types.name">${types.name}</option> 2088 </select> 2089 <span class="select_placeholder-color" v-if="currentOption[`option${index + 1}`] === null" v-show="isMobileSize" @click="onClickSelectModal(option,`option${index + 1}`)">è«é¸æ${option.name}</span>
2090 <span v-else :value="currentOption[`option${index + 1}`]" v-show="isMobileSize" @click="onClickSelectModal(option,`option${index + 1}`)" v-html="currentOption[`option${index + 1}`]"></span> 2091 </div> 2092 <advance-option v-else :option-key="'option' + (index + 1)" :option="option" :current-option="currentOption" :toggle-current-option="toggleCurrentOption"/> 2093 </div> 2094 </div> 2095 <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)"> 2096 <div class="list_block custom-scrollbar qk-of_x--hidden"> 2097 <h4 class="qk-text--heading qk-fs--body">æ¤åååèçåªæ æ´»å 2098 </h4> 2099 <template v-if="displayPeriodicSalesPages"> 2100 <div v-for="salesPage in product.showableSalesPages" class="discount-list"> 2101 <span class="discount-label qk-fs--breadcrumb qk-bd--default qk-bd--accent qk-bg--white qk-display--il_bk qk-text--accent">宿å®é¡ 2102 </span> 2103 <a class="discount-title qk-text--accent qk-fs--body" :href="salesPage.path">${ salesPage.title }</a> 2104 </div> 2105 </template> 2106 <template v-for="discounts in discountsList"> 2107 <div v-for="discount in discounts" class="discount-list"> 2108 <a v-if="discount.url" :href="discount.url" class="discount-title qk-text--accent qk-fs--body"> 2109 ${ discount.title } 2110 </a> 2111 <span v-else class="discount-title qk-text--accent qk-fs--body">${ discount.title }</span> 2112 </div> 2113 </template> 2114 </div> 2115 </div> 2116 <div v-if="showPurchaseControls" class="product-quantity qk-bd--product_border" v-show="!isMobileSize"> 2117 <div class="btn-group qk-w--100" role="group" aria-label="First group"> 2118 <button class="btn add-down qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityDecrease">ï¼</button> 2119 <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"> 2120 <button class="btn add-up qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityIncrease">ï¼</button> 2121 </div> 2122 </div> 2123 </div> 2124 <div v-if="showPurchaseControls" class="add-button-wrapper"> 2125 <!-- cyb_snippet _product_modal_button start --> 2126<button 2127 class="btn btn-default add-button qk-cursor--pointer qk-w--100 qk-btn--primary" 2128 :class="{selected: isChoose, adding: adding || isHideAddCartBtn, secondary: isSecondaryBtn, 'qk-btn--disabled': isHideAddCartBtn && isNewNnCollection, 'qk-bd--none': isHideAddCartBtn && isNewNnCollection}" 2129 type="button" 2130 :disabled="isHideAddCartBtn" 2131 @click="addProduct" 2132> 2133 ${ addCartText } 2134</button> 2135 2136<!-- cyb_snippet _product_modal_button end --> 2137 </div> 2138 <div class="product-others qk-fs--body"> 2139 <span class="product-love"> 2140 <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"> 2141 <svg 2142 width="15" 2143 height="15"
2144 viewBox="0 0 24 24" 2145 fill="none" 2146 xmlns="http://www.w3.org/2000/svg"> 2147 <path 2148 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" 2149 stroke="currentColor" 2150 stroke-width="2" 2151 stroke-linecap="round" 2152 stroke-linejoin="round" /> 2153 </svg> 2154 å å ¥ææ 2155 </a> 2156 </span> 2157 <span class="product_sold qk-text--text" v-if="false"> 2158 <span>å·²é·å®ï¼ 2159 ${ product.totalSold } 2160 ä»¶ 2161 </span> 2162 </span> 2163 <span class="product_bonus qk-text--text" v-if="true"> 2164 æ¤åå ã æé« ãå¯ä»¥ææµç´ å© 2165 <span class="val qk-fw--600 qk-fs--hd2" v-if="currentVariant">${currentVariant.maxUsableBonus}</span> 2166 <span class="val qk-fw--600 qk-fs--hd2" v-else>${maxUsableBonus}</span> 2167 é» 2168 <span v-html="bonusToPrice"/> 2169 </span> 2170 </div> 2171 <div class='product_limit_buy qk-fs--body' v-show="product.minBuy > 0 || product.limitBuy > 0"> 2172 ${limitBuyText} 2173 </div> 2174 </div> 2175 </div> 2176 </div> 2177 <div v-if="isShowDescription" class="row"> 2178 <div class="col-sm-12"> 2179 2180 <div v-if="product.bodyHtml"> 2181 <h5 class="section-heading qk-bd--heading qk-fs--hd2 qk-text--heading"> 2182 ååä»ç´¹ 2183 </h5> 2184 <div class="ckeditor"> 2185 <div v-html="product.bodyHtml"></div> 2186 </div> 2187 </div> 2188 2189 2190 <div v-if="otherDescriptions['product_description_section_spec']"> 2191 <h5 class="section-heading qk-bd--heading qk-fs--hd2 qk-text--heading"> 2192 è¦æ ¼èªªæ 2193 </h5> 2194 <div class="ckeditor"> 2195 <div v-html="otherDescriptions['product_description_section_spec']"></div> 2196 </div> 2197 </div> 2198 2199 2200 <div v-if="otherDescriptions['product_description_section_shipping']"> 2201 <h5 class="section-heading qk-bd--heading qk-fs--hd2 qk-text--heading"> 2202 ééæ¹å¼ 2203 </h5> 2204 <div class="ckeditor"> 2205 <div v-html="otherDescriptions['product_description_section_shipping']"></div> 2206 </div> 2207 </div> 2208 2209 </div> 2210 </div> 2211 </div> 2212 <div v-show="isLoading" style="text-align: center; padding-bottom: 20px;"> 2213 <i class="fas fa-spinner fa-spin fa-fw fa-2x"></i> 2214 </div> 2215 </div> 2216 <!-- cyb_snippet _product_modal_button_mobile start --> 2217 <div 2218 v-if="showPurchaseControls" 2219 v-show="isMobileSize" 2220 class="mobile_footer" 2221 :class="{'mobile_footer-z': variantSize > 1 }"> 2222 <div class="product-quantity"> 2223 <div class="btn-group qk-w--100" role="group" aria-label="First group"> 2224 <button class="btn add-down qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityDecrease">ï¼</button> 2225 <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"> 2226 <button class="btn add-up qk-bd--default qk-bd--border qk-text--text" type="button" @click="quantityIncrease">ï¼</button> 2227 </div> 2228 </div> 2229 <button 2230 v-if="!isLoading && !onlyDescription" 2231 class="btn btn-mobile add-button qk-btn qk-btn--primary qk-btn--lg" 2232 :class="{selected: isChoose, adding: adding || isHideAddCartBtn, 'qk-btn--disabled': isHideAddCartBtn && isNewNnCollection, 'qk-bd--none': isHideAddCartBtn && isNewNnCollection}" 2233 type="button" 2234 :disabled="isHideAddCartBtn" 2235 @click="addProduct"> 2236 ${ addCartText } 2237 </button> 2238</div> 2239<div 2240 class="mobile-modal" 2241 :class="{ 'modal-open': isModalSelectShow && isMobileSize }"> 2242 <div class="mobile_modal-content"> 2243 <div class="modal_close-button"> 2244 <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> 2245 </div> 2246 2247 <p>è«é¸æ${modalOption.name}</p> 2248 <div class="modal_select-templete qk-display--flex qk-of_y--auto qk-w--100"> 2249 <div class="options-container"> 2250 <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> 2251 </div> 2252 </div> 2253 <div v-if="variantSize > 1" class="modal_select_footer qk-display--flex"> 2254 <button type="button" class="modal_cancel qk-bd--default qk-btn--secondary qk-bd--button qk-text--button" @click="onChangeModalSelect(false,false)">åæ¶</button> 2255 <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> 2256 </div> 2257 </div> 2258</div> 2259 2260<!-- cyb_snippet _product_modal_button_mobile end --> 2261 </div> 2262 </div> 2263</script>
2263 2264 2265<!-- cyb_snippet components/product_modal/color_image_option start -->
2266<script id="color-image-option" type="text/x-template"> 2267 <div class="color-image qk-display--flex qk-flex--wrap qk-align--center"> 2268 <div class="title">é¡è²</div> 2269 <div 2270 v-for="(imageColor, index) in imageColors" 2271 :class="{ 2272 'focus': !currentOption[optionKey] === option.types[index].name && currentImageIndex === index, 2273 'selected': currentOption[optionKey] === option.types[index].name, 2274 'disabled': !option.types[index].isValid 2275 }" 2276 class="image-option img-flex qk-bd--default qk-bd--transparent qk-display--block qk-pos--rel" 2277 @mouseleave="setCurrentImageIndex(index)" 2278 @mouseover="getOptionImageIndex(index)" 2279 @click="setOption(optionKey, index)" 2280 > 2281 <img v-if="imageColor !== 'noColorImage'" :src="imageColor.large" alt="image"> 2282 <img v-else src="/assets/no-image-large.png" alt="image"> 2283 </div> 2284 </div> 2285</script>
2285 2286
2287<script type="text/javascript"> 2288 $(document).ready(function() { 2289 window.themeHelper.productModalComponents['color-image-option'] = { 2290 template: '#color-image-option', 2291 delimiters: ['${', '}'], 2292 props: { 2293 optionKey: String, 2294 option: Object, 2295 product: Object, 2296 imageColors: Array, 2297 isChoose: Boolean, 2298 currentImageIndex: Number, 2299 setCurrentImageIndex: Function, 2300 getOptionImageIndex: Function, 2301 currentOption: Object, 2302 toggleCurrentOption: Function, 2303 }, 2304 methods: { 2305 setOption: function(optionKey, index) { 2306 const type = this.option.types[index]; 2307 if(type.isValid){ 2308 this.toggleCurrentOption(optionKey, type.name); 2309 } 2310 } 2311 } 2312 }; 2313 }); 2314</script>
2314 2315 2316<!-- cyb_snippet components/product_modal/color_image_option end --> 2317<!-- cyb_snippet components/product_modal/advance_option start -->
2318<script id="advance-option" type="text/x-template"> 2319 <div class="advance"> 2320 <div class="title qk-text--heading qk-fs--body">${option.name}</div> 2321 <div 2322 v-for="type in option.types" 2323 :class="{ 2324 'selected': currentOption[optionKey] === type.name, 2325 'disabled': !type.isValid 2326 }" 2327 @click="setOption(optionKey, type)" 2328 class="option qk-btn qk-bd--button qk-text--button qk-pd_x--1" 2329 > 2330 ${type.name} 2331 </div> 2332 </div> 2333</script>
2333 2334
2335<script type="text/javascript"> 2336 $(document).ready(function() { 2337 window.themeHelper.productModalComponents['advance-option'] = { 2338 template: '#advance-option', 2339 delimiters: ['${', '}'], 2340 props: { 2341 optionKey: String, 2342 option: Object, 2343 product: Object, 2344 currentOption: Object, 2345 toggleCurrentOption: Function, 2346 }, 2347 methods: { 2348 setOption: function(optionKey, type) { 2349 if(type.isValid){ 2350 this.toggleCurrentOption(optionKey, type.name); 2351 } 2352 } 2353 } 2354 }; 2355 }); 2356</script>
2356 2357 2358<!-- cyb_snippet components/product_modal/advance_option end --> 2359 2360<!-- cyb_snippet components/product_modal/photo_swiper start --> 2361 2362
2363<script id="photo-swiper" type="text/x-template"> 2364 <div ref="photoSwiper" id="photo_swiper" class="photos swiper swiper-container"> 2365 <div class="swiper-wrapper"> 2366 <template v-if="hasImage"> 2367 <div v-for="(item, index) in mediaItems" :key="index" class="photo swiper-slide qk-align--center qk-display--flex qk-justify--center qk-vert--text_top three_to_four_scale"> 2368 <video-player v-if="item.url" :video="item" 2369 :video-poster=" !!mediaItems[firstImageIndex] ? mediaItems[firstImageIndex].large : '//cdn1-next.cybassets.com/img_loading.svg' " 2370 > 2371 </video-player> 2372 <img v-else class="qk-center" :src="item.large" alt="image"/> 2373 </div> 2374 </template> 2375 <div v-else class="photo swiper-slide qk-align--center qk-display--flex qk-justify--center qk-vert--text_top three_to_four_scale"> 2376 <img src="//cdn1-next.cybassets.com/assets/no-image-large-2b95ea56c455be9ce081d81c14eded925df68bf8fa38809e46f6af8fcdd5f9bc.png" alt="image" /> 2377 </div> 2378 </div> 2379 <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> 2380 <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> 2381 2382 <div class="photo-pagination qk-bd--default qk-bd--body qk-text--center qk-text--body qk-fs--breadcrumb qk-visible-sm"> 2383 <span class="current-index qk-text--default_dark">${currentImageIndex +1 }</span><span class="pagination-slash">/</span> 2384 <span>${mediaItems.length}</span> 2385 </div> 2386 </div> 2387</script>
2387 2388
2389<script> 2390 $(document).ready(function () { 2391 window.themeHelper.productModalComponents['photo-swiper'] = { 2392 template: '#photo-swiper', 2393 delimiters: ['${', '}'], 2394 props: { 2395 mediaItems: Array, 2396 currentImageIndex: Number, 2397 currentVariant: Object, 2398 videoAfterImage: Boolean, 2399 }, 2400 data: function () { 2401 return { 2402 swiper: {}, 2403 swiperOption: { 2404 preventInteractionOnTransition: true, 2405 rewind: true, 2406 spaceBetween: 5, 2407 slidesPerView: 1, 2408 navigation: { 2409 nextEl: '.photo-next', 2410 prevEl: '.photo-prev' 2411 } 2412 }, 2413 showBtn: true, 2414 isVariantReposition: false, 2415 } 2416 }, 2417 mounted: function() { 2418 this.swiper = new Swiper('#photo_swiper', this.swiperOption); 2419 this.swiper.on('slideChange', this.slideOnChange); 2420 }, 2421 watch: { 2422 currentImageIndex: function() { 2423 this.slideToIndex(); 2424 }, 2425 currentVariant: { 2426 immediate: true, 2427 handler: function() { 2428 this.showBtn = this.mediaItems.length > 1; 2429 this.isVariantReposition = true; 2430 this.$nextTick(() => { 2431 if (this.swiper) { 2432 this.swiper.update(); 2433 this.swiper.slideToLoop(this.initialItemIndex) 2434 this.slideOnChange(); 2435 this.isVariantReposition = false; 2436 } 2437 }); 2438 }, 2439 }, 2440 }, 2441 computed: { 2442 hasImage: function() { 2443 return this.mediaItems.length > 0; 2444 }, 2445 hasVideo: function() { 2446 return this.mediaItems.findIndex(item => !!item.url) !== -1; 2447 }, 2448 variantPhotos: function() { 2449 if (this.currentVariant?.photos?.length) { 2450 return this.currentVariant.photos; 2451 } else { 2452 return null; 2453 } 2454 }, 2455 initialItemIndex: function() { 2456 if (this.hasVideo && !this.videoAfterImage) { 2457 // Focus on photo if "variant with photos" selected, video otherwise 2458 return this.variantPhotos?.length ? 1 : 0; 2459 } else { 2460 // Focus on first photo 2461 return 0; 2462 } 2463 }, 2464 }, 2465 methods: { 2466 slideOnChange: function() { 2467 themeHelper.EventBus.$emit('photoOnChange', this.swiper.realIndex, this.isVariantReposition); 2468 }, 2469 slideToIndex: function() { 2470 if(this.swiper.realIndex != this.currentImageIndex) { 2471 this.swiper.slideToLoop(this.currentImageIndex); 2472 this.swiper.update(); 2473 } 2474 }, 2475 } 2476 }; 2477 }); 2478</script>
2478 2479 2480 2481<!-- cyb_snippet components/product_modal/video_player start -->
2482<script id="video-player" type="text/x-template"> 2483 <div class="videoPlayer__wrapper" @click="handleVideoClick"> 2484 <video 2485 id='modal-video' 2486 class="videoPlayer__video qk-cursor--pointer qk-center" 2487 :poster="videoPoster" 2488 loop defaultMuted muted playsinline webkit-playsinline autoplay 2489 > 2490 <source :src="videoUrl" type="video/mp4"> 2491 <p>ä½ çç覽å¨ä¸æ¯æ´ HTML 5 video</p> 2492 </video> 2493 <button id="modal-video-button" class="videoPlayer__pauseButton"></button> 2494 </div> 2495</script>
2495 2496
2497<script> 2498 $(document).ready(function () { 2499 window.themeHelper.productModalComponents['video-player'] = { 2500 template: '#video-player', 2501 delimiters: ['${', '}'], 2502 props: { 2503 video: Object, 2504 videoPoster: String, 2505 }, 2506 data: function() { 2507 return { 2508 videoElement: null, 2509 buttonElement: null, 2510 }; 2511 }, 2512 mounted: function() { 2513 this.videoElement = $('#modal-video')[0]; 2514 this.buttonElement = $('#modal-video-button'); 2515 this.setVideoVolumeZero(); 2516 this.videoElement.addEventListener('canplay', (event) => { 2517 this.sendGtag('play'); 2518 }, { once: true }); 2519 }, 2520 computed: { 2521 videoUrl: function() { 2522 return this.video.url; 2523 } 2524 }, 2525 methods: { 2526 sendGtag: function(action) { 2527 window.productVideoView && productVideoView(action); 2528 }, 2529 setVideoVolumeZero: function() { 2530 this.videoElement.volume = 0; 2531 }, 2532 handleVideoClick: function() { 2533 if (this.videoElement.paused){ 2534 this.videoElement.play(); 2535 this.sendGtag('play'); 2536 } else { 2537 this.videoElement.pause(); 2538 this.sendGtag('paused'); 2539 } 2540 this.handleVideoButtonDisplay(this.buttonElement, this.videoElement); 2541 }, 2542 handleVideoButtonDisplay: function(button, video) { 2543 button.toggleClass('videoPlayer__playButton', video.paused); 2544 button.toggleClass('videoPlayer__pauseButton', !video.paused); 2545 }, 2546 } 2547 }; 2548 }); 2549</script>
2549 2550 2551<!-- cyb_snippet components/product_modal/video_player end --> 2552 2553<!-- cyb_snippet components/product_modal/photo_swiper end --> 2554<!-- cyb_snippet components/product_modal/swiper_thumbnails start -->
2555<script id="swiper-thumbnails" type="text/x-template"> 2556 <div 2557 v-for="(thumbnail, index) in allThumbnails" 2558 :key="index" 2559 class="product-thumbnail img-flex qk-of--hidden qk-display--il_bk qk-cursor--pointer qk-bd--default qk-bd--transparent three_to_four_scale" 2560 :class="{ focus: index === currentImageIndex }" 2561 @mouseover="updateCurrentImageIndex(index)" 2562 > 2563 <template v-if="thumbnail.isVideo"> 2564 <video class="qk-w--100 qk-h--100" :src="thumbnail.url" defaultMuted playsinline></video> 2565 <button class="videoPlayer__playButton"></button> 2566 </template> 2567 <img v-else :src="thumbnail.url" :alt="title" class="qk-w--100 qk-h--100"> 2568 </div> 2569</script>
2569 2570
2571<script type="text/javascript"> 2572 $(document).ready(function () { 2573 window.themeHelper.productModalComponents['swiper-thumbnails'] = { 2574 template: '#swiper-thumbnails', 2575 delimiters: ['${', '}'], 2576 props: { 2577 title: String, 2578 mediaItems: Array, 2579 currentImageIndex: Number, 2580 }, 2581 emits: ['updateCurrentImageIndex'], 2582 methods: { 2583 updateCurrentImageIndex: function(thumbnailIndex) { 2584 if (thumbnailIndex !== this.currentImageIndex ) { 2585 this.$emit('updateCurrentImageIndex', thumbnailIndex); 2586 } 2587 }, 2588 }, 2589 mounted() { 2590 // can be removed after replacing video thumbnail with img 2591 const thumbnailVideo = $('.product-thumbnail video')[0]; 2592 if (!!thumbnailVideo) { 2593 thumbnailVideo.volume = 0; 2594 const promise = thumbnailVideo.play(); 2595 promise.then(() => { 2596 thumbnailVideo.pause(); 2597 }) 2598 } 2599 }, 2600 computed: { 2601 allThumbnails: function() { 2602 return this.mediaItems.map(item => ({ 2603 isVideo: !!item.url, 2604 url: item.url || item.medium 2605 })); 2606 }, 2607 }, 2608 watch: { 2609 allThumbnails: { 2610 handler(){ 2611 this.updateCurrentImageIndex(this.currentImageIndex); 2612 } 2613 } 2614 } 2615 }; 2616 }); 2617</script>
2617 2618 2619<!-- cyb_snippet components/product_modal/swiper_thumbnails end --> 2620 2621 2622<!-- cyb_snippet _product_modal_js start -->
2623<script type="text/javascript"> 2624 $(document).ready(function() { 2625 var categoryLevels = []; 2626 var productCategoryLevels = ["ææ°§ / æ ¸å¿å¥èº«"]; 2627 var pageMainProductId = 39906070; 2628 window.themeHelper.productModalComponents['product-modal'] = { 2629 template: '#product-modal', 2630 delimiters: [ 2631 '${', '}' 2632 ], 2633 props: { 2634 onlyDescription: Boolean, 2635 cartItems: Array, 2636 groupId: Number, 2637 productUrl: String, 2638 color: String, // unused 2639 collectionId: Number, 2640 categories: Array, 2641 // 夿·æ¯å¦æè²ç¥¨å±é 2642 isCollection: { 2643 type: Boolean, 2644 required: false, 2645 default: false, 2646 }, 2647 // 夿·å å ¥è³¼ç©è»çæ¹æ³ 2648 isNnCollection: Boolean, 2649 isNewNnCollection: Boolean, 2650 isBundleDiscount: Boolean, 2651 2652 // 夿·æ¯å¦é¡¯ç¤ºååæè¿° 2653 isShowDescription: { 2654 type: Boolean, 2655 default: true 2656 }, 2657 2658 // 夿·æ¯å¦çºç«å³è³¼è²· 2659 isQuickBuy: { 2660 type: Boolean, 2661 default: false 2662 }, 2663 selectedVariantId: Number, 2664 callBack: Function 2665 }, 2666 data: function() { 2667 return { 2668 styledShopMenu: "buttonType", 2669 selectOption: '', 2670 selectCurrentStr:'', 2671 isModalSelectShow: false, 2672 modalOption: {}, 2673 adding: false, 2674 currentImageIndex: 0, 2675 _navState: { variantId: null, photoIndex: 0 }, 2676 currentOption: { 2677 option1: null, 2678 option2: null, 2679 option3: null 2680 }, 2681 currentVariant: null, 2682 variantNotifications: null, 2683 currentVariantIndex: null, 2684 product: {}, 2685 isChoose: false, 2686 isLoading: true, 2687 isEmptyClickable: liquidHelper.isEmptyClickable, 2688 quantity: 1, 2689 maxUsableBonus: 0, 2690 isDiscountPrice: false, 2691 displayProductDiscountsList: true, 2692 displayPeriodicSalesPages:false, 2693 discountsList: null, 2694 hasVideoPlugin: false, 2695 videoDisplayLocation: "before", 2696 hasStockNotificationPlugin: true, 2697 isDisplayPriceRange: null, 2698 hasVariantPriceRangePlugin: true, 2699 hasHideSingleVariantOptionsPlugin: false, 2700 } 2701 }, 2702 mounted: function() { 2703 this.getProductDetail(); 2704 $('.custom-scrollbar').addCustomScrollbar(); 2705 themeHelper.EventBus.$on('photoOnChange', this.photoOnChange); 2706 }, 2707 beforeUnmount: function() { 2708 themeHelper.EventBus.$off('photoOnChange', this.photoOnChange); 2709 }, 2710 computed: { 2711 photoUrls: function() { 2712 return this.product.photoUrls.length > 0 2713 ? this.product.photoUrls 2714 : [this.featuredImage]; 2715 }, 2716 photoUrlsMap: function() { 2717 var map = {}; 2718 var urls = this.product.photoUrls; 2719 this.product.photos.forEach(function(photo, index) { 2720 map[photo.photo.id] = urls[index]; 2721 }); 2722 2723 return map; 2724 }, 2725 featuredImage: function() { 2726 return this.product.featuredImage; 2727 }, 2728 swiperPhotos: function() { 2729 if (!this.photoUrls.length) { 2730 return [this.featuredImage]; 2731 } 2732 2733 if (this.currentVariant && this.currentVariant.photos.length) { 2734 var map = this.photoUrlsMap; 2735 return this.currentVariant.photos.map(function(p) { 2736 return map[p.id]; 2737 }); 2738 } 2739 2740 return this.photoUrls; 2741 }, 2742 productVideo: function() { 2743 return this.product.video; 2744 }, 2745 videoAfterImage: function() { 2746 return this.videoDisplayLocation === 'after'; 2747 }, 2748 swiperItems: function() { 2749 const media = [...this.swiperPhotos]; 2750 if ( 2751 this.hasVideoPlugin && this.productVideo.url 2752 ) { 2753 this.videoAfterImage 2754 ? media.push(this.productVideo) 2755 : media.unshift(this.productVideo); 2756 } 2757 return media; 2758 }, 2759 firstImageIndex: function() { 2760 return this.hasVideoPlugin && this.productVideo.url && !this.videoAfterImage 2761 ? 1 2762 : 0 2763 }, 2764 otherDescriptions: function() { 2765 var descriptions = {}; 2766 this.product.otherDescriptions.forEach(function(od) { 2767 descriptions[od.settingName] = od.bodyHtml; 2768 }) 2769 return descriptions 2770 }, 2771 variantOptions: function() { 2772 return themeHelper.variantOptions(this.product); 2773 }, 2774 firstValidVariant: function() { 2775 var self = this; 2776 var result = this.product.variants.find(function(variant) { 2777 // å¢å product modal è¯çµ¡åºå®¶ property 2778 variant.imgUrl = ""; 2779 variant.productTitle = ""; 2780 2781 return variant.available; 2782 }); 2783 2784 return result 2785 ? result 2786 : null; 2787 }, 2788 selectedValidVariant: function() { 2789 var self = this; 2790 var result = this.variantOptions.find(function(variant) { 2791 return variant.id === self.selectedVariantId; 2792 }); 2793 2794 return result 2795 ? result 2796 : null; 2797 }, 2798 totalInventoryQuantity: function(product) { 2799 return themeHelper.totalInventoryQuantity(this.product) 2800 }, 2801 addCartText: function() { 2802 var variants = parseInt("0"); 2803 let isRegisteredNotification = this.currentVariant && this.variantNotifications && this.variantNotifications[this.currentVariant.id] 2804 if (this.isNnCollection || this.isBundleDiscount) { 2805 if (this.currentVariant && !themeHelper.variantIsAvailable(this.currentVariant)) { 2806 if (this.currentVariant.inventoryPolicy === 'continue') { 2807 if (this.isNnCollection) { 2808 return this.isChoose && !this.isNewNnCollection 2809 ? 'å·²é è³¼' 2810 : 'é è³¼åå'; 2811 } 2812 } else { 2813 return 'å·²å®å®'; 2814 } 2815 } 2816 if (this.totalInventoryQuantity === 0) { 2817 return 'å·²å®å®'; 2818 } 2819 return this.isChoose && !this.isNewNnCollection 2820 ? 'å·²é¸è³¼' 2821 : 'é¸è³¼'; 2822 } else { 2823 if (this.isQuickBuy) { 2824 if (this.currentVariant && !themeHelper.variantIsAvailable(this.currentVariant)) { 2825 if (this.currentVariant.inventoryPolicy === 'continue'){ 2826 return 'ç«å³é è³¼' 2827 } 2828 return this.hasStockNotificationPlugin 2829 ? (isRegisteredNotification 2830 ? 'å·²ç»è¨è£è²¨éç¥' 2831 : 'å·²å®å®ï¼è²¨å°éç¥æ') 2832 : 'è¯çµ¡åºå®¶' 2833 } 2834 return 'ç«å³è³¼è²·'; 2835 } else { 2836 if (this.currentVariant) { 2837 if (!themeHelper.variantIsAvailable(this.currentVariant)) { 2838 if (this.currentVariant.inventoryPolicy === 'continue'){ 2839 return 'é è³¼åå' 2840 } 2841 return this.hasStockNotificationPlugin 2842 ? (isRegisteredNotification 2843 ? 'å·²ç»è¨è£è²¨éç¥' 2844 : 'å·²å®å®ï¼è²¨å°éç¥æ') 2845 : 'è¯çµ¡åºå®¶' 2846 } 2847 } else { 2848 if (this.totalInventoryQuantity === 0) { 2849 return 'å·²å®å®'; 2850 } 2851 } 2852 return 'å å ¥è³¼ç©è»'; 2853 } 2854 } 2855 }, 2856 cartItem: function() { 2857 if (!this.currentVariant) { 2858 return null 2859 } 2860 return { 2861 id: this.currentVariant.id, 2862 groupId: this.groupId, 2863 productId: this.product.id, 2864 title: this.product.title, 2865 photo: this.currentVariant.imgUrl || this.featuredImage.large, 2866 quantity: this.quantity, 2867 price: this.currentVariant.price, 2868 variant: this.currentVariant, 2869 product: this.product 2870 } 2871 }, 2872 options: function() { 2873 return this.product.options; 2874 }, 2875 optionTypes: function() { 2876 2877 // å æ ¹æè¨å®çvariantsä¾æåº 2878 var self = this; 2879 2880 var option1 = []; 2881 var option2 = []; 2882 var option3 = [];
2883 this.product.variants.forEach(function(item) { 2884 if (item.option1 !== null) { 2885 option1.push(item.option1); 2886 } 2887 if (item.option2 !== null) { 2888 option2.push(item.option2); 2889 } 2890 if (item.option3 !== null) { 2891 option3.push(item.option3); 2892 } 2893 }) 2894 var filteredOptionTypes = []; 2895 this.product.optionTypes.forEach(function(item, index) { 2896 filteredOptionTypes.push(self.getUniqueVariant(eval('option' + ( 2897 index + 1 2898 ))).join(',')); 2899 }); 2900 return filteredOptionTypes; 2901 }, 2902 optionInfo: function() { 2903 var self = this; 2904 2905 return self.options.map(function(option, index) { 2906 return { 2907 name: option, 2908 types: self.getOptions('option' + ( 2909 index + 1 2910 ), self.optionTypes[index].split(',')) 2911 } 2912 }); 2913 }, 2914 hasVariant: function() { 2915 return this.product.options.length > 0; 2916 }, 2917 shouldHideSingleVariantOptions: function() { 2918 return this.hasHideSingleVariantOptionsPlugin && 2919 this.product.variants && 2920 this.product.variants.length <= 1; 2921 }, 2922 variantSize: function() { 2923 if(this.product.options){ 2924 return this.product.options.length; 2925 } 2926 }, 2927 firstVariant: function() { 2928 return this.product.variants[0]; 2929 }, 2930 firstCheapestVariant: function() { 2931 return this.product.variants.find((v)=> (v.price === this.priceStats.minPrice)); 2932 }, 2933 priceStats: function() { 2934 return this.product.variants.reduce(function(acc, variant) { 2935 return { 2936 minPrice: variant.price < acc.minPrice ? variant.price : acc.minPrice, 2937 maxPrice: variant.price > acc.maxPrice ? variant.price : acc.maxPrice, 2938 }; 2939 }, { 2940 minPrice: this.firstVariant.price, 2941 maxPrice: this.firstVariant.price, 2942 }); 2943 }, 2944 hidePrice: function() { 2945 return this.product && this.product.hidePrice === true; 2946 }, 2947 salesModePurchasable: function() { 2948 return !(this.product && this.product.salesModePurchasable === false); 2949 }, 2950 // - 任鏿æ£ï¼ç´ é ç¶ ï¼ã鏿ãåªæ¯å é²è©¦ç®æ¸ å®ï¼ä¸æç´æ¥ä¸å®ï¼æ åªæèå¹åå 2951 // - å ¶ä»æ å¢ï¼ååé ã群çµé ãå¤å±¤ç´åé¡ãæå°ãé¦é åååå¡ï¼ï¼ä¸å¯è³¼è²·ï¼å«èå¹ï¼å°±æ´çµæ¶æ 2952 showPurchaseControls: function() { 2953 if (this.isNnCollection || this.isBundleDiscount) { 2954 return !this.hidePrice; 2955 } 2956 return this.salesModePurchasable; 2957 }, 2958 variantPrice: function() { 2959 if (this.hidePrice) { 2960 return ''; 2961 } 2962 var from = liquidHelper.defaultCurrency; 2963 if (this.currentVariant) { 2964 return moneySymbol(this.currentVariant.price, from); 2965 } 2966 if (this.product.variants.length === 1) { 2967 return moneySymbol(this.firstVariant.price, from); 2968 } 2969 2970 var minPrice = this.priceStats.minPrice; 2971 var maxPrice = this.priceStats.maxPrice; 2972 2973 if (minPrice !== maxPrice && (!this.hasVariantPriceRangePlugin || this.isDisplayPriceRange)) { 2974 this.isDiscountPrice = false; 2975 return moneySymbol(minPrice, from) + '~' + moneySymbol(maxPrice, from); 2976 } else { 2977 return moneySymbol(minPrice, from); 2978 } 2979 }, 2980 marketPrice: function() { 2981 if (this.hidePrice) { 2982 this.isDiscountPrice = false; 2983 return; 2984 } 2985 var from = liquidHelper.defaultCurrency; 2986 if (this.currentVariant) { 2987 this.isDiscountPrice = false; 2988 if (this.currentVariant.compareAtPrice && this.currentVariant.compareAtPrice > this.currentVariant.price) { 2989 this.isDiscountPrice = true; 2990 return moneySymbol(this.currentVariant.compareAtPrice, from); 2991 } 2992 } else { 2993 if (!_.includes(this.variantPrice, '~')) { 2994 const price = Number(this.variantPrice.replace(/[^0-9.
2994-]/g, "")) 2995 // æªé¸ææ¬¾å¼ä¹ä¸é¡¯ç¤ºåéæï¼é¡¯ç¤ºç¬¬ä¸åæä¾¿å®ç款å¼çå®å¹ 2996 if (this.firstCheapestVariant.compareAtPrice && this.firstCheapestVariant.compareAtPrice > price){ 2997 this.isDiscountPrice = true; 2998 return moneySymbol(this.firstCheapestVariant.compareAtPrice, from); 2999 } 3000 // æªé¸ææ¬¾å¼æè¦æ¹åä¸è¬å¹æ ¼é¡è² 3001 this.isDiscountPrice = false; 3002 } 3003 } 3004 }, 3005 isShowDropdownList: function() { 3006 if (this.product.options.length > 0) { 3007 return true; 3008 } 3009 return this.product.variants.length > 1 3010 }, 3011 priceTitleTag: function() { 3012 return this.marketPrice 3013 ? getDiscountPriceName() 3014 : getDiscountPriceSuggestionName(); 3015 }, 3016 isHideAddCartBtn: function() { 3017 if (this.addCartText === 'å·²å®å®') { 3018 return true; 3019 } 3020 return false; 3021 }, 3022 isSecondaryBtn: function() { 3023 if (this.addCartText === 'è¯çµ¡åºå®¶') { 3024 return true; 3025 } 3026 return false; 3027 }, 3028 variantsMaxUsableBonus: function() { 3029 var variants = this.product.variants; 3030 var maxUsableBonusArray = variants.map(function(item) { 3031 return item.maxUsableBonus 3032 }); 3033 return Math.max.apply(null, maxUsableBonusArray); 3034 }, 3035 bonusToPrice: function() { 3036 const bonus = this.currentVariant 3037 ? this.currentVariant.maxUsableBonus 3038 : this.maxUsableBonus; 3039 const price = Math.floor(bonus / window.liquidHelper.conversionBonus); 3040 const priceWithMoney = window.themeHelper.productDisplayCurrencyBlock(price); 3041 return "(ç´çæ¼ value )".replace('value', priceWithMoney); 3042 }, 3043 isMobileSize: function() { 3044 return window.innerWidth <= 580 3045 }, 3046 limitBuyText: function () { 3047 const minCount = this.product.minBuy; 3048 const maxCount = this.product.limitBuy; 3049 if (minCount > 0 && maxCount > 0) { 3050 return 'æ¤å忝çè¨å®æå°é購買 minCount ä»¶ï¼æå¤å¯è³¼è²· maxCount ä»¶'.replace('minCount', minCount).replace('maxCount', maxCount); 3051 } 3052 if (minCount > 0) { 3053 return 'æ¤å忝çè¨å®æå°é購買 minCount ä»¶'.replace('minCount', minCount); 3054 } 3055 if (maxCount > 0) { 3056 return 'æ¤å忝çè¨å®æå¤å¯è³¼è²· maxCount ä»¶'.replace('maxCount', maxCount); 3057 } 3058 return ''; 3059 } 3060 }, 3061 methods: { 3062 onClickSelectModal: function(objData, selectOptionStr) { 3063 this.isModalSelectShow = true; 3064 this.modalOption = objData; 3065 this.selectOption = selectOptionStr 3066 this.selectCurrentStr = this.currentOption && (String(this.currentOption[selectOptionStr]) || null) 3067 }, 3068 onChangeModalSelect: function(flag, isSelect) { 3069 if(!isSelect){ 3070 this.setOption(this.selectOption,this.selectCurrentStr,this.modalOption.types) 3071 } 3072 this.isModalSelectShow = flag; 3073 }, 3074 setOption: function(optionKey, type, dataArr) { 3075 let flag = true 3076 dataArr.forEach(item => { 3077 if (item.name === type) { 3078 flag = item.isValid 3079 } 3080 }) 3081 if (flag) { 3082 this.toggleCurrentOption(optionKey, type) 3083 } 3084 }, 3085 addToWishListEvent: function() { 3086 try { 3087 if (appMarketAddToWishListEvent) { 3088 var product = this.product; 3089 var currentVariant = this.currentVariant 3090 var element = $(`.btn[data-id=${product.id}]`); 3091 var index; 3092 var listName; 3093 if (element) { 3094 index = element.data('position') 3095 listName = element.data('list') 3096 } 3097 // sku_properties:é¸ä¸æ¬¾å¼ç option pairs(ç¶åèªç³»),é¡åå zip å¼ 3098 var optionValues = [currentVariant.option1, currentVariant.option2, currentVariant.option3]; 3099 var properties = [];
3100 (product.options || []).forEach(function(optionName, i) { 3101 if (optionName && optionValues[i]) { 3102 properties.push({ name: optionName, value: optionValues[i] }); 3103 } 3104 }); 3105 var dataSet = { 3106 name: product.title, 3107 category: product.productType, 3108 categories: (this.categories && this.categories.length) ? this.categories : (categoryLevels.length ? categoryLevels : (product.id === pageMainProductId ? productCategoryLevels : undefined)), 3109 sku: currentVariant.sku, 3110 price: currentVariant.price, 3111 compare_at_price: currentVariant.compareAtPrice, 3112 properties: properties, 3113 quantity: currentVariant.inventoryQuantity, 3114 variant: currentVariant.title, 3115 listName: listName || null, 3116 productId: product.id, 3117 variantId: currentVariant.id, 3118 index: Number(index) || 0, 3119 } 3120 appMarketAddToWishListEvent(dataSet) 3121 } 3122 } catch (e) { 3123 console.error(e) 3124 } 3125 }, 3126 addWishList: function() { 3127 if (this.currentVariant === null) { 3128 window.msg('è«é¸æå忬¾å¼', 'warning').show(); 3129 return; 3130 } 3131 var productVariantId = this.currentVariant.id; 3132 var addToWishListEvent = this.addToWishListEvent 3133 $.ajax({ 3134 method: 'POST', 3135 url: '/tracking_items', 3136 dataType: 'json', 3137 data: { 3138 product_variant_id: productVariantId 3139 }, 3140 success: function(response) { 3141 if (response.message) { 3142 window.msg(response.message, 'success').show(); 3143 addToWishListEvent() 3144 } 3145 3146 if (response.error) { 3147 window.msg(response.error, 'error').show(); 3148 3149 } 3150 if (response.info) { 3151 window.msg(response.info, 'info').show(); 3152 } 3153 if (response.success === false) { 3154 if (window.liquidHelper && window.liquidHelper.language && window.liquidHelper.language.handle) { 3155 window.location = "/" + window.liquidHelper.language.handle + "/account/login"; 3156 } else { 3157 window.location = "/account/login"; 3158 } 3159 } 3160 } 3161 }); 3162 }, 3163 setChoose: function(currentVariant) { 3164 this.maxUsableBonus = 0; 3165 var quantity = 1; 3166 var cartItem = null; 3167 if (!this.isNnCollection && this.cartItems) { 3168 cartItem = this.normalGetChoosenItem(currentVariant); 3169 } 3170 if (this.isNnCollection) { 3171 cartItem = this.nnCollectionGetChoosenItem(currentVariant); 3172 } 3173 this.isChoose = !! cartItem; 3174 if (this.isNewNnCollection) { 3175 return 3176 } 3177 this.quantity = cartItem 3178 ? cartItem.quantity 3179 : this.quantity; 3180 3181 // product modal è¯çµ¡åºå®¶æ å¢ 3182 if (currentVariant) { 3183 var photoIndex = 0; 3184 if (! currentVariant.imgUrl) { 3185 currentVariant.imgUrl = this.swiperPhotos.length > 0 3186 ? (this.swiperPhotos[photoIndex] && this.swiperPhotos[photoIndex].large) 3187 : this.featuredImage.large; 3188 } 3189 currentVariant.productTitle = this.product.title + ' - ' + this.currentVariant.title; 3190 } 3191 }, 3192 normalGetChoosenItem: function(currentVariant) { 3193 return this.cartItems.find(function(cartItem) { 3194 return currentVariant && cartItem.id === currentVariant.id; 3195 }); 3196 }, 3197 nnCollectionGetChoosenItem: function(currentVariant) { 3198 var isSelected = null; 3199 if (! currentVariant) { 3200 return isSelected; 3201 } 3202 if (this.isNewNnCollection) { 3203 var cart = store.get(`SpecialCollectionCart_${this.collectionId}`); 3204 isSelected = cart && cart.find((item) => item.variant_id == currentVariant.id) || null; 3205 } else { 3206 store.each(function(value, key) { 3207 var productId = _.includes(key, 'Pro' + currentVariant.productId); 3208 var variantID = _.includes(key, 'Var' + currentVariant.id); 3209 if (productId && variantID) { 3210 isSelected = store.get(key); 3211 } 3212 }); 3213 } 3214 3215 return isSelected; 3216 }, 3217 // get product detail 3218 getProductDetail: function() { 3219 var self = this; 3220 3221 $.ajax({ 3222 url: self.productUrl + '.json', 3223 type: 'GET', 3224 timeout: 30000, 3225 beforeSend: function() { 3226 self.isLoading = true; 3227 }, 3228 error: function(xhr) { 3229 self.closeModal(); 3230 if (xhr.status === 429) { 3231 window.showAddCartRateLimitModal(5); 3232 return; 3233 } 3234 window.msg('網路é£ç·ç°å¸¸ï¼è«éæ°æ´ç', 'error').show(); 3235 } 3236 }).done(function(data) { 3237 if (data.id) { 3238 var productData = [themeHelper.toCamelCase(data)]; 3239 self.product = themeHelper.priceWithDiscount(productData, liquidHelper.hasPriceWithDiscountPlugin)[0]; 3240 self.maxUsableBonus = self.variantsMaxUsableBonus; 3241 if (self.product.variants.length === 1 || liquidHelper.isFirstVariantSelected || self.selectedVariantId) { 3242 self.currentVariant = self.firstValidVariant; 3243 // 妿已ç¶èªé¸ååï¼åååé 䏿»å å ¥è³¼ç©è»é¡¯ç¤ºèªé¸åå 3244 if (self.selectedVariantId) { 3245 self.currentVariant = self.selectedValidVariant; 3246 } 3247 if (self.currentVariant) { 3248 self.setChoose(self.currentVariant); 3249 self.setDefaultOption(); 3250 } 3251 } 3252 if (self.displayProductDiscountsList) { 3253 self.setUpDiscountsTag(data); 3254 } 3255 self.isLoading = false;
3256 if (self.product && self.product.variants) { 3257 self.product.variants.forEach(function(discountedVariant) { 3258 var rawVariant = data.variants.find(function(v) { return v.id === discountedVariant.id; }); 3259 if (rawVariant) { rawVariant.price = discountedVariant.price; } 3260 }); 3261 } 3262 viewItem && viewItem(data, { collectionId: '', collectionName: null, categories: (self.categories && self.categories.length) ? self.categories : (categoryLevels.length ? categoryLevels : (data.id === pageMainProductId ? productCategoryLevels : undefined)) }); 3263 3264 (function() { 3265 // Read login status from cacheable, skip GET /pv_notification if not login. 3266 if (window.store && window.store.get('customer')) { 3267 var cacheableCustomer = window.store.get('customer'); 3268 if (cacheableCustomer.notLogin) { 3269 return; 3270 } 3271 } 3272 $.ajax({ 3273 url: '/pv_notification', 3274 method: 'GET', 3275 dataType: 'json', 3276 data: { 3277 product_id: parseInt(data.id) 3278 }, 3279 success: function(response) { 3280 self.variantNotifications = response.variants; 3281 } 3282 }) 3283 })(); 3284 } else { 3285 window.msg('網路é£ç·ç°å¸¸ï¼è«éæ°æ´ç', 'error').show(); 3286 self.closeModal() 3287 } 3288 }) 3289 }, 3290 // product image btn 3291 photoOnChange: function(photoIndex, isVariantReposition) { 3292 var visiblePhotos = (this.currentVariant && this.currentVariant.photos.length) 3293 ? this.currentVariant.photos 3294 : this.product.photos.map(function(p) { return p.photo; }); 3295 var result = themeHelper.buildNavigateItemImagePayload(this._navState, { 3296 product: this.product, 3297 currentVariant: this.currentVariant, 3298 visiblePhotos: visiblePhotos, 3299 slideIndex: photoIndex, 3300 videoOffset: this.firstImageIndex, 3301 }); 3302 this._navState = result.nextState; 3303 if (result.payload && !isVariantReposition) { 3304 window.navigateItemImage(result.payload); 3305 } 3306 this.currentImageIndex = photoIndex; 3307 }, 3308 toggleCurrentOption: function(key, value) { 3309 this.currentOption[key] = 3310 (this.currentOption[key] === value || value === 'null') ? null : value; 3311 var variantIndex = this.getVariantIndex(); 3312 if (variantIndex !== -1) { 3313 this.currentVariant = this.product.variants[variantIndex]; 3314 } else { 3315 this.currentVariant = null; 3316 } 3317 this.setChoose(this.product.variants[variantIndex]); 3318 if (this.currentOption[key] !== null) { 3319 var optionIndex = parseInt(key.replace('option', '')) - 1; 3320 appStoreSelectItemEvent(this.product, this.product.options[optionIndex], this.currentOption[key], this.currentVariant); 3321 } 3322 }, 3323 toggleNotification: function() { 3324 var self = this; 3325 var variantId = this.currentVariant.id; 3326 3327 $.ajax({ 3328 url: '/toggle_pv_notification', 3329 method: 'POST', 3330 dataType: 'json', 3331 data: { 3332 product_variant_id: variantId 3333 }, 3334 success: function(response) { 3335 self.variantNotifications[variantId] = response.notice; 3336 window.msg(response.message, "success").show(); 3337 }, 3338 error: function(xhr) { 3339 var response = xhr.responseJSON; 3340 var msg = response && response.error || "網路é£ç·ç°å¸¸ï¼è«éæ°æ´ç"; 3341 window.msg(msg, "error").show(); 3342 } 3343 }) 3344 }, 3345 getOptionImageIndex: function(index) { 3346 this.currentImageIndex = index; 3347 }, 3348 quantityDecrease: function() { 3349 if (this.cartItem) { 3350 themeHelper.EventBus.$emit('quantityDecrease', this.cartItem, false); 3351 this.quantity = this.cartItem.quantity 3352 } else { 3353 window.msg("è«é¸æå忬¾å¼", 'warning').show(); 3354 } 3355 }, 3356 quantityIncrease: function() { 3357 if (this.cartItem) { 3358 themeHelper.EventBus.$emit('quantityIncrease', this.cartItem, false); 3359 this.quantity = this.cartItem.quantity 3360 } else { 3361 window.msg("è«é¸æå忬¾å¼", 'warning').show(); 3362 } 3363 }, 3364 quantityChange: function(el) { 3365 if (this.cartItem) { 3366 themeHelper.EventBus.$emit('quantityChange', parseInt(el.target.value), this.cartItem, false); 3367 this.quantity = this.cartItem.quantity; 3368 el.target.value = this.cartItem.quantity; 3369 } else { 3370 window.msg("è«é¸æå忬¾å¼", 'warning').show(); 3371 } 3372 }, 3373 addProduct: function() { 3374 if (this.addCartText === 'è¯çµ¡åºå®¶') { 3375 $('#messagebuy-Modal').data('variant', this.currentVariant); 3376 $('#messagebuy-Modal').modal('show'); 3377 $('#messagebuy-Modal').css("background-color", "rgba(0, 0, 0, .6)"); 3378 } else if ( 3379 this.addCartText === 'å·²ç»è¨è£è²¨éç¥' || 3380 this.addCartText === 'å·²å®å®ï¼è²¨å°éç¥æ' 3381 ) { 3382 this.toggleNotification(); 3383 } else { 3384 if (this.cartItem) { 3385 try { 3386 if (this.isChoose) { 3387 themeHelper.EventBus.$emit('updateStore', 'update', this.cartItem, this.callBack) 3388 } else { 3389 themeHelper.EventBus.$emit('updateStore', 'add', this.cartItem, this.callBack) 3390 } 3391 3392 this.adding = true; 3393 this.closeModal(); 3394 } catch (e) { 3395 window.msg("å忬¾å¼ç°å¸¸", 'error').show(); 3396 } 3397 } else { 3398 window.msg("è«é¸æå忬¾å¼", 'warning').show(); 3399 } 3400 } 3401 }, 3402 closeModal: function() { 3403 themeHelper.EventBus.$emit('closeProductModal'); 3404 }, 3405 setDefaultOption: function() { 3406 var self = this; 3407 Object.keys(self.currentOption).map(function(optionKey) { 3408 self.currentOption[optionKey] = self.currentVariant[optionKey]; 3409 }); 3410 }, 3411 getVariantIndex: function() { 3412 var self = this; 3413 return self.product.variants.findIndex(function(variant, index) { 3414 var isVariant = true;
3415 Object.keys(self.currentOption).forEach(function(option) { 3416 if (variant[option] !== self.currentOption[option]) { 3417 isVariant = false; 3418 } 3419 }); 3420 return isVariant; 3421 }); 3422 }, 3423 3424 // 篩é¸éè¤åé 3425 getUniqueVariant: function(variants) { 3426 return variants.filter(function(value, index, self) { 3427 return self.indexOf(value) === index; 3428 }); 3429 }, 3430 groupBy(xs, key) { 3431 return xs.reduce(function(rv, x) { 3432 (rv[x[key]] = rv[x[key]] || []).push(x); 3433 return rv; 3434 }, {}); 3435 }, 3436 setUpDiscountsTag(data) { 3437 var self = this; 3438 var languagePrefix = '/' + ((window.shopScriptHelper && window.shopScriptHelper.i18nLocale) || 'zh-TW'); 3439 $.ajax({ 3440 url: languagePrefix + self.productUrl + '/discounts_list', 3441 method: 'GET', 3442 success: function(result) { 3443 if (result.length > 0) { 3444 var discounts_list = self.groupBy(result, 'campaign_type'); 3445 self.discountsList = discounts_list; 3446 } else { 3447 self.discountsList = null; 3448 } 3449 } 3450 }); 3451 }, 3452 getOptions: function(optionKey, optionTypes) { 3453 var self = this; 3454 return optionTypes.map(function(optionType, index) { 3455 var isValid = true; 3456 3457 // é¸åºå å«ç®åtypeçvariant 3458 var matchVariants = self.product.variants.filter(function(variant) { 3459 return variant[optionKey] === optionType; 3460 }); 3461 3462 // 篩é¸å·²å¾é¸type 3463 Object.keys(self.currentOption).forEach(function(currentOptionKey) { 3464 if (currentOptionKey !== optionKey) { 3465 matchVariants = matchVariants.filter(function(variant) { 3466 if (self.currentOption[currentOptionKey]) { 3467 return variant[currentOptionKey] === self.currentOption[currentOptionKey] 3468 } else { 3469 return true; 3470 } 3471 }); 3472 } 3473 }); 3474 if (matchVariants.length === 0) { 3475 isValid = false; 3476 } 3477 if (! self.isEmptyClickable) { 3478 isValid = false; 3479 matchVariants.find(function(item) { 3480 if (item.inventoryQuantity === null || item.inventoryQuantity > 0 || item.inventoryPolicy === 'continue') { 3481 isValid = true; 3482 } 3483 }); 3484 } 3485 return {name: optionType, isValid: isValid} 3486 }); 3487 } 3488 } 3489 }; 3490 }); 3491</script>
3491 3492 3493<!-- cyb_snippet _product_modal_js end --> 3494 3495<!-- cyb_snippet components/product_modal/product_modal end --> 3496 3497<!-- cyb_snippet messagebuy_modal start --> 3498 3499 3500<!-- cyb_snippet messagebuy_modal end --> 3501<!-- cyb_snippet components/rate_limit_modal start --> 3502<link href='//cdn1-next.cybassets.com/frontend/shop/beta_theme/css/rate_limit_modal-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' /> 3503 3504<div class="modal fade" id="rate-limit-modal" tabindex="-1" role="dialog" aria-hidden="true" data-backdrop="static" data-keyboard="false"> 3505 <div class="modal-dialog modal-dialog-centered" role="document"> 3506 <div class="modal-content"> 3507 <div class="modal-body"> 3508 <div class="qk-text--default_dark rate-limit-text"> 3509 <p id="rate-limit-title">ç®åæ¶è³¼äººæ½®ç¾å¤ï¼è«èå¿çå</p> 3510 <p class="qk-fs--body qk-fw--500 rate-limit-message"> 3511 <span class="qk-text--error" id="rate-limit-countdown"></span> 3512 <span id="rate-limit-desc"></span> 3513 </p> 3514 <p class="qk-fs--body qk-fw--500 rate-limit-message" id="rate-limit-warn">è¥é¢éæ¤é é¢ï¼å¯è½æå»¶é·çå¾ æéã</p> 3515 </div> 3516 <button id="rate-limit-btn" class="btn qk-btn qk-btn--primary" disabled>éæ°é²å ¥ååé </button> 3517 </div> 3518 </div> 3519 </div> 3520</div> 3521
3522<script> 3523 window.showRateLimitModal = function(countdownSec) { 3524 var countdown = countdownSec || 5; 3525 var $modal = $('#rate-limit-modal'); 3526 var $btn = $modal.find('#rate-limit-btn'); 3527 var $countdownEl = $modal.find('#rate-limit-countdown'); 3528 3529 $btn.show(); 3530 $modal.find('#rate-limit-desc').text(language["product_rate_limit_desc"]); 3531 $countdownEl.text(countdown); 3532 $btn.prop('disabled', true); 3533 $modal.modal('show'); 3534 3535 var timer = setInterval(function() { 3536 countdown--; 3537 $countdownEl.text(countdown); 3538 if (countdown <= 0) { 3539 clearInterval(timer); 3540 $btn.prop('disabled', false); 3541 } 3542 }, 1000); 3543 3544 $btn.off('click').on('click', function() { 3545 location.reload(); 3546 }); 3547 } 3548 3549 window.showAddCartRateLimitModal = function(countdownSec) { 3550 var countdown = countdownSec || 5; 3551 var $modal = $('#rate-limit-modal'); 3552 var $countdownEl = $modal.find('#rate-limit-countdown'); 3553 3554 $modal.find('#rate-limit-btn').hide(); 3555 $modal.find('#rate-limit-desc').text(language["addcart_rate_limit_desc"]); 3556 $countdownEl.text(countdown); 3557 $modal.modal('show'); 3558 3559 var timer = setInterval(function() { 3560 countdown--; 3561 $countdownEl.text(countdown); 3562 if (countdown <= 0) { 3563 clearInterval(timer); 3564 $modal.modal('hide'); 3565 } 3566 }, 1000); 3567 } 3568</script>
3568 3569 3570<!-- cyb_snippet components/rate_limit_modal end --> 3571
3572<script> 3573 $(document).ready(function() { 3574 const shouldSkipQuantityCheck = false; 3575 const newAddCartModalApp = new window.themeHelper.LiquidVueHandler({ 3576 componentNames: Object.keys(window.themeHelper.productModalComponents), 3577 mountSelector: '#new-addcart-modal', 3578 autoMount: false, 3579 }); 3580 3581 newAddCartModalApp.createApp({ 3582 el: '#new-addcart-modal', 3583 delimiters: ['${', '}'], 3584 data() { 3585 return { 3586 collectionId: 0, 3587 categories: [], 3588 color: '', // unused 3589 isCollection: true, 3590 productQuantity: 0, 3591 onlyDescription: false, 3592 showProductModal: false, 3593 popProductUrl: '', 3594 loading: false, 3595 }; 3596 }, 3597 mounted: function() { 3598 themeHelper.EventBus.$on('closeProductModal',this.closeProductModal); 3599 themeHelper.EventBus.$on('updateStore', this.addProduct); 3600 themeHelper.EventBus.$on('quantityDecrease', this.quantityDecrease); 3601 themeHelper.EventBus.$on('quantityIncrease', this.quantityIncrease); 3602 themeHelper.EventBus.$on('quantityChange', this.quantityChange); 3603 }, 3604 methods: { 3605 addProduct: function(actionType, productData, checkoutAddToCartCallback){ 3606 var self = this; 3607 var pageViewId = window.CYBERBIZ && window.CYBERBIZ.dis && window.CYBERBIZ.dis.pageViewId; 3608 $.ajax({ 3609 method: 'POST', 3610 url: '/cart/add', 3611 headers: pageViewId ? { 'X-Cyb-Page-View-Id': pageViewId } : {}, 3612 data: { 3613 id: productData.id, 3614 quantity: productData.quantity, 3615 }, 3616 dataType: 'json', 3617 beforeSend: function() { 3618 self.loading = true; 3619 themeHelper.ajaxLoadingMsg('loading'); 3620 $('.shopcart').dropdown('hide') 3621 $('.global-cart-count').hide(); 3622 $('.global-cart-loading').show(); 3623 $('.global-cart-loading').html('<i class="fa fa-spinner fa-pulse" style="vertical-align: middle;"></i>'); 3624 }, 3625 error: function(xhr) { 3626 $('.global-cart-loading').hide(); 3627 $('.global-cart-count').show(); 3628 self.loading = false; 3629 if (xhr.status === 429) { 3630 themeHelper.ajaxLoadingMsg('hide', 0); 3631 self.closeProductModal(); 3632 window.showAddCartRateLimitModal(5); 3633 return; 3634 } 3635 themeHelper.ajaxLoadingMsg('fail', 2000); 3636 } 3637 }).done(function(data, status, request){ 3638 // product modal ç«å³è³¼è²·æé 3639 window.sendAddToCartEvent && sendAddToCartEvent({ 3640 price: productData.price, 3641 quantity: productData.quantity, 3642 id: productData.product.id, 3643 name: productData.product.title, 3644 category: productData.product.productType, 3645 brand: productData.product.vendor, 3646 qc: productData.variant.qc, 3647 variant: { 3648 id: productData.variant.id, 3649 title: productData.variant.title, 3650 sku: productData.variant.sku, 3651 price: productData.variant.price, 3652 qc: productData.variant.qc, 3653 }, 3654 position: "ååå½åºè¦çª", 3655 request, 3656 }) 3657 if (self.isQuickBuy) { 3658 if (window.liquidHelper && window.liquidHelper.language && window.liquidHelper.language.handle) { 3659 window.location = "/" + window.liquidHelper.language.handle + "/cart"; 3660 } else { 3661 window.location = "/cart"; 3662 } 3663 } else { 3664 themeHelper.ajaxLoadingMsg('success'); 3665 pullNavCart(); 3666 $('.shopcart').dropdown('show') 3667 $('.global-cart-loading').hide(); 3668 self.loading = false; 3669 } 3670 if(typeof checkoutAddToCartCallback === 'function'){ 3671 var callbackData = { 3672 id: productData.id, 3673 quantity: productData.quantity, 3674 title: productData.product ? productData.product.title : productData.title || '' 3675 }; 3676 checkoutAddToCartCallback(callbackData) 3677 } 3678 peh.emit('product:add_to_cart', [{ 3679 variantId: productData.id, 3680 quantity: productData.quantity 3681 }], self.collectionId); 3682 }).fail(function(e){ 3683 if (e.status === 429) { 3684 return; 3685 } 3686 let err_msg = e.responseJSON.err_msg; 3687 err_msg && err_msg.length > 0 ? 3688 window.msg(e.responseJSON.err_msg, 'warning').show(): 3689 window.msg("å å ¥è³¼ç©è»æèª¤ï¼è«éæ°å試", 'warning').show(); 3690 }) 3691 }, 3692 quantityDecrease: function(cartItem, isAdded){ 3693 if (cartItem.quantity > 1) { 3694 cartItem.quantity -= 1; 3695 } else { 3696 window.msg("æ¸éä¸å¾çºä½æ¼ 1", 'warning').show(); 3697 } 3698 }, 3699 quantityIncrease: function(cartItem, isAdded){ 3700 const limitQuantity = cartItem.variant.inventoryQuantity; 3701 const limitBuy = cartItem.product.limitBuy 3702 if (limitBuy && cartItem.quantity >= limitBuy) { 3703 product_limit_buy = "æ¤ååéè³¼ limitBuy ä»¶".replace('limitBuy', limitBuy) 3704 window.msg(product_limit_buy, 'warning').show(); 3705 return; 3706 } else if (cartItem.quantity >= liquidHelper.cartQuantityLimit) { 3707 window.msg("æ¸éè¶ é購買ä¸é", 'warning').show(); 3708 } else if ( cartItem.quantity < limitQuantity || limitQuantity === null || 3709 cartItem.variant.inventoryPolicy == "continue" || shouldSkipQuantityCheck) { 3710 cartItem.quantity += 1; 3711 } else { 3712 this.showInventoryMessage(limitQuantity); 3713 } 3714 },
3715 quantityChange: function(quantity, cartItem, isAdded){ 3716 const limitBuy = cartItem.product.limitBuy 3717 var limitQuantity = cartItem.variant.inventoryQuantity; 3718 var inventoryPolicy = cartItem.variant.inventoryPolicy; 3719 if (Number.isInteger(quantity)) { 3720 if (quantity >= 1) { 3721 if (limitBuy && quantity >= limitBuy) { 3722 product_limit_buy = "æ¤ååéè³¼ limitBuy ä»¶".replace('limitBuy', limitBuy) 3723 window.msg(product_limit_buy, 'warning').show(); 3724 } else if (quantity > liquidHelper.cartQuantityLimit) { 3725 window.msg("æ¸éè¶ é購買ä¸é", 'warning').show(); 3726 } else if (quantity <= limitQuantity || limitQuantity === null || inventoryPolicy == "continue" || shouldSkipQuantityCheck) { 3727 cartItem.quantity = quantity; 3728 } else { 3729 cartItem.quantity = limitQuantity; 3730 this.showInventoryMessage(limitQuantity); 3731 } 3732 } else { 3733 window.msg("æ¸éä¸å¾çºä½æ¼ 1", 'warning').show(); 3734 } 3735 } else { 3736 window.msg("æ¸éè¼¸å ¥é¯èª¤", 'warning').show(); 3737 } 3738 }, 3739 popModal: function(productUrl, collectionId, color, isCollection, isShowDescription, isQuickBuy, variantId, checkoutAddToCartCallback, categories){ 3740 this.showProductModal = true; 3741 this.collectionId = collectionId; 3742 this.categories = categories || []; 3743 this.popProductUrl = productUrl; 3744 this.color = color || ''; // unused 3745 this.isCollection = isCollection || false; 3746 this.isShowDescription = isShowDescription != false; 3747 this.isQuickBuy = isQuickBuy || false; 3748 this.selectedVariantId = parseInt(variantId) || undefined; 3749 this.checkoutAddToCartCallback = checkoutAddToCartCallback; 3750 document.body.style.overflow = "hidden"; 3751 }, 3752 closeProductModal: function() { 3753 this.showProductModal = false; 3754 document.body.style.overflow = ""; 3755 }, 3756 showInventoryMessage: function(inventoryQuantity) { 3757 const stockMessage = "åå庫åå©é¤ count ä»¶".replace('count', inventoryQuantity || 0); 3758 window.msg(stockMessage, 'warning').show(); 3759 }, 3760 } 3761 }); 3762 3763 for (const componentName in window.themeHelper.productModalComponents) { 3764 newAddCartModalApp.component( 3765 componentName, 3766 window.themeHelper.productModalComponents[componentName], 3767 ); 3768 } 3769 3770 window.new_addcart_modal = newAddCartModalApp.mount(); 3771 }); 3772</script>
3772 3773 3774<!-- cyb_snippet new_addcart_modal end --> 3775<!-- cyb_snippet components/variant_options/variant_photos_block start -->
3776<script type="text/x-template" id="variant-photos-block"> 3777 <div class="product_photos qk-w--100"> 3778 <!-- æè²ç¥¨ --> 3779 <div class="product_photo img-flex qk-text--center" v-if="displayProductImagesColor"> 3780 <img id="photo_with_images_color" class="img-lazy" :src="imgLoadingImage" data-src="//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L3Byb2R1Y3RzLzM3ODU5MzkwLzE2NjEzMTM2MTdfNWE5MjBiYjM1NGFlYWQ5ODIyNTMuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=f05a30c3e658b150" alt="æå S5190æ¶æåèè ¿è¸æ¥æ©" width="450" height="450"> 3781 </div> 3782 <!-- æ²è²ç¥¨ --> 3783 <div class="swiper swiper-container product_img_swiper" v-else> 3784 <ul class="swiper-wrapper qk-pd--0 qk-mg--0"> 3785 <video-display 3786 v-if="shouldShowVideo && !videoAfterImage" 3787 :poster="!!showPhotos.length ? showPhotos[0].imageUrl : imgLoadingImage" 3788 :videoUrl="videoUrl" 3789 ></video-display> 3790 <li class="swiper-slide product_photo img-flex qk-text--center qk-of--hidden three_to_four_scale" 3791 v-for="photo in showPhotos" 3792 :key="photo.id" 3793 > 3794 <img 3795 :data-src="photo.imageUrl" 3796 width="450" 3797 height="450" 3798 class="swiper-lazy" 3799 alt="æå S5190æ¶æåèè ¿è¸æ¥æ©" 3800 @click="onEnlargePhotos()" 3801 /> 3802 <div class="swiper-lazy-preloader"></div> 3803 </li> 3804 <li v-if="showDefault" class="swiper-slide product_photo img-flex qk-text--center qk-of--hidden three_to_four_scale"> 3805 <img :src="imgLoadingImage" data-src="//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L3Byb2R1Y3RzLzM3ODU5MzkwLzE2NjEzMTM2MTdfNWE5MjBiYjM1NGFlYWQ5ODIyNTMuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=f05a30c3e658b150" alt="æå S5190æ¶æåèè ¿è¸æ¥æ©" width="450" height="450" class="swiper-lazy"> 3806 </li> 3807 <video-display 3808 v-if="shouldShowVideo && videoAfterImage" 3809 :poster="!!showPhotos.length ? showPhotos[0].imageUrl : imgLoadingImage" 3810 :videoUrl="videoUrl" 3811 ></video-display> 3812 </ul> 3813 <!-- Add Arrows --> 3814 <div class="photo-swiper-next qk-swiper_btn qk-swiper_btn--lg qk-swiper_btn--v1 qk-swiper_btn--next qk-hidden--mobile"></div> 3815 <div class="photo-swiper-prev qk-swiper_btn qk-swiper_btn--lg qk-swiper_btn--v1 qk-swiper_btn--prev qk-hidden--mobile"></div> 3816 <div class="photo-pagination qk-bd--default qk-bd--body qk-text--center qk-text--body qk-fs--breadcrumb qk-visible-sm"> 3817 <span class="current-index qk-text--default_dark">${activePhotoIndex + 1}</span><span class="pagination-slash">/</span> 3818 <span>${shouldShowVideo ? (showPhotos.length ? showPhotos.length + 1 : 2) : showPhotos.length || 1}</span> 3819 </div> 3820 </div> 3821 <!-- åçé 碼 --> 3822 <div v-if="showThumbnails" class="thumb qk-of--auto qk-hidden--phone"> 3823 <ul class="thumb-container qk-display--il_flex"> 3824 <video-thumbnail 3825 v-if="shouldShowVideo && !videoAfterImage" 3826 :active="isVideoActive" 3827 :video-url="videoUrl" 3828 @click="onClickThumbnail(videoIndex)" 3829 ></video-thumbnail> 3830 <li class="img-flex qk-bd--default qk-bd--border qk-cursor--pointer qk-of--hidden qk-display--il_flex" 3831 :class="{active: (shouldShowVideo && !videoAfterImage ? index + 1 : index) === activePhotoIndex}" 3832 v-for="(photo, index) in showPhotos" 3833 :key="photo.id" 3834 @click="onClickThumbnail(shouldShowVideo && !videoAfterImage ? index + 1 : index)" 3835 > 3836 <img class="img-lazy" :src="imgLoadingImage" :data-src="photo.imageUrl" alt="æå S5190æ¶æåèè ¿è¸æ¥æ©" width="50" height="50"> 3837 </li> 3838 <li v-if="showDefault" 3839 class="img-flex qk-bd--default qk-bd--border qk-of--hidden qk-display--il_flex" 3840 :class="{active: (shouldShowVideo && !videoAfterImage ? 1 : 0) === activePhotoIndex}" 3841 > 3842 <img class="img-lazy" :src="imgLoadingImage" data-src="//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L3Byb2R1Y3RzLzM3ODU5MzkwLzE2NjEzMTM2MTdfNWE5MjBiYjM1NGFlYWQ5ODIyNTMuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=f05a30c3e658b150" alt="æå S5190æ¶æåèè ¿è¸æ¥æ©" width="50" height="50"> 3843 </li> 3844 <video-thumbnail 3845 v-if="shouldShowVideo && videoAfterImage" 3846 :active="isVideoActive" 3847 :video-url="videoUrl" 3848 @click="onClickThumbnail(videoIndex)" 3849 ></video-thumbnail> 3850 </ul> 3851 </div> 3852 </div> 3853</script>
3853 3854
3855<script type="text/javascript"> 3856 $(document).ready(function() { 3857 var autoSelectVariantBySku = false; 3858 3859 themeHelper.variantPhotosBlock.component('variant-photos-block', { 3860 template: '#variant-photos-block', 3861 delimiters: ['${', '}'], 3862 data: function() { 3863 return { 3864 variantPhotos: null, 3865 productPhotosMap: {}, 3866 productPhotos: [], 3867 manualSelectedVariant: false, 3868 activePhotoIndex: 0, 3869 _navState: { variantId: null, photoIndex: 0 }, 3870 suppressNavigateEvent: false, 3871 currentVariantForEvent: null, 3872 swiperPhotos: null, 3873 swiperGalleryChangeHandler: null, 3874 showDefault: true, 3875 videoUrl: '', 3876 videoAfterImage: false, 3877 imgLoadingImage:"//cdn1-next.cybassets.com/img_loading.svg", 3878 thumbScrollHandler: null, 3879 thumbScrollTimeout: null, 3880 showThumbnails: false, 3881 } 3882 }, 3883 props: { 3884 displayProductImagesColor: Boolean, 3885 productPhotosJson: String, 3886 productVideo: Object, 3887 videoDisplayLocation: String, 3888 productId: [String, Number], 3889 productTitle: String, 3890 }, 3891 mounted: async function() { 3892 this.productPhotos = JSON.parse(this.productPhotosJson.replace(/'/g, '"')); 3893 this.productPhotosMap = 3894 this.productPhotos.reduce((acc, cur) => { 3895 acc[cur.id] = cur; 3896 return acc; 3897 }, {}); 3898 this.videoUrl = !!this.productVideo && this.productVideo.url; 3899 this.showDefault = !this.showPhotos.length; 3900 this.videoAfterImage = this.videoDisplayLocation === 'after'; 3901 themeHelper.EventBus.$on('updatePhotos', this.onUpdatePhotos); 3902 this.swiperGalleryChangeHandler = (_event, payload) => this.onSwiperGalleryChange(payload); 3903 $(document).on('swiper-gallery-change', this.swiperGalleryChangeHandler); 3904 3905 var sku = window.getURLParameter('sku'); 3906 3907 if (sku && autoSelectVariantBySku) { 3908 themeHelper.EventBus.$on('skuReady', this.onSkuReady); 3909 } else { 3910 this.showThumbnails = true; 3911 await this.initPhotosUI(); 3912 } 3913 }, 3914 beforeUnmount: function() { 3915 this.removeThumbScrollListener(); 3916 if (this.swiperGalleryChangeHandler) { 3917 $(document).off('swiper-gallery-change', this.swiperGalleryChangeHandler); 3918 } 3919 }, 3920 methods: { 3921 navigateItemImagePayload: function(state, slideIndex, videoOffset) { 3922 return themeHelper.buildNavigateItemImagePayload(state, { 3923 product: { id: this.productId, title: this.productTitle }, 3924 currentVariant: this.currentVariantForEvent, 3925 visiblePhotos: this.showPhotos, 3926 slideIndex: slideIndex, 3927 videoOffset: videoOffset, 3928 }); 3929 }, 3930 initPhotosUI: async function() { 3931 await this.$nextTick(); 3932 this.initSwiper(); 3933 3934 this._navState = this.navigateItemImagePayload(this._navState, this.initialItemIndex, this.videoOffset).nextState; 3935 3936 // åå§åç¸®åæ»¾åç£è½ 3937 this.initThumbScrollListener(); 3938 3939 const videoElement = $('.product_video.swiper-slide-active video')[0]; 3940 if (videoElement) { 3941 videoElement.addEventListener('canplay', (event) => { 3942 this.sendGtag('play'); 3943 }, { once: true }); 3944 } 3945 }, 3946 onSkuReady: async function() { 3947 await this.initPhotosUI(); 3948 this.showThumbnails = true; 3949 await this.$nextTick(); 3950 imgLazyLoad.update(); 3951 themeHelper.EventBus.$emit('skuPhotosReady'); 3952 }, 3953 initThumbScrollListener: function() { 3954 const thumbScrollContainer = this.$el.querySelector('.thumb'); 3955 3956 if (thumbScrollContainer) { 3957 this.removeThumbScrollListener(); 3958 this.thumbScrollHandler = () => { 3959 clearTimeout(this.thumbScrollTimeout); 3960 this.thumbScrollTimeout = setTimeout(() => { 3961 if (window.imgLazyLoad) { 3962 imgLazyLoad.update(); 3963 } 3964 }, 100); 3965 };
3966 thumbScrollContainer.addEventListener('scroll', this.thumbScrollHandler); 3967 } 3968 }, 3969 removeThumbScrollListener: function() { 3970 const thumbScrollContainer = this.$el.querySelector('.thumb'); 3971 3972 if (thumbScrollContainer && this.thumbScrollHandler) { 3973 thumbScrollContainer.removeEventListener('scroll', this.thumbScrollHandler); 3974 clearTimeout(this.thumbScrollTimeout); 3975 this.thumbScrollHandler = null; 3976 } 3977 }, 3978 sendGtag: function(action){ 3979 window.productVideoView && productVideoView(action); 3980 }, 3981 handleVideoClick: function() { 3982 const video = $('.product_video.swiper-slide-active video')[0]; 3983 const button = $('.product_video.swiper-slide-active button'); 3984 if (video.paused){ 3985 video.play(); 3986 this.sendGtag('play'); 3987 } else { 3988 video.pause(); 3989 this.sendGtag('paused'); 3990 } 3991 this.handleVideoButtonDisplay(button, video); 3992 }, 3993 handleVideoButtonDisplay: function(button, video) { 3994 button.toggleClass('videoPlayer__playButton', video.paused); 3995 button.toggleClass('videoPlayer__pauseButton', !video.paused); 3996 }, 3997 onUpdatePhotos: async function(currentVariant) { 3998 this.suppressNavigateEvent = true; 3999 this.currentVariantForEvent = currentVariant && currentVariant.variant 4000 ? { id: currentVariant.variant.id, sku: currentVariant.variant.sku } 4001 : null; 4002 if (this.swiperPhotos) { 4003 this.swiperPhotos.destroy(true, true); 4004 } 4005 $('.product_img_swiper .swiper-slide-duplicate').remove(); 4006 $('.product_img_swiper .swiper-lazy-loading').removeClass('swiper-lazy-loading'); 4007 this.manualSelectedVariant = currentVariant ? currentVariant.withSpecificVariant : false; 4008 if (currentVariant && currentVariant.photos.length) { 4009 this.variantPhotos = currentVariant.photos.map(p => this.productPhotosMap[p.id]); 4010 } else { 4011 this.variantPhotos = null; 4012 } 4013 4014 this.activePhotoIndex = this.initialItemIndex; 4015 4016 this._navState = this.navigateItemImagePayload(this._navState, this.activePhotoIndex, this.videoOffset).nextState; 4017 await this.$nextTick(); 4018 imgLazyLoad.update(); 4019 this.initSwiper(); 4020 this.suppressNavigateEvent = false; 4021 }, 4022 onEnlargePhotos: function() { 4023 gallery_img.updateImgs(this.maxPhotos); 4024 gallery_img.toggleGallery(true, { 4025 index: this.swiperPhotos.realIndex - this.videoOffset 4026 }); 4027 }, 4028 onSwiperGalleryChange: function(payload) { 4029 if (!payload || payload.galleryName !== 'img') return; 4030 4031 var result = this.navigateItemImagePayload( 4032 { 4033 variantId: this.currentVariantForEvent ? this.currentVariantForEvent.id : null, 4034 photoIndex: payload.fromIndex, 4035 }, 4036 payload.toIndex, 4037 0 4038 ); 4039 4040 if (result.payload && !this.suppressNavigateEvent) { 4041 window.navigateItemImage(result.payload); 4042 } 4043 }, 4044 onClickThumbnail: function(index) { 4045 this.activePhotoIndex = index; 4046 this.swiperPhotos.slideTo(index + 1, 500); 4047 }, 4048 setVideosVolumeZero: function() { 4049 // video duplication because of swiper loop mode 4050 const videos = $('.product_video video'); 4051 videos.each((_index, el)=> { 4052 el.volume = 0; 4053 }); 4054 }, 4055 initSwiper: function() { 4056 var self = this; 4057 this.swiperPhotos = new Swiper('.product_img_swiper', { 4058 preloadImages: false, 4059 lazy: { 4060 loadPrevNext: true, 4061 }, 4062 loop: true, 4063 navigation: { 4064 nextEl: '.photo-swiper-next', 4065 prevEl: '.photo-swiper-prev', 4066 }, 4067 initialSlide: this.initialItemIndex, 4068 }); 4069 if (self.videoUrl) { 4070 self.setVideosVolumeZero(); 4071 } 4072 this.swiperPhotos.on('touchEnd', function () { 4073 setTimeout(function() { 4074 self.activePhotoIndex = self.swiperPhotos.realIndex; 4075 }, 300); 4076 }); 4077 this.swiperPhotos.on('activeIndexChange', function() { 4078 self.activePhotoIndex = self.swiperPhotos.realIndex; 4079 }); 4080 this.swiperPhotos.on('click', function () { 4081 if (self.isVideoActive) { 4082 self.handleVideoClick() 4083 } 4084 }); 4085 this.swiperPhotos.on('transitionEnd', function () { 4086 if (self.isVideoActive) { 4087 const video = $('.product_video.swiper-slide-active video')[0]; 4088 const button = $('.product_video.swiper-slide-active button'); 4089 self.handleVideoButtonDisplay(button, video); 4090 } 4091 }); 4092 } 4093 }, 4094 computed: { 4095 shouldShowVideo: function() { 4096 return !!this.videoUrl; 4097 }, 4098 initialItemIndex: function() { 4099 if (this.shouldShowVideo && !this.videoAfterImage) { 4100 // Focus on photo if "variant with photos" selected, video otherwise 4101 return (this.manualSelectedVariant && !!this.variantPhotos?.length) ? 1 : 0; 4102 } else { 4103 // Focus on first photo 4104 return 0; 4105 } 4106 }, 4107 isVideoActive: function() { 4108 return this.shouldShowVideo && this.activePhotoIndex === this.videoIndex; 4109 }, 4110 showPhotos: function() { 4111 return this.variantPhotos || this.productPhotos; 4112 }, 4113 maxPhotos: function() { 4114 return this.showPhotos.map(p => p.imageMaxUrl); 4115 }, 4116 videoIndex: function(){ 4117 return this.videoAfterImage 4118 ? this.manualSelectedVariant && !!this.variantPhotos?.length 4119 ? this.variantPhotos?.length 4120 : this.showPhotos.length || 1 4121 : 0 4122 }, 4123 videoOffset: function() { 4124 return (this.shouldShowVideo && !this.videoAfterImage) ? 1 : 0; 4125 }, 4126 }, 4127 watch: { 4128 activePhotoIndex: function(newIndex) { 4129 var result = this.navigateItemImagePayload(this._navState, newIndex, this.videoOffset); 4130 this._navState = result.nextState; 4131 if (result.payload && !this.suppressNavigateEvent) { 4132 window.navigateItemImage(result.payload); 4133 } 4134 }, 4135 } 4136 }); 4137 }) 4138</script>
4138 4139 4140<!-- cyb_snippet components/variant_options/video_display start -->
4141<script type="text/x-template" id="video-display"> 4142 <li 4143 class="swiper-slide product_video img-flex qk-text--center qk-of--hidden three_to_four_scale"> 4144 <div class="videoPlayer__wrapper qk-of--hidden"> 4145 <video 4146 class="videoPlayer__video qk-cursor--pointer" 4147 :poster="poster" 4148 loop defaultMuted muted playsinline webkit-playsinline autoplay 4149 > 4150 <source :src="videoUrl" type="video/mp4"> 4151 <p>ä½ çç覽å¨ä¸æ¯æ´ HTML 5 video</p> 4152 </video> 4153 <button class="videoPlayer__pauseButton"></button> 4154 </div> 4155 </li> 4156</script>
4156 4157
4158<script type="text/javascript"> 4159 $(document).ready(function() { 4160 themeHelper.variantPhotosBlock.component('video-display', { 4161 template: '#video-display', 4162 delimiters: ['${', '}'], 4163 data: function() { 4164 return { 4165 imgLoadingImage:"//cdn1-next.cybassets.com/img_loading.svg", 4166 } 4167 }, 4168 props: { 4169 poster: String, 4170 showPhotos: Object, 4171 videoUrl: String, 4172 }, 4173 }); 4174 }) 4175</script>
4175 4176 4177<!-- cyb_snippet components/variant_options/video_display end --> 4178<!-- cyb_snippet components/variant_options/video_thumbnail start -->
4179<script type="text/x-template" id="video-thumbnail"> 4180 <li 4181 :class="{active}" 4182 class="img-flex qk-bd--default qk-bd--border qk-cursor--pointer qk-of--hidden qk-display--il_flex" 4183 @click="click" 4184 > 4185 <video width="50" height="50"> 4186 <source :src="videoUrl" type="video/mp4"> 4187 </video> 4188 <button class="videoPlayer__playButton"></button> 4189 </li> 4190</script>
4190 4191
4192<script type="text/javascript"> 4193 $(document).ready(function() { 4194 themeHelper.variantPhotosBlock.component('video-thumbnail', { 4195 template: '#video-thumbnail', 4196 delimiters: ['${', '}'], 4197 props: { 4198 active: Boolean, 4199 click: Function, 4200 videoUrl: String, 4201 }, 4202 }); 4203 }) 4204</script>
4204 4205 4206<!-- cyb_snippet components/variant_options/video_thumbnail end --> 4207 4208<!-- cyb_snippet components/variant_options/variant_photos_block end --> 4209<!-- cyb_snippet components/variant_options/variant_options_block start -->
4210<script type="text/x-template" id="variant-options-block"> 4211 <div> 4212 <div v-for="(option, index) in optionInfo" class="product-variant-option" :class="{'product-variant-option--hidden': shouldHideSingleVariantOptions}"> 4213 <p></p> 4214 <color-option 4215 v-if="isImageColor && option.name === 'é¡è²'" 4216 :option-key="'option' + (index + 1)" 4217 :option="option" 4218 :image-colors="imageColors" 4219 :current-image-index="currentImageIndex" 4220 :set-current-image-index="setCurrentImageIndex" 4221 :get-option-image-index="getOptionImageIndex" 4222 :current-option="currentOption" 4223 /> 4224 <div class="advance variant-select-option" v-else-if="styledShopMenu==='dropDownType'"> 4225 4226 <label>${option.name}</label> 4227 <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> 4228 <select v-show="!isMobileSize" class="qk-bg--theme_bg" :class="{'select_placeholder-color': currentOption[`option${index + 1}`] === null}" :value="String(currentOption[`option${index + 1}`])" @change="setOption(`option${index + 1}`, $event.target.value, option.types )" > 4229 <option value="null" class="select_option-hidden">è«é¸æ${option.name}</option> 4230 <option v-for="(types) in option.types" :disabled="!types.isValid" :value="types.name">${types.name}</option> 4231 </select> 4232 <span class="select_placeholder-color" v-if="currentOption[`option${index + 1}`] === null" v-show="isMobileSize" @click="onClickSelectModal(option,`option${index + 1}`)">è«é¸æ${option.name}</span> 4233 <span v-else :value="currentOption[`option${index + 1}`]" v-show="isMobileSize" @click="onClickSelectModal(option,`option${index + 1}`)" v-html="currentOption[`option${index + 1}`]"></span> 4234 </div> 4235 <advance-variant-option 4236 v-else 4237 :option-key="'option' + (index + 1)" 4238 :option="option" 4239 :current-option="currentOption" 4240 /> 4241 </div> 4242 <div class="mobile-modal" :class="{ 'modal-open': isModalSelectShow && isMobileSize }"> 4243 <div class="mobile_modal-content"> 4244 4245 <div class="modal_close-button"> 4246 <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> 4247 </div> 4248 <p>è«é¸æ${modalOption.name}</p> 4249 <div class="modal_select-templete qk-display--flex qk-of_y--auto qk-w--100"> 4250 <div class="options-container"> 4251 <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> 4252 </div> 4253 </div> 4254 <div v-if="isCartEnabled && salesModePurchasable" class="modal_select_footer qk-display--flex qk-hidden--pc"> 4255 <div v-show="variantSize === 1" class="qk-display--flex qk-w--100"> 4256 <div class="product_variant_quantity"> 4257 <span class="product_quantity"> 4258 <div v-if="isModalSelectShow && isMobileSize" class="btn-group" role="group" aria-label="First group"> 4259 <button class="btn add-down qk-bd--product_border" type="button" @click="quantityChange(false)" ></button> 4260 <input class="btn item-quantity qk-text--heading qk-bd--product_border" type="text" name="quantity" value="1" data-old-value="1"> 4261 <button class="btn add-up qk-bd--product_border" type="button" @click="quantityChange(true)"></button> 4262 </div> 4263 </span> 4264 </div> 4265 <button 4266 class="btn addToCart_mobile btn_to_cart_mobile open_product_modal qk-btn qk-btn--secondary qk-flex--1 qk-fs--breadcrumb qk-text-truncate" 4267 data-handle="s5190-20230317094020"> 4268 å å ¥è³¼ç©è»</button> 4269 </div> 4270 <div v-show="variantSize > 1" class="qk-display--flex qk-w--100"> 4271 <button type="button" class="modal_cancel qk-w--50 qk-bd--default qk-btn--secondary qk-bd--button qk-text--button" @click="onChangeModalSelect(false,false)">åæ¶</button> 4272 <button type="button" class="qk-btn qk-w--50 qk-btn--primary qk-btn--lg qk-fs--body qk-bd--button qk-test--button_text" @click="onChangeModalSelect(false,true)">宿</button> 4273 </div> 4274 </div> 4275 </div> 4276 </div> 4277 </div> 4278</script>
4278 4279 4280<!-- cyb_snippet components/variant_options/color_image_option start -->
4281<script id="color-option" type="text/x-template"> 4282 <div class="option color_option"> 4283 <span class="title qk-text--heading">ååé¡è²:</span> 4284 <label 4285 v-for="(imageColor, index) in imageColors" 4286 :class="{ 4287 'image-option': true, 4288 'selected': selectedClass(index), 4289 'disabled': disabledClass(index), 4290 }" 4291 @mouseleave="setCurrentImageIndex(index)" 4292 @mouseover="getOptionImageIndex(index)" 4293 @click="setOption(optionKey, index)" 4294 class="qk-bd--default qk-bd--border" 4295 > 4296 <span class="img-flex qk-display--il_bk"> 4297 <img v-if="imageColor !== 'noColorImage'" :src="imageColor.large" alt="image"> 4298 <img v-else src="/assets/no-image-large.png" alt="image"> 4299 </span> 4300 </label> 4301 </div> 4302</script>
4302 4303
4304<script type="text/javascript"> 4305 $(document).ready(function () { 4306 themeHelper.variantOptionsBlock.component('color-option', { 4307 template: '#color-option', 4308 delimiters: ['${', '}'], 4309 props: { 4310 optionKey: String, 4311 option: Object, 4312 imageColors: Array, 4313 setCurrentImageIndex: Function, 4314 getOptionImageIndex: Function, 4315 currentOption: Object, 4316 }, 4317 methods: { 4318 setOption: function(optionKey, index) { 4319 var type = this.option.types[index]; 4320 if (type.isValid) { 4321 themeHelper.EventBus.$emit('toggleCurrentOption', optionKey, type.name); 4322 } 4323 }, 4324 selectedClass: function(index) { 4325 return this.currentOption[this.optionKey] === this.option.types[index].name; 4326 }, 4327 disabledClass: function(index) { 4328 return !this.option.types[index].isValid; 4329 }, 4330 }, 4331 }); 4332 }); 4333</script>
4333 4334 4335<!-- cyb_snippet components/variant_options/color_image_option end --> 4336<!-- cyb_snippet components/variant_options/advance_option start -->
4337<script id="advance-variant-option" type="text/x-template"> 4338 <div class="advance"> 4339 <div class="option_title qk-text--heading">${option.name}</div> 4340 <label 4341 v-for="type in option.types" 4342 :class="{ 4343 'selected': selectedClass(type), 4344 'disabled': disabledClass(type), 4345 }" 4346 @click="setOption(optionKey, type)" 4347 class="option qk-btn qk-btn--md qk-bd--button qk-text--button qk-text--center qk-pd_x--1" 4348 > 4349 <span class="text">${type.name}</span> 4350 </label> 4351 </div> 4352</script>
4352 4353
4354<script type="text/javascript"> 4355 $(document).ready(function() { 4356 themeHelper.variantOptionsBlock.component('advance-variant-option', { 4357 template: '#advance-variant-option', 4358 delimiters: ['${', '}'], 4359 props: { 4360 optionKey: String, 4361 option: Object, 4362 currentOption: Object, 4363 }, 4364 methods: { 4365 setOption: function(optionKey, type) { 4366 if(type.isValid){ 4367 themeHelper.EventBus.$emit('toggleCurrentOption', optionKey, type.name); 4368 } 4369 }, 4370 selectedClass: function(type) { 4371 return this.currentOption[this.optionKey] === type.name; 4372 }, 4373 disabledClass: function(type) { 4374 return !type.isValid; 4375 }, 4376 } 4377 }); 4378 }); 4379</script>
4379 4380 4381<!-- cyb_snippet components/variant_options/advance_option end --> 4382 4383 4384<!-- cyb_snippet _variant_options_block_js start -->
4385<script type="text/javascript"> 4386 $(document).ready(function() { 4387 themeHelper.variantOptionsBlock.component('variant-options-block', { 4388 template: '#variant-options-block', 4389 delimiters: ['${', '}'], 4390 props: { 4391 productApiUrl: String, 4392 sku: String, 4393 autoSelectVariantBySku: Boolean, 4394 hideOtherVariantsBySku: Boolean, 4395 hideSingleVariantOptions: Boolean, 4396 salesModePurchasable: Boolean, 4397 defaultPrice: String, 4398 defaultComparePrice: String, 4399 defaultDiscounted: Boolean, 4400 }, 4401 data: function() { 4402 return { 4403 styledShopMenu: "buttonType", 4404 currentImageIndex: 0, 4405 isModalSelectShow: false, 4406 selectOption: '', 4407 selectCurrentStr:'', 4408 modalOption: {}, 4409 currentOption: { 4410 option1: null, 4411 option2: null, 4412 option3: null, 4413 }, 4414 currentVariant: null, 4415 product: {}, 4416 isLoading: true, 4417 isImageColorsUsed: liquidHelper.isImageColorsUsed, 4418 isEmptyClickable: liquidHelper.isEmptyClickable, 4419 hasPriceWithDiscountPlugin: liquidHelper.hasPriceWithDiscountPlugin, 4420 isCartEnabled: liquidHelper.isCartEnabled, 4421 } 4422 }, 4423 mounted: function() { 4424 this.getProductDetail(); 4425 themeHelper.EventBus.$on('toggleCurrentOption',this.toggleCurrentOption); 4426 }, 4427 computed: { 4428 imageColors: function() { 4429 //è²ç¥¨ä¸å®æå° 4430 var self = this; 4431 var images = this.photoUrls.slice(0); 4432 var imageColorNum = this.colorOption.length; 4433 for(var i = imageColorNum; i < imageColorNum * 2; i++) { 4434 if(!images[i]) { 4435 images.push('noColorImage'); 4436 } 4437 } 4438 return images.slice(imageColorNum, imageColorNum * 2); 4439 }, 4440 photoUrls: function() { 4441 return this.product.photoUrls.length > 0 ? this.product.photoUrls : [this.featuredImage]; 4442 }, 4443 featuredImage: function() { 4444 return this.product.featuredImage; 4445 }, 4446 swiperPhotos: function() { 4447 if(this.isImageColor) { 4448 return this.photoUrls.slice(0, this.colorOption.length); 4449 } 4450 return this.photoUrls.length > 0 ? this.photoUrls : [this.featuredImage]; 4451 }, 4452 firstValidVariant: function() { 4453 var self = this; 4454 var result = this.product.variants.find(function(variant) { 4455 return variant.available; 4456 }); 4457 4458 return result ? result : null; 4459 }, 4460 shouldHideOtherVariants: function() { 4461 return this.hideOtherVariantsBySku && 4462 this.sku && 4463 this.currentVariant && 4464 this.currentVariant.sku === this.sku; 4465 }, 4466 shouldHideSingleVariantOptions: function() { 4467 return this.hideSingleVariantOptions && 4468 this.product.variants && 4469 this.product.variants.length <= 1; 4470 }, 4471 options: function() { 4472 return this.product.options; 4473 }, 4474 optionTypes: function() { 4475 // å æ ¹æè¨å®çvariantsä¾æåº 4476 var self = this; 4477 4478 var option1 = []; 4479 var option2 = []; 4480 var option3 = [];
4481 this.product.variants.forEach(function(item) { 4482 if (item.option1 !== null) option1.push(item.option1); 4483 if (item.option2 !== null) option2.push(item.option2); 4484 if (item.option3 !== null) option3.push(item.option3); 4485 }) 4486 4487 var filteredOptionTypes = []; 4488 this.product.optionTypes.forEach(function(item, index) { 4489 filteredOptionTypes.push(self.getUniqueVariant(eval('option' + (index + 1))).join(',')); 4490 }); 4491 4492 return filteredOptionTypes; 4493 }, 4494 optionInfo: function() { 4495 var self = this; 4496 4497 if (self.options) { 4498 return self.options.map(function(option, index) { 4499 return { 4500 name: option, 4501 types: self.getOptions('option' + (index + 1), self.optionTypes[index].split(',')) 4502 } 4503 }); 4504 } 4505 }, 4506 colorOptionIndex: function() { 4507 return this.options.findIndex(function(option) { 4508 return option === 'é¡è²'; 4509 }); 4510 }, 4511 colorOption: function() { 4512 var optionIndex = this.colorOptionIndex 4513 return optionIndex === -1 ? null : this.optionTypes[optionIndex].split(','); 4514 }, 4515 isImageColor: function() { 4516 return this.isImageColorsUsed && _.includes(this.product.options, 'é¡è²'); 4517 }, 4518 isMobileSize: function() { 4519 return window.innerWidth <= 580 4520 }, 4521 variantSize: function() { 4522 if(this.product.options){ 4523 return this.product.options.length; 4524 } 4525 }, 4526 isAutoSelectVariantBySku: function() { 4527 return this.sku && this.autoSelectVariantBySku; 4528 }, 4529 }, 4530 methods: { 4531 onClickSelectModal: function(objData, selectOptionStr) { 4532 this.isModalSelectShow = true; 4533 this.modalOption = objData; 4534 this.selectOption = selectOptionStr 4535 }, 4536 onChangeModalSelect: function(flag, isSelect) { 4537 if(!isSelect){ 4538 this.setOption(this.selectOption,this.selectCurrentStr,this.modalOption.types) 4539 } 4540 this.isModalSelectShow = flag; 4541 }, 4542 setOption: function(optionKey, type, dataArr) { 4543 let flag = true 4544 dataArr.forEach(item => { 4545 if (item.name === type) { 4546 flag = item.isValid 4547 } 4548 }) 4549 if (flag) { 4550 this.toggleCurrentOption(optionKey, type) 4551 } 4552 }, 4553 setChoose: function(currentVariant) { 4554 var currentVariantData = {}; 4555 if (currentVariant) { 4556 currentVariantData = { 4557 id: this.currentVariant.id, 4558 bonus: this.currentVariant.maxUsableBonus, 4559 name: this.currentVariant.title, 4560 inventoryPolicy: this.currentVariant.inventoryPolicy, 4561 compareAtPrice: this.currentVariant.compareAtPrice, 4562 imgUrl: this.currentVariant.imgUrl, 4563 inventoryQuantity: this.currentVariant.inventoryQuantity, 4564 option1: this.currentVariant.option1, 4565 option2: this.currentVariant.option2, 4566 option3: this.currentVariant.option3, 4567 price: this.currentVariant.price, 4568 productId: this.currentVariant.productId, 4569 sku: this.currentVariant.sku, 4570 qc: this.currentVariant.qc, 4571 hidePrice: this.product.hidePrice === true, 4572 }; 4573 } else { 4574 currentVariantData = { 4575 price: this.defaultPrice, 4576 compareAtPrice: this.defaultComparePrice, 4577 isDiscounted: this.defaultDiscounted, 4578 hidePrice: this.product.hidePrice === true, 4579 } 4580 } 4581 const isUpcomingProduct = this.isSellTimeAfterNow(this.product.sellFrom); 4582 this.$emit('set-choose', currentVariantData, isUpcomingProduct); 4583 }, 4584 onError: function() { 4585 window.msg("", 'error').show(); 4586 }, 4587 showRateLimitPopup: function() { 4588 showRateLimitModal(5); 4589 }, 4590 4591 // get product detail 4592 getProductDetail: function() { 4593 var self = this; 4594 $.ajax({ 4595 url: self.productApiUrl + '.json', 4596 type: 'GET', 4597 timeout: 30000, 4598 beforeSend: function() { 4599 self.isLoading = true; 4600 }, 4601 error: function(xhr){ 4602 if (xhr.status === 429) { 4603 self.isLoading = false;
4604 self.showRateLimitPopup(); 4605 } else { 4606 self.onError(); 4607 } 4608 } 4609 }).done(function(data){ 4610 if (!data.id) { 4611 self.onError(); 4612 return; 4613 } 4614 4615 var productData = [themeHelper.toCamelCase(data)]; 4616 self.product = themeHelper.priceWithDiscount(productData, self.hasPriceWithDiscountPlugin)[0]; 4617 4618 var shouldSkipAutoSelected = false; 4619 4620 if (self.isAutoSelectVariantBySku) { 4621 var skuVariant = self.product.variants.find(function(variant) { 4622 return variant.sku === self.sku; 4623 }); 4624 4625 if (skuVariant) { 4626 if (self.isEmptyClickable || 4627 skuVariant.inventoryPolicy === "continue" || 4628 skuVariant.inventoryQuantity > 0) { 4629 self.applyVariant(skuVariant, true); 4630 themeHelper.EventBus.$emit('skuReady'); 4631 self.isLoading = false; 4632 return; 4633 } else { 4634 // è¥ sku åå¨ä½ä¸å¯è³¼è²·ï¼åè·³é第ä¸å款å¼é¸æ 4635 shouldSkipAutoSelected = true; 4636 } 4637 } else { 4638 // è¥ sku ä¸åå¨ï¼åè·³é第ä¸å款å¼é¸æ 4639 shouldSkipAutoSelected = true; 4640 } 4641 themeHelper.EventBus.$emit('skuReady'); 4642 } 4643 4644 if ( 4645 !shouldSkipAutoSelected && ( 4646 self.product.variants.length === 1 || 4647 liquidHelper.isFirstVariantSelected 4648 )) { 4649 var variant = self.product.variants.length === 1 ? self.product.variants[0] : self.firstValidVariant; 4650 if (!variant) { 4651 self.isLoading = false; 4652 return; 4653 } 4654 4655 if ( 4656 !self.isEmptyClickable && 4657 variant.inventoryPolicy === "deny" && 4658 variant.inventoryQuantity === 0 4659 ) { 4660 self.isLoading = false; 4661 return; 4662 } 4663 4664 self.applyVariant(variant, false); 4665 if (self.isImageColorsUsed) { // è¥æé¡¯ç¤ºè²ç¥¨ä¸æé é¸ç¬¬ä¸å款å¼çæ´æåç 4666 var firstValidColorIndex = self.colorOption.findIndex(function(item) { 4667 return item === variant.option1 4668 }); 4669 self.$emit('get-option-image', self.photoUrls[firstValidColorIndex].grande); 4670 } 4671 } 4672 4673 self.isLoading = false; 4674 }) 4675 }, 4676 applyVariant: function(variant, waitPhotosReady) { 4677 var self = this; 4678 this.currentVariant = variant; 4679 this.setChoose(variant); 4680 this.setDefaultOption(); 4681 4682 if (waitPhotosReady) { 4683 themeHelper.EventBus.$on('skuPhotosReady', function () { 4684 if (variant.photos && variant.photos.length > 0) { 4685 self.setVariantPhotos(); 4686 } 4687 }); 4688 } else { 4689 this.setVariantPhotos(); 4690 } 4691 }, 4692 toggleCurrentOption: function(key, value) { 4693 if (this.product.variants.length === 1) { 4694 return; 4695 } 4696 4697 if (this.shouldHideOtherVariants) { 4698 return; 4699 } 4700 4701 this.currentOption[key] = 4702 (this.currentOption[key] === value || value === 'null') ? null : value; 4703 var variantIndex = this.getVariantIndex(); 4704 if(variantIndex !== -1) { 4705 this.currentVariant = this.product.variants[variantIndex]; 4706 } else { 4707 this.currentVariant = null; 4708 } 4709 this.setChoose(this.product.variants[variantIndex]); 4710 if (this.currentOption[key] !== null) { 4711 var optionIndex = parseInt(key.replace('option', '')) - 1; 4712 appStoreSelectItemEvent(this.product, this.product.options[optionIndex], this.currentOption[key], this.currentVariant); 4713 } 4714 if (Object.values(this.currentOption).every(v => v === null) || this.currentVariant) { 4715 this.setVariantPhotos(); 4716 } 4717 }, 4718 setCurrentImageIndex: function(index) {
4719 this.currentImageIndex = this.getSelectedColorIndex(); 4720 if (this.currentImageIndex > -1) { 4721 var currentImageIndex = this.currentImageIndex; 4722 } else { 4723 var currentImageIndex = 0; 4724 } 4725 4726 this.$emit('get-option-image', this.photoUrls[currentImageIndex].grande); 4727 }, 4728 getOptionImageIndex: function(index) { 4729 this.currentImageIndex = index; 4730 this.$emit('get-option-image', this.photoUrls[index].grande); 4731 }, 4732 setDefaultOption: function() { 4733 var self = this; 4734 Object.keys(self.currentOption).forEach(function(optionKey) { 4735 self.currentOption[optionKey] = self.currentVariant[optionKey]; 4736 }); 4737 }, 4738 getVariantIndex: function() { 4739 var self = this; 4740 return self.product.variants.findIndex(function(variant, index) { 4741 var isVariant = true; 4742 Object.keys(self.currentOption).forEach(function(option) { 4743 if(variant[option] !== self.currentOption[option]){ 4744 isVariant = false; 4745 } 4746 }); 4747 return isVariant; 4748 }); 4749 }, 4750 // 篩é¸éè¤åé 4751 getUniqueVariant: function(variants) { 4752 return variants.filter(function(value, index, self) { 4753 return self.indexOf(value) === index; 4754 }); 4755 }, 4756 // åå¾å·²é¸åçcolor index 4757 getSelectedColorIndex: function() { 4758 var self = this; 4759 var optionIndex = _.indexOf(self.options, 'é¡è²') + 1; 4760 var color = self.currentOption['option' + optionIndex]; 4761 4762 return _.indexOf(self.colorOption, color); 4763 }, 4764 getOptions: function(optionKey, optionTypes) { 4765 var self = this; 4766 4767 // éé sku é é¸ä¸æå°æç variantï¼ååªé¡¯ç¤ºè©² variant ç option 4768 if (this.shouldHideOtherVariants) { 4769 var currentOptionValue = this.currentVariant[optionKey]; 4770 var isValid = true; 4771 4772 if (!this.isEmptyClickable) { 4773 isValid = this.currentVariant.inventoryQuantity === null || 4774 this.currentVariant.inventoryQuantity > 0 || 4775 this.currentVariant.inventoryPolicy === 'continue'; 4776 } 4777 4778 return [{ 4779 name: currentOptionValue, 4780 isValid: isValid 4781 }]; 4782 } 4783 4784 return optionTypes.map(function(optionType, index) { 4785 var isValid = true; 4786 4787 // é¸åºå å«ç®åtypeçvariant 4788 var matchVariants = self.product.variants.filter(function(variant) { 4789 return variant[optionKey] === optionType; 4790 }); 4791 // 篩é¸å·²å¾é¸type 4792 Object.keys(self.currentOption).forEach(function(currentOptionKey) { 4793 if(currentOptionKey !== optionKey){ 4794 matchVariants = matchVariants.filter(function(variant) { 4795 if(self.currentOption[currentOptionKey]) { 4796 return variant[currentOptionKey] === self.currentOption[currentOptionKey] 4797 } else { 4798 return true; 4799 } 4800 }); 4801 } 4802 }); 4803 // ç¡variant代表æ¤typeä¸å¯é¸ 4804 if(matchVariants.length === 0) { 4805 isValid = false; 4806 } 4807 4808 if (!self.isEmptyClickable) { 4809 isValid = false; 4810 matchVariants.find(function(item) { 4811 if (item.inventoryQuantity === null || item.inventoryQuantity > 0 || item.inventoryPolicy === 'continue') { 4812 isValid = true; 4813 } 4814 }); 4815 } 4816 4817 return { 4818 name: optionType, 4819 isValid: isValid 4820 } 4821 }); 4822 }, 4823 getVariantPhotos: function() { 4824 if (!this.currentVariant) { 4825 return null; 4826 } 4827 4828 if (!this.currentVariant.photos || this.currentVariant.photos.length === 0) { 4829 return { 4830 withSpecificVariant: !!this.currentVariant.option1, 4831 photos: [], 4832 variant: { 4833 id: this.currentVariant.id, 4834 sku: this.currentVariant.sku 4835 }, 4836 }; 4837 } 4838 4839 var sortedPhotos = this.currentVariant.photos.sort(function(prev, next) { 4840 return prev.position - next.position; 4841 }); 4842 4843 return { 4844 withSpecificVariant: !!this.currentVariant.option1, 4845 photos: sortedPhotos, 4846 variant: { 4847 id: this.currentVariant.id, 4848 sku: this.currentVariant.sku 4849 }, 4850 }; 4851 }, 4852 setVariantPhotos: function() { 4853 themeHelper.EventBus.$emit('updatePhotos', this.getVariantPhotos()); 4854 },
4855 cartQuantityCheck({quantity, limitQuantity, cartLimit, inventoryPolicy}){ 4856 if(quantity < 1){ 4857 return 'less_then_1'; 4858 } 4859 if(quantity > limitQuantity && limitQuantity !== null && inventoryPolicy !== "continue") { 4860 return 'over_product_quantity'; 4861 } 4862 if(quantity > cartLimit){ 4863 return 'over_cart_limit'; 4864 } 4865 if(isNaN(quantity)){ 4866 return 'not_a_number'; 4867 } 4868 return ''; 4869 }, 4870 changeQuantity({elType, errType, quantity, addToCart, quantityInput, limitQuantity, cartLimit}){ 4871 if(errType === ''){ 4872 if(elType === 'btn'){ 4873 quantityInput.val(quantity); 4874 quantityInput.trigger('change'); 4875 } 4876 var old = quantityInput.data("old-value"); 4877 if(quantity === old){ 4878 quantityInput.data("old-value", quantity); 4879 } 4880 // for GA 4881 addToCart.data("quantity", quantity); 4882 } else { 4883 var old_value = quantityInput.data("old-value"); 4884 if(elType === 'input'){ 4885 switch(errType){ 4886 case 'less_then_1': 4887 quantityInput.val(1); 4888 break; 4889 case 'over_product_quantity': 4890 quantityInput.val(limitQuantity); 4891 break; 4892 case 'over_cart_limit': 4893 quantityInput.val(cartLimit); 4894 break; 4895 default: 4896 quantityInput.val(old_value); 4897 break; 4898 } 4899 } 4900 this.cartQuantityMessage(errType) 4901 } 4902 }, 4903 cartQuantityMessage(errType) { 4904 switch(errType){ 4905 case 'less_then_1': 4906 window.msg(language["less_then_one"], 'warning').show(); 4907 break; 4908 case 'over_product_quantity': 4909 window.msg(language["over_product_quantity"], 'warning').show(); 4910 break; 4911 case 'over_cart_limit': 4912 window.msg(language["over_cart_limit"], 'warning').show(); 4913 break; 4914 case 'not_a_number': 4915 window.msg(language["please_enter_number"], 'warning').show(); 4916 break; 4917 default: 4918 break; 4919 } 4920 }, 4921 quantityChange(isPluSquantity){ 4922 if (!this.findVariant()) { 4923 return; 4924 } 4925 let errType = ''; 4926 let el = $('#product'); 4927 let cartLimit = this.getCartQuantityLimit(el); 4928 let limitQuantity = selectedVariant.inventoryQuantity; 4929 let inventoryPolicy = selectedVariant.inventoryPolicy; 4930 let quantityInput = el.find(".product_quantity input"); 4931 let quantity = parseInt($(quantityInput).val()); 4932 let addToCart = el.find('.addToCart'); 4933 isPluSquantity ? quantity += 1: quantity -= 1 4934 errType = this.cartQuantityCheck({quantity, limitQuantity, cartLimit, inventoryPolicy}); 4935 this.changeQuantity({ elType: 'btn', errType, quantity, addToCart, quantityInput, limitQuantity, cartLimit}); 4936 }, 4937 findVariant() { 4938 if (typeof selectedVariant === 'undefined' || !$.isNumeric(selectedVariant.id)) { 4939 window.msg(language["please_choose_product"], 'info').show(); 4940 return false; 4941 } else { 4942 return true; 4943 } 4944 }, 4945 getCartQuantityLimit(el) { 4946 return el.data('cart_quantity_limit'); 4947 }, 4948 isSellTimeAfterNow(sellTime) { 4949 if (!sellTime) return false; 4950 const saleTime = new Date(sellTime); 4951 const now = new Date(); 4952 return saleTime > now; 4953 }, 4954 } 4955 }); 4956 }); 4957</script>
4957 4958 4959<!-- cyb_snippet _variant_options_block_js end --> 4960 4961<!-- cyb_snippet components/variant_options/variant_options_block end --> 4962<!-- cyb_snippet _custom_icon start -->
4963<script src='//cdn1-next.cybassets.com/frontend/shop/navIcon-3a2e378145f8a165.js' type='text/javascript'></script>
4963 4964
4965<script> 4966 (function() { 4967 const iconUrlMap = new Map([ 4968 ['custom_icon_type_home', null], 4969 ['custom_icon_type_tracking_items', null], 4970 ['custom_icon_type_account', null], 4971 ['custom_icon_type_cart', null], 4972 ['custom_icon_type_search', null], 4973 ['custom_icon_type_menu', null] 4974 ]); 4975 const elements = document.querySelectorAll('[data-icon-type]'); 4976 elements.forEach((element, index) => { 4977 const iconAttributes = element.getAttribute('data-icon-type'); 4978 4979 const uniqueId = `icon_${iconAttributes}_${index}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`; 4980 element.id = uniqueId; 4981 window.renderNavCustomIcon(`#${uniqueId}`, { 4982 navIconStyle: "icon_type_default", 4983 customIconUrl: iconUrlMap.get(iconAttributes) || '', 4984 iconAttributes: iconAttributes, 4985 currentTemplate: "product", 4986 }); 4987 }); 4988 })(); 4989</script>
4989 4990 4991<!-- cyb_snippet _custom_icon end --> 4992
4993<script> 4994 // è¨å®æ¬¾å¼è³è¨/顯示款å¼è³è¨ 4995 function getURLParameter(name) { 4996 return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search) || [null, ''])[1].replace(/\+/g, '%20')) || null; 4997 } 4998 // sku_properties:忬¾å¼ç option pairs(ç¶åèªç³»,å¾ç«¯ drop 已翻è¯),äºä»¶ç¨ variantId æ¥è¡¨ 4999 var variantProperties = { 5000 "45826133": [] 5001 }; 5002 function addToWishListEvent(id, data) { 5003 try { 5004 if (appMarketAddToWishListEvent && data) { 5005 var dataSet = { 5006 name: "æå S5190æ¶æåèè ¿è¸æ¥æ©", 5007 category: null, 5008 categories: ["ææ°§ / æ ¸å¿å¥èº«"], 5009 sku: data.sku, 5010 price: data.price, 5011 compare_at_price: data.compare_at_price, 5012 properties: variantProperties[id] || [], 5013 quantity: data.inventory_quantity, 5014 variant: data.variant, 5015 listName: "å®ç¢å細覽" || null, 5016 productId: 39906070, 5017 variantId: id, 5018 } 5019 appMarketAddToWishListEvent(dataSet) 5020 } 5021 } catch (e) { 5022 console.error(e); 5023 } 5024 } 5025 function removeFromWishListEvent(id, data) { 5026 try { 5027 if (appMarketRemoveFromWishListEvent && data) { 5028 var dataSet = { 5029 name: "æå S5190æ¶æåèè ¿è¸æ¥æ©", 5030 category: null, 5031 categories: ["ææ°§ / æ ¸å¿å¥èº«"], 5032 sku: data.sku, 5033 price: data.price, 5034 compare_at_price: data.compare_at_price, 5035 properties: variantProperties[id] || [], 5036 quantity: data.inventory_quantity, 5037 variant: data.variant, 5038 listName: "å®ç¢å細覽" || null, 5039 productId: 39906070, 5040 variantId: id, 5041 } 5042 appMarketRemoveFromWishListEvent(dataSet) 5043 } 5044 } catch (e) { 5045 console.error(e); 5046 } 5047 } 5048 function isSellTimeAfterNow(sellTime) { 5049 if (!sellTime) return false; 5050 const saleTime = new Date(sellTime); 5051 const now = new Date(); 5052 return saleTime > now; 5053 } 5054 $(document).ready(function() { 5055 var ProductInfoObject = new ProductInfo() 5056 ProductInfoObject.init({ 5057 additionalPrice: "å è³¼å¹", 5058 sellFrom: "" , 5059 productId:"39906070", 5060 productTitle: "æå S5190æ¶æåèè ¿è¸æ¥æ©", 5061 productPreOrder: "é è³¼åå", 5062 productExistingVariantsFirstId: '45826133', 5063 productNotificationEnabled: 'å·²ç»è¨è£è²¨éç¥', 5064 productNotifyMeWhenStockArrives: 'å·²å®å®ï¼è²¨å°éç¥æ', 5065 productOptionsSize: "0", 5066 productPleaseChooseProduct: "è«é¸æå忬¾å¼", 5067 generalInternetError: "網路é£ç·ç°å¸¸ï¼è«éæ°æ´ç", 5068 productVariantsInfo: "45826133,S5190,2880.0,20,3600.0,deny,2880.0,,æå S5190æ¶æåèè ¿è¸æ¥æ© - ,cyberbiz,1", 5069 productLimitBuy: null, 5070 purchaseEligibility: {"required":false,"eligible":true,"status":"eligible"}, 5071 salesModePurchasable: true, 5072 }); 5073 // å忬¾å¼ 5074 var isUpcomingProduct = isSellTimeAfterNow("") && null; 5075 // åå§åï¼å徿¶è²»è ææåé çéç¥è¨å® 5076 var variantNotifications = {}; 5077 5078 ProductInfoObject.initVariantNotifications(); 5079 5080 // åå§åï¼æª¢æ¥ææååç庫åï¼å¤æ·è³¼ç©è»æéå庫åé¡¯ç¤ºçæ 5081 ProductInfoObject.checkButtonStatus(isUpcomingProduct); 5082 // å å ¥è³¼ç©è» open product modal 5083 ProductInfoObject.initOpenProductModal(); 5084 // ç«å³è³¼è²· mobile product modal 5085 ProductInfoObject.initMobileProductModal() 5086 // è¯çµ¡åå®¶ 5087 ProductInfoObject.initContactTheMerchant() 5088 // 貨å°éç¥ 5089 ProductInfoObject.initGoodsArrivalNotification(); 5090 ProductInfoObject.checkInWishList(window.$('.product-variant-id').val()) 5091 5092 ProductInfoObject.setUpDiscountsTag(); 5093 5094 5095 }) 5096 5097 const userAgent = navigator.userAgent; 5098 const isIOS = /iPad|iPhone|iPod/.test(userAgent) && !window.MSStream; 5099 const isLiff = /Line\/[\d.]+/i.test(userAgent); 5100 const $productButtonMobile = $('.product_button_mobile'); 5101 5102 if ($productButtonMobile.length && isIOS && isLiff) { 5103 $productButtonMobile.addClass('is-ios-liff'); 5104 } 5105</script>
5105 5106 5107 5108<div id="product_description" class="product_description"> 5109 <div class="desc_sections"> 5110 <ul class="qk-bg--theme_bg qk-display--flex qk-mg--0 qk-pd--0 qk-bd--default qk-bd--product_border qk-bd_r--none"> 5111 <!-- ååä»ç´¹ --> 5112 5113 <li class="qk-flex--1"> 5114 <a href="#desc_section_1" class="scroll active qk-text--text qk-fs--title qk-display--il_bk qk-text--center qk-w--100 qk-vert--bottom"> 5115 ååä»ç´¹ 5116 </a> 5117 </li> 5118 5119 <!-- è¦æ ¼èªªæ --> 5120 5121 <li class="qk-flex--1 qk-bd--product_border"> 5122 <a href="#desc_section_2" class="scroll qk-text--text qk-fs--title qk-display--il_bk qk-text--center qk-w--100 qk-vert--bottom"> 5123 <div>è¦æ ¼èªªæ</div> 5124 </a> 5125 </li> 5126 5127 <!-- ééæ¹å¼ --> 5128 5129 <li class="qk-flex--1 qk-bd--product_border"> 5130 <a href="#desc_section_3" class="scroll qk-text--text qk-fs--title qk-display--il_bk qk-text--center qk-w--100 qk-vert--bottom"> 5131 <div>ééæ¹å¼</div> 5132 </a> 5133 </li> 5134 5135 <!-- ç¥¨å¸æ³¨æäºé --> 5136 5137 <!-- å å ¥è³¼ç©è»modal --> 5138 5139 <li class="add-to-cart-container qk-flex--1 qk-bd--product_border"> 5140 <a 5141 href="#" 5142 id="add_to_cart" 5143 class="open_product_modal qk-btn qk-btn--primary qk-btn--lg qk-pos--abs qk-r--0 qk-display--il_bk qk-text--center qk-w--100" 5144 data-id="39906070" 5145 data-handle="s5190-20230317094020"> 5146 <div>å å ¥è³¼ç©è»</div> 5147 </a> 5148 <button class="btn btn_not_sale hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-fs--title qk-pos--abs qk-r--0" type="button"> 5149 å°æªéè³£ 5150 </button> 5151 <button class="btn btn_login_to_view hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-fs--title qk-pos--abs qk-r--0" type="button"> 5152 ç»å ¥æ¥çè³æ ¼ 5153 </button> 5154 <button class="btn btn_not_eligible hidden qk-btn qk-btn--soldout qk-btn--lg qk-pd--0 qk-fs--title qk-pos--abs qk-r--0" type="button"> 5155 è³¼è²·è³æ ¼ä¸ç¬¦ 5156 </button> 5157 5158 <a 5159 href="#" 5160 id="notice_to_buy" 5161 class="btn_notice qk-btn qk-btn--primary qk-btn--lg qk-pos--abs qk-r--0 qk-display--il_bk qk-text--center qk-w--100"> 5162 <div>å·²å®å®ï¼è²¨å°éç¥æ</div> 5163 </a> 5164 5165 </li> 5166 5167 </ul> 5168 </div> 5169 <div class="desc_body"> 5170 <div id="ckeditor"> 5171 5172 <div id="desc_section_1" class="desc_section qk-pd_t--2"> 5173 <h5 class="section-heading qk-text--heading qk-fs--hd2 qk-bd_l--default qk-bd--heading qk-pd_l--05">ååä»ç´¹</h5> 5174 <div class="ckeditor qk-mg_t--1"><p style="text-align: center;"><iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/xmxvm_pn_bY" width="640"></iframe></p> 5175 5176<p> </p> 5177 5178<p style="text-align:center"><img alt="" src="//cdn1-next.cybassets.com/s/files/22086/ckeditor/pictures/content_839ef198-b05a-40d8-9557-094b8393b31f.jpg"></p> 5179 5180<p style="text-align:center"><img alt="" src="//cdn1-next.cybassets.com/s/files/22086/ckeditor/pictures/content_d1d42e43-2825-48e0-9c4a-8fb152cf6e5a.jpg"></p> 5181 5182<p style="text-align:center"><img alt="" src="//cdn1-next.cybassets.com/s/files/22086/ckeditor/pictures/content_30908f46-4483-4b96-ae76-b8036338176e.jpg"></p> 5183 5184<p style="text-align:center"><img alt="" src="//cdn1-next.cybassets.com/s/files/22086/ckeditor/pictures/content_369f3c86-8de2-4dc6-b11c-5bc52e2d7e28.jpg"></p> 5185 5186<p style="text-align:center"><img alt="" src="//cdn1-next.cybassets.com/s/files/22086/ckeditor/pictures/content_a897e7ad-6edf-425d-a193-2c0a7ea97beb.jpg"></p> 5187 5188<p><iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/ki0I9fE8Spw" width="640"></iframe></p> 5189</div> 5190 </div> 5191 5192 5193 <div id="desc_section_2" class="desc_section qk-pd_t--2"> 5194 <h5 class="section-heading qk-text--heading qk-fs--hd2 qk-bd_l--default qk-bd--heading qk-pd_l--05">è¦æ ¼èªªæ</h5> 5195 <div class="ckeditor qk-mg_t--1"><p> </p> 5196 5197<div class="embed-responsive embed-responsive-16by9"> </div> 5198 5199<p>
5199 </p> 5200</div> 5201 </div> 5202 5203 5204 <div id="desc_section_3" class="desc_section qk-pd_t--2"> 5205 <h5 class="section-heading qk-text--heading qk-fs--hd2 qk-bd_l--default qk-bd--heading qk-pd_l--05">ééæ¹å¼</h5> 5206 <div class="ckeditor qk-mg_t--1"><p>ã7-11 / å ¨å®¶éå¸å貨ã<br> 5207ç¶æ¨å¨ç¶²ç«è³¼è²·ååæï¼å¯å©ç¨7-11æå ¨å®¶éå¸å貨çæåï¼å°è¨è³¼çååéè³æ¨ææå®çéå¸ï¼å¾ ååéééå¸å¾æä»¥é»åéµä»¶åç°¡è¨éç¥æ¨ï¼è«æ¼æå®æéå §å®æåè²¨ä»æ¬¾ã</p> 5208 5209<p>â»<strong>è¶ éæç©éå¶éè«å® é æ¹å¼é éã</strong></p> 5210 5211<p>ãæ°ç«¹è²¨éã<br> 5212éå°ç£æ¬å³¶ã<br> 5213ç¶æ¨å¨ç¶²ç«ä¸å®æè¨å®è³¼è²·ç¨åºä¸¦å®æä»æ¬¾ï¼æ¬å ¬å¸å¨ç¢ºèªè¨å®å¾ï¼æç¡å¿«å°ååééæå®é éå®é»ï¼å®å ¨åæ¹ä¾¿ã<br> 5214<strong>â»è«åå¿ çä¸å¯é£çµ¡ä¹éè¨é»è©±ï¼ä»¥å©è²¨éå ¬å¸é£ç¹«ã</strong></p> 5215</div> 5216 </div> 5217 5218 5219 </div> 5220 </div> 5221 <div id="product-recommendation"></div> 5222</div> 5223
5224<script> 5225 $(document).ready(function() { 5226 // åå說æä»ç´¹æ¨ç±¤ 5227 $(".desc_sections li").on('click', function() { 5228 $(this).children().addClass('active'); 5229 $(this).siblings().children().removeClass('active'); 5230 }); 5231 5232 // æ»åè¨ç½® 5233 var prevScrollPos = window.pageYOffset; 5234 var prevScrollInformationPos = window.pageYOffset; 5235 $(window).on('scroll load resize', function(e) { 5236 var headerHeight = $("#header").height() 5237 var desc_sections = $(".desc_sections"); 5238 var desc_section_list = $(".desc_section"); 5239 var descSectionHeight = $(".desc_sections").height() 5240 var descSectionTop = $(".desc_sections").offset().top - headerHeight 5241 var product_window = $(this); 5242 var currentScrollPos = window.pageYOffset; 5243 5244 // æ»ååºå®ç¢å說æ 5245 if (product_window.scrollTop() > descSectionTop) { 5246 desc_sections.find("ul").css({"top": 0}); 5247 if (currentScrollPos > prevScrollPos && product_window.scrollTop() > descSectionTop + headerHeight) { 5248 desc_sections 5249 .stop() 5250 .addClass("desc_sections_hold") 5251 .css({"min-height": descSectionHeight}) 5252 .find("ul") 5253 .css({"top": 0}); 5254 } else if (prevScrollPos > currentScrollPos) { 5255 desc_sections 5256 .stop() 5257 .addClass("desc_sections_hold") 5258 .css({"min-height": descSectionHeight}) 5259 .find("ul") 5260 .css({"top": headerHeight}); 5261 } else { 5262 prevScrollPos = 0; 5263 } prevScrollPos = currentScrollPos; 5264 if ($(window).width() < 768) { 5265 $("body").css("padding-bottom", "68px"); 5266 } 5267 } else { 5268 prevScrollPos = 0; 5269 desc_sections.stop().removeClass("desc_sections_hold") 5270 if ($(window).width() < 768) { 5271 $("body").css("padding-bottom", "68px"); 5272 } 5273 } 5274 5275 // é»é¸ç¢åèªªææ»å 5276 $(".desc_sections a.scroll").bind("click", function(event) { 5277 var targetScrollTop = parseInt($($(this).attr("href")).offset().top - descSectionHeight + 1); 5278 if (targetScrollTop > window.scrollY + 1) { 5279 $("html, body").stop().animate({ 5280 scrollTop: targetScrollTop 5281 }, 300); 5282 } else { 5283 $("html, body").stop().animate({ 5284 scrollTop: targetScrollTop - headerHeight 5285 }, 300); 5286 } 5287 }); 5288 5289 // 顯示ç¶åç¢å說æ 5290 if (currentScrollPos > prevScrollInformationPos) { 5291 $.each(desc_section_list, function(index, desc_section) { 5292 var desc_sectionTop = $(desc_section).offset().top - descSectionHeight - 1 5293 var desc_sectionHeight = $(desc_section).height() 5294 var current_desc_section = $("a.scroll[href$='" + $(desc_section).attr("id") + "']"); 5295 if (product_window.scrollTop() > desc_sectionTop || index === 0) { 5296 current_desc_section 5297 .stop() 5298 .addClass('active') 5299 .parent() 5300 .siblings() 5301 .find("a") 5302 .removeClass('active'); 5303 } else { 5304 current_desc_section.removeClass('active'); 5305 } prevScrollInformationPos = currentScrollPos; 5306 }); 5307 } else { 5308 $.each(desc_section_list, function(index, desc_section) { 5309 var desc_sectionTop = $(desc_section).offset().top - descSectionHeight - 1 5310 var desc_sectionHeight = $(desc_section).height() 5311 var current_desc_section = $("a.scroll[href$='" + $(desc_section).attr("id") + "']"); 5312 if (product_window.scrollTop() + headerHeight > desc_sectionTop) { 5313 current_desc_section 5314 .stop() 5315 .addClass('active') 5316 .parent() 5317 .siblings() 5318 .find("a") 5319 .removeClass('active'); 5320 } else { 5321 current_desc_section.removeClass('active'); 5322 } 5323 }); 5324 prevScrollInformationPos = currentScrollPos; 5325 } 5326 }); 5327 }) 5328</script>
5328 5329 5330 5331 5332 5333 5334<div id="related-products" class="qk-pos--rel"> 5335 5336 5337 5338 5339 5340 5341 <h5 class="section-heading qk-text--heading qk-fs--hd2 qk-bd_l--default qk-bd--heading qk-pd_l--05">ç¸éåå</h5> 5342 5343 <!-- cyb_snippet swiper_product start --> 5344<div id="swiper_products" class="qk-pos--rel"> 5345 <div class="swiper swiper-container swiper_products GTM-area"> 5346 <div class="swiper-wrapper"> 5347 5348 5349 5350 5351 5352 5353 <div class="swiper-slide product qk-text--center" data-sold-out="false" data-sales-mode-purchasable="true"> 5354 5355 <div class="product_image three_to_four_scale"> 5356 <div class="product_mask"></div> 5357 <a class="productClick img-flex GTM-info qk-h--100 qk-display--flex qk-justify--center qk-align--center" 5358 href="/products/s4766" 5359 data-brand="" 5360 data-category="" 5361 data-collection_id="" 5362 data-id="37859368" 5363 data-variant-id="43091011" 5364 data-list="ç¸éåå" 5365 data-name="æå S4766ä»°è¥èµ·åè¼å©å¨(ç¹å¹åºæ¸ )" 5366 data-position="1" 5367 data-price="169.0"> 5368 <img data-src="//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L3Byb2R1Y3RzLzM3ODU5MzY4LzE2NjEzMTMwMjVfMjY3YTQyZjcxMTNmZWJlOTA1YjIuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=ed51e76943c3b85f" 5369 alt="æå S4766ä»°è¥èµ·åè¼å©å¨(ç¹å¹åºæ¸ )" class="swiper-lazy feature-image" /> 5370 5371 5372 5373 <div class="swiper-lazy-preloader-white"></div> 5374 </a> 5375 </div> 5376 5377 <div class="product_title qk-of--hidden"> 5378 <a class="qk-text--heading" 5379 href="/products/s4766"> 5380 æå S4766ä»°è¥èµ·åè¼å©å¨(ç¹å¹åºæ¸ ) 5381 </a> 5382 </div> 5383 5384 5385 5386 5387 <div class="product_price qk-text--price qk-fs--title"><span class="money_tag" data-currency-from="TWD" data-amount="169.0">NT$169</span></div> 5388 5389 5390 <div class="product_btn qk-text--center"> 5391 5392 <button 5393 type="button" 5394 class="btn btn-cart qk-btn qk-btn--primary qk-btn--lg" 5395 data-handle="s4766" 5396 data-collection="" 5397 data-brand="" 5398 data-category="" 5399 data-collection_id="" 5400 data-id="37859368" 5401 data-list="ç¸éåå" 5402 data-name="æå S4766ä»°è¥èµ·åè¼å©å¨(ç¹å¹åºæ¸ )" 5403 data-photo="//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L3Byb2R1Y3RzLzM3ODU5MzY4LzE2NjEzMTMwMjVfMjY3YTQyZjcxMTNmZWJlOTA1YjIuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=ed51e76943c3b85f" 5404 data-price="169.0" 5405 data-position="1" 5406 data-spread-size="43091011,S4766,169.0,199,400.0,deny,320.0,,æå S4766ä»°è¥èµ·åè¼å©å¨(ç¹å¹åºæ¸ ) - ,cyberbiz,1" 5407 5408 data-sku="S4766" 5409 5410 5411 > 5412 <span class="text">å å ¥è³¼ç©è»</span> 5413 </button> 5414 5415 <button type="button" class="btn btn_not_sale hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled> 5416 <span class="text">å°æªéè³£</span> 5417 </button> 5418 <button type="button" class="btn btn_login_to_view hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled> 5419 <span class="text">ç»å ¥æ¥ç</span> 5420 </button> 5421 <button type="button" class="btn btn_not_eligible hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled> 5422 <span class="text">è³æ ¼ä¸ç¬¦</span> 5423 </button> 5424 </div> 5425 5426 </div> 5427 5428 5429 5430 5431 5432 <div class="swiper-slide product qk-text--center" data-sold-out="false" data-sales-mode-purchasable="true"> 5433 5434 <div class="product_image three_to_four_scale"> 5435 <div class="product_mask"></div> 5436 <a class="productClick img-flex GTM-info qk-h--100 qk-display--flex qk-justify--center qk-align--center" 5437 href="/products/s5237" 5438 data-brand="" 5439 data-category="" 5440 data-collection_id="" 5441 data-id="37866986" 5442 data-variant-id="43101680" 5443 data-list="ç¸éåå" 5444 data-name="æå S5237æ ¸å¿è¨ç·´æ»æ¥å¢(ç¹å¹åºæ¸ )" 5445 data-position="2" 5446 data-price="439.0"> 5447 <img data-src="//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L3Byb2R1Y3RzLzM3ODY2OTg2LzE2NjEzOTQwODVfYmZiZTFlZjdjMmNjODMxNzE4MzguanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=39ac6290a79a7a97" 5448 alt="æå S5237æ ¸å¿è¨ç·´æ»æ¥å¢(ç¹å¹åºæ¸ )" class="swiper-lazy feature-image" /> 5449 5450 5451 5452 <div class="swiper-lazy-preloader-white"></div> 5453 </a> 5454 </div> 5455 5456 <div class="product_title qk-of--hidden"> 5457 <a class="qk-text--heading" 5458 href="/products/s5237"> 5459 æå S5237æ ¸å¿è¨ç·´æ»æ¥å¢(ç¹å¹åºæ¸ ) 5460 </a> 5461 </div> 5462 5463 5464 5465 5466 <div class="product_price qk-text--price qk-fs--title"><span class="money_tag" data-currency-from="TWD" data-amount="439.0">NT$439</span></div> 5467 5468
5469 <div class="product_btn qk-text--center"> 5470 5471 <button 5472 type="button" 5473 class="btn btn-cart qk-btn qk-btn--primary qk-btn--lg" 5474 data-handle="s5237" 5475 data-collection="" 5476 data-brand="" 5477 data-category="" 5478 data-collection_id="" 5479 data-id="37866986" 5480 data-list="ç¸éåå" 5481 data-name="æå S5237æ ¸å¿è¨ç·´æ»æ¥å¢(ç¹å¹åºæ¸ )" 5482 data-photo="//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L3Byb2R1Y3RzLzM3ODY2OTg2LzE2NjEzOTQwODVfYmZiZTFlZjdjMmNjODMxNzE4MzguanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=39ac6290a79a7a97" 5483 data-price="439.0" 5484 data-position="2" 5485 data-spread-size="43101680,S5237,439.0,36,1200.0,deny,960.0,,æå S5237æ ¸å¿è¨ç·´æ»æ¥å¢(ç¹å¹åºæ¸ ) - ,cyberbiz,1" 5486 5487 data-sku="S5237" 5488 5489 5490 > 5491 <span class="text">å å ¥è³¼ç©è»</span> 5492 </button> 5493 5494 <button type="button" class="btn btn_not_sale hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled> 5495 <span class="text">å°æªéè³£</span> 5496 </button> 5497 <button type="button" class="btn btn_login_to_view hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled> 5498 <span class="text">ç»å ¥æ¥ç</span> 5499 </button> 5500 <button type="button" class="btn btn_not_eligible hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled> 5501 <span class="text">è³æ ¼ä¸ç¬¦</span> 5502 </button> 5503 </div> 5504 5505 </div> 5506 5507 5508 5509 5510 5511 <div class="swiper-slide product qk-text--center" data-sold-out="false" data-sales-mode-purchasable="true"> 5512 5513 <div class="product_image three_to_four_scale"> 5514 <div class="product_mask"></div> 5515 <a class="productClick img-flex GTM-info qk-h--100 qk-display--flex qk-justify--center qk-align--center" 5516 href="/products/s5189" 5517 data-brand="" 5518 data-category="" 5519 data-collection_id="" 5520 data-id="59232921" 5521 data-variant-id="71938378" 5522 data-list="ç¸éåå" 5523 data-name="< æ°ä¸å¸ > æå S5189å´æ»ç¾è ¿æ ¸å¿è¨ç·´æ©(6代)" 5524 data-position="3" 5525 data-price="1100.0"> 5526 <img data-src="//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L3Byb2R1Y3RzLzU5MjMyOTIxLzE3ODE1MTIzNzhfN2UwMGFlNmNhMGM0OWMyMGEzMTguanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=e6dbfac95e4e1595" 5527 alt="< æ°ä¸å¸ > æå S5189å´æ»ç¾è ¿æ ¸å¿è¨ç·´æ©(6代)" class="swiper-lazy feature-image" /> 5528 5529 5530 5531 <div class="swiper-lazy-preloader-white"></div> 5532 </a> 5533 </div> 5534 5535 <div class="product_title qk-of--hidden"> 5536 <a class="qk-text--heading" 5537 href="/products/s5189"> 5538 < æ°ä¸å¸ > æå S5189å´æ»ç¾è ¿æ ¸å¿è¨ç·´æ©(6代) 5539 </a> 5540 </div> 5541 5542 5543 5544 5545 <div class="product_price qk-text--price qk-fs--title"><span class="money_tag" data-currency-from="TWD" data-amount="1100.0">NT$1,100</span></div> 5546 5547 5548 <div class="product_btn qk-text--center"> 5549 5550 <button 5551 type="button" 5552 class="btn btn-cart qk-btn qk-btn--primary qk-btn--lg" 5553 data-handle="s5189" 5554 data-collection="" 5555 data-brand="" 5556 data-category="" 5557 data-collection_id="" 5558 data-id="59232921" 5559 data-list="ç¸éåå" 5560 data-name="< æ°ä¸å¸ > æå S5189å´æ»ç¾è ¿æ ¸å¿è¨ç·´æ©(6代)" 5561 data-photo="//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L3Byb2R1Y3RzLzU5MjMyOTIxLzE3ODE1MTIzNzhfN2UwMGFlNmNhMGM0OWMyMGEzMTguanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=e6dbfac95e4e1595" 5562 data-price="1100.0" 5563 data-position="3" 5564 data-spread-size="71938378,S5189,1100.0,28,1380.0,deny,1100.0,,< æ°ä¸å¸ > æå S5189å´æ»ç¾è ¿æ ¸å¿è¨ç·´æ©(6代) - ,cyberbiz,1" 5565 5566 data-sku="S5189" 5567 5568 5569 >
5570 <span class="text">å å ¥è³¼ç©è»</span> 5571 </button> 5572 5573 <button type="button" class="btn btn_not_sale hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled> 5574 <span class="text">å°æªéè³£</span> 5575 </button> 5576 <button type="button" class="btn btn_login_to_view hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled> 5577 <span class="text">ç»å ¥æ¥ç</span> 5578 </button> 5579 <button type="button" class="btn btn_not_eligible hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled> 5580 <span class="text">è³æ ¼ä¸ç¬¦</span> 5581 </button> 5582 </div> 5583 5584 </div> 5585 5586 5587 5588 5589 5590 <div class="swiper-slide product qk-text--center" data-sold-out="false" data-sales-mode-purchasable="true"> 5591 5592 <div class="product_image three_to_four_scale"> 5593 <div class="product_mask"></div> 5594 <a class="productClick img-flex GTM-info qk-h--100 qk-display--flex qk-justify--center qk-align--center" 5595 href="/products/s5258" 5596 data-brand="" 5597 data-category="" 5598 data-collection_id="" 5599 data-id="68786939" 5600 data-variant-id="83730721" 5601 data-list="ç¸éåå" 5602 data-name="<æ°ä¸å¸> æå S5258æ ¸å¿è¨ç·´æ»æ¥ç¤(éæ¶ç´è¢)" 5603 data-position="4" 5604 data-price="240.0"> 5605 <img data-src="//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L3Byb2R1Y3RzLzY4Nzg2OTM5LzE3ODE1MDMyMjVfMmFlMmU5OGIyYjJkNDg2NTQxYjkuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=94db3a909c3d086e" 5606 alt="<æ°ä¸å¸> æå S5258æ ¸å¿è¨ç·´æ»æ¥ç¤(éæ¶ç´è¢)" class="swiper-lazy feature-image" /> 5607 5608 5609 5610 <div class="swiper-lazy-preloader-white"></div> 5611 </a> 5612 </div> 5613 5614 <div class="product_title qk-of--hidden"> 5615 <a class="qk-text--heading" 5616 href="/products/s5258"> 5617 <æ°ä¸å¸> æå S5258æ ¸å¿è¨ç·´æ»æ¥ç¤(éæ¶ç´è¢) 5618 </a> 5619 </div> 5620 5621 5622 5623 5624 <div class="product_price qk-text--price qk-fs--title"><span class="money_tag" data-currency-from="TWD" data-amount="240.0">NT$240</span></div> 5625 5626 5627 <div class="product_btn qk-text--center"> 5628 5629 <button 5630 type="button" 5631 class="btn btn-cart qk-btn qk-btn--primary qk-btn--lg" 5632 data-handle="s5258" 5633 data-collection="" 5634 data-brand="" 5635 data-category="" 5636 data-collection_id="" 5637 data-id="68786939" 5638 data-list="ç¸éåå" 5639 data-name="<æ°ä¸å¸> æå S5258æ ¸å¿è¨ç·´æ»æ¥ç¤(éæ¶ç´è¢)" 5640 data-photo="//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L3Byb2R1Y3RzLzY4Nzg2OTM5LzE3ODE1MDMyMjVfMmFlMmU5OGIyYjJkNDg2NTQxYjkuanBlZyJdLFsicCIsInRodW1iIiwiNjAweDYwMCJdXQ.jpeg?sha=94db3a909c3d086e" 5641 data-price="240.0" 5642 data-position="4" 5643 data-spread-size="83730721,S5258,240.0,30,300.0,deny,240.0,,<æ°ä¸å¸> æå S5258æ ¸å¿è¨ç·´æ»æ¥ç¤(éæ¶ç´è¢) - ,cyberbiz,1" 5644 5645 data-sku="S5258" 5646 5647 5648 > 5649 <span class="text">å å ¥è³¼ç©è»</span> 5650 </button> 5651 5652 <button type="button" class="btn btn_not_sale hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled> 5653 <span class="text">å°æªéè³£</span> 5654 </button> 5655 <button type="button" class="btn btn_login_to_view hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled>
5656 <span class="text">ç»å ¥æ¥ç</span> 5657 </button> 5658 <button type="button" class="btn btn_not_eligible hidden qk-btn qk-btn--lg qk-btn--soldout qk-bg--background qk-mg_x--auto" disabled> 5659 <span class="text">è³æ ¼ä¸ç¬¦</span> 5660 </button> 5661 </div> 5662 5663 </div> 5664 5665 </div> 5666 </div> 5667 <div class="swiper-products-next qk-swiper_btn qk-swiper_btn--lg qk-swiper_btn--v1 qk-swiper_btn--next"></div> 5668 <div class="swiper-products-prev qk-swiper_btn qk-swiper_btn--lg qk-swiper_btn--v1 qk-swiper_btn--prev"></div> 5669</div> 5670 5671<link href='//cdn1-next.cybassets.com/frontend/shop/beta_theme/css/swiper_product-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' /> 5672 5673 5674<!-- cyb_snippet _combo_product_related_items_modal start --><!-- cyb_snippet _combo_product_related_items_modal end --> 5675
5676<script> 5677 $(document).ready(function(){ 5678 var slideCount = $(".swiper_products .swiper-slide").length 5679 if (slideCount >= 4){ 5680 var autoLoop = true 5681 }else{ 5682 var autoLoop = false 5683 } 5684 var SwiperProducts = new Swiper('.swiper_products', { 5685 // Disable preloading of all images 5686 preloadImages: false, 5687 // Enable lazy loading 5688 lazy: { 5689 loadPrevNext: true, 5690 }, 5691 loop: autoLoop, 5692 slidesPerView: 1, 5693 spaceBetween: 30, 5694 navigation: { 5695 nextEl: '.swiper-products-next', 5696 prevEl: '.swiper-products-prev', 5697 }, 5698 breakpoints: { 5699 '@0.75': { 5700 slidesPerView: 2, 5701 spaceBetween: 20, 5702 }, 5703 '@1.00': { 5704 slidesPerView: 3, 5705 spaceBetween: 40, 5706 }, 5707 '@1.50': { 5708 slidesPerView: 4, 5709 spaceBetween: 50, 5710 }, 5711 } 5712 }); 5713 5714 $('#swiper_products .productClick').click(function() { 5715 try { 5716 if (window.appStoreClickItemEvent) { 5717 var $el = $(this); 5718 window.appStoreClickItemEvent({ 5719 product_id: String($el.data('id')), 5720 variant_id: String($el.data('variant-id')), 5721 name: $el.data('name'), 5722 price: Number($el.data('price')), 5723 currency: getCurrency(), 5724 category: $el.data('category'), 5725 list_name: 'product', 5726 list_position: Number($el.data('position')), 5727 }); 5728 } 5729 } catch (e) { 5730 console.error(e); 5731 } 5732 }); 5733 5734 5735 // new pop modal 5736 $('#swiper_products .btn-cart').click(function() { 5737 var comboProductInfo = $(this).data('comboProductInfo'); 5738 if (comboProductInfo) { 5739 window.themeHelper.EventBus.$emit('showRelatedItemsSelectModal', comboProductInfo); 5740 } else { 5741 var productHandle = '/products/' + $(this).data('handle'); 5742 var collectionId = $(this).data('collection'); 5743 new_addcart_modal.popModal(productHandle, collectionId); 5744 } 5745 }); 5746 5747 5748 const isUpcomingProductsEnabled = null; 5749 // çæ åæåªèçå¯è³¼è²·çå¡ç 5750 $('#swiper_products .product').not('[data-sales-mode-purchasable="false"]').each(function(index) { 5751 const soldOut = $(this).data('sold-out'); 5752 const $upcomingText = $(this).find('.upcoming-product-text'); 5753 const sellTime = $upcomingText.data('sell-from'); 5754 const purchaseRequired = $upcomingText.data('purchase-required'); 5755 const purchaseEligible = $upcomingText.data('purchase-eligible'); 5756 const purchaseStatus = $upcomingText.data('purchase-status'); 5757 5758 const isUpcoming = isUpcomingProductsEnabled && sellTime && new Date(sellTime) > new Date(); 5759 5760 const formattedDate = sellTime ? new Date(sellTime).toLocaleString('zh-TW', { 5761 year: 'numeric', 5762 month: '2-digit', 5763 day: '2-digit', 5764 hour: '2-digit', 5765 minute: '2-digit', 5766 hour12: false 5767 }).replace(/\//g, '-').replace(',', '') : ''; 5768 5769 let labelText = ''; 5770 let buttonClass = ''; 5771 5772 if (purchaseRequired && !isUpcoming) { 5773 labelText = 'é¨åæå¡éå®'; 5774 5775 if (!purchaseEligible) { 5776 if (!soldOut) { 5777 if (purchaseStatus === 'not_logged_in') { 5778 buttonClass = '.btn_login_to_view'; 5779 } else if (purchaseStatus === 'non_eligible') { 5780 buttonClass = '.btn_not_eligible'; 5781 } 5782 } else { 5783 buttonClass = '.btn-soldout'; 5784 } 5785 } 5786 } 5787 else if (!purchaseRequired && isUpcoming) { 5788 labelText = ' éè³£'.replace('', formattedDate); 5789 buttonClass = '.btn_not_sale'; 5790 } 5791 else if (purchaseRequired && isUpcoming) { 5792 const isMobile = window.innerWidth <= 580; 5793 const separator = isMobile ? '\n' : ' '; 5794 labelText = '[é¨åæå¡éå®]' + separator + ' éè³£'.replace('', formattedDate); 5795 buttonClass = '.btn_not_sale'; 5796 } else if (soldOut) { 5797 buttonClass = '.btn-soldout'; 5798 } 5799 5800 if (labelText) { 5801 $upcomingText.text(labelText); 5802 $(this).find('.upcoming-product-text').show(); 5803 } else { 5804 $upcomingText.hide(); 5805 } 5806 5807 if (buttonClass) { 5808 $(this).find('.product_mask').addClass('lift'); 5809 // Hide all buttons first 5810 $(this).find('.btn-cart').hide(); 5811 $(this).find('.btn-soldout').hide(); 5812 $(this).find('.btn_not_sale').hide(); 5813 $(this).find('.btn_login_to_view').hide(); 5814 $(this).find('.btn_not_eligible').hide(); 5815 5816 // Show the appropriate button 5817 $(this).find(buttonClass).removeClass('hidden').show(); 5818 } 5819 }); 5820 5821 // for GTM 5822 $.each($('.GTM-area'),function(){ 5823 var gtm_product = [] 5824 $.each($(this).find('.GTM-info'),function(index,product){ 5825 productInfo = { 5826 'brand': $(product).data('brand'), 5827 'category': $(product).data('category'), 5828 'id': $ (product).data('id'), 5829 'list': 'Collection: '+ $(product).data('list'), 5830 'name': $(product).data('name'), 5831 'position': $(product).data('position'), 5832 'price': $ (product).data('price'), 5833 'variant': '' 5834 } 5835 if(typeof google_analytics_id != "undefined" && window.enable_ga_ee == true){ 5836 ga('ec:addImpression', productInfo); 5837 } 5838 if(typeof google_tag_manager_id != 'undefined' || typeof cyb != 'undefined'){ 5839 gtm_product.push(productInfo) 5840 } 5841 }) 5842 if(typeof google_analytics_id != 'undefined' && window.enable_ga_ee == true){ 5843 ga('send', 'event', {'nonInteraction': true}); 5844 } 5845 if(typeof google_tag_manager_id != 'undefined' && gtm_product.length > 0){ 5846 dataLayer.push({ 5847 'event': 'productImpressions', 5848 'ecommerce':{ 5849 'impressions': gtm_product 5850 } 5851 }); 5852 } 5853 if(typeof cyb != "undefined" && gtm_product.length > 0){ 5854 cyb.push({ 5855 'event': 'productImpressions', 5856 'impressions': gtm_product 5857 }); 5858 } 5859 }) 5860 }) 5861</script>
5861 5862 5863<!-- cyb_snippet swiper_product end --> 5864 5865</div> 5866 5867 5868 5869 </div> 5870</div> 5871 5872 </div> 5873 5874 <!-- Footer --> 5875 5876 5877 5878 5879 5880 5881 5882<style> 5883 5884 5885 @media(min-width: 991px) { 5886 .display_x .left-content > div { 5887 max-width: calc(100% / 3); 5888 } 5889 } 5890</style> 5891 5892<div id="index-recommendation"></div> 5893 5894<footer id="footer" class="qk-fs--body qk-bg--footer_bg"> 5895 5896 5897 <div class="qk-container display_y"> 5898 <div class="footer_content qk-mg--0 qk-display--flex qk-justify--between"> 5899 <div class="left-content qk-flex--1"> 5900 5901 5902 <div class="link-list-container"> 5903 5904 <p class="footer_title qk-fs--title qk-text--footer_text"></p> 5905 5906 <div class="item horizontal qk-text--left"> 5907 <ul class="qk-display--flex qk-flex--wrap"> 5908 5909 5910 <li class="qk-display--il_bk"> 5911 5912 <a 5913 class="qk-text--footer_text" 5914 href="/" 5915 rel="noopener noreferrer" 5916 target="_blank">é¦é </a> 5917 5918 </li> 5919 5920 <li class="qk-display--il_bk"> 5921 5922 <a 5923 class="qk-text--footer_text" 5924 href="/pages/about-us" 5925 rel="noopener noreferrer" 5926 target="_blank">éæ¼æå</a> 5927 5928 </li> 5929 5930 <li class="qk-display--il_bk"> 5931 5932 <a 5933 class="qk-text--footer_text" 5934 href="/collections/frontpage" 5935 rel="noopener noreferrer" 5936 target="_blank">ååå表</a> 5937 5938 </li> 5939 5940 <li class="qk-display--il_bk"> 5941 5942 <a 5943 class="qk-text--footer_text" 5944 href="/blogs/news" 5945 rel="noopener noreferrer" 5946 target="_blank">å½±çç¹è¼¯</a> 5947 5948 </li> 5949 5950 <li class="qk-display--il_bk"> 5951 5952 <a 5953 class="qk-text--footer_text" 5954 href="/contact" 5955 rel="noopener noreferrer" 5956 target="_blank">客æä¸å¿</a> 5957 5958 </li> 5959 5960 5961 </ul> 5962 </div> 5963 </div> 5964 5965 5966 5967 <div id="1669108375663_2" class="rich-text-editor-container qk-text--footer_text item qk-flex--1"> 5968 5969 <p class="footer_title qk-fs--title rich-text-editor-title"></p> 5970 5971 <div class="rich-text-content-container"> 5972 <p>æåé«è²æå ·è¡ä»½æéå ¬å¸<br>çµ±ä¸ç·¨è : 04431071</p> 5973 5974 </div> 5975 </div> 5976 5977 5978 5979 <div class="item contact qk-text--left"> 5980 5981 <p class="footer_title qk-fs--title qk-text--footer_text">è¯çµ¡è³è¨</p> 5982 5983 <ul> 5984 5985 <li class="phone qk-bd_r--default qk-bd--footer_text qk-display--il_bk"> 5986 <span class="qk-text--footer_text">客æå°ç·ï¼0800-007-030ï¼åæ©10æ39</span> 5987 </li> 5988 5989 5990 <li class="fax qk-bd_r--default qk-bd--footer_text qk-display--il_bk">
5991 <span class="qk-text--footer_text">客æå³çï¼0226957031</span> 5992 </li> 5993 5994 5995 <li class="time qk-bd_r--default qk-bd--footer_text qk-display--il_bk"> 5996 <span class="qk-text--footer_text">客ææéï¼08:30-17:30</span> 5997 </li> 5998 5999 6000 <br> 6001 <li class="mail qk-bd_r--default qk-bd--footer_text qk-cursor--pointer qk-display--il_bk"> 6002 <a class="qk-text--footer_text" href="mailto:[email protected]">ä¿¡ç®±ï¼[email protected]</a> 6003 </li> 6004 6005 6006 <li class="address qk-bd_r--default qk-bd--footer_text qk-display--il_bk"> 6007 <span class="qk-text--footer_text">å°åï¼æ°å叿±æ¢å康寧è¡149è2F</span> 6008 </li> 6009 6010 6011 </ul> 6012 </div> 6013 6014 6015 </div> 6016 <div class="right-content qk-display--flex qk-flex--column"> 6017 6018 <div class="fb_fanpage qk-hidden--mobile"> 6019 <div class="fb_fans_page_area"> 6020 <div 6021 class="fb-page" 6022 data-href="https://www.facebook.com/102582118310299" 6023 data-width="500" 6024 data-adapt-container-width="true" 6025 data-hide-cover="false" 6026 data-show-facepile="true"> 6027 <blockquote cite="https://www.facebook.com/102582118310299" class="fb-xfbml-parse-ignore"> 6028 <a target="_blank" rel="noopener noreferrer" href="https://www.facebook.com/102582118310299"></a> 6029 </blockquote> 6030 </div> 6031 </div> 6032 </div> 6033 6034 <div class="media qk-display--il"> 6035 <div class="item social_media qk-h--auto qk-float--l"> 6036 <ul> 6037 6038 <li class="qk-display--il_bk"> 6039 <a target="_blank" rel="noopener noreferrer" href="https://www.facebook.com/%E6%88%90%E5%8A%9Fsuccess-102582118310299"> 6040 <svg 6041 class="facebook-svg" 6042 xmlns="http://www.w3.org/2000/svg" 6043 width="40" 6044 height="40"
6045 viewBox="0 0 40 40"> 6046 <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" /> 6047 </svg> 6048 </a> 6049 </li> 6050 6051 6052 <li class="qk-display--il_bk"> 6053 <a target="_blank" rel="noopener noreferrer" href="https://www.instagram.com/success.1959?igsh=MWhuNjc4YTE4cGZjOA%3D%3D&utm_source=qr"> 6054 <svg 6055 class="instagram-svg" 6056 xmlns="http://www.w3.org/2000/svg" 6057 width="40" 6058 height="40"
6059 viewBox="0 0 40 40"> 6060 <rect class="qk-svg--footer_text" width="40" height="40" rx="20" /> 6061 <path class="qk-svg--footer_bg" d="M15.0302 8.08393C13.7534 8.14417 12.8814 8.34793 12.1192 8.64745C11.3303 8.95489 10.6616 9.36745 9.99636 10.0351C9.33107 10.7028 8.92139 11.3719 8.61611 12.162C8.32066 12.9259 8.1205 13.7986 8.0641 15.0761C8.0077 16.3536 7.99522 16.7643 8.00146 20.023C8.0077 23.2817 8.0221 23.6902 8.08402 24.9704C8.14498 26.2469 8.34802 27.1186 8.64755 27.8811C8.95547 28.67 9.36755 29.3384 10.0355 30.0039C10.7034 30.6694 11.3721 31.0782 12.1641 31.3839C12.9273 31.6789 13.8002 31.88 15.0775 31.9359C16.3547 31.9918 16.7659 32.0048 20.0237 31.9986C23.2815 31.9923 23.6916 31.9779 24.9716 31.9172C26.2515 31.8565 27.1186 31.652 27.8813 31.3539C28.6702 31.0453 29.3391 30.6339 30.0042 29.9658C30.6692 29.2976 31.0787 28.628 31.3837 27.8374C31.6794 27.0742 31.8803 26.2013 31.9357 24.925C31.9916 23.6441 32.0048 23.2352 31.9986 19.9769C31.9923 16.7187 31.9777 16.3102 31.917 15.0305C31.8563 13.7508 31.653 12.8818 31.3537 12.1188C31.0453 11.3299 30.6337 10.662 29.966 9.99601C29.2983 9.33001 28.6282 8.92081 27.8379 8.61649C27.0742 8.32105 26.2018 8.11969 24.9245 8.06449C23.6472 8.00929 23.2361 7.99513 19.9771 8.00137C16.7181 8.00761 16.3101 8.02153 15.0302 8.08393ZM15.1703 29.7771C14.0003 29.7262 13.365 29.5318 12.9417 29.3691C12.381 29.1531 11.9817 28.892 11.5597 28.4742C11.1378 28.0563 10.8786 27.6555 10.6597 27.0961C10.4953 26.6727 10.2973 26.0381 10.2426 24.8681C10.1831 23.6036 10.1706 23.2239 10.1636 20.0201C10.1567 16.8164 10.1689 16.4372 10.2244 15.1721C10.2743 14.0031 10.4699 13.3671 10.6324 12.9439C10.8484 12.3826 11.1085 11.9839 11.5273 11.5623C11.9461 11.1406 12.3457 10.8809 12.9057 10.662C13.3286 10.4969 13.9631 10.3006 15.1327 10.2449C16.3982 10.1849 16.7774 10.1729 19.9807 10.1659C23.184 10.159 23.5642 10.171 24.8302 10.2267C25.9992 10.2775 26.6355 10.4712 27.0581 10.6347C27.619 10.8507 28.0181 11.1101 28.4398 11.5296C28.8615 11.9491 29.1214 12.3473 29.3403 12.9084C29.5057 13.3301 29.702 13.9644 29.7572 15.1347C29.8174 16.4002 29.8311 16.7796 29.8369 19.9827C29.8426 23.1857 29.8314 23.5661 29.7759 24.8307C29.7248 26.0007 29.5309 26.6362 29.3679 27.0601C29.1519 27.6205 28.8915 28.0201 28.4725 28.4415C28.0534 28.863 27.6543 29.1226 27.0941 29.3415C26.6717 29.5064 26.0364 29.7032 24.8679 29.7589C23.6023 29.8184 23.2231 29.8309 20.0186 29.8378C16.8141 29.8448 16.4361 29.8318 15.1706 29.7771M24.9531 13.5864C24.9535 13.8713 25.0385 14.1495 25.1971 14.3861C25.3558 14.6226 25.581 14.8068 25.8443 14.9154C26.1077 15.0239 26.3973 15.0519 26.6765 14.9959C26.9558 14.9398 27.2122 14.8022 27.4132 14.6004C27.6142 14.3986 27.7509 14.1418 27.806 13.8623C27.861 13.5828 27.8319 13.2933 27.7224 13.0304C27.6129 12.7675 27.4279 12.5429 27.1908 12.3851C26.9536 12.2274 26.675 12.1435 26.3902 12.144C26.0084 12.1448 25.6425 12.2972 25.373 12.5677C25.1035 12.8381 24.9524 13.2046 24.9531 13.5864ZM13.8386 20.012C13.8453 23.4152 16.6091 26.1677 20.0117 26.1613C23.4142 26.1548 26.1687 23.3912 26.1622 19.988C26.1557 16.5848 23.3911 13.8315 19.9881 13.8382C16.5851 13.8449 13.8321 16.6092 13.8386 20.012ZM16 20.0076C15.9985 19.2165 16.2315 18.4427 16.6698 17.784C17.108 17.1253 17.7317 16.6114 18.462 16.3072C19.1924 16.003 19.9965 15.9222 20.7727 16.075C21.549 16.2278 22.2625 16.6073 22.823 17.1656C23.3836 17.724 23.766 18.436 23.9218 19.2116C24.0777 19.9872 24.0001 20.7917 23.6988 21.5232C23.3975 22.2547 22.886 22.8804 22.2291 23.3213C21.5721 23.7621 20.7992 23.9983 20.0081 23.9998C19.4827 24.0009 18.9623 23.8985 18.4766 23.6985C17.9909 23.4985 17.5493 23.2047 17.1771 22.834C16.8049 22.4632 16.5094 22.0228 16.3074 21.5379C16.1054 21.0529 16.001 20.533 16 20.0076Z" /> 6062 </svg> 6063 </a> 6064 </li> 6065 6066 6067 <li class="qk-display--il_bk"> 6068 <a target="_blank" rel="noopener noreferrer" href="https://page.line.me/success1959"> 6069 <svg 6070 class="line-svg" 6071 xmlns="http://www.w3.org/2000/svg" 6072 width="40" 6073 height="40"
6074 viewBox="0 0 40 40"> 6075 <rect class="qk-svg--footer_text" width="40" height="40" rx="20" /> 6076 <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" /> 6077 <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" /> 6078 <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" /> 6079 <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" /> 6080 <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" /> 6081 </svg> 6082 </a> 6083 </li> 6084 6085 6086 <li class="qk-display--il_bk"> 6087 <a target="_blank" rel="noopener noreferrer" href="https://www.youtube.com/channel/UC_mmdR-71QxAqsVymgFeDIQ"> 6088 <svg 6089 class="youtube-svg" 6090 xmlns="http://www.w3.org/2000/svg" 6091 width="40" 6092 height="40"
6093 viewBox="0 0 40 40"> 6094 <rect class="qk-svg--footer_text" width="40" height="40" rx="20" /> 6095 <path class="qk-svg--footer_bg" d="M27.3078 11H12.6922C9.82462 11 7.5 13.3653 7.5 16.283V23.717C7.5 26.6347 9.82462 29 12.6922 29H27.3078C30.1754 29 32.5 26.6347 32.5 23.717V16.283C32.5 13.3653 30.1754 11 27.3078 11ZM23.7964 20.3617L16.9602 23.6792C16.778 23.7676 16.5676 23.6324 16.5676 23.4271V16.5848C16.5676 16.3766 16.7835 16.2416 16.9661 16.3357L23.8023 19.8606C24.0055 19.9653 24.002 20.2619 23.7964 20.3617Z" /> 6096 </svg> 6097 </a> 6098 </li> 6099 6100 </ul> 6101 </div> 6102 </div> 6103 </div> 6104 </div> 6105 </div> 6106 6107 <div class="copyright qk-text--footer_text qk-bd--footer_text qk-text--left qk-bd_t--default"> 6108 <div class="qk-container container qk-fw--500"> 6109 <span>Copyright ©</span> 6110 <a class="qk-text--link" href="/"> 6111 <span>æåSUCCESS</span> 6112 </a> 6113 <span>All Rights Reserved.</span> 6114 <span>Designed by 6115 </span> 6116 <a 6117 class="qk-text--link" 6118 href="https://www.cyberbiz.io?utm_source=poweredbycyberbiz" 6119 target="_blank" 6120 rel="noopener noreferrer" 6121 title="Designed by CYBERBIZ">CYBERBIZ</a>. 6122 </div> 6123 </div> 6124 6125</footer>
6126<script> 6127 $(document).ready(function() { 6128 let isDynamicLoading = false; 6129 6130 let menusData = { 6131 6132 6133 "main-menu": { 6134 6135 "type": "items", 6136 "data": [ 6137 6138 6139 6140 { 6141 "title": "é¦é ", 6142 "url": "/", 6143 "item_type": "frontpage" 6144 }, 6145 6146 { 6147 "title": "éæ¼æå", 6148 "url": "/pages/about-us", 6149 "item_type": "page" 6150 }, 6151 6152 { 6153 "title": "ååå表", 6154 "url": "/collections/frontpage", 6155 "item_type": "custom_collection" 6156 }, 6157 6158 { 6159 "title": "å½±çç¹è¼¯", 6160 "url": "/blogs/news", 6161 "item_type": "blog" 6162 }, 6163 6164 { 6165 "title": "客æä¸å¿", 6166 "url": "/contact", 6167 "item_type": "contact" 6168 } 6169 6170 6171 ] 6172 6173 }, 6174 6175 6176 6177 6178 6179 6180 }; 6181 6182 if (isDynamicLoading) { 6183 window.DynamicLoading.setupComponent({ 6184 sectionId: '#footer', 6185 callbackData:{ 6186 section: {"type":"footer","visible":true,"settings":{"footer_link":"footer","display_facebook":true,"shop_facebook":"https://www.facebook.com/%E6%88%90%E5%8A%9Fsuccess-102582118310299","display_instagram":true,"shop_instagram":"https://www.instagram.com/success.1959?igsh=MWhuNjc4YTE4cGZjOA%3D%3D\u0026utm_source=qr","display_line":true,"shop_line":"https://page.line.me/success1959","display_youtube":true,"shop_youtube":"https://www.youtube.com/channel/UC_mmdR-71QxAqsVymgFeDIQ","footer_link_arrangement":"display_y","display_facebook_fan_block":true},"block_order":["default_link_list","1669108375663_2","default_contact_info"],"blocks":{"default_link_list":{"type":"link_list_setting","custom_name":"é¸å®","thumbnail":"list","draggable":true,"visible":true,"settings":{"dict_link_list_block_title":"","footer_link":"main-menu"}},"default_contact_info":{"type":"contact_info_setting","custom_name":"è¯çµ¡è³è¨","thumbnail":"contactInfo","draggable":true,"visible":true,"settings":{"contact_info_block_title":"è¯çµ¡è³è¨","display_phone":"true","dict_phone_number":"0800-007-030ï¼åæ©10æ39","display_fax_number":"true","dict_shop_fax_number":"0226957031","display_shop_email":"true","dict_shop_email":"[email protected]","display_shop_address":"true","dict_shop_address":"æ°å叿±æ¢å康寧è¡149è2F","display_office_time":"true","dict_shop_office_time":"08:30-17:30","dict_contact_info_block_title":"è¯çµ¡è³è¨"}},"1669108375663_2":{"type":"rich_text_editor_setting","custom_name":"èªè¨æå","visible":true,"settings":{"dict_rich_text_title":"","dict_rich_text_content":"\u003cp\u003eæåé«è²æå ·è¡ä»½æéå ¬å¸\u003cbr\u003eçµ±ä¸ç·¨è : 04431071\u003c/p\u003e\n"}}},"custom_name":"é è ³"}, 6187 shop: { 6188 name: 'æåSUCCESS', 6189 cyberbiz_link: 'https://www.cyberbiz.io?utm_source=poweredbycyberbiz', 6190 facebook_fan_page: 'https://www.facebook.com/102582118310299', 6191 }, 6192 menus: menusData, 6193 is_display_facebook_fan_block: true 6194 }, 6195 entryName:'renderFooterSection', 6196 source:'//cdn1-next.cybassets.com/frontend/shop/footerSection-3a2e378145f8a165.js', 6197 }); 6198 } 6199 }); 6200</script>
6200 6201 6202<!-- cyb_snippet _tracking_code start --> 6203
6203<script> 6204 window.fbAsyncInit = function() { 6205 FB.init({ 6206 appId : '', 6207 xfbml : true, 6208 version : 'v24.0', 6209 }); 6210 }; 6211 (function(d, s, id){ 6212 var js, fjs = d.getElementsByTagName(s)[0]; 6213 if (d.getElementById(id)) {return;} 6214 js = d.createElement(s); 6215 js.id = id; 6216 js.src = 'https://connect.facebook.net/zh_TW/sdk.js'; 6217 fjs.parentNode.insertBefore(js, fjs); 6218 }(document, 'script', 'facebook-jssdk')); 6219 </script>
6219 6220 6221
6222<script> 6223 // for scupio 6224 if (document.querySelector("meta[name=\"scupio_mid\"]")) { 6225 mid = document.querySelector("meta[name=\"scupio_mid\"]").content; 6226 } else { 6227 mid = ""; 6228 } 6229 if (!window.is_scupio_sent && mid) { 6230 window._bwtm = window._bwtm || [] 6231 window._bwtm.push({ 6232 "mid": mid, 6233 "uid": "" 6234 }); 6235 } 6236</script>
6236 6237 6238<!-- cyb_snippet _tracking_code end --> 6239
6240<script> 6241 $(document).ready(function(){ 6242 if(window.location.pathname != '' && window.location.pathname != '/' ){ 6243 document.getElementById('index-recommendation').style.display = 'none' 6244 } 6245 }); 6246</script>
6246 6247 6248 6249 6250 <!-- Fast-Events --> 6251 <!-- cyb_snippet fast_events start --> 6252 6253
6254<script src='//cdn1-next.cybassets.com/frontend/shop/beta_theme/js/fast_events-3a2e378145f8a165.js' type='text/javascript'></script>
6254 6255<link href='//cdn1-next.cybassets.com/frontend/shop/beta_theme/css/fast_events-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' /> 6256 6257<!-- cyb_snippet fast_events end --> 6258 6259 <div class="bottom-right qk-pos--fixed"> 6260 <!-- gototop --> 6261 <div id="gototop" class="qk-display--none qk-text--center"> 6262 <a href="javascript:void(0)" class="qk-circle qk-circle--lg qk-pos--relative qk-text--center"> 6263 <i class="fas fa-chevron-up"></i> 6264 </a> 6265 </div> 6266 6267 <!-- popup --> 6268 6269 <link href='//cdn1-next.cybassets.com/frontend/shop/beta_theme/css/popup-3a2e378145f8a165.css' rel='stylesheet' type='text/css' media='all' /> 6270 6271 6272 6273 6274 6275 6276<div id="popup-wrapper" class="qk-display--none"></div> 6277 6278<template id="popup-template"> 6279 <div 6280 :class="status" 6281 v-if="hasContent" 6282 id="popup-section" 6283 > 6284 <transition name="backdrop"> 6285 <div 6286 v-if="shouldShowPopup" 6287 @click.capture="minifyPopup" 6288 id="popup-backdrop" 6289 class="qk-w--100vw qk-h--100vh qk-pos--fixed qk-t--0 qk-l--0 qk-tst" 6290 > 6291 </div> 6292 </transition> 6293 <transition name="onShow"> 6294 <div 6295 @click.self="showPopup" 6296 @transitionstart="updateGameStatus('start', this)" 6297 @transitionend="updateGameStatus('end', this)" 6298 class="popup-content qk-display--flex qk-align--center qk-tst qk-tst_dur--30 qk-tst_timing--ease_o" 6299 > 6300 <div 6301 v-for="block in blocks" 6302 :key="block.id" 6303 :class="[block.type, minifiedBlockClasses, block.settings.icon_size]" 6304 class="block qk-tst qk-tst_dur--30 qk-tst_timing--ease_o qk-of--auto" 6305 > 6306 <div v-if="block.type === 'image'" class="qk-pos--rel"> 6307 <img 6308 v-show="!shouldShowPopup" 6309 :src="block.settings.dict_icon_image_url" 6310 class="qk-tst qk-tst_dur--30 qk-tst_timing--ease_o" 6311 alt="popup button" 6312 > 6313 <a 6314 v-show="shouldShowPopup" 6315 :href="block.settings.dict_link" 6316 :target="block.settings.target" 6317 :rel="block.settings.rel" 6318 class="qk-display--flex qk-align--center" 6319 @click="linkClicked" 6320 > 6321 <picture> 6322 <source :srcset="block.settings.dict_mobile_image_url" media="(max-width: 576px)"> 6323 <source :srcset="block.settings.dict_tablet_image_url" media="(max-width: 992px)"> 6324 <img 6325 :src="block.settings.dict_image_url" 6326 class="qk-tst qk-tst_dur--30 qk-tst_timing--ease_o" 6327 alt="popup picture" 6328 /> 6329 </picture> 6330 </a> 6331 </div> 6332 <div v-if="block.type === 'video'"> 6333 <iframe 6334 :src="block.settings.dict_video_link" 6335 frameborder="0" 6336 class="qk-center--y qk-w--100 qk-h--100" 6337 ></iframe> 6338 </div> 6339 <div v-if="block.type === 'game'"> 6340 <div v-show="gameStatus === 'show'" :class="{ 'show-game': gameStatus === 'show' }"> 6341 <iframe 6342 class="cb-game-iframe iframe-loading" 6343 :src="getGameIframeSrc(block)" 6344 style="border: none;" 6345 > 6346 Loading 6347 </iframe> 6348 </div> 6349 <div v-show="gameStatus === 'minified'"> 6350 <img 6351 src="//cdn1-next.cybassets.com/game_assets/game_minified_new.png" 6352 class="qk-h--100 qk-w--100" 6353 alt="game minified icon" 6354 /> 6355 </div> 6356 </div> 6357 <div 6358 v-if="block.type === 'carousel'" 6359 :id="`popup-carousel-${block.id}`" 6360 > 6361 </div> 6362 </div> 6363 </div> 6364 </transition> 6365 <transition name="backdrop"> 6366 <div 6367 v-if="shouldShowPopup" 6368 @click.capture="minifyPopup" 6369 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" 6370 > 6371 </div> 6372 </transition> 6373 </div> 6374</template> 6375
6376<script> 6377 $(document).ready(function() { 6378 const CDN_HOST = '//cdn1-next.cybassets.com'; 6379 const section = {"type":"popup","visible":true,"blocks":{"popup_block_1":{"type":"image","visible":true,"settings":{"dict_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjg4NDM5MzQyX-W9iOi3sy5qcGcuanBlZyJdXQ.jpeg?sha=ed7cd65133fce6f7","icon_size":"small","dict_tablet_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjg4NDM5MzUwX-W9iOi3sy05NjAuanBnLmpwZWciXV0.jpeg?sha=27a1e07ebc1671ea","dict_mobile_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjg4NDM5MzU3X-W9iOi3szQ4MC5qcGcuanBlZyJdXQ.jpeg?sha=e8c5df78cb302b2e","dict_icon_image_url":"//cdn1-next.cybassets.com/media/W1siZiIsIjIyMDg2L2F0dGFjaGVkX3Bob3Rvcy8xNjg4NDM5MzYzX-W9iOi3sy0xMDAuanBnLmpwZWciXV0.jpeg?sha=bea2f6df686dba72","dict_link":"/collections/åºæ¸ ç¹å¹39å èµ·"},"custom_name":"åç"}},"block_order":["popup_block_1"],"settings":{},"custom_name":"å½çªå»£å"}; 6380 var popupSection = Vue.createApp({ 6381 template: '#popup-template', 6382 delimiters: ['${', '}'], 6383 data() { 6384 const isOmniauthPage = ['omniauth_terms_agreement', 'omniauth_mobile/'] 6385 .some(path => location.pathname.includes(path)); 6386 return { 6387 status: 'minified', 6388 gameStatus: 'show', 6389 blocks: isOmniauthPage 6390 ? [] 6391 : section.block_order && section.block_order.reduce( 6392 function(acc, blockId) { 6393 const block = section.blocks[blockId]; 6394 if (block && block.visible) { 6395 acc.push({ 6396 ...block, 6397 id: blockId, 6398 }); 6399 } 6400 return acc; 6401 }, 6402 [], 6403 ), 6404 hasAddedGameScript: false, 6405 }; 6406 }, 6407 computed: { 6408 hasContent: function() { 6409 return !!(this.blocks && this.blocks.length > 0); 6410 }, 6411 minifiedBlockClasses: function() { 6412 return this.status === 'minified' ? 'qk-pointer--none qk-unselectable' : ''; 6413 }, 6414 shouldShowPopup: function() { 6415 return this.status === 'show'; 6416 } 6417 }, 6418 methods: { 6419 unhidePopup: function(storedStatus) { 6420 this.status = storedStatus; 6421 $('#popup-wrapper').removeClass('qk-display--none'); 6422 }, 6423 showPopup: function() { 6424 if (this.status !== 'show') { 6425 this.status = 'show'; 6426 this.saveStatus(this.status); 6427 } 6428 }, 6429 minifyPopup: function() { 6430 this.status = 'minified'; 6431 this.saveStatus('minified'); 6432 }, 6433 loadStatus: function() { 6434 return JSON.parse(localStorage.getItem('popupStatus')); 6435 }, 6436 saveStatus: function(status) { 6437 if (status) { 6438 localStorage.setItem('popupStatus', JSON.stringify({ 6439 status: status, 6440 setTime: new Date().getTime(), 6441 })); 6442 } 6443 }, 6444 linkClicked: function() { 6445 this.saveStatus('minified'); 6446 }, 6447 parseVideoLink: function(settings) { 6448 settings.dict_video_link = themeHelper.parseYtUrl(settings.dict_video_link); 6449 }, 6450 setupImageSrc: function (settings) { 6451 settings.dict_image_url = this.addCdnHost(settings.dict_image_url); 6452 if (settings.dict_tablet_image_url) { 6453 settings.dict_tablet_image_url = this.addCdnHost(settings.dict_tablet_image_url); 6454 } 6455 if (settings.dict_mobile_image_url) { 6456 settings.dict_mobile_image_url = this.addCdnHost(settings.dict_mobile_image_url); 6457 } 6458 settings.dict_icon_image_url = this.addCdnHost(settings.dict_icon_image_url) || settings.dict_image_url; 6459 }, 6460 addCdnHost: function(url) { 6461 if (!url) { 6462 return url; // only add cdn host if url is not empty 6463 } 6464 6465 try { 6466 new URL(url); 6467 return url; // already a valid url, cdn host not needed 6468 } catch { 6469 return `${CDN_HOST}${url}`; 6470 } 6471 }, 6472 initStatus: function() { 6473 let newStatus = 'show'; 6474 const popupStatus = this.loadStatus(); 6475 const currentTime = new Date().getTime(); 6476 const oneDay = 1000 * 60 * 60 * 24; 6477 const hasStoredStatus = popupStatus && currentTime - popupStatus.setTime < oneDay; 6478 const redirectedByGameLogin = !this.hasRedirectUrl() && this.redirectedByGameLogin(); 6479 const isLoggingIn = this.isLoggingIn(); 6480 const isCartPage = window.location.pathname.split('/').includes('carts'); 6481 6482 if (hasStoredStatus && !redirectedByGameLogin) { 6483 newStatus = popupStatus.status; 6484 } 6485 6486 if (isLoggingIn) { 6487 newStatus = 'minified'; 6488 } else { 6489 localStorage.removeItem('redirectedByPopup'); 6490 } 6491 6492 setTimeout(() => { 6493 this.status = newStatus; 6494 this.gameStatus = newStatus; 6495 this.saveStatus(newStatus); 6496 if(!isCartPage){ 6497 this.unhidePopup(newStatus); 6498 } 6499 }, 1000); 6500 }, 6501 initBlocks: function() { 6502 if (this.hasContent) { 6503 this.blocks.forEach(block => { 6504 switch(block.type) { 6505 case 'image': 6506 this.setupImageSrc(block.settings); 6507 6508 const isOpenInNewTab = block.settings.link_open_in_new_tab; 6509 if (isOpenInNewTab) { 6510 block.settings.target = '_blank'; 6511 block.settings.rel = 'noopener noreferrer'; 6512 } 6513 6514 break; 6515 case 'video': 6516 this.parseVideoLink(block.settings); 6517 break; 6518 } 6519 }) 6520 } 6521 }, 6522 getGameIframeSrc: function (block) { 6523 return `/games/${block.settings.dict_game_handle}` 6524 }, 6525 updateGameStatus: function(type, element) { 6526 if ( 6527 (type === 'start' && this.status === 'minified') 6528 || (type === 'end' && this.status === 'show') 6529 ) { 6530 this.gameStatus = this.status; 6531 } 6532 }, 6533 setupGameRedirects: function() { 6534 window.addEventListener('pagehide', () => { 6535 const isGameActive = document.body.getElementsByClassName('show-game').length; 6536 if (isGameActive) { 6537 localStorage.setItem('redirectedByPopup', 'true'); 6538 this.saveStatus('minified'); 6539 } 6540 }); 6541 }, 6542 hasRedirectUrl: function() { 6543 return (new URLSearchParams(location.search)).has('redirect_url'); 6544 }, 6545 redirectedByGameLogin: function() { 6546 return localStorage.getItem('redirectedByPopup'); 6547 }, 6548 isLoggingIn: function() { 6549 const loginRelatedPathnames = [ 6550 'account/signup', 6551 'account/login', 6552 'account/customer/password/new', 6553 'pages/terms' 6554 ]; 6555 return loginRelatedPathnames.some(path => location.pathname.includes(path)); 6556 } 6557 }, 6558 created: function() { 6559 this.initStatus(); 6560 this.initBlocks(); 6561 this.setupGameRedirects(); 6562 }, 6563 mounted: function() { 6564 this.blocks.forEach((block) => { 6565 if (block.type === 'carousel' && block.settings.dict_c
6565arousel) { 6566 renderCarousel(`#popup-carousel-${block.id}`, { 6567 title: block.settings.dict_carousel, 6568 CDN_HOST, 6569 onLinkClick: () => this.linkClicked(), 6570 }); 6571 } 6572 }); 6573 }, 6574 }); 6575 popupSection.mount('#popup-wrapper'); 6576 }); 6577</script>
6577 6578 6579 6580 6581 </div> 6582 6583 <!-- ajaxloading --> 6584 <div id="ajaxloading" class="qk-display--none qk-h--100vh qk-w--100vw qk-l--0 qk-t--0 qk-pos--fixed"> 6585 <div class="ajaxbody qk-pos--abs qk-l--50 qk-t--50 qk-text--center"> 6586 <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"> 6587 <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"/> 6588 <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 "/> 6589 <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"/> 6590 <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"/> 6591 <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"/> 6592 <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"/> 6593 </svg> 6594 <div class="success_msg title qk-display--none qk-pos--abs qk-l--0 qk-w--100 qk-text--center">å·²å å ¥è³¼ç©è»</div> 6595 <div class="success_update_msg title qk-display--none qk-pos--abs qk-l--0 qk-w--100 qk-text--center">å·²æ´æ°è³¼ç©è»</div> 6596 <div class="fail_msg title qk-display--none qk-pos--abs qk-l--0 qk-w--100 qk-text--center">網路ç°å¸¸ï¼è«éæ°æ´ç</div> 6597 </div> 6598 </div> 6599 6600
6600<script> 6601 if (typeof(check_order_token_cookie) !== 'function' || check_order_token_cookie()) { 6602 gtag('event', 'conversion', {"send_to":"AW-10883446473/XqzPCOrqpMkZEMnt0MUo"}); 6603 } 6604 </script>
6604 6605
6605<script src="//cdn1-next.cybassets.com/assets/referral-code-trace-5fcbbe026a61c36b5f09a1615a1c168688205205d9d3e7ee854181a66b64a6ed.js"></script>
6605 6606
6606<script> 6607 cyb.push({ 6608 'event': 'productDetails', 6609 'ecommerce': { 6610 'currencyCode': 'TWD', 6611 'detail': { 6612 'products': [{"id":39906070,"name":"æå S5190æ¶æåèè ¿è¸æ¥æ©","price":2880.0,"brand":null,"category":null,"variant":""}] 6613 } 6614 } 6615 }); 6616 </script>
6616 6617 6618
6618<script> 6619 if (window.fbq) { 6620 fbq("track", "ViewContent", { 6621 content_name: "æå S5190æ¶æåèè ¿è¸æ¥æ©", 6622 content_ids: "45826133", 6623 content_type: "product", 6624 value: 2880.0, 6625 currency: "TWD", 6626 contents: [{"id":45826133,"price":2880.0,"quantity":20}], 6627 content_category: null 6628 },{ 6629 eventID: "ViewContent_68EB76A2BABD6A93E407EEB22F3A710D" 6630 }); 6631 } 6632 </script>
6632 6633 </body> 6634 6635
6635<script src='//cdn1-next.cybassets.com/frontend/shop/beta_theme/js/sub_vendor-3a2e378145f8a165.js' type='text/javascript'></script>
6635 6636
6636<script src='//cdn1-next.cybassets.com/frontend/shop/beta_theme/js/theme_helper-3a2e378145f8a165.js' type='text/javascript'></script>
6636 6637 6638 <!-- theme assets --> 6639
6639<script src='//cdn1-next.cybassets.com/s/files/22086/theme/87365/assets/js/1666762367_b450dde3_main.js?1666762368' type='text/javascript'></script>
6639 6640
6640<script src='//cdn1-next.cybassets.com/frontend/shop/beta_theme/js/theme-3a2e378145f8a165.js' type='text/javascript'></script>
6640 6641 6642 <!-- for cache --> 6643
6643<script src='//cdn1-next.cybassets.com/frontend/shop/beta_theme/js/cacheable-3a2e378145f8a165.js' type='text/javascript'></script>
6643 6644</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.