base 64 bug & encodeURIComponent
base64 bug & encodeURIComponent
window.btoa("jëh²H©¶�%28®");
// "autoskiptoclMjiu"
window.atob("auto skip to corp");
// "jëh²H©¶(®"
window.btoa("jëh²H©¶�(®");
// "autoskiptocorg=="
// window.atob(encodeURIComponent("auto skip to corp"));
// VM5604:1 Uncaught DOMException: Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.
// at <anonymous>:1:8
// (anonymous) @ VM5604:1
encodeURIComponent("auto skip to corp");
// "auto%20skip%20to%20corp"
decodeURIComponent("auto%20skip%20to%20corp")
"auto skip to corp
vue
autoSkipToDetailsByType(type = ``, id = ``) {
// let uid = this.skipUid;
let text = ``;
let hash = ``;
let title = ``;
// <view id="enterprise"/>
// <view id="enterprise/special-topics"/>
// <view id="enterprise/chain"/>
// <view id="figure/figure-topics"/>
// <view id="data/details"/>
// <view id="newsinfo/iframe"/>
switch (type) {
case "all":
text = `auto skip to all`;
title = "";
hash = `search`;
break;
case "corp":
text = `auto skip to corp`;
title = "";
hash = `enterprise/special-topics`;
break;
case "newsinfo":
text = `auto skip to newsinfo`;
title = "";
hash = `newsinfo/iframe`;
break;
case "chart":
text = `auto skip to chart`;
title = "";
hash = `enterprise/chain`;
break;
case "figure":
text = `auto skip to figure`;
title = "";
hash = `figure/figure-topics`;
break;
case "brand":
text = `auto skip to brand`;
title = "";
hash = `data/details`;
break;
default:
break;
}
if (id && id.length) {
// skip
console.log(text, id);
} else {
id = ``;
}
let url = window.location.origin;
Light.navigate(
`${url}/#/${hash}`,
{
message: window.atob(text),
id,
// id: id,
},
{
title: title,// 公司 / 资讯 / 链谱 / 人物 / 数据
replace: false,
},
);
},
本文首发于博客园,作者:xgqfrms,原文链接:https://www.cnblogs.com/xgqfrms/p/10901159.html
未经授权禁止转载,违者必究!