Поддельные JS думать, что URL-адрес имеет дополнительный параметр

У меня есть скрипт, включенный в мой сайт, который читает переменную по URL-адресу, например www.test.com/?mboxDisable=1, поэтому мне было интересно, как подделать это, так что на www.test.com js "подумал бы", что есть mboxDisable = 1 Я знаю coldfusion и могу это сделать, просто используя первую строку, но как это сделать с помощью js? Я пробовал document.location.href += "mboxDisable=1", но затем js обновляет страницу до www.test.com/?mboxDisable=1. Есть ли способ заставить js думать, что параметр в url фактически не находится в URL?

Я забыл упомянуть использование: у меня есть cookie, который я проверяю, чтобы увидеть, хочет ли пользователь отключить mbox или нет, в псевдокоде было бы что-то вроде, если cookieIsSet urlAppend("mboxDisable=1") endif

Автоматически сгенерированный код, который я не могу изменить, получает информацию из document.location. любой способ отредактировать это, не обновляя страницу? Нет HTML5 и нет JQuery. Можно использовать Coldfusion и JS.

2 ответа

Решение

Используйте HTML5 pushState, с помощью которого можно изменить URL-адрес страницы без обновления страницы.

Ссылка, показывающая пример

Используйте URL-хэш вместо параметра:

mysite.com?mboxDisable=1 будет выглядеть так: mysite.com#mboxDisable=1

Вы можете использовать document.location.hash и читать и устанавливать этот параметр без обновления. Конечно, ваш код должен будет иметь возможность прочитать это значение.

Все остальные методы изменения URL приведут к загрузке новой страницы.

Другие вопросы по тегам