Window.open target _self v window.location.href?

Мне нужно перенаправить пользователя с помощью JavaScript. Какой предпочтительный метод?

window.open("webpage.htm", "_self");

или

window.location.href = "webpage.htm";

Ответ 1

Определенно, второй метод является предпочтительным, потому что у вас нет накладных расходов на другой вызов функции:

window.location.href = "webpage.htm";

Ответ 2

Как говорили другие, предпочтительным является второй подход.

Два фрагмента кода не совсем эквивалентны: первый на самом деле устанавливает window.opener самому объекту окна, тогда как второй оставит его как есть, по крайней мере, под Firefox.

Ответ 3

Надеюсь, кто-то еще спасется, прочитав это.

Мы столкнулись с проблемой, с которой работают браузеры на основе webkit:

window.open("webpage.htm", "_self");

Браузер блокирует и умирает, если у нас слишком много узлов DOM. Когда мы переключили наш код на следующий принятый ответ:

location.href = "webpage.html";

все было хорошо. Нам потребовалось некоторое время, чтобы выяснить, что вызвало проблему, поскольку не было очевидно, почему наша страница периодически не загружается.

Ответ 4

window.location.href = "webpage.htm";

Ответ 5

Вы можете опустить window и просто использовать location.href. Например:

location.href = 'http://google.im/';

Ответ 6

Пожалуйста, используйте этот

window.open("url","_self"); 
  • Первый параметр "url" - это полный путь к странице, которую вы хотите открыть.
  • Второй параметр "_self", он используется для открытой страницы на той же вкладке. Вы хотите открыть страницу на другой вкладке, пожалуйста, используйте "_blank".