/g,"").replace(/\//g,""),typeof clickList=="object"){let time=calculateVisitTime();event.isTrusted?clickList.push({lastClickDom,time,type:"User manual click"}):clickList.push({lastClickDom,time,type:"Program click"}),clickList=clickList?JSON.stringify(clickList).substring(0,2e3):[]}},!0),window.addEventListener("error",function(e){if(isBlocked)return!1;stringToLower(e.target.tagName)==="img"&&e.target.src&&holderFile(e.target.src)?loadFailed.filter(item=>item.src===e.target.src).length===0&&loadFailed.push({type:"img_load_error",src:e.target.src}):stringToLower(e.target.tagName)==="script"&&e.target.src&&holderFile(e.target.src)?loadFailed.filter(item=>item.src===e.target.src).length===0&&loadFailed.push({type:"js_load_error",src:e.target.src}):stringToLower(e.target.tagName)==="link"&&e.target.href&&holderFile(e.target.href)&&loadFailed.filter(item=>item.src===e.target.href).length===0&&loadFailed.push({type:"css_load_error",src:e.target.href})},!0),window.onerror=function(errorMessage,scriptURI,lineNumber,columnNumber,errorObj){if(!scriptURI&&!errorObj||scriptURI&&scriptURI.indexOf("chrome-extension")!==-1||isBlocked)return;if(errorObj){const securityError=/SecurityError/i.test(errorObj),getItemError=/getItem/i.test(errorObj),setItemError=/setItem/i.test(errorObj),serviceWorkerError=/evaluating 'navigator.serviceWorker.register'/i.test(errorObj);if(securityError||setItemError||getItemError||serviceWorkerError)return}const hasSignificanceError=errorSignificanceMessageInfo.some(sign=>errorMessage.includes("Unexpected token "+sign)||errorMessage.includes("unexpected token"+sign)||errorMessage.includes("Unterminated string")||errorMessage.includes("Expected property name")||errorMessage.includes("Cannot convert undefined or null to object"));let networkSendStatus=!1;["4g","5g","wifi"].some(item=>navigatorConnection?.effectiveType.includes(item))&&!navigatorConnection?.saveData&&(networkSendStatus=!0),hasSignificanceError&&isChromeNeedCall&&networkSendStatus&&(console.log("%c"+`dom=${lastClickDom} message=${errorMessage}`,"background: rgba(130,189,174,0.8); color: #fff; font-size: 18px; padding: 2px 10px;"),errorSignificanceMessageArr.push({errorMessage,errorType:"significance",pageType:"",scriptURI:scriptURI?scriptURI.replace(/[?#].*$/,""):"",domMessage:lastClickDom,errorObj:errorObj.toString(),lineNumber,columnNumber,...otherInfo()}),lastClickDom=""),isChromeNeedCall&&(console.log("%c"+`dom=${lastClickDom} message=${errorMessage}`,"background: rgba(130,189,174,0.8); color: #fff; font-size: 14px; padding: 2px 10px;"),errorMessageArr.push({errorMessage,scriptURI:scriptURI?scriptURI.replace(/[?#].*$/,""):"",lineNumber,columnNumber,errorObj:errorObj.toString(),...otherInfo()}),errorMessageArr=errorMessageArr.filter(obj=>typeof obj.errorObj=="string"&&!obj.errorObj.includes("ReferenceError: Vue is not defined")&&!obj.errorObj.includes("SyntaxError: Unexpected end of JSON input")))},window.addEventListener("load",function(){let mergeErrorMessage=errorMessageArr.concat(errorSignificanceMessageArr);fileLoadFailedFun(),jsExceptionFun(mergeErrorMessage),setPageLoadTimestamp(),checkPageUrl()});function setPageLoadTimestamp(){document.body.setAttribute("data-load-time",(new Date).toLocaleString())}function abuttingJointFramework(c){if(c&&c.textStatus&&c.textStatus==="error"){let r={};r.handler=c.context.handler,r.errorObj=JSON.stringify(c.context.options),r.errorMessage=c.dataOrXhr.responseText,r.errorType="request error",r.pageType="",c.errorMessage&&monitorFrontError(r)}}function calculateVisitTime(){let endTime=new Date;return(endTime-startTime)/1e3+"s"}function checkPageUrl(){location.pathname.includes(location.protocol)&&typeof monitorFrontError=="function"&&monitorFrontError({errorMessage:"The current page pathname contains the protocol",pageUrl:window.location.href,warning_message_code:"dingtalk_front_pageurl_error"})}function fileLoadFailedFun(){loadFailed.length>0&&monitorFrontFilesFailed({filesInfo:loadFailed,...otherInfo()}).then(result=>{result&&fileLoadFailedRequestFun(result)}).catch(error=>{console.error(error)})}function fileLoadFailedRequestFun(loadFailedRes){let jqueryFailed=!1,loadFailedFileArray=[];if(loadFailedRes=loadFailedRes?JSON.parse(loadFailedRes):[],loadFailedRes.length>0){for(const k of loadFailedRes)k.src.includes("jquery-")&&k.type==="js_load_error"&&(jqueryFailed=!0),loadFailedFileArray.push(k.src);loadFailedFileArray=loadFailedFileArray.filter((item,index,self)=>self.indexOf(item)===index);let errorMessage=jqueryFailed?"The current page jQuery file does not exist":"Some resource files do not exist";monitorFrontError({errorMessage,pageUrl:window.location.href,pageType:jqueryFailed?"":"",files:loadFailedFileArray,...otherInfo()})}}function jsExceptionFun(errorMessageArr){for(const k of errorMessageArr)k.scriptURI.indexOf(location.origin)>=0&&getErrorSendTo("",k.lineNumber,k,!0)}function handleResourceError(errorMessage,resourceSrc){monitorFrontError({errorMessage,pageUrl:window.location.href,src:resourceSrc,...otherInfo()})}function getWebPageSource(url){return new Promise(function(resolve,reject){let xhr=new XMLHttpRequest;xhr.open("GET",url),xhr.onload=function(){xhr.status===200?resolve(xhr.responseText):reject("HTTP request failed with status code "+xhr.status)},xhr.onerror=function(){reject("Error fetching web page")},xhr.send()})}function processHtmlSourceCode(htmlSourceCode,targetLineNumber,pageTextType,info){if(pageTextType==="html"){const parser=new DOMParser,doc=parser.parseFromString(htmlSourceCode,"text/html"),lines=doc.documentElement.innerHTML.split(` `);getErrorSendTo(lines,targetLineNumber,info)}if(pageTextType==="js"){const lines=htmlSourceCode.split(` `);getErrorSendTo(lines,targetLineNumber,info)}}function getErrorSendTo(lines="",targetLineNumber=0,dataJson,notChecked=!1){let signNum=30,maxCodeLength=2e3;if(!notChecked){if(lines===""||targetLineNumber===0)return!1;if(lines!==""){let code="";for(let k=0;k{xhrRequestError({method:"POST",url:window.location.href,headers:{"Content-Type":"application/json","X-October-Request-Handler":"onGetFrontInfo","X-Requested-With":"XMLHttpRequest"},data:dataJson}).then(function(response){resolve(response)}).catch(function(error){console.error(error),reject(error)})})}function monitorFrontError(dataJson,isShow=1){xhrRequestError({method:"POST",url:window.location.href,headers:{"Content-Type":"application/json","X-October-Request-Handler":"onMonitorFrontError","X-Requested-With":"XMLHttpRequest"},data:dataJson}).then(function(){isShow&&showErrorNotification(dataJson.errorType||"JsError",dataJson.errorMessage)}).catch(function(error){console.error(error)})}function monitorFrontFilesFailed(dataJson){return new Promise((resolve,reject)=>{xhrRequestError({method:"POST",url:window.location.href,headers:{"Content-Type":"application/json","X-October-Request-Handler":"onMonitorFrontFilesFailed","X-Requested-With":"XMLHttpRequest"},data:dataJson}).then(function(response){let res=JSON.parse(response);for(const k in res)showErrorNotification("Some resource files do not exist",res[k].src);resolve(response)}).catch(function(error){reject(error)})})}function xhrRequestError(options){return new Promise(function(resolve,reject){var xhr=new XMLHttpRequest,header;if(xhr.open(options.method,options.url,!0),xhr.onload=function(){xhr.status>=200&&xhr.status<300?resolve(xhr.responseText):reject(xhr.statusText)},xhr.onerror=function(){reject(xhr.statusText)},options.headers)for(header in options.headers)xhr.setRequestHeader(header,options.headers[header]);options.data?xhr.send(JSON.stringify(options.data)):xhr.send()})}function holderFile(url=""){let isHolderArray=["dist/","assets/","files/"],isDomain=verifyAddressIsDomain({src:url});return isHolderArray.some(item=>url.includes(item))&&isDomain}function getCookieValError(name){var prefix=name+"=",end,value,start=document.cookie.indexOf(prefix);return start==-1?"":(end=document.cookie.indexOf(";",start+prefix.length),end==-1&&(end=document.cookie.length),value=document.cookie.substring(start+prefix.length,end),unescape(value))}function verifyAddressIsDomain(obj){if(obj?.src){let src=obj.src.toString(),origin=location.origin;return src.indexOf(origin)>=0}}function stringToLower(str){if(str)return str.toString().toLowerCase()}}catch(e){console.error(e)}上衣|女性時尚 - momo-chic 台灣|時尚服飾、海外購物情報站 已加入購物車會員登入收藏購物車新品上市人氣熱銷限時折扣特別企劃上衣類T恤襯衫衛衣針織/毛衣細肩帶/背心風格支線清新學院風韓版優雅風可愛漫畫風百變休閒風洋裝類長洋裝短洋裝印花洋裝牛仔洋裝蕾絲洋裝針織洋裝吊帶褲套裝下著類寬褲長褲牛仔褲裙類內搭褲短褲外套類休閒夾克西裝外套罩衫風衣外套羽絨外套鞋子休閒鞋平底鞋高跟鞋靴子涼鞋內衣泳衣情趣內衣bra內衣內褲居家服/睡衣配件飾品包包墨鏡冰袖皮帶雨具/雨衣襪子圍巾/手套帽/披肩後跟貼SHOP-ALL上身下身連身類貼身內著配件類 上衣類最新上架價格由低到高價格由高到低最高人氣慵懶百搭法式圓領露肩條紋針織T恤NT$984 (15) 【全5色】氣質微奢V領蕾絲拼接遮肚針織衫NT$861 NT$1,230引人注目時尚韓版寬鬆假兩件撞色圓領衛衣NT$983知性美型優雅蕾絲珍珠花邊燈籠袖襯衫NT$983 (3) OL穿搭優雅法式素面翻領長袖拼接紐扣春秋襯衫NT$982 (4) 慵懶百搭簡約條紋冰絲連肩袖針織T恤NT$981 (7) 知性亮眼優雅法式露肩設計感氣質T恤NT$979 (10) 百搭時髦復古喇叭袖蕾絲設計感短袖襯衫NT$979 (2) 【全6色】知性美型純色寬鬆v領慵懶短款針織衫NT$978時尚好搭休閑印花圓領套頭夏T恤NT$978 (5) 法式上衣寬鬆遮肉顯瘦泡泡袖短袖襯衫NT$977 (4) Korea正韓時尚撞色荷葉邊泡泡袖蕾絲襯衫NT$975 (61) TOP推薦V領時尚簡約襯衫NT$974 (16) 極簡魅力優雅素色POLO領短袖修身T恤NT$972 (6) 【5色】韓版百搭純色圓領短款針織毛衣NT$971輕甜女孩韓系刺繡鏤空七分袖花朵圓領T恤NT$971 (10) 知性美型夏季新款法式碎花雪紡衫上衣時尚女裝時髦洋氣襯衫NT$970 (10) 韓系優雅簡約碎花紐扣圓領套頭春夏T恤NT$970 (140) 復古文青輕熟優雅印花圓領綁帶七分袖單排扣襯衫NT$970超級爆款韓版素色V領短袖鉤花T恤NT$970 (97) 絕對時尚優雅撞色蕾絲拼接V領針織NT$969 (4) 必備百搭款時尚洋氣質寬鬆短袖上衣雪紡衫女襯衫NT$968氣質微奢優雅復古單排扣綁帶七分袖襯衫NT$968人氣設計感不規則拼接收腰氣質顯瘦T恤NT$968知性亮眼設計感素面翻領拼接長袖襯衫NT$968 (8) 新品上市軟糯感軟fufu超好看韓國慵懶風灰色毛衣針織NT$823 NT$1,646韓版時尚假兩件撞色翻領針織拼接毛衣NT$968 (18) 超舒適氣質素色圓領褶皺三粒扣七分袖襯衫NT$968 (7) 新品來襲氣質條紋立領單排釦短袖襯衫NT$968 (10) 氣質微奢高級感撞色拼接圓領長袖針織毛衣NT$968 (12) 慵懶百搭韓版寬鬆設計感拼接撞色高領毛衣NT$968 (24) 強力推薦簡約V領素色鏤空短袖T恤NT$968 (4) 短條紋毛衣寬鬆針織衫春秋季新款圓領針織開襟衫厚款外套NT$968 (8) 超百搭休閒格紋五分袖娃娃領單排扣襯衫NT$968 (14) 日系卡通塗鴉拚色翻領寬鬆遮肉顯瘦短袖襯衫NT$968知性優雅高級感通勤清新娃娃領雪紡襯衫NT$968 (11) 知性美型氣質斜紋雙拼印花T恤NT$968 (3) 針織衫中袖七分寬鬆氣質打底上衣NT$968 (4) 持續熱賣中優雅撞色V領五分袖襯衫NT$968 (147) 知性亮眼優雅淑女娃娃領蕾絲鏤空五分袖襯衫NT$968 (10) 寬鬆慵懶風設計感拼接假兩件針織NT$968 (2) 百搭時髦溫柔風印花V領寬鬆大碼襯衫NT$968 (8) 時尚圓領法式通勤設計感荷葉邊收腰顯瘦泡泡袖襯衫NT$968 (2) 超高评价慵懶風家裡案件連帽舒適寬鬆針織NT$968氣質微奢秋季百搭女士大碼圓領條紋寬鬆針織打底衫NT$968復古格子撞色半高領慵懶寬鬆針織上衣NT$968 (2) 【全4色】知性優雅燈籠袖百搭木耳邊半高領針織衫NT$968質感碎花七分袖時尚雪紡襯衫NT$968 (57) 清新韓系簡約翻領套頭橫條紋撞色襯衫NT$968 (3) 溫柔氣質優雅碎花雪紡v領短袖襯衫NT$968 (2) 【全5色】polo領假兩件針織衫NT$968【3款印花】日系清新復古碎花棉麻單排扣襯衫NT$968 (2) 非常優雅韓版豹紋套頭長袖彩色針織毛衣NT$968 (6) 知性美型優雅印花V領套頭紐扣襯衫NT$968 (19) 今年流行爆款寬鬆慵懶漸變色毛衣打底衫NT$847 NT$1,210法式復古設計感小眾別緻氣質碎花七分袖襯衫NT$968 (4) 氣質簡約通勤風不規則設計緞面v領襯衫NT$968 (2) 法式復古短款立領針織開衫NT$968人氣款毛紗蕾絲拼接木耳領長袖針織衫NT$968吸引視線簡約撞色圓領長袖針織毛衣T恤NT$968 (6) «12...14151617181920...4546»
已加入購物車
上衣類
慵懶百搭法式圓領露肩條紋針織T恤
NT$984
(15)
【全5色】氣質微奢V領蕾絲拼接遮肚針織衫
NT$861 NT$1,230
引人注目時尚韓版寬鬆假兩件撞色圓領衛衣
NT$983
知性美型優雅蕾絲珍珠花邊燈籠袖襯衫
(3)
OL穿搭優雅法式素面翻領長袖拼接紐扣春秋襯衫
NT$982
(4)
慵懶百搭簡約條紋冰絲連肩袖針織T恤
NT$981
(7)
知性亮眼優雅法式露肩設計感氣質T恤
NT$979
(10)
百搭時髦復古喇叭袖蕾絲設計感短袖襯衫
(2)
【全6色】知性美型純色寬鬆v領慵懶短款針織衫
NT$978
時尚好搭休閑印花圓領套頭夏T恤
(5)
法式上衣寬鬆遮肉顯瘦泡泡袖短袖襯衫
NT$977
Korea正韓時尚撞色荷葉邊泡泡袖蕾絲襯衫
NT$975
(61)
TOP推薦V領時尚簡約襯衫
NT$974
(16)
極簡魅力優雅素色POLO領短袖修身T恤
NT$972
(6)
【5色】韓版百搭純色圓領短款針織毛衣
NT$971
輕甜女孩韓系刺繡鏤空七分袖花朵圓領T恤
知性美型夏季新款法式碎花雪紡衫上衣時尚女裝時髦洋氣襯衫
NT$970
韓系優雅簡約碎花紐扣圓領套頭春夏T恤
(140)
復古文青輕熟優雅印花圓領綁帶七分袖單排扣襯衫
超級爆款韓版素色V領短袖鉤花T恤
(97)
絕對時尚優雅撞色蕾絲拼接V領針織
NT$969
必備百搭款時尚洋氣質寬鬆短袖上衣雪紡衫女襯衫
NT$968
氣質微奢優雅復古單排扣綁帶七分袖襯衫
人氣設計感不規則拼接收腰氣質顯瘦T恤
知性亮眼設計感素面翻領拼接長袖襯衫
(8)
軟糯感軟fufu超好看韓國慵懶風灰色毛衣針織
NT$823 NT$1,646
韓版時尚假兩件撞色翻領針織拼接毛衣
(18)
超舒適氣質素色圓領褶皺三粒扣七分袖襯衫
新品來襲氣質條紋立領單排釦短袖襯衫
氣質微奢高級感撞色拼接圓領長袖針織毛衣
(12)
慵懶百搭韓版寬鬆設計感拼接撞色高領毛衣
(24)
強力推薦簡約V領素色鏤空短袖T恤
短條紋毛衣寬鬆針織衫春秋季新款圓領針織開襟衫厚款外套
超百搭休閒格紋五分袖娃娃領單排扣襯衫
(14)
日系卡通塗鴉拚色翻領寬鬆遮肉顯瘦短袖襯衫
知性優雅高級感通勤清新娃娃領雪紡襯衫
(11)
知性美型氣質斜紋雙拼印花T恤
針織衫中袖七分寬鬆氣質打底上衣
持續熱賣中優雅撞色V領五分袖襯衫
(147)
知性亮眼優雅淑女娃娃領蕾絲鏤空五分袖襯衫
寬鬆慵懶風設計感拼接假兩件針織
百搭時髦溫柔風印花V領寬鬆大碼襯衫
時尚圓領法式通勤設計感荷葉邊收腰顯瘦泡泡袖襯衫
超高评价慵懶風家裡案件連帽舒適寬鬆針織
氣質微奢秋季百搭女士大碼圓領條紋寬鬆針織打底衫
復古格子撞色半高領慵懶寬鬆針織上衣
【全4色】知性優雅燈籠袖百搭木耳邊半高領針織衫
質感碎花七分袖時尚雪紡襯衫
(57)
清新韓系簡約翻領套頭橫條紋撞色襯衫
溫柔氣質優雅碎花雪紡v領短袖襯衫
【全5色】polo領假兩件針織衫
【3款印花】日系清新復古碎花棉麻單排扣襯衫
非常優雅韓版豹紋套頭長袖彩色針織毛衣
知性美型優雅印花V領套頭紐扣襯衫
(19)
今年流行爆款寬鬆慵懶漸變色毛衣打底衫
NT$847 NT$1,210
法式復古設計感小眾別緻氣質碎花七分袖襯衫
氣質簡約通勤風不規則設計緞面v領襯衫
法式復古短款立領針織開衫
人氣款毛紗蕾絲拼接木耳領長袖針織衫
吸引視線簡約撞色圓領長袖針織毛衣T恤