У меня есть несколько строк, которые могут быть в этом формате:
const s1 = "https://test1.com/testPage";
const s2 = "https://test2.com/testPage?specificParam=1"
const s3 = "https://test3.com/someOtherPage?specificParam=2&restParam=3";
Поэтому, когда я читаю это в функции, мне нужно проверить, включены ли в строку параметры запроса, если да, то мне нужно закодировать ее, используя ее window.btoa()
для всех параметров запроса. Если не напрямую перенаправить. Может ли кто-нибудь помочь, как это сделать?
function test(path){
const href = window.location.origin + path;
if (href.includes('?')){
// split all the query params and then attach `btoa` to it and then openthe url
with encoded params
}
window.open(href, '_blank', 'no-referer');
}
🤔 А знаете ли вы, что...
JavaScript позволяет создавать мобильные приложения для iOS и Android с использованием фреймворков, таких как React Native и NativeScript.
Вы можете использовать конструктор URL
.
const url = new URL("https://test3.com/someOtherPage?specificParam=2&restParam=3");
if (url.search) {
// use url.search or url.searchParams
// base64 encode each query param value
url.search = new URLSearchParams([...url.searchParams].map(([k, v]) => [k, btoa(v)]));
}