/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)}外套類|女性時尚 - vivi-look 台灣|流行時尚女裝 已加入購物車 會員登入收藏購物車所有商品新品上市人氣熱銷限時折扣特別企劃加一元 多一件上衣類T恤襯衫衛衣針織/毛衣細肩帶/背心風格支線清新學院風韓版優雅風可愛漫畫風百變休閒風洋裝類長洋裝短洋裝印花洋裝牛仔洋裝蕾絲洋裝針織洋裝吊帶褲套裝下著類寬褲長褲牛仔褲裙類內搭褲短褲外套類休閒夾克西裝外套罩衫風衣外套羽絨外套鞋子休閒鞋平底鞋高跟鞋靴子涼鞋內衣泳衣情趣內衣bra內衣內褲居家服/睡衣配件飾品包包墨鏡冰袖皮帶雨具/雨衣襪子圍巾/手套帽/披肩後跟貼 外套類最新上架價格由低到高價格由高到低最高人氣半價超好搭配時尚優雅翻領格紋紐扣休閒夾克NT$689 NT$1,377 (605)半價英倫風率性時尚休閒百搭高級感風衣外套NT$1,084 NT$2,168 (390)半價【全8色】曡穿毛呢A字斗篷大衣NT$505 NT$1,010 (12)半價舒服軟糯好感 溫柔好感 雙面長毛絨女中長款寬鬆保暖加厚大衣NT$612 NT$1,224 (28)半價設計感韓版寬鬆羊羔毛小熊耳朵刺繡連帽外套休閒夾克NT$1,066 NT$2,132 (9)半價【全3色】慵懶風純色連帽針織外套NT$670 NT$1,340 (137)半價知性美型時尚撞色短款加厚寬鬆麵包服羽絨外套NT$998 NT$1,995 (171)新品 半價舒服軟糯好感連帽拼接拉鏈顯瘦羊羔絨外套NT$823 NT$1,646 (31)新品 半價时尚减龄高端毛呢外套NT$804 NT$1,607 (8)新品 半價【全4色】休閑顯瘦人字紋毛呢外套NT$957 NT$1,913 (5)新品 半價懶人時尚寬鬆假兩件連帽加厚外套NT$632 NT$1,264 (8)新品 半價百搭加厚連帽牛仔外套NT$765 NT$1,530 (8)新品 半價時尚設計感減齡格紋娃娃領中長款毛呢外套大衣NT$795 NT$1,590 (26)新品休閑別致寬鬆毛衣開衫NT$729 NT$1,042 (7)半價【全5色】日系簡約雙頭拉鏈圓領外套NT$964 NT$1,927 (11)半價簡約好搭減齡顯瘦休閒好物美式棒球服加絨加厚小羊毛外套NT$662 NT$1,323 (11)半價【全9色】顯瘦高端流行毛呢大衣NT$633 NT$1,265 (12)簡約好搭雪紡搭配吊帶防曬西裝外套NT$579 (31)半價人氣新品絕對要買經典款顯瘦中長款毛呢大衣風衣外套NT$935 NT$1,870 (155)半價客戶滿意度第一名顯瘦休閒拉鏈開衫休閒夾克NT$609 NT$1,218 (296)半價超好搭配高端時尚韓版連帽拉鏈毛呢短款休閑夾克NT$900 NT$1,799 (327)半價春秋必買韓版寬鬆素面中長款紐扣西裝外套NT$850 NT$1,699 (507)半價本季備受關注潮流單排扣素色長款風衣外套NT$934 NT$1,867 (423)半價【全6色】雙面紐扣中長款呢子大衣NT$322 NT$643 (12)半價時尚韓系復古格紋毛呢外套NT$632 NT$1,264 (6)新品 半價韓系學院風牛角扣仿羊羔毛大衣外套NT$804 NT$1,607 (10)新品 半價【全4色】慵懶風設計感保暖拉鏈連帽外套NT$938 NT$1,876 (3)新品 半價【全7色】溫柔好感加厚羊羔毛短款外套NT$689 NT$1,377 (4)新品 半價百搭氣質休閑雙面呢子連帽外套NT$747 NT$1,493 (6)新品 半價高級感牛角扣純色針織外套NT$964 NT$1,927 (10)半價個性風格時尚拼接牛仔設計感撞色西裝外套NT$1,451 NT$2,902 (108)半價提高時髦感韓版復古寬鬆拼接連帽牛仔外套休閒夾克NT$955 NT$1,910 (252)半價提高時髦感獨特設計純色顯瘦繫帶風衣外套NT$1,292 NT$2,583 (111)新品 半價氣質微奢 簡約好搭 羊羔毛外套顆粒羊羔絨加厚皮毛一體小個子機車服NT$957 NT$1,913 (7)新品 半價新款內搭打底衫韓系溫軟糯奶芙芙慵懶風藍色針織上衣NT$741 NT$1,481 (31)新品 半價【全7色】輕甜女孩溫柔軟糯針織開衫外套NT$727 NT$1,454 (9)半價高級感加棉加厚羊羔毛外套NT$755 NT$1,510 (36)新品時尚菱格輕薄短款棉服NT$1,270 NT$1,814 (4)新品 半價韓版時尚百搭寬鬆薄款立領氣質毛呢保暖外套NT$651 NT$1,301 (7)半價韓國風尚復古牛角扣素面寬鬆時尚大衣風衣外套NT$1,702 NT$3,404 (24)新品 半價日系寬鬆加厚西裝外套NT$804 NT$1,607 (8)新品 半價防水貂絨V領雙排扣針織馬甲NT$594 NT$1,187 (4)新品 半價韓版皮毛一體羊羔毛加厚外套NT$765 NT$1,530 (5)半價韓版時尚氣質素面翻領紐扣收腰顯瘦西裝外套NT$727 NT$1,454 (72)半價超好搭配絕對時尚韓版簡約格紋紐扣西裝外套NT$1,105 NT$2,210 (246)新品 半價視覺細保暖中長款麵包棉服NT$1,135 NT$2,270 (5)新品 半價英倫風仿水貂毛加厚格子中长款大衣NT$747 NT$1,493 (9)新品 半價溫柔小香風保暖仿羊羔毛短款外套NT$651 NT$1,301 (8)半價韓國風尚設計感氣質七分袖素面短款西裝外套NT$765 NT$1,530 (33)半價傲奢氣質重工金屬扣百搭開衫NT$785 NT$1,570 (33)半價休閒顯瘦百搭高級感知性亮眼 氣質微奢 毛呢大衣外套NT$938 NT$1,876 (22)新品 半價寬鬆顯瘦慵懶風撞色v領紐扣針織開衫罩衫NT$909 NT$1,818 (7)半價爆款時尚洋氣印花翻領長袖外套NT$1,118 NT$2,236 (30)半價經典加絨加厚寬鬆時尚連帽中長款風衣外套NT$1,066 NT$2,132 (11)半價【全4色】新款圓領綉花針織減齡開衫外套NT$765 NT$1,530 (25)半價超好搭配款式設計高級簡約素面七分袖西裝外套NT$651 NT$1,301 (278)半價百搭時髦小個子洋氣小香風假兩件燈籠袖襯衫NT$747 NT$1,493 (94)半價慵懶風寬鬆加厚大碼連帽衛衣外套NT$842 NT$1,683 (27)半價【全5色】寬鬆顯瘦中長款減齡呢子外套NT$680 NT$1,359 (9)半價【全6色】高級感加厚中長款翻領呢子大衣NT$1,184 NT$2,367 (32)«12345678...1516»
已加入購物車
外套類
超好搭配時尚優雅翻領格紋紐扣休閒夾克
NT$689 NT$1,377
(605)
英倫風率性時尚休閒百搭高級感風衣外套
NT$1,084 NT$2,168
(390)
【全8色】曡穿毛呢A字斗篷大衣
NT$505 NT$1,010
(12)
舒服軟糯好感 溫柔好感 雙面長毛絨女中長款寬鬆保暖加厚大衣
NT$612 NT$1,224
(28)
設計感韓版寬鬆羊羔毛小熊耳朵刺繡連帽外套休閒夾克
NT$1,066 NT$2,132
(9)
【全3色】慵懶風純色連帽針織外套
NT$670 NT$1,340
(137)
知性美型時尚撞色短款加厚寬鬆麵包服羽絨外套
NT$998 NT$1,995
(171)
舒服軟糯好感連帽拼接拉鏈顯瘦羊羔絨外套
NT$823 NT$1,646
(31)
时尚减龄高端毛呢外套
NT$804 NT$1,607
(8)
【全4色】休閑顯瘦人字紋毛呢外套
NT$957 NT$1,913
(5)
懶人時尚寬鬆假兩件連帽加厚外套
NT$632 NT$1,264
百搭加厚連帽牛仔外套
NT$765 NT$1,530
時尚設計感減齡格紋娃娃領中長款毛呢外套大衣
NT$795 NT$1,590
(26)
休閑別致寬鬆毛衣開衫
NT$729 NT$1,042
(7)
【全5色】日系簡約雙頭拉鏈圓領外套
NT$964 NT$1,927
(11)
簡約好搭減齡顯瘦休閒好物美式棒球服加絨加厚小羊毛外套
NT$662 NT$1,323
【全9色】顯瘦高端流行毛呢大衣
NT$633 NT$1,265
簡約好搭雪紡搭配吊帶防曬西裝外套
NT$579
人氣新品絕對要買經典款顯瘦中長款毛呢大衣風衣外套
NT$935 NT$1,870
(155)
客戶滿意度第一名顯瘦休閒拉鏈開衫休閒夾克
NT$609 NT$1,218
(296)
超好搭配高端時尚韓版連帽拉鏈毛呢短款休閑夾克
NT$900 NT$1,799
(327)
春秋必買韓版寬鬆素面中長款紐扣西裝外套
NT$850 NT$1,699
(507)
本季備受關注潮流單排扣素色長款風衣外套
NT$934 NT$1,867
(423)
【全6色】雙面紐扣中長款呢子大衣
NT$322 NT$643
時尚韓系復古格紋毛呢外套
(6)
韓系學院風牛角扣仿羊羔毛大衣外套
(10)
【全4色】慵懶風設計感保暖拉鏈連帽外套
NT$938 NT$1,876
(3)
【全7色】溫柔好感加厚羊羔毛短款外套
(4)
百搭氣質休閑雙面呢子連帽外套
NT$747 NT$1,493
高級感牛角扣純色針織外套
個性風格時尚拼接牛仔設計感撞色西裝外套
NT$1,451 NT$2,902
(108)
提高時髦感韓版復古寬鬆拼接連帽牛仔外套休閒夾克
NT$955 NT$1,910
(252)
提高時髦感獨特設計純色顯瘦繫帶風衣外套
NT$1,292 NT$2,583
(111)
氣質微奢 簡約好搭 羊羔毛外套顆粒羊羔絨加厚皮毛一體小個子機車服
新款內搭打底衫韓系溫軟糯奶芙芙慵懶風藍色針織上衣
NT$741 NT$1,481
【全7色】輕甜女孩溫柔軟糯針織開衫外套
NT$727 NT$1,454
高級感加棉加厚羊羔毛外套
NT$755 NT$1,510
(36)
時尚菱格輕薄短款棉服
NT$1,270 NT$1,814
韓版時尚百搭寬鬆薄款立領氣質毛呢保暖外套
NT$651 NT$1,301
韓國風尚復古牛角扣素面寬鬆時尚大衣風衣外套
NT$1,702 NT$3,404
(24)
日系寬鬆加厚西裝外套
防水貂絨V領雙排扣針織馬甲
NT$594 NT$1,187
韓版皮毛一體羊羔毛加厚外套
韓版時尚氣質素面翻領紐扣收腰顯瘦西裝外套
(72)
超好搭配絕對時尚韓版簡約格紋紐扣西裝外套
NT$1,105 NT$2,210
(246)
視覺細保暖中長款麵包棉服
NT$1,135 NT$2,270
英倫風仿水貂毛加厚格子中长款大衣
溫柔小香風保暖仿羊羔毛短款外套
韓國風尚設計感氣質七分袖素面短款西裝外套
(33)
傲奢氣質重工金屬扣百搭開衫
NT$785 NT$1,570
休閒顯瘦百搭高級感知性亮眼 氣質微奢 毛呢大衣外套
(22)
寬鬆顯瘦慵懶風撞色v領紐扣針織開衫罩衫
NT$909 NT$1,818
爆款時尚洋氣印花翻領長袖外套
NT$1,118 NT$2,236
(30)
經典加絨加厚寬鬆時尚連帽中長款風衣外套
【全4色】新款圓領綉花針織減齡開衫外套
(25)
超好搭配款式設計高級簡約素面七分袖西裝外套
(278)
百搭時髦小個子洋氣小香風假兩件燈籠袖襯衫
(94)
慵懶風寬鬆加厚大碼連帽衛衣外套
NT$842 NT$1,683
(27)
【全5色】寬鬆顯瘦中長款減齡呢子外套
NT$680 NT$1,359
【全6色】高級感加厚中長款翻領呢子大衣
NT$1,184 NT$2,367
(32)