/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上身下身連身類貼身內著配件類 上衣類最新上架價格由低到高價格由高到低最高人氣氣質條紋顯瘦時髦棉混紡袖口撞條小心機設計上衣長袖襯衫NT$900法式水墨塗鴉印花白色寬鬆單排扣撞色襯衫NT$799必備百搭款寬鬆大版顯瘦字母繡花內搭白色T恤NT$788 (2) 極簡魅力溫柔好感素面顯瘦棉V領華夫格開叉T恤NT$878法式V領復古緞面純色氣質職業長袖襯衫NT$855全3色緞面v領微性感設計感壓褶知性職感襯衫NT$1,125 (1) 文藝棉麻女設計感小眾寬鬆長袖亞麻襯衫NT$765居家時尚蕾絲鏤空繡花女棉大碼短袖上衣t恤NT$1,086經典氣質微奢高階感氣質雪紡長袖襯衫NT$1,013高階感緞面垂感職業面試OL通勤上衣襯衫NT$1,042洋氣翻領寬鬆遮肚顯瘦百搭休閒長袖上衣NT$1,254棉質暗提花時尚立領設計感小眾別緻百搭襯衫NT$945溫柔好感必備百搭款棉質條紋簡約內搭打底衫NT$855高階感黑色緞面長袖秋褶皺設計感小眾一字領襯衫NT$788假兩件條紋長袖秋季寬鬆拼接針織V領休閒襯衫上衣NT$1,275文藝復古寬鬆重工刺繡棉麻長袖襯衫女裝襯衣NT$855飄帶襯衫女緞面長袖垂感職業通勤春秋設計感襯衣NT$1,214韓國甜美長袖氣質法式鎖骨小眾雪紡襯衫NT$934寬鬆慵懶百搭圓領插肩長袖中長款純棉襯衫NT$1,035設計感假兩件時尚翻領針織拼接襯衫NT$810高級感氣質優雅拼接燈籠袖立領針織NT$729韓版港風味復古襯衣女新款純色西裝領襯衫女長袖上衣NT$540別緻漂亮 小衫 寬鬆顯瘦中長遮屁股格紋襯衫外套NT$783韓版時尚通勤假兩件針織拼接襯衫NT$1,194寬鬆拼接休閒簡約百搭圓領長袖針織NT$720韓版時尚復古百搭蕾絲拼接寬鬆圓領衛衣NT$1,434時尚圓領法式通勤設計感荷葉邊收腰顯瘦泡泡袖襯衫NT$968 (2) 知性職感氣質珍珠立領壓褶長袖襯衫NT$878休閑襯衫白色襯衫圓領氣質襯衫工作通勤基礎款襯衫中長款上衣NT$810優雅通勤高級感木耳領長袖緞面襯衫女新款別緻鏤空氣質襯衫潮NT$950一見傾心 藍色緞面襯衫女職業通勤穿搭面試襯衣職場正裝上衣NT$945秋款殺到 高級感拼接假兩件燈籠袖針織衫百搭套頭毛衣內搭NT$1,013【M-4XL】大尺碼設計感韓版拼接假兩件圓領襯衫NT$1,013條紋襯衫設計感小眾拼接襯衫小個子上衣假兩件打底小衫NT$698休閒時尚百搭素面海軍領長袖T恤NT$1,035通勤黑色拼接上衣氣質三醋酸+萊賽爾拼接壓褶袖針織上衣NT$945洋氣長袖百搭設計感防曬上衣寬鬆慵懶薄款針織衫NT$729 (2) 今年流行 新款圓領設計感獨特別致寬鬆休閒上衣NT$833 (2) 氣質優雅簡約拼接條紋撞色假兩件長袖襯衫NT$1,125 (2) 秋季韓版東大門設計感小眾高級感雙口袋長袖襯衫上衣NT$900印花襯衫秋季大尺碼法式高級感獨特別致漂亮氣質上衣NT$1,103 (2) 木耳邊立領A字襯衫洋氣娃娃小衫襯衫白色襯衫藍色襯衫NT$1,254 (2) 通勤上班族穿搭秋季光澤動人疊片燕尾領華爾滋霧面緞長袖襯衫NT$1,114大尺碼黑色襯衫遮肚顯瘦胖MM上衣設計感減齡雪紡長袖上衣NT$1,254 (2) 秋季法式優雅氣質條紋雪紡襯衫V領口袋漂亮長袖上衣NT$675復古甜美花朵刺繡繫帶長袖防曬襯衫寬鬆百搭顯瘦上衣NT$648法式獨特早秋雪紡上衣藍色碎花七分袖襯衫NT$1,103 (2) 時尚設計感假兩件拼接撞色長袖襯衫NT$756 (2) 【S-5XL】韓版寬鬆慵懶風條紋撞色長袖襯衫NT$567【3色】韓版chic風法式掛脖V領繫帶褶皺高級感喇叭袖襯衫NT$807法式純欲風超大碼中長款女裝簡約風上衣T恤NT$710時尚款網紅上衣假兩件/疊穿圓領襯衫T恤NT$622 (2) 【4色】優雅氣質簡約鏤空七分袖寬鬆針織T恤NT$567 (15) 復古氣質優雅印花燈籠袖雪紡襯衫NT$1,098 (7) 【7色】簡約百搭溫柔親膚v領五分袖針織T恤NT$647 (4) 【4色】氣質簡約百搭鏤空圓領顯瘦針織T恤NT$810 (10) 韓版簡約格紋寬鬆單排扣長袖襯衫NT$794雪紡衫 半袖夏季 黑色洋氣小衫寬鬆 遮肚子顯瘦上衣NT$1,055 (16) 復古氣質優雅改良旗袍盤扣肌理感立領襯衫NT$1,125 (2) 極簡魅力休閒百搭寬鬆豎條紋七分袖襯衫NT$698 (6) «12...11121314151617...4546»
已加入購物車
上衣類
氣質條紋顯瘦時髦棉混紡袖口撞條小心機設計上衣長袖襯衫
NT$900
法式水墨塗鴉印花白色寬鬆單排扣撞色襯衫
NT$799
必備百搭款寬鬆大版顯瘦字母繡花內搭白色T恤
NT$788
(2)
極簡魅力溫柔好感素面顯瘦棉V領華夫格開叉T恤
NT$878
法式V領復古緞面純色氣質職業長袖襯衫
NT$855
全3色緞面v領微性感設計感壓褶知性職感襯衫
NT$1,125
(1)
文藝棉麻女設計感小眾寬鬆長袖亞麻襯衫
NT$765
居家時尚蕾絲鏤空繡花女棉大碼短袖上衣t恤
NT$1,086
經典氣質微奢高階感氣質雪紡長袖襯衫
NT$1,013
高階感緞面垂感職業面試OL通勤上衣襯衫
NT$1,042
洋氣翻領寬鬆遮肚顯瘦百搭休閒長袖上衣
NT$1,254
棉質暗提花時尚立領設計感小眾別緻百搭襯衫
NT$945
溫柔好感必備百搭款棉質條紋簡約內搭打底衫
高階感黑色緞面長袖秋褶皺設計感小眾一字領襯衫
假兩件條紋長袖秋季寬鬆拼接針織V領休閒襯衫上衣
NT$1,275
文藝復古寬鬆重工刺繡棉麻長袖襯衫女裝襯衣
飄帶襯衫女緞面長袖垂感職業通勤春秋設計感襯衣
NT$1,214
韓國甜美長袖氣質法式鎖骨小眾雪紡襯衫
NT$934
寬鬆慵懶百搭圓領插肩長袖中長款純棉襯衫
NT$1,035
設計感假兩件時尚翻領針織拼接襯衫
NT$810
高級感氣質優雅拼接燈籠袖立領針織
NT$729
韓版港風味復古襯衣女新款純色西裝領襯衫女長袖上衣
NT$540
別緻漂亮 小衫 寬鬆顯瘦中長遮屁股格紋襯衫外套
NT$783
韓版時尚通勤假兩件針織拼接襯衫
NT$1,194
寬鬆拼接休閒簡約百搭圓領長袖針織
NT$720
韓版時尚復古百搭蕾絲拼接寬鬆圓領衛衣
NT$1,434
時尚圓領法式通勤設計感荷葉邊收腰顯瘦泡泡袖襯衫
NT$968
知性職感氣質珍珠立領壓褶長袖襯衫
休閑襯衫白色襯衫圓領氣質襯衫工作通勤基礎款襯衫中長款上衣
優雅通勤高級感木耳領長袖緞面襯衫女新款別緻鏤空氣質襯衫潮
NT$950
一見傾心 藍色緞面襯衫女職業通勤穿搭面試襯衣職場正裝上衣
秋款殺到 高級感拼接假兩件燈籠袖針織衫百搭套頭毛衣內搭
【M-4XL】大尺碼設計感韓版拼接假兩件圓領襯衫
條紋襯衫設計感小眾拼接襯衫小個子上衣假兩件打底小衫
NT$698
休閒時尚百搭素面海軍領長袖T恤
通勤黑色拼接上衣氣質三醋酸+萊賽爾拼接壓褶袖針織上衣
洋氣長袖百搭設計感防曬上衣寬鬆慵懶薄款針織衫
今年流行 新款圓領設計感獨特別致寬鬆休閒上衣
NT$833
氣質優雅簡約拼接條紋撞色假兩件長袖襯衫
秋季韓版東大門設計感小眾高級感雙口袋長袖襯衫上衣
印花襯衫秋季大尺碼法式高級感獨特別致漂亮氣質上衣
NT$1,103
木耳邊立領A字襯衫洋氣娃娃小衫襯衫白色襯衫藍色襯衫
通勤上班族穿搭秋季光澤動人疊片燕尾領華爾滋霧面緞長袖襯衫
NT$1,114
大尺碼黑色襯衫遮肚顯瘦胖MM上衣設計感減齡雪紡長袖上衣
秋季法式優雅氣質條紋雪紡襯衫V領口袋漂亮長袖上衣
NT$675
復古甜美花朵刺繡繫帶長袖防曬襯衫寬鬆百搭顯瘦上衣
NT$648
法式獨特早秋雪紡上衣藍色碎花七分袖襯衫
時尚設計感假兩件拼接撞色長袖襯衫
NT$756
【S-5XL】韓版寬鬆慵懶風條紋撞色長袖襯衫
NT$567
【3色】韓版chic風法式掛脖V領繫帶褶皺高級感喇叭袖襯衫
NT$807
法式純欲風超大碼中長款女裝簡約風上衣T恤
NT$710
時尚款網紅上衣假兩件/疊穿圓領襯衫T恤
NT$622
【4色】優雅氣質簡約鏤空七分袖寬鬆針織T恤
(15)
復古氣質優雅印花燈籠袖雪紡襯衫
NT$1,098
(7)
【7色】簡約百搭溫柔親膚v領五分袖針織T恤
NT$647
(4)
【4色】氣質簡約百搭鏤空圓領顯瘦針織T恤
(10)
韓版簡約格紋寬鬆單排扣長袖襯衫
NT$794
雪紡衫 半袖夏季 黑色洋氣小衫寬鬆 遮肚子顯瘦上衣
NT$1,055
(16)
復古氣質優雅改良旗袍盤扣肌理感立領襯衫
極簡魅力休閒百搭寬鬆豎條紋七分袖襯衫
(6)