fix: Handle decodeURIComponent error (#8411)

This commit is contained in:
tamaina 2022-03-27 02:21:56 +09:00 committed by GitHub
parent e6f455a9bb
commit a3cdb4cca1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -49,14 +49,22 @@ export default defineComponent({
}, {}, 'closed'); }, {}, 'closed');
}); });
function safeURIDecode(str: string) {
try {
return decodeURIComponent(str);
} catch {
return str;
}
}
return { return {
local, local,
schema: url.protocol, schema: url.protocol,
hostname: decodePunycode(url.hostname), hostname: decodePunycode(url.hostname),
port: url.port, port: url.port,
pathname: decodeURIComponent(url.pathname), pathname: safeURIDecode(url.pathname),
query: decodeURIComponent(url.search), query: safeURIDecode(url.search),
hash: decodeURIComponent(url.hash), hash: safeURIDecode(url.hash),
self: self, self: self,
attr: self ? 'to' : 'href', attr: self ? 'to' : 'href',
target: self ? null : '_blank', target: self ? null : '_blank',