/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 台灣|流行時尚女裝
已加入購物車
冬日必備時尚好搭加絨保暖磨砂圓頭短筒雪地靴短靴
NT$1,103
(103)
女神必備時尚百搭絨面革粗跟長筒騎士靴子
NT$1,214
(107)
百搭時髦冬季必備皮毛一體毛絨雪地靴短靴子
NT$810
(97)
百搭時髦英倫風圓頭繫帶厚底馬丁靴
NT$2,004
(89)
館長推薦時尚英倫風百搭簡約厚底拉鏈靴子
NT$783
(33)
冬日必備加絨保暖厚底圓頭防滑雪地靴
NT$968
(34)
【女神必備】復古經典中筒圓頭粗跟綁帶騎士長靴
NT$1,376
(29)
百搭時髦率性時尚英倫風金屬圓頭中筒短靴子
NT$1,254
(31)
折$300
經典秋冬英倫風復古圓頭平跟後拉鏈切爾西短靴
NT$660
NT$960
(93)
韓版百搭舒適圓頭厚底設計感騎士靴短筒馬丁靴子
NT$1,396
(27)
氣質微奢百搭英倫風復古拉鏈厚底馬丁靴
NT$1,275
(28)
個性風格潮流百搭圓頭厚底加絨保暖短筒雪地靴子
NT$833
(60)
極簡魅力時尚冬季必備保暖百搭雪地靴短靴
NT$1,058
(30)
冬日必備時尚保暖可愛鹿角加絨加厚雪地靴子
NT$788
(23)
冬日必備時尚百搭加絨保暖厚底防滑雪地靴子
NT$900
(162)
復古時尚ins韓版保暖加絨圓頭厚底增高馬丁靴子
NT$1,103
(26)
個性風格復古鬆糕底圓頭磨砂短靴子
NT$1,412
(26)
百搭時髦復古時尚潮流鬆糕底中筒靴子
NT$1,759
(31)
簡約百搭好穿圓頭厚底魔術貼高幫休閒鞋
NT$1,086
(23)
簡約好搭時尚舒適厚底高幫綁帶休閒鞋
NT$920
(28)
視覺細復古時尚不掉筒瘦瘦靴尖頭高跟長靴子
NT$1,311
(98)
知性職感復古英倫風一腳蹬百搭樂福鞋平底鞋
NT$1,234
(26)
特厚雪靴女冬加絨保暖厚底拉鍊馬丁靴
NT$1,103
(135)
經典復古時尚素面方頭厚底粗跟後拉鏈短靴
NT$1,437
(82)
時尚舒適增高保暖休閒厚底舒適棉鞋靴子
NT$1,194
(76)
百搭時髦復古增高英倫風側拉鏈厚底馬丁靴子
NT$947
(117)
百搭時尚英倫風圓頭厚底馬丁靴子
NT$1,295
(31)
折$300
簡約好搭韓版撞色厚底軟底休閒鞋
NT$593
NT$893
(103)
復古時尚百搭質感圓頭厚底短筒繫帶靴子
NT$1,253
(106)
百搭時髦韓系英倫風絨面v口騎士靴高筒靴子
NT$1,307
(26)
氣質微奢超火韓系珍珠拼接皮帶扣短靴馬丁靴子
NT$1,379
(75)
秋冬新款韓版時尚絨面圓頭百搭平跟短靴
NT$833
(26)
潮流百搭時尚貝殼頭厚底增高休閒鞋
NT$1,103
(23)
簡約英倫風防水加絨保暖短筒馬丁靴子
NT$1,231
(27)
百搭時髦英倫風復古絨面粗高跟側拉鏈長筒靴
NT$1,554
(27)
百搭時髦氣質爆款針織拼接彈力中跟短靴
NT$1,349
(25)
時尚百搭高級感方頭加絨中跟短靴
NT$743
(37)
舒適中幫透氣可愛增高厚底運動鞋休閒鞋
NT$1,313
(33)
長纖腿系列彈力針織過膝方頭粗跟長筒靴子
NT$1,254
(28)
英倫風時尚復古厚底短筒切爾西馬丁靴子
NT$702
(27)
超火爆款韓版v口顯腿長騎士靴長筒靴
NT$1,295
(79)
時尚高級感簡約輕熟粗跟方頭厚底馬丁靴子
NT$1,058
(25)
百搭時髦率性復古騎士靴長筒靴
NT$1,275
(30)
必備百搭款圓頭厚底運動鞋小白鞋休閒鞋
NT$1,270
(28)
英倫風復古圓頭皮帶扣騎士靴高筒靴
NT$2,229
(84)
復古時尚高級感圓頭厚底粗跟拼接靴子
NT$1,295
(62)
時尚復古韓版皮帶扣套靴牛仔風騎士靴短靴子
NT$1,383
(30)
時尚通勤氣質百搭一腳蹬軟底淺口休閒鞋
NT$729
(10)
個性風格舒適好穿平跟深口圓頭鞋運動休閒鞋
NT$720
(35)
時尚百搭復古圓通增高側拉鏈馬丁靴子
NT$1,214
(30)
小隻女必備女神內增高鋸齒刀鋒底綁帶老爹鞋休閒鞋
NT$1,434
(37)
簡約好搭超好穿圓頭韓版時尚日常休閒鞋
NT$900
(77)
懶人時尚百搭休閒圓頭鏤空舒適耐穿一脚蹬平底鞋
NT$672
(90)
舒適簡約好搭韓版透氣網面厚底老爹鞋跑步鞋休閒鞋
NT$698
(36)
簡約好搭經典軟底休閒通勤一脚蹬懶人鞋平底鞋
NT$594
(30)
知性美型素面尖頭鞋PU通勤時尚一脚蹬高跟鞋
NT$923
(36)
百搭時髦韓版撞色字母平底休閒鞋
NT$743
(43)
韓版時尚簡約百搭方頭淺口軟底一腳蹬平底鞋
NT$748
(37)
優雅復古方頭瑪麗珍鞋蝴蝶結粗高跟一脚蹬高跟鞋
NT$990
(23)
時尚百搭簡約交叉扣帶扭結增高涼鞋
NT$902
(124)