Гениальный в своей простоте способ заставить ссылку открыться в новом табе/окне, не используя deprecated атрибут target:
< а onclick="return !window.open(this.href)" hrеf="http://www.google.com">
Преимущества этого способа перед обычным open.window(url) в том, что если javascript отключен, то ссылка все равно сработает. Кроме того, ссылка будет проиндексирована поисковиками.
Проверено в FF2, IE6/7, Opera 9.20, Safari/Win.
Поведение браузеров при нажатии Ctrl+Click / Shift+Click:
В IE6 – в обоих случаях новое окно.
В IE7 – в обоих случаях новый таб (подозреваю что зависит от настроек браузера)
В FF2 – неадекват. ctrl+click открывает две вкладки, shift+click вкладку и окно
Opera – в обоих случаях новый таб
Safari/Win – в обоих случаях новое окно
При нажатии колесиком мышки ссылка срабатывает как обычно везде, кроме IE6, естественно.
In general, не стоит принуждать посетителей к чему-либо, предпочтительнее дать посетителю знать какого рода сама ссылка (файл [включая тип], внешняя/окно) с помощью иконок, которые можно легко прикрутить с помощью CSS, на пример вот так, тем самым давая ему возможность выбрать самому, где ее открыть.
Давным давно не ново.
Я вижу две причины, чтобы не использовать этот способ. Одну ты отписал. Вторая кроется в спеках Web Apps 1.0 (HTML5), в которых атрибут target у тега a совсем не является deprecated.
PS. Очепятка – атрибут с одной “т” пишется.
По моему скромному разумению, пользователь сам должен решать где и как ему открывать ссылку.
Действительно, гениальная глупость. Людям из w3c, видимо, не пришло в голову, что вместо нерекомендуемого (по понятным идеологическим причинам: автор страницы определяет связь между элементами, а как эта связь будет реализовываться решает пользователь или браузеростроитель; но не запрещённого, а просто не проходящего валидацию) атрибута, “посвящённые” будут пихать в элемент js.
[quote comment="1130"]Действительно, гениальная глупость. Людям из w3c, видимо, не пришло в голову, что вместо нерекомендуемого (по понятным идеологическим причинам: автор страницы определяет связь между элементами, а как эта связь будет реализовываться решает пользователь или браузеростроитель; но не запрещённого, а просто не проходящего валидацию) атрибута, “посвящённые” будут пихать в элемент js.[/quote]
Да вы не переживайте, Джубб, в HTML5 target вернули.
Да, это специальный язык для идиотов.
Пользуюсь этой фичей уже как полгода.
хммм… как-то странно мой коммент уроезало. Я хотел дать ссылку и сказать что это решение изящней. А коммент так извратился. Вот ссылка
http://www.sitepoint.com/article/xhtml-strict-popups
Думаю плюсы данной реализации очевидны
<а xhref=”http://www.dreamsee.biz” onclick=”this.target=’_blank’;”>Ссылка</а>