На самом деле документация W3Schools, на которую ссылается gabriel1836 , является лишь очень кратким описанием функций.
И, как ни странно, справочник разработчика Mozilla ПРОТИВОРЕЧИЯ эта логика.
MDC / DOM / Window.open
var WindowObjectReference = window.open(strUrl,
strWindowName [, strWindowFeatures]);
Если окно с именем
strWindowName уже существует, тогда
вместо того, чтобы открывать новое окно,
strUrl загружен в существующий
окно. В этом случае возвращаемое значение
метода является существующим окном
и strWindowFeatures игнорируется.
Предоставление пустой строки для strUrl
это способ получить ссылку на открытый
окно по имени без изменения
расположение окна. Если хотите
открывать новое окно при каждом вызове
window.open () , вы должны использовать
специальное значение _blank для
strWindowName .
Однако на странице также указано, что существует множество расширений, которые могут изменить это поведение.
Так что либо документация, которую mozilla предоставляет людям, ориентирующимся на их собственный браузер, неверна , либо что-то странное в вашей тестовой системе:)
Кроме того, ваша текущая нотация A-Href вредна для Интернета и приведет в ярость пользователей.
<a href="http://google.com"
onclick="window.open( this.href, 'windowName' ); return false" >
Text
</a>
СУЩЕСТВЕННО лучший способ сделать это.
Многие люди инстинктивно будут ссылками «среднего щелчка», которые они хотят открыть вручную на новой вкладке, а наличие единственной ссылки в виде «#» приводит их в бешенство.
Трюк "#" - это избыточный и несколько плохой трюк, чтобы не дать странице зайти куда-то непреднамеренно, но это только из-за отсутствия понимания того, как использовать onclick
Если вы вернете <b>FALSE</b>
из события щелчка, оно отменит действие по умолчанию для ссылок (действие по умолчанию - перемещение по текущей странице)
Даже лучше, чем эта запись, было бы использовать ненавязчивый JavaScript следующим образом:
<a href="google.com" rel="external" >Text</a>
и позже
<script type="text/javascript">
jQuery(function($){
$("a[rel*=external]").click(function(){
window.open(this.href, 'newWindowName' );
return false;
});
});
</script>