/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;e.target.tagName==="IMG"&&e.target.src&&holderFile(e.target.src)?loadFailed.push({type:"img_load_error",src:e.target.src}):e.target.tagName==="SCRIPT"&&e.target.src&&holderFile(e.target.src)?loadFailed.push({type:"js_load_error",src:e.target.src}):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&&typeof errorObj=="string"&&(errorObj.indexOf("SecurityError")!==-1||errorObj.indexOf(`evaluating 'navigator.serviceWorker.register'`)!==-1))return;const hasSignificanceError=errorSignificanceMessageInfo.some(sign=>errorMessage.includes("Unexpected token "+sign)||errorMessage.includes("unexpected token"+sign));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: 14px; padding: 2px 10px;"),errorSignificanceMessageArr.push({errorMessage,errorType:"significance",pageType:"",scriptURI:scriptURI?scriptURI.replace(/[?#].*$/,""):"",domMessage:lastClickDom,errorObj:errorObj.toString(),lineNumber,columnNumber,...otherInfo()}),lastClickDom=""),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)});function calculateVisitTime(){let endTime=new Date;return(endTime-startTime)/1e3+"s"}function fileLoadFailedFun(){loadFailed.length>0&&monitorFrontFilesFailed({filesInfo:loadFailed}).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&&(k.scriptURI.endsWith(".html")||k.scriptURI.endsWith(".js")||k.scriptURI.endsWith("/"))&&getWebPageSource(k.scriptURI).then(function(webpageSource){let pageTextType=k.scriptURI.endsWith(".html")||k.scriptURI.endsWith("/")||k.scriptURI.endsWith(".js")?"js":"";processHtmlSourceCode(webpageSource,k.lineNumber,pageTextType,k)}).catch(function(error){console.error(error)})}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){var k,code="";if(lines===""||targetLineNumber===0)return!1;for(k=0;k{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){console.log(response),resolve(response)}).catch(function(error){console.error(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}}}catch(e){console.error(e)}包包|女性時尚 - momo-chic 台灣|時尚服飾、海外購物情報站
已加入購物車
不可缺少日系素色防盜大容量卡包真皮錢包包
NT$1,095
(3)
韓國復古百搭純色日系原宿工裝單肩斜挎帆布包包
NT$465
(2)
人氣通勤大容量拉鏈休閒簡約帆布肩背包包
NT$466
(21)
韓國風尚休閒撞色蕾絲單肩斜跨包包
NT$1,057
(2)
本週新品秋冬搭配素色手提單肩大容量包包
NT$901
(4)
時尚好搭甜美單肩拼接斜挎雲朵包包
NT$655
(5)
吸睛注目簡約大容量絲帶多色單肩手提斜跨包包
NT$898
(5)
吸睛注目時尚仙女蕾絲單肩手提水桶包包
NT$816
(9)
全場精選時尚單肩手提編織包撞色包包
NT$999
(4)
百變休閒復古草編拉鏈手提大容量包包
NT$1,083
(21)
全場精選時尚多色手提斜挎素色透明包包
NT$558
(2)
吸睛注目簡約素色鏈條金屬感大容量包包
NT$465
(4)
強力推薦簡約素色蝴蝶結手提斜挎多色包包
NT$777
(8)
週末限定韓版素色褶皺大容量抽繩包包
NT$1,225
(6)
时髦率性簡約素色花朵多色小包手機包鏈條包包
NT$749
(21)
時尚好搭日韓風單肩斜挎草編托特水桶包包
NT$805
吸睛注目休閒素色鏤空針織單肩包包
NT$858
(14)
強檔驚喜小清新草編拉鏈刺繡植物包包
NT$688
(4)
吸睛注目時尚手提包花朵小包百搭包包
NT$998
持續熱賣中工作單肩拉鏈拼接帆布包包
NT$1,113
(5)
設計感休閒手提單肩蝴蝶結純色包包
NT$998
(13)
強力推薦休閒拼接大容量帆布斜挎包包
NT$1,225
(44)
強力推薦簡約素色百搭腋下包單肩包包
NT$854
(14)
持續熱賣中田園風復古編制手提草編包包
NT$780
(22)
TOP推薦學院風素色大容量拉鏈旅行帆布包包
NT$1,313
(60)
簡約質感韓版同情大容量手提斜挎單肩包包
NT$1,073
(13)
時尚好搭復古百搭草編編制包包
NT$1,000
(64)
盲盒產品-現貨秒發、即日出貨、先到先得
NT$499
NT$998
(259)
時尚好搭簡約素色拉鏈托特包中全年包包
NT$999
(4)
韓國風時尚純色拉鏈托特包大容量包包
NT$999
(14)
全場精選簡約素色拉鏈大容量單肩包包
NT$934
(7)
百變休閒簡約純色拉鏈小圓包單肩包包
NT$620
(3)
持續熱賣中簡約素色磁扣單肩包包
NT$865
(3)
強力推薦純色單肩拉鏈大容量全年包包
NT$546
(20)
時尚好搭簡約單肩手提大容量純色包包
NT$497
(5)
時尚好搭休閒帆布單肩拼接大容量包包
NT$865
(6)
百變休閒商务大容量撞色單肩水桶包
NT$1,653
(7)
當季流行休閒撞色單肩磁釦拼色包包
NT$1,000
(16)
新品來襲簡約素色百搭斜挎單肩小方包包
NT$798
(4)
時尚好搭工作單肩磁釦大容量中包包
NT$888
(15)
本週新品復古編制手提斜挎小方包包
NT$910
時尚好搭簡約素色復古大容量通勤單肩包包
NT$1,039
(7)
通勤休閒純色大容量磁釦單肩包包
NT$978
(18)
超好搭休閒純色大容量可調節金屬扣包包
NT$978
(23)
時尚好搭休閑潮流百搭單肩通勤高級復古PU包包
NT$1,068
(6)
韓國風簡約時尚菱格單肩大容量托特包
NT$717
(5)
時尚好搭休閑時尚單肩磁扣PU包包
NT$668
(24)
时髦率性時尚大容量動物紋單肩磁扣帆布包包
NT$562
(34)
新品來襲簡約字母拉鏈大容量休閑單肩帆布包包
NT$689
(9)
吸睛注目簡約大容量通勤PU斜挎手提包包
NT$1,000
(7)
時尚可愛百搭毛茸茸單肩包包
NT$538
(4)