Есть ли способ выполнить код непосредственно перед обновлением страницы? - PullRequest
0 голосов
/ 02 марта 2019

Я пытался сделать это с помощью функции onbeforeunload , но просто

не делает то, что я хочу.

Итак, у меня есть вебстраница, которая добавляет текст в свой URL, чтобы сделать кое-что:

https://localhost:3000/someTextAppended

Но когда я обновляюсь, либо нажав браузер "кнопку обновления" или нажав

"F5", я неЯ не хочу обновлять новый URL (с добавленным текстом), я просто хочу

обновить доменную часть в этом случае:

https://localhost:3000

Я пробовал с этим кодом и некоторыми вариантами:

$(window).bind('beforeunload', function(){
  window.history.pushState("data","Title","");
});

Но он продолжает обновлять добавленный URL, и затем я получаю.

Cannot GET /someTextAppended

Есть ли другой способ добиться этого?

Заранее спасибо;)

Ответы [ 2 ]

0 голосов
/ 02 марта 2019

Это может не сработать, но вы можете использовать location.hash (https://localhost:3000/#someTextAppended).

В качестве альтернативы, настройте свой веб-сервер для обслуживания / по запросу GET /someTextAppended.

0 голосов
/ 02 марта 2019

Есть очень мало вещей, которые вы можете сделать в onbeforeunload.Отправка пользователя куда-то еще не является одним из них.

Итак, у меня есть веб-страница, которая добавляет текст к его URL, чтобы что-то делать

URL долженуказывать место, где пользователь находится на вашем сайте или в приложении.Он не должен "делать что-то".

Что вам, вероятно, следует делать, это сохранять состояние в LocalStorage и обновлять URL при загрузке страницы , если состояние, представленное в URL, не 'Неправильно.

Я бы дал вам конкретный совет, но вы не задали конкретный вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...