/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)}T恤|女性時尚 - vivi-look 台灣|流行時尚女裝 已加入購物車 會員登入收藏購物車所有商品新品上市人氣熱銷限時折扣特別企劃加一元 多一件上衣類T恤襯衫衛衣針織/毛衣細肩帶/背心風格支線清新學院風韓版優雅風可愛漫畫風百變休閒風洋裝類長洋裝短洋裝印花洋裝牛仔洋裝蕾絲洋裝針織洋裝吊帶褲套裝下著類寬褲長褲牛仔褲裙類內搭褲短褲外套類休閒夾克西裝外套罩衫風衣外套羽絨外套鞋子休閒鞋平底鞋高跟鞋靴子涼鞋內衣泳衣情趣內衣bra內衣內褲居家服/睡衣配件飾品包包墨鏡冰袖皮帶雨具/雨衣襪子圍巾/手套帽/披肩後跟貼 T恤最新上架價格由低到高價格由高到低最高人氣半價簡約寬鬆休閒拼接撞色圓領長袖T恤NT$528 NT$1,056 (78)半價【14色】簡約百搭復古半高領素面五分袖針織T恤NT$437 NT$873 (387)新品 半價休閒簡約百搭印花圓領撞色長袖T恤NT$574 NT$1,148 (7)新品 半價大碼限定撞色德絨保暖T恤NT$437 NT$873 (12)半價【全6色】爆款加厚半高領内搭T恤NT$670 NT$1,340 (108)半價舒適百搭撞色假兩件字母刺綉遮肉長袖T恤NT$680 NT$1,359 (9)半價韓版設計感蝴蝶結一字領露肩短袖T恤NT$414 NT$827 (322)半價【6色】簡約時尚氣質圓領菱格鏤空短袖針織T恤NT$397 NT$793 (35)半價【全10色】半高領内搭長袖針織短款T恤NT$432 NT$864 (21)半價簡約時尚ins風素面套頭圓領寬鬆燈籠袖T恤NT$315 NT$629 (86)半價【單品可選】強檔驚喜簡約休閑連帽無袖馬甲+白色t恤NT$727 NT$1,454 (403)半價強檔驚喜時尚v領薄針織素色短袖T恤NT$551 NT$1,102 (76)必備百搭款休閒五分袖紐扣設計圓領T恤NT$788 (530)溫柔的感覺時尚撞色V領中長款假兩件T恤NT$715 (359)半價大尺寸設計感 好感女孩 寬鬆顯瘦打底衫NT$459 NT$918 (10)新品發熱衣推薦舒服保暖加厚磨毛長袖T恤NT$591 NT$844 (6)人氣熱銷買兩件更划算! 不挑身材純色新款寬鬆打底衫顯瘦遮肉上衣NT$513 (7)【全3色】舒服軟糯好感純棉V領拉鏈長袖假兩件T恤NT$855 (31)【多款印花】簡約好搭簡約v領印花寬鬆短袖T恤NT$432 (341)【7款印花】休閒簡約時尚百搭圓領短袖T恤NT$358 (6)小個子休閒紫色針織短袖正肩上衣純色T卹NT$720 (73)半價氣質套頭顯瘦百搭v領亮絲短袖冰絲針織衫t卹NT$612 NT$1,224 (189)【M-4XL】寬鬆百搭不規則斜領抽繩長袖T恤NT$567 (117)甜美系時尚素色V領修身百搭長袖T恤NT$788 (248)不可缺少必買經典款圓領棉長袖T恤NT$757 (80)當季流行休閑簡約素色圓領套頭長袖T恤NT$414 (155)簡約百搭氣質泡泡袖圓領素面針織T恤NT$765 (62)【5色】氣質簡約百搭v領素面五分袖針織T恤NT$648 (5)半價絕對時尚韓版多色可選內刷毛百搭高領內搭T恤NT$339 NT$677 (189)時尚好搭雙色條紋透氣套頭T賉NT$788 (25)簡約質感經典款百搭高齡五分鐘針織T恤NT$1,123 (71)全場精選韓版時尚拼接翻領長袖T恤NT$1,035 (535)【多款印花】休閒簡約印花竹節棉短袖T恤NT$432 (146)氣質堆堆領套頭寬鬆拼色方格T恤NT$794 (6)吸引視線簡約撞色圓領長袖針織毛衣T恤NT$968 (32)【13色】寬鬆時尚印花百搭圓領短袖T恤NT$594 (3)洋氣蕾絲鏤空時尚長袖雙層内搭T恤NT$554 (3)韓版寬鬆休閒遮肉款V領假兩件撞色T恤NT$567 (400)【全3色】懶人時尚顯瘦寬鬆V領假兩件寬鬆長袖T恤NT$736 (10)純欲風針織衫女性感辣妹收腰開叉修身上衣NT$756 (12)慵懶百搭純棉正肩低V領顯瘦長袖T恤NT$788 (7)經典款純棉韓版百搭V領寬鬆打底衫NT$540 (27)簡約好搭寬鬆休閒貼布款五分袖T恤NT$621 (337)半價【M-5XL】率性時尚百搭純色半拉鏈翻領長袖T恤NT$437 NT$873 (9)【7色】氣質優雅復古簡約半高領五分袖素面針織短袖T恤NT$833 (9)顯瘦長袖寬鬆休閒純色洋氣百搭圓領打底上衣NT$529 (6)半價韓版簡約百搭雪紡拼接喇叭袖寬鬆v領T恤NT$670 NT$1,340 (203)熱銷推薦休閑時尚海軍領基礎百搭長袖T恤NT$899 (10)高端小香風掐腰輕奢法式名媛上衣NT$1,086 (7)【6色】復古氣質百搭大尺碼素面棉麻T恤NT$668 (7)秋冬新款簡約長袖素面多色修身T恤NT$378 (466)限時特惠韓版慵懶風寬鬆條紋長袖T恤NT$993 (5)知性美型新款半高領内搭長袖T恤NT$817 (33)【3色】百搭時尚寬鬆簡約素面連帽五分袖T恤NT$756 (6)韓版時尚純色薄款新款打底衫連帽長袖T恤NT$890 (6)復古優雅刺繡盤扣立領長袖T恤NT$486 (77)超級柔軟 雲朵感 秋冬小香風 內搭寬鬆毛衣長袖針織衫低領上衣NT$334 (5)舒服軟糯好感洋氣條紋磨毛内搭長袖T恤NT$765 (9)美式復古休閑條紋polo領半拉鏈長袖T恤NT$594 (5)韓系知性純色假兩件V領顯瘦長袖打底T恤NT$1,013 (10)«12345678...1516»
已加入購物車
T恤
簡約寬鬆休閒拼接撞色圓領長袖T恤
NT$528 NT$1,056
(78)
【14色】簡約百搭復古半高領素面五分袖針織T恤
NT$437 NT$873
(387)
休閒簡約百搭印花圓領撞色長袖T恤
NT$574 NT$1,148
(7)
大碼限定撞色德絨保暖T恤
(12)
【全6色】爆款加厚半高領内搭T恤
NT$670 NT$1,340
(108)
舒適百搭撞色假兩件字母刺綉遮肉長袖T恤
NT$680 NT$1,359
(9)
韓版設計感蝴蝶結一字領露肩短袖T恤
NT$414 NT$827
(322)
【6色】簡約時尚氣質圓領菱格鏤空短袖針織T恤
NT$397 NT$793
(35)
【全10色】半高領内搭長袖針織短款T恤
NT$432 NT$864
(21)
簡約時尚ins風素面套頭圓領寬鬆燈籠袖T恤
NT$315 NT$629
(86)
【單品可選】強檔驚喜簡約休閑連帽無袖馬甲+白色t恤
NT$727 NT$1,454
(403)
強檔驚喜時尚v領薄針織素色短袖T恤
NT$551 NT$1,102
(76)
必備百搭款休閒五分袖紐扣設計圓領T恤
NT$788
(530)
溫柔的感覺時尚撞色V領中長款假兩件T恤
NT$715
(359)
大尺寸設計感 好感女孩 寬鬆顯瘦打底衫
NT$459 NT$918
(10)
發熱衣推薦舒服保暖加厚磨毛長袖T恤
NT$591 NT$844
(6)
買兩件更划算! 不挑身材純色新款寬鬆打底衫顯瘦遮肉上衣
NT$513
【全3色】舒服軟糯好感純棉V領拉鏈長袖假兩件T恤
NT$855
(31)
【多款印花】簡約好搭簡約v領印花寬鬆短袖T恤
NT$432
(341)
【7款印花】休閒簡約時尚百搭圓領短袖T恤
NT$358
小個子休閒紫色針織短袖正肩上衣純色T卹
NT$720
(73)
氣質套頭顯瘦百搭v領亮絲短袖冰絲針織衫t卹
NT$612 NT$1,224
(189)
【M-4XL】寬鬆百搭不規則斜領抽繩長袖T恤
NT$567
(117)
甜美系時尚素色V領修身百搭長袖T恤
(248)
不可缺少必買經典款圓領棉長袖T恤
NT$757
(80)
當季流行休閑簡約素色圓領套頭長袖T恤
NT$414
(155)
簡約百搭氣質泡泡袖圓領素面針織T恤
NT$765
(62)
【5色】氣質簡約百搭v領素面五分袖針織T恤
NT$648
(5)
絕對時尚韓版多色可選內刷毛百搭高領內搭T恤
NT$339 NT$677
時尚好搭雙色條紋透氣套頭T賉
(25)
簡約質感經典款百搭高齡五分鐘針織T恤
NT$1,123
(71)
全場精選韓版時尚拼接翻領長袖T恤
NT$1,035
(535)
【多款印花】休閒簡約印花竹節棉短袖T恤
(146)
氣質堆堆領套頭寬鬆拼色方格T恤
NT$794
吸引視線簡約撞色圓領長袖針織毛衣T恤
NT$968
(32)
【13色】寬鬆時尚印花百搭圓領短袖T恤
NT$594
(3)
洋氣蕾絲鏤空時尚長袖雙層内搭T恤
NT$554
韓版寬鬆休閒遮肉款V領假兩件撞色T恤
(400)
【全3色】懶人時尚顯瘦寬鬆V領假兩件寬鬆長袖T恤
NT$736
純欲風針織衫女性感辣妹收腰開叉修身上衣
NT$756
慵懶百搭純棉正肩低V領顯瘦長袖T恤
經典款純棉韓版百搭V領寬鬆打底衫
NT$540
(27)
簡約好搭寬鬆休閒貼布款五分袖T恤
NT$621
(337)
【M-5XL】率性時尚百搭純色半拉鏈翻領長袖T恤
【7色】氣質優雅復古簡約半高領五分袖素面針織短袖T恤
NT$833
顯瘦長袖寬鬆休閒純色洋氣百搭圓領打底上衣
NT$529
韓版簡約百搭雪紡拼接喇叭袖寬鬆v領T恤
(203)
熱銷推薦休閑時尚海軍領基礎百搭長袖T恤
NT$899
高端小香風掐腰輕奢法式名媛上衣
NT$1,086
【6色】復古氣質百搭大尺碼素面棉麻T恤
NT$668
秋冬新款簡約長袖素面多色修身T恤
NT$378
(466)
限時特惠韓版慵懶風寬鬆條紋長袖T恤
NT$993
知性美型新款半高領内搭長袖T恤
NT$817
(33)
【3色】百搭時尚寬鬆簡約素面連帽五分袖T恤
韓版時尚純色薄款新款打底衫連帽長袖T恤
NT$890
復古優雅刺繡盤扣立領長袖T恤
NT$486
(77)
超級柔軟 雲朵感 秋冬小香風 內搭寬鬆毛衣長袖針織衫低領上衣
NT$334
舒服軟糯好感洋氣條紋磨毛内搭長袖T恤
美式復古休閑條紋polo領半拉鏈長袖T恤
韓系知性純色假兩件V領顯瘦長袖打底T恤
NT$1,013