Мне нужно прочитать URL, используя некоторый код JS, чтобы извлечь некоторые параметры и выполнить некоторые задачи в зависимости от них. Однако у меня есть две проблемы:
- Веб-страница не моя, поэтому я не могу что-либо изменить на ней или проверить ее очень подробно. Я просто пишу сценарий, который клиент загружает со своей веб-страницы, и выполняет некоторые функции при загрузке. Я могу изменить этот скрипт, но не что-нибудь еще.
-В этой функции я сохраняю в переменной значение window.location.href , но при выполнении некоторых журналов, чтобы проверить, что читает, я вижу, что значение не соответствует фактический URL в адресной строке. Более того, если я проверю значение window.location.href в консоли браузера, то это значение будет соответствовать адресной строке!
Я проверяю это значение в начале и в конце скрипта, и оно ни в коем случае не совпадает. Я не знаю, в какой момент загрузки мой скрипт начинает выполнение, и я не знаю, что вызывает такое поведение.
РЕДАКТИРОВАТЬ: Вот код, я не буду показывать его все, так как большая часть работает нормально и не имеет отношения к моей проблеме.
Это то, что я отправил своему клиенту, чтобы разместить на его веб-странице:
var s1 = document.createElement('script');
s1.src = 'source_of_my_script;
document.head.appendChild(s1);
s1.onload = function () {
s();
};
Это часть моего сценария:
function s(){
var my_url_var = window.location.href;
console.log("1st value", my_url_var);
var param = extractParamFromUrl(my_url_var); //this functions get some value written in the url
switch (param){
case 'value_0':
// do things
case 'value_1':
// do other things
defalut:
// do default actions
}
console.log("final value", window.location.href);
}
Я не могу показать вам точные URL из-за соображений конфиденциальности, но они похожи на следующие:
URL адресной строки (и что я получу, если я проверю window.location.href в консоли браузера): https://www.client_dummy_url.com/dummy/cobranded?origin=8000097& ... (больше параметров разделено символом &)
Что я получаю из window.location.href в скрипте: https://www.client_dummy_url.com/drfd01/main/control.do?action=start&internet=S&app=EP& ... (больше параметров, но не все, которые я хочу!)
Большое спасибо!