/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.push({type:"img_load_error",src:e.target.src}):stringToLower(e.target.tagName)==="script"&&e.target.src&&holderFile(e.target.src)?loadFailed.push({type:"js_load_error",src:e.target.src}):stringToLower(e.target.tagName)==="link"&&e.target.href&&holderFile(e.target.href)&&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")))},window.addEventListener("load",function(){let mergeErrorMessage=errorMessageArr.concat(errorSignificanceMessageArr);fileLoadFailedFun(),jsExceptionFun(mergeErrorMessage),setPageLoadTimestamp()});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 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){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)}上衣|女性時尚 - vivi-look 台灣|流行時尚女裝 已加入購物車 會員登入收藏購物車所有商品新品上市人氣熱銷限時折扣特別企劃加一元 多一件上衣類T恤襯衫衛衣針織/毛衣細肩帶/背心風格支線清新學院風韓版優雅風可愛漫畫風百變休閒風洋裝類長洋裝短洋裝印花洋裝牛仔洋裝蕾絲洋裝針織洋裝吊帶褲套裝下著類寬褲長褲牛仔褲裙類內搭褲短褲鞋子休閒鞋平底鞋高跟鞋靴子涼鞋外套類休閒夾克西裝外套罩衫風衣外套羽絨外套內衣泳衣情趣內衣bra內衣內褲居家服/睡衣配件飾品包包墨鏡冰袖皮帶雨具/雨衣襪子圍巾/手套帽/披肩後跟貼 上衣類最新上架價格由低到高價格由高到低最高人氣【6色】簡約百搭休閒時尚v領字母印花短袖T恤NT$540 (32)設計感小眾獨特露鎖骨一字肩斜肩短袖T恤NT$486 (8)寬鬆慵懶風露背字母印花撞色短袖T恤NT$727日系簡約寬鬆抽繩顯瘦單排扣素面襯衫NT$945知性簡約收腰顯瘦v領雪紡短袖襯衫NT$963 (5)【M-4XL】休閒簡約復古條紋紐扣圓領短袖襯衫NT$675【4色】韓版寬鬆簡約v領字母純棉短袖T恤NT$788 (7)民族風重工刺繡棉麻大尺碼V領下開叉顯瘦襯衫NT$898設計感小眾鏤空馬甲針織衫v領網紅薄款百搭上衣NT$540 (36)韓版優雅氣質蕾絲鉤花v領短袖襯衫NT$833知性優雅百搭七分袖刺繡花鳥襯衫NT$788 (6)【5色】復古氣質寬鬆紐扣圓領短袖襯衫NT$899韓版百搭設計感小眾顯瘦圓領蕾絲拼接襯衫NT$648知性亮眼簡約時尚條紋綁帶收腰v領襯衫NT$855清新韓系簡約豎條紋翻領單排扣短袖襯衫NT$968【5色】休閒簡約寬鬆印花圓領純棉短袖T恤NT$621流蘇提花中度透明側邊開叉圓領休閒短袖上衣NT$855 (6)針織衫中袖七分寬鬆氣質打底上衣NT$968 (23)法式慵懶短袖v領針織衫上衣氣質夏季薄款T卹NT$1,025 (8)【12色】必備百搭款簡約寬鬆圓領素面短袖T恤NT$540 (73)【6色】寬鬆慵懶風印花百搭圓領短袖T恤NT$729韓國chic復古百搭交叉V領繫帶收腰顯瘦泡泡袖荷葉邊襯衫NT$737 (37)【5色】韓版螺紋v領簡約彈性短版短袖T恤NT$698 (29)【5色】大尺碼簡約百搭顯瘦飛袖圓領T恤NT$1,283 (10)【8色】簡約百搭顯瘦設計感無袖針織背心T恤NT$446 (99)優雅氣質復古印花撞色圓領五分袖襯衫NT$878 (9)復古休閒柔軟寬鬆顯瘦百搭無袖牛仔襯衫NT$1,214【150KG可穿】寬鬆慵懶風v領鏤空笑臉印花短袖T恤NT$756Korea正韓設計感抽繩不規則露肩短袖T恤NT$772清新日系寬鬆棉麻蝙蝠袖單排扣襯衫NT$880 (11)【7色】韓系簡約鏤空外搭冰絲抽繩針織短袖T恤NT$388 (30)寬鬆慵懶風緞面拼接短袖T恤NT$878極致簡約清爽休閒蝙蝠袖寬鬆顯瘦冰絲短上衣素面T恤NT$567 (10)洋氣碎花小衫氣質百搭減齡印花雪紡衫上衣襯衫NT$1,058簡約大氣蕾絲衫百搭休閒寬鬆型顯瘦白色套頭圓領襯衫NT$929 (30)【6色】韓版設計感網紗拼接泡泡袖針織T恤NT$540超仙寬鬆薄荷透明性感v領雪紡衫透視輕薄襯衫NT$900 (8)氣質優雅復古方領網紗拼接泡泡袖襯衫NT$783美式辣妹穿搭修身顯瘦小個子短款上衣網紗防曬長袖T卹NT$770Korea正韓簡約不規則褶皺顯瘦短袖T恤NT$621寬鬆慵懶風設計感後背鏤空印花短袖T恤NT$788寬鬆復古印花撞色圓領棉麻短袖T恤NT$648日系清新寬鬆顯瘦圓點單排扣五分袖襯衫NT$1,133 (32)寬鬆慵懶風韓版字母印花開叉圓領短袖T恤NT$783溫柔好感韓版透視鏤空鉤花寬鬆背心T恤NT$720 (32)新品限時大特價V領針織勾花罩衫T恤NT$486遮手臂薄款鏤空短版氣質鏤空罩衫T恤NT$810韓版寬鬆顯瘦字母顯瘦百搭短袖T恤NT$432設計感蕾絲拼接鏤空顯瘦短袖T恤NT$633復古大尺碼寬鬆v領素面棉麻短袖襯衫NT$732 (10)【6色】寬鬆休閒彩色字母印花連帽短袖T恤NT$878 (5)韓版正肩設計感白色小V領短袖T卹NT$749 (35)寬鬆簡約純色竹節棉全棉半袖短袖T卹NT$583 (76)復古棉麻純色百搭通勤休閒小飛袖翻領襯衫NT$810復古氣質珍珠掛脖露肩喇叭袖雪紡襯衫NT$998 (26)【7色】人氣復古設計感網紗針織拼接飛袖T恤NT$398 (106)【6色】微露小心機性感復古後背鏤空v領修身顯瘦T恤NT$498 (30)【4色】韓版設計感鏤空愛心印花短袖T恤NT$398大尺碼休閒舒適彩色紐扣短袖棉麻T恤NT$648【M-4XL】韓版寬鬆設計感假兩件撞色短袖T恤NT$567«12...14151617181920...5758»
已加入購物車
上衣類
【6色】簡約百搭休閒時尚v領字母印花短袖T恤
NT$540
(32)
設計感小眾獨特露鎖骨一字肩斜肩短袖T恤
NT$486
(8)
寬鬆慵懶風露背字母印花撞色短袖T恤
NT$727
日系簡約寬鬆抽繩顯瘦單排扣素面襯衫
NT$945
知性簡約收腰顯瘦v領雪紡短袖襯衫
NT$963
(5)
【M-4XL】休閒簡約復古條紋紐扣圓領短袖襯衫
NT$675
【4色】韓版寬鬆簡約v領字母純棉短袖T恤
NT$788
(7)
民族風重工刺繡棉麻大尺碼V領下開叉顯瘦襯衫
NT$898
設計感小眾鏤空馬甲針織衫v領網紅薄款百搭上衣
(36)
韓版優雅氣質蕾絲鉤花v領短袖襯衫
NT$833
知性優雅百搭七分袖刺繡花鳥襯衫
(6)
【5色】復古氣質寬鬆紐扣圓領短袖襯衫
NT$899
韓版百搭設計感小眾顯瘦圓領蕾絲拼接襯衫
NT$648
知性亮眼簡約時尚條紋綁帶收腰v領襯衫
NT$855
清新韓系簡約豎條紋翻領單排扣短袖襯衫
NT$968
【5色】休閒簡約寬鬆印花圓領純棉短袖T恤
NT$621
流蘇提花中度透明側邊開叉圓領休閒短袖上衣
針織衫中袖七分寬鬆氣質打底上衣
(23)
法式慵懶短袖v領針織衫上衣氣質夏季薄款T卹
NT$1,025
【12色】必備百搭款簡約寬鬆圓領素面短袖T恤
(73)
【6色】寬鬆慵懶風印花百搭圓領短袖T恤
NT$729
韓國chic復古百搭交叉V領繫帶收腰顯瘦泡泡袖荷葉邊襯衫
NT$737
(37)
【5色】韓版螺紋v領簡約彈性短版短袖T恤
NT$698
(29)
【5色】大尺碼簡約百搭顯瘦飛袖圓領T恤
NT$1,283
(10)
【8色】簡約百搭顯瘦設計感無袖針織背心T恤
NT$446
(99)
優雅氣質復古印花撞色圓領五分袖襯衫
NT$878
(9)
復古休閒柔軟寬鬆顯瘦百搭無袖牛仔襯衫
NT$1,214
【150KG可穿】寬鬆慵懶風v領鏤空笑臉印花短袖T恤
NT$756
Korea正韓設計感抽繩不規則露肩短袖T恤
NT$772
清新日系寬鬆棉麻蝙蝠袖單排扣襯衫
NT$880
(11)
【7色】韓系簡約鏤空外搭冰絲抽繩針織短袖T恤
NT$388
(30)
寬鬆慵懶風緞面拼接短袖T恤
極致簡約清爽休閒蝙蝠袖寬鬆顯瘦冰絲短上衣素面T恤
NT$567
洋氣碎花小衫氣質百搭減齡印花雪紡衫上衣襯衫
NT$1,058
簡約大氣蕾絲衫百搭休閒寬鬆型顯瘦白色套頭圓領襯衫
NT$929
【6色】韓版設計感網紗拼接泡泡袖針織T恤
超仙寬鬆薄荷透明性感v領雪紡衫透視輕薄襯衫
NT$900
氣質優雅復古方領網紗拼接泡泡袖襯衫
NT$783
美式辣妹穿搭修身顯瘦小個子短款上衣網紗防曬長袖T卹
NT$770
Korea正韓簡約不規則褶皺顯瘦短袖T恤
寬鬆慵懶風設計感後背鏤空印花短袖T恤
寬鬆復古印花撞色圓領棉麻短袖T恤
日系清新寬鬆顯瘦圓點單排扣五分袖襯衫
NT$1,133
寬鬆慵懶風韓版字母印花開叉圓領短袖T恤
溫柔好感韓版透視鏤空鉤花寬鬆背心T恤
NT$720
新品限時大特價V領針織勾花罩衫T恤
遮手臂薄款鏤空短版氣質鏤空罩衫T恤
NT$810
韓版寬鬆顯瘦字母顯瘦百搭短袖T恤
NT$432
設計感蕾絲拼接鏤空顯瘦短袖T恤
NT$633
復古大尺碼寬鬆v領素面棉麻短袖襯衫
NT$732
【6色】寬鬆休閒彩色字母印花連帽短袖T恤
韓版正肩設計感白色小V領短袖T卹
NT$749
(35)
寬鬆簡約純色竹節棉全棉半袖短袖T卹
NT$583
(76)
復古棉麻純色百搭通勤休閒小飛袖翻領襯衫
復古氣質珍珠掛脖露肩喇叭袖雪紡襯衫
NT$998
(26)
【7色】人氣復古設計感網紗針織拼接飛袖T恤
NT$398
(106)
【6色】微露小心機性感復古後背鏤空v領修身顯瘦T恤
NT$498
【4色】韓版設計感鏤空愛心印花短袖T恤
大尺碼休閒舒適彩色紐扣短袖棉麻T恤
【M-4XL】韓版寬鬆設計感假兩件撞色短袖T恤