location.assign () не работает должным образом - PullRequest
0 голосов
/ 02 декабря 2019

У меня проблема с URL-адресами, которые не добавляются в стек истории браузера. Этот короткий фрагмент кода ясно демонстрирует проблему:

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Page A</title>
  </head>
  <body>
    <h1>Page A</h1>
    <script>
      location.assign("PageB.html");
    </script>
  </body>
</html>
<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Page B</title>
  </head>
  <body>
    <h1>Page B</h1>
  </body>
</html>

Ввод адреса "localhost / PageA.html" в адресную строку браузера должен поместить URL-адрес страницы А в историю браузера. Затем location.assign ("PageB.html") должен поместить URL-адрес страницы B поверх страниц A в истории браузера. Однако я считаю, что это не так. URL страницы А никогда не помещается в историю браузера. Это почему? Как я могу сохранить URL страницы А в истории браузера?

1 Ответ

0 голосов
/ 02 декабря 2019

Согласно MDN документам на location.assign ваш параметр должен быть URL, поэтому вам потребуется относительный путь, указывающий на PageB.html.

Я предполагаю, чтодолжно быть что-то вроде этого /PageB.html очень важно здесь /. Вы говорите JavaScript, что вы находитесь в текущем каталоге относительно файла, в котором вы находитесь, а затем ищете PageB.html

...