#javascript #jquery #html #node.js #url
#javascript #jquery #HTML #node.js #url
Вопрос:
Я пытался сделать это с помощью функции onbeforeunload, но это просто
не делает то, что я хочу.
Итак, у меня есть веб-страница, которая добавляет текст к своему URL для выполнения некоторых действий:
https://localhost:3000/someTextAppended
Но когда я обновляю, либо нажав в браузере «обновить кнопку», либо нажав
«F5», я не хочу обновлять новый URL (с добавленным текстом), я просто хочу
в этом случае обновите доменную часть:
https://localhost:3000
Я пробовал с этим кодом и некоторыми вариантами:
$(window).bind('beforeunload', function(){
window.history.pushState("data","Title","");
});
Но он продолжает обновлять добавленный URL, а затем я получаю .
Cannot GET /someTextAppended
Есть ли другой способ добиться этого?
Заранее спасибо 😉
Комментарии:
1. Это звучит как проблема X / Y — чего вы пытаетесь достичь
2. не используйте pushState для установки недопустимых URL-адресов; все, что связано с правильной динамической историей, также должно быть отражено в интерфейсе URL сервера. Это событие onunload, которое срабатывает в нужное время, но опять же, вам следует избегать такого антишаблона, как временные URL-адреса только для клиента; в них нет никакого смысла.
Ответ №1:
Есть очень мало вещей, которые вы можете сделать в onbeforeunload
. Отправка пользователя куда-либо еще не входит в их число.
Итак, у меня есть веб-страница, которая добавляет текст к своему URL для выполнения некоторых действий
URL-адрес должен указывать на то, где пользователь находится на вашем сайте или в приложении. Он не должен «делать что-то».
Что вам, вероятно, следует делать, так это сохранять состояние в localStorage и обновлять URL при загрузке страницы, если состояние, представленное в URL, недопустимо.
Я бы дал вам конкретный совет, но вы не задали конкретного вопроса.
Ответ №2:
У вас это может не сработать, но вы могли бы использовать location.hash
( https://localhost:3000/#someTextAppended
).
В качестве альтернативы настройте свой веб-сервер для обслуживания /
запроса GET /someTextAppended
.