/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內衣內褲居家服/睡衣配件飾品包包墨鏡冰袖皮帶雨具/雨衣襪子圍巾/手套帽/披肩後跟貼 上衣類最新上架價格由低到高價格由高到低最高人氣簡約好搭氣質復古甜美v領荷葉邊襯衫NT$810 (24)Korea正韓復古v領針織拼接泡泡袖襯衫NT$922 (28)【7色】氣質簡約百搭圓領亮絲針織短袖T恤NT$788 (6)休閒時尚韓版字母印花設計感鏤空v領短袖T恤NT$378 (89)法式襯衫女2024春夏新款印花小衫高級感寬鬆休閒防曬上衣NT$1,125 (10)2024熱銷新款日系夏季女簡約休閒微透紗網喇叭袖拼接套頭T卹3色NT$968 (5)春季簡約圓領拼接寬鬆T卹女款休閒時尚上衣NT$920 (5)韓版溫柔顯瘦泡泡袖撞色拼接雪紡袖翻領針織T恤NT$720 (11)溫柔好感氣質百搭假兩件撞色圓領針織NT$855韓版精緻小香風撞色拼接長袖針織T恤NT$1,250 (12)優雅知性拼色彩虹條紋短袖鏤空針織T恤NT$1,295 (12)【8色】寬鬆時尚韓版假兩件v領短袖T恤NT$743 (111)【5色】休閒簡約百搭條紋撞色圓領針織短袖T恤NT$621百搭時尚v領排扣拼接條紋假兩件撞色襯衫NT$900氣質優雅復古印花圓領襯衫NT$866 (12)設計感小眾正肩顯瘦不規則鏤空短袖T恤NT$432 (27)【5色】簡約百搭復古半高領素面氣質短袖針織T恤NT$782韓系簡約設計感百搭綁帶木耳邊針織短袖T恤NT$648 (12)【17色】韓版簡約休閒百搭圓領短袖針織T恤NT$540 (97)簡約時尚百搭半高領條紋撞色長袖針織T恤NT$756【6色】簡約百搭純色半高領無袖背心針織T恤NT$621 (11)休閒時尚簡約百搭印花圓領短袖T恤NT$370 (106)小眾復古仙氣溫柔風印花繫帶蝴蝶結襯衫NT$923 (9)【5色】百搭時尚復古鏤空圓領針織T恤NT$788 (6)法式別緻設計感小眾V領荷葉邊雪紡碎花襯衫NT$1,133 (9)氣質顯瘦減齡百搭韓版條紋針織短袖T恤NT$446溫柔好感簡約設計感鏤空短袖圓領T恤NT$1,080【5色】簡約百搭v領短袖針織T恤NT$756氣質微奢韓版立領珍珠雪紡長袖襯衫NT$1,383【M-4XL】韓版時尚簡約鏤空圓領雪紡短袖T恤NT$788 (6)韓版優雅氣質喇叭袖蕾絲鏤空短袖T恤NT$720 (7)【4色】簡約百搭v領輕熟風長袖針織T恤NT$702 (9)韓版設計感字母印花單排扣長袖襯衫NT$799 (8)時尚設計感牛仔拼接撞色寬鬆大碼短袖T恤NT$765 (35)法式優雅小香風V領時尚精緻洋氣蕾絲長袖T恤NT$1,103 (8)法式V領蕾絲網紗蕾絲韓版長袖襯衫NT$765【5色】寬鬆優雅時尚百搭鏤空v領針織T恤NT$828 (10)溫柔好感時尚寬鬆撞色七分袖圓領針織T恤NT$1,013 (7)知性優雅設計感假兩件泡泡袖針織NT$765百搭時髦復古喇叭袖蕾絲設計感短袖襯衫NT$979 (11)韓版寬鬆慵懶風印花中長款短袖T恤NT$594 (9)簡約百搭撞色休閒時尚套頭針織短袖T恤NT$878 (12)氣質優雅復古花朵撞色圓領針織短袖T恤NT$810 (8)時髦率性復古條紋撞色圓領短袖針織T恤NT$702【7色】氣質簡約素面半高領針織T恤NT$867 (27)簡約好搭寬鬆慵懶風v領開叉顯瘦T恤NT$486清新時尚小碎花七分袖襯衫NT$929 (152)韓系chic風修身顯瘦假兩件中長款短袖T恤NT$666 (29)超好看設計感假兩件燈籠袖圓領針織NT$1,400氣質微奢日系條紋荷葉邊燈籠袖襯衫NT$1,013【5色】寬鬆慵懶風純色七分袖圓領T恤NT$367 (37)新中式盤扣氣質減齡寬鬆立領襯衫NT$720氣質復古蕾絲鏤空優雅針織設計感針織NT$810 (8)【13色】簡約百搭顯瘦v領素面針織短袖T恤NT$648簡約百搭不規則修身顯瘦圓領短袖T恤NT$450 (67)寬鬆長袖上衣荷葉邊設計感超仙蕾絲衫方領白色襯衫NT$1,353 (33)氣質優雅復古精緻蕾絲蝙蝠袖短袖針織T恤NT$729 (6)法式復古優雅玫瑰印花蝴蝶結飄帶襯衫NT$1,058 (5)復古設計感印花撞色圓領襯衫NT$1,080 (6)簡約百搭寬鬆條紋圓領一字領針織T恤NT$878 (31)«12...26272829303132...5758»
已加入購物車
上衣類
簡約好搭氣質復古甜美v領荷葉邊襯衫
NT$810
(24)
Korea正韓復古v領針織拼接泡泡袖襯衫
NT$922
(28)
【7色】氣質簡約百搭圓領亮絲針織短袖T恤
NT$788
(6)
休閒時尚韓版字母印花設計感鏤空v領短袖T恤
NT$378
(89)
法式襯衫女2024春夏新款印花小衫高級感寬鬆休閒防曬上衣
NT$1,125
(10)
2024熱銷新款日系夏季女簡約休閒微透紗網喇叭袖拼接套頭T卹3色
NT$968
(5)
春季簡約圓領拼接寬鬆T卹女款休閒時尚上衣
NT$920
韓版溫柔顯瘦泡泡袖撞色拼接雪紡袖翻領針織T恤
NT$720
(11)
溫柔好感氣質百搭假兩件撞色圓領針織
NT$855
韓版精緻小香風撞色拼接長袖針織T恤
NT$1,250
(12)
優雅知性拼色彩虹條紋短袖鏤空針織T恤
NT$1,295
【8色】寬鬆時尚韓版假兩件v領短袖T恤
NT$743
(111)
【5色】休閒簡約百搭條紋撞色圓領針織短袖T恤
NT$621
百搭時尚v領排扣拼接條紋假兩件撞色襯衫
NT$900
氣質優雅復古印花圓領襯衫
NT$866
設計感小眾正肩顯瘦不規則鏤空短袖T恤
NT$432
(27)
【5色】簡約百搭復古半高領素面氣質短袖針織T恤
NT$782
韓系簡約設計感百搭綁帶木耳邊針織短袖T恤
NT$648
【17色】韓版簡約休閒百搭圓領短袖針織T恤
NT$540
(97)
簡約時尚百搭半高領條紋撞色長袖針織T恤
NT$756
【6色】簡約百搭純色半高領無袖背心針織T恤
休閒時尚簡約百搭印花圓領短袖T恤
NT$370
(106)
小眾復古仙氣溫柔風印花繫帶蝴蝶結襯衫
NT$923
(9)
【5色】百搭時尚復古鏤空圓領針織T恤
法式別緻設計感小眾V領荷葉邊雪紡碎花襯衫
NT$1,133
氣質顯瘦減齡百搭韓版條紋針織短袖T恤
NT$446
溫柔好感簡約設計感鏤空短袖圓領T恤
NT$1,080
【5色】簡約百搭v領短袖針織T恤
氣質微奢韓版立領珍珠雪紡長袖襯衫
NT$1,383
【M-4XL】韓版時尚簡約鏤空圓領雪紡短袖T恤
韓版優雅氣質喇叭袖蕾絲鏤空短袖T恤
(7)
【4色】簡約百搭v領輕熟風長袖針織T恤
NT$702
韓版設計感字母印花單排扣長袖襯衫
NT$799
(8)
時尚設計感牛仔拼接撞色寬鬆大碼短袖T恤
NT$765
(35)
法式優雅小香風V領時尚精緻洋氣蕾絲長袖T恤
NT$1,103
法式V領蕾絲網紗蕾絲韓版長袖襯衫
【5色】寬鬆優雅時尚百搭鏤空v領針織T恤
NT$828
溫柔好感時尚寬鬆撞色七分袖圓領針織T恤
NT$1,013
知性優雅設計感假兩件泡泡袖針織
百搭時髦復古喇叭袖蕾絲設計感短袖襯衫
NT$979
韓版寬鬆慵懶風印花中長款短袖T恤
NT$594
簡約百搭撞色休閒時尚套頭針織短袖T恤
NT$878
氣質優雅復古花朵撞色圓領針織短袖T恤
時髦率性復古條紋撞色圓領短袖針織T恤
【7色】氣質簡約素面半高領針織T恤
NT$867
簡約好搭寬鬆慵懶風v領開叉顯瘦T恤
NT$486
清新時尚小碎花七分袖襯衫
NT$929
(152)
韓系chic風修身顯瘦假兩件中長款短袖T恤
NT$666
(29)
超好看設計感假兩件燈籠袖圓領針織
NT$1,400
氣質微奢日系條紋荷葉邊燈籠袖襯衫
【5色】寬鬆慵懶風純色七分袖圓領T恤
NT$367
(37)
新中式盤扣氣質減齡寬鬆立領襯衫
氣質復古蕾絲鏤空優雅針織設計感針織
【13色】簡約百搭顯瘦v領素面針織短袖T恤
簡約百搭不規則修身顯瘦圓領短袖T恤
NT$450
(67)
寬鬆長袖上衣荷葉邊設計感超仙蕾絲衫方領白色襯衫
NT$1,353
(33)
氣質優雅復古精緻蕾絲蝙蝠袖短袖針織T恤
NT$729
法式復古優雅玫瑰印花蝴蝶結飄帶襯衫
NT$1,058
復古設計感印花撞色圓領襯衫
簡約百搭寬鬆條紋圓領一字領針織T恤
(31)