Запуск document.location.hash = "" в первую очередь в DOM не очищает URL - PullRequest
0 голосов
/ 01 августа 2011

document.location.hash = "" устанавливает хэш # в URL.Но когда я запускаю это как первую вещь в DOM, он не работает в Firefox (по крайней мере, Firefox 5.0.1).Есть идеи?

Попробуйте посетить http://www.sebastianrazola.com/test.html#thisshouldberemoved в Firefox и другом браузере, чтобы понять, что я имею в виду.

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8" />
  <title>Hash test</title>
  <script type="text/javascript">
    document.location.hash="";
  </script>
</head>
<body>
  <p>The hash won't be set to <b>#</b> in Firefox. (At least in Firefox 5.0.1)</p>
</body>
</html>

1 Ответ

0 голосов
/ 01 августа 2011

Это ошибка.https://bugzilla.mozilla.org/show_bug.cgi?id=675587, если быть точным (я полагаю, вы подали).

Если вы хотите обойти это на данный момент, добавьте document.body.offsetWidth к вашему сценарию перед набором location.hash.Это создаст прокручиваемый объект макета, несуществование которого приводит к ошибке, препятствующей изменению местоположения без исправления.

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