В чем разница между «» и «_blank» в window.open()?

#javascript

Вопрос:

В следующих двух фрагментах кода…

 function launchPage(url) {
var winOpenArgs="location=no,status=n,menubar=no,scrollbars=yes;"
appWindow=window.open(url, "", winOpenArgs);
};
 

…и…

 function launchPage(url) {
var winOpenArgs="location=no,status=n,menubar=no,scrollbars=yes;"
appWindow=window.open(url, "_blank", winOpenArgs);
};
 

Создается новое окно с указанным данным веб-сайтом. Однако, похоже, что в первом случае окно выглядит «постоянным» — как если бы вы вводили URL-адрес в существующее окно (или существующую вкладку), в то время как последнее, похоже, открывает новый экземпляр окна.

Например, один веб-сайт выйдет из строя после нескольких часов бездействия. Если я закрою окно, а затем повторно запущу страницу с прежним фрагментом кода, окно откроется так, как будто оно никогда не закрывалось (отобразится сообщение о тайм-ау). Однако, если я закрою окно и повторно запущу страницу с последним фрагментом кода, она откроется, как если бы я щелкнул ярлык на рабочем столе.

Это нормально? Что в первом случае заставляет его вести себя именно так?

Комментарии:

1. Строка является уникальным заголовком, но _blank является зарезервированным словом, всегда открывающим новое окно / вкладку. Если вы снова используете тот же заголовок, он не откроет новое окно, оно использует его с тем же именем.

2. Но даже если окно было закрыто, если я вызову то же самое окно (снова), оно будет вести себя так, как будто оно никогда не было закрыто?

3. Я так думаю, потому что у него такое же название. Вы можете себе представить, что имя-это просто уникальный идентификатор.