Форум hotibo.ru

Сайты - по стандартам, но не стандартные сайты!






#1 21.11.2009 20:39

Andrew
Administrator
Зарегистрирован: 21.11.2009
Сообщений: 90
Вебсайт

Эмуляция target=_blank обман валидатора или необходимость?

/2005/05/11/target_blank/
Рассмотрен способ обойти ограничения стандарта, а именно - эмуляция убранного из Strict Doctype атрибута target.
Нужно ли это вообще? Нужно ли принудительно открывать ссылки в новом окне или оставить возможность посетителям решать в каком окне открывать их? Или следовать только требованиям стандарта и ни шага в сторону?

Нет на форуме

 

#2 21.11.2009 22:35

sas171
Новичок
Откуда: Германия г.Штутгарт
Зарегистрирован: 21.11.2009
Сообщений: 34
Вебсайт

Re: Эмуляция target=_blank обман валидатора или необходимость?

Не вижу никаких плюсов использовать targe="_blank", тем более его эмулировать. Пусть пользователи сами решают нужно ли им открывать, что-то в новом окне. Кроме того сейчас многие пользуются закладками и неожидают, что какой-то сайт откроется в новом окне.

Нет на форуме

 

#3 22.11.2009 08:02

Splurov
Новичок
Откуда: Россия, Томск
Зарегистрирован: 22.11.2009
Сообщений: 29
Вебсайт

Re: Эмуляция target=_blank обман валидатора или необходимость?

Полностью согласен с sas171.
Я ничего хорошего не думаю об авторе сайта, если ссылка вдруг открывается в новом окне.
(Сейчас, правда, использую расширение TargetKiller для Firefox - оно как раз и служит для того, чтобы убирать target="_blank")

Нет на форуме

 

#4 23.11.2009 14:26

MT
Опытный
Откуда: Moscow
Зарегистрирован: 23.11.2009
Сообщений: 241
Вебсайт

Re: Эмуляция target=_blank обман валидатора или необходимость?

Вообще говоря, открывать новые окна неправильно. Однако многие, увы, привыкли, более того, лично знаю людей, которые автоматическое открытие ссылки в новом окне в ряде случае считают удобным.

P. S. Упомянутую выше функцию, впрочем, модифицировал бы с целью не подсовывать браузеру всё тот же запрещённый target, который он вовсе не обязан понимать при соответствующем доктайпе, а вполне легитимный window.open на onclick и onkeypress.


[url=http://TANALIN.com/blog/]блог[/url] | [url=http://TANALIN.com/music/]музыка[/url] | [url=http://firefox.com/]браузер[/url]

Нет на форуме

 

#5 23.11.2009 14:30

Andrew
Administrator
Зарегистрирован: 21.11.2009
Сообщений: 90
Вебсайт

Re: Эмуляция target=_blank обман валидатора или необходимость?

Действительно, window.open на onclick и onkeypress будет правильнее. Статистика заходов на сайт по поисковым запросам подтверждает желание людей соблюсти требования стандартов и, тем не менее, открыть ссылку в новом окне.

Нет на форуме

 

#6 27.11.2009 20:24

mackuler
Новичок
Зарегистрирован: 27.11.2009
Сообщений: 17

Re: Эмуляция target=_blank обман валидатора или необходимость?

а имхо target=_blank полезная вещь. я бы даже сказал незаменимая.
ведь ссылка на другой ресурс, открываемая в том же окне, может увести с вашего сайта неопытного или просто невнимательного юзера.
также я обычно так оформляю картинки:

Код:


имхо идеальный вариант. если js отключен, то картинка открывается в новом окне. и к тому же правильную ссылку можно скопировать или просто просмотреть в статус-баре браузера.
вобщем я считаю должен быть механизм выделения ссылок, которые повозможности не должны уводить с текущей страницы, т.е. рекомендации по тому где открывать ее. а уж где юзер захочет открыть эту ссылку - выбор за ним.

Нет на форуме

 

#7 27.11.2009 21:12

Splurov
Новичок
Откуда: Россия, Томск
Зарегистрирован: 22.11.2009
Сообщений: 29
Вебсайт

Re: Эмуляция target=_blank обман валидатора или необходимость?

Если пользователь захочет вернуться на ваш ресурс - он нажмёт кнопку "Back" в браузере. Именно для этого она и предназначена.
Открывать что-либо в новом окне - вообще зло.
Если хотите открыть картинку в полный размер - лучше сделать её html-страницей и там поставить кнопку назад или другие базовые элементы навигации.

Нет на форуме

 

#8 27.11.2009 22:52

amix
Новичок
Откуда: Россия, Екатеринбург
Зарегистрирован: 27.11.2009
Сообщений: 2

Re: Эмуляция target=_blank обман валидатора или необходимость?

Пусть пользователь решает, в какой вкладке (текущей или новой) или окне открывать ссылку. Тем более, что это очень просто: в большинстве браузеров выбор делается щелчком соответствующей кнопки мыши (скажем, левая или средняя/колесико); в IE, насколько помню, нужно сделать два щелчка - но это ничтожная плата за предсказуемость.

Нет на форуме

 

#9 29.11.2009 13:56

mackuler
Новичок
Зарегистрирован: 27.11.2009
Сообщений: 17

Re: Эмуляция target=_blank обман валидатора или необходимость?

Если пользователь захочет вернуться на ваш ресурс - он нажмёт кнопку "Back" в браузере.
не убедительно. могу ответить в вашем же стиле:
если пользователь захочет открыть в том же окне или вкладке - нажмет соответствующую клавишу

Если хотите открыть картинку в полный размер - лучше сделать её html-страницей и там поставить кнопку назад или другие базовые элементы навигации.
а если это иллюстрация к статье? ходить по навигации с перезагрузкой страницы туда-сюда?

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

я в первом посте написал, но видимо было не понятно:
1. в сети дофига неопытных пользователей, которые не знают что ссылку можно открыть в новом окне, либо не знают как это сделать в том браузере, что оказался под рукой (к примеру в инет-кафе)
2. юзер - натура очень переменчивая. уйдя с вашего сайта он может просто напросто забыть что он там был, либо просто закрыть окно, не сообразив что это то же самое окно, где был интересующий его сайт.
3. далеко не всегда можно не кликнув определить, в каком окне тебе нужна эта ссылка, т.к. эта может быть ссылка на раздел этого же сайта, либо на совершенно другой сайт.

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

Нет на форуме

 

#10 29.11.2009 14:35

Splurov
Новичок
Откуда: Россия, Томск
Зарегистрирован: 22.11.2009
Сообщений: 29
Вебсайт

Re: Эмуляция target=_blank обман валидатора или необходимость?

если пользователь захочет открыть в том же окне или вкладке - нажмет соответствующую клавишу
это какую-же клавишу нужно нажать, чтобы ссылка с target="_blank" открывлась в текущем окне?

а если это иллюстрация к статье? ходить по навигации с перезагрузкой страницы туда-сюда?
да. и почему с перегрузкой?

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


1. в сети дофига неопытных пользователей, которые не знают что ссылку можно открыть в новом окне, либо не знают как это сделать в том браузере, что оказался под рукой (к примеру в инет-кафе)
2. юзер - натура очень переменчивая. уйдя с вашего сайта он может просто напросто забыть что он там был, либо просто закрыть окно, не сообразив что это то же самое окно, где был интересующий его сайт.
3. далеко не всегда можно не кликнув определить, в каком окне тебе нужна эта ссылка, т.к. эта может быть ссылка на раздел этого же сайта, либо на совершенно другой сайт.

1. вы проводили тестирование? я его не проводил, поэтому не могу утверждать так, как это делаете вы. намёк понятен?
2. если я забыл о вашем сайте, значит он мне не интересен. если он мне интересен я занесу его в закладки или запишу его url где-нибудь ещё. если юзер нажал на ссылку - он помнит, что было до этого. и помнит, что у него есть возможность вернуться назад.
3. какая разница этот же сайт или другой? лично я определяю по урл принадлежность ссылки. неопытный пользователь этого делать не умеет, но у него есть пункт 2.

пользователь, не заморачивающийся тем в каком окне ему что открывать, просто кликнет по ссылке.
Совершенно верно. Я не хочу заботиться о том, что горе-разработчик заставил меня плодить лишние окна, когда я всего-то хотел посмотреть увеличенную картинку, а потом вернуться назад. я хотел всего лишь нажать на сслыку, а затем нажать кнопку back. а разработчик заставляет меня отвлекать внимание на новое непонятно откуда взявшееся окно затем тянуться до кнопки закрытия окна, затем фокусироваться обратно на контенте.

Нет на форуме

 

#11 29.11.2009 15:02

Admin
Administrator
Зарегистрирован: 21.11.2009
Сообщений: 32
Вебсайт

Re: Эмуляция target=_blank обман валидатора или необходимость?

Принципы, которыми я руководствуюсь при открытии ссылки в новом окне (хотя конечно, в некоторых случаях будут исключения):

1. target=_blank не использовать, а использовать target=name, чтобы все внешние ссылки открывались в одном новом окне, продвинутые пользователи сами знают как сделать много новых окон если вдруг им не понравится, что все внешние ссылки с сайта открываются в одном новом окне.

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

P.S.: для XHTML 1.0 Transitional


Идеального кода нет!

Нет на форуме

 

#12 29.11.2009 18:48

mackuler
Новичок
Зарегистрирован: 27.11.2009
Сообщений: 17

Re: Эмуляция target=_blank обман валидатора или необходимость?

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

Нет на форуме

 

#13 29.11.2009 21:54

Splurov
Новичок
Откуда: Россия, Томск
Зарегистрирован: 22.11.2009
Сообщений: 29
Вебсайт

Re: Эмуляция target=_blank обман валидатора или необходимость?

поэтому не вижу причин выносить эту фичу из спецификации..
она уже вынесена. и это не фича. это избыток прошлого. почему вы не ответили на мой вопрос(ы)?
настройте свой браузер, чтобы он открывал все внесайтовые ссылки в новом окне...

Нет на форуме

 

#15 30.11.2009 00:12

Splurov
Новичок
Откуда: Россия, Томск
Зарегистрирован: 22.11.2009
Сообщений: 29
Вебсайт

Re: Эмуляция target=_blank обман валидатора или необходимость?

Andrew, именно так (this.href) и делаем, когда заказчик настаивает на новом окне :-)
Эхх, поменьше бы таких заказчиков...

Нет на форуме

 

#16 30.11.2009 10:00

mackuler
Новичок
Зарегистрирован: 27.11.2009
Сообщений: 17

Re: Эмуляция target=_blank обман валидатора или необходимость?

почему вы не ответили на мой вопрос(ы)?
ваша позиция ясна, свою я тоже попытался наиболее ясно изложить. зачем устраивать бессмысленные споры? smile

Нет на форуме

 

#17 30.11.2009 18:19

Ujo
Новичок
Зарегистрирован: 30.11.2009
Сообщений: 3

Re: Эмуляция target=_blank обман валидатора или необходимость?

Вообще-то есть ещё один вариант, когда нужно открывающееся окно, почему-то все про него забыли. Это -- не сайт, а интерфейс к чему-то, веб-приложение. Там мелкие открывающиеся окна почти незаменимы. Так что всплывающие окна таки нужны, другое дело что в таких случаях можно и на стандарт и на индексацию забить.

Нет на форуме

 

#18 30.11.2009 18:28

mackuler
Новичок
Зарегистрирован: 27.11.2009
Сообщений: 17

Re: Эмуляция target=_blank обман валидатора или необходимость?

Ujo, ну да, еще веб-чаты например. но наверное подразумевается, что подобные веб-приложения не в состоянии работать без js, и окошки можно смело открывать window.open'ом smile

Нет на форуме

 

#19 30.11.2009 21:57

Andrew
Administrator
Зарегистрирован: 21.11.2009
Сообщений: 90
Вебсайт

Re: Эмуляция target=_blank обман валидатора или необходимость?

Ujo написал:

Вообще-то есть ещё один вариант, когда нужно открывающееся окно, почему-то все про него забыли. Это -- не сайт, а интерфейс к чему-то, веб-приложение. Там мелкие открывающиеся окна почти незаменимы. Так что всплывающие окна таки нужны, другое дело что в таких случаях можно и на стандарт и на индексацию забить.

В этом случае тоже можно обойтись JavaScript. При этом не обязательно открывать целое окно браузера. AJAX?
Можно показывать/убирать слой (div, например). Выходит, что и здесь не нужен target=_blank?

Нет на форуме

 

#20 30.11.2009 22:00

Andrew
Administrator
Зарегистрирован: 21.11.2009
Сообщений: 90
Вебсайт

Re: Эмуляция target=_blank обман валидатора или необходимость?

mackuler написал:

Ujo, ну да, еще веб-чаты например. но наверное подразумевается, что подобные веб-приложения не в состоянии работать без js, и окошки можно смело открывать window.open'ом smile

И, кстати, тоже верно. target=_blank и тут не нужен...

Есть ли еще варианты, где он может быть необходим?

Нет на форуме

 

#21 01.12.2009 10:48

mackuler
Новичок
Зарегистрирован: 27.11.2009
Сообщений: 17

Re: Эмуляция target=_blank обман валидатора или необходимость?

Andrew написал:

В этом случае тоже можно обойтись JavaScript. При этом не обязательно открывать целое окно браузера. AJAX?
Можно показывать/убирать слой (div, например). Выходит, что и здесь не нужен target=_blank?

ну если так рассуждать, то вообще все атрибуты тэгов кроме class и id можно смело упразднить smile

Нет на форуме

 

#22 01.12.2009 11:25

Andrew
Administrator
Зарегистрирован: 21.11.2009
Сообщений: 90
Вебсайт

Re: Эмуляция target=_blank обман валидатора или необходимость?

mackuler написал:

ну если так рассуждать, то вообще все атрибуты тэгов кроме class и id можно смело упразднить smile

Так дело не пойдет. В рекомендациях от W3C описаны общие для всех элементов атрибуты и специальные для отдельных элементов.
Общие: id, class, style, title, land, dir, и события (onclick и пр.)
Специальные, например, href для A, type для input... Думаю, нет смысла перечислять здесь все атрибуты для каждого элемента.

Атрибут target остался в прошлом, т.к. появилась возможность выполняемые им функции реализовать иначе, даже лучше. Например с помощью того же JavaScript можно не только открыть новое окно, но и управлять им, устанавливать его размеры и пр. В то время как target лишь тупо открывал новое окно, единственным управляемым элементом которого было его имя, т.е. значение обсуждаемого атрибута.

Нет на форуме

 

#23 01.12.2009 12:57

Ujo
Новичок
Зарегистрирован: 30.11.2009
Сообщений: 3

Re: Эмуляция target=_blank обман валидатора или необходимость?

Andrew написал:

Атрибут target остался в прошлом, т.к. появилась возможность выполняемые им функции реализовать иначе, даже лучше. Например с помощью того же JavaScript можно не только открыть новое окно, но и управлять им, устанавливать его размеры и пр. В то время как target лишь тупо открывал новое окно, единственным управляемым элементом которого было его имя, т.е. значение обсуждаемого атрибута.

Был неправ, вспылил ©

Нет на форуме

 

#24 03.04.2010 13:15

bars
Новичок
Зарегистрирован: 03.04.2010
Сообщений: 10

Re: Эмуляция target=_blank обман валидатора или необходимость?

Andrew написал:

Есть ли еще варианты, где он может быть необходим?

При использовании XHTML 1.0 Frameset например

(не _blank, а target в принципе) smile

Отредактированно bars (03.04.2010 13:18)

Нет на форуме

 

#25 03.06.2010 18:06

Zigzag
Новичок
Откуда: Minsk/Belarus
Зарегистрирован: 27.05.2010
Сообщений: 30
Вебсайт

Re: Эмуляция target=_blank обман валидатора или необходимость?

Splurov написал:

Если пользователь захочет вернуться на ваш ресурс - он нажмёт кнопку "Back" в браузере. Именно для этого она и предназначена.
Открывать что-либо в новом окне - вообще зло.
Если хотите открыть картинку в полный размер - лучше сделать её html-страницей и там поставить кнопку назад или другие базовые элементы навигации.

и читая ваши посты ниже, я понял, что вам совершенно не известно понятие информационной архитектуры!
почитайте "Информационная архитектура в Интернете", Луиз Розенфельд и Питер Морвиль
а по поводу стратегической необходимости удержания посетителя на сайте можно здесь узнать
"Рентабельный вебдизайн", Ани Фйо и "Информационная архитектура", Кристина Уодтке

Нет на форуме

 

#26 28.03.2011 13:00

XPraptor
Новичок
Зарегистрирован: 28.03.2011
Сообщений: 1

Re: Эмуляция target=_blank обман валидатора или необходимость?

Это кто тут такой умный ява скриптом ссылки открывать в новом окне? А поисковых роботов сразу послать на х…?
И кто тут такой умный, что сам решает где ему ссылку открывать? А потом пишет в поддержку почему его уводят от цели ссылки со страницы? Есть страница со списком 20 объявлений, представленных только заголовками и ссылки в НОВОМ окне на полный текст если заголовок понравился. В новом окне еще реклама по этой же теме и поехали мы дальше от начальной страницы с объявлениями ,а потом зае..ся бэкать, чтобы попасть на нужную страницу. И кому на х… надо такой сайт? xhtml с отсутствием target перемудрил, не предоставив ничего взамен.

Нет на форуме

 

#27 28.03.2011 13:39

ober
Новичок
Зарегистрирован: 02.03.2011
Сообщений: 20

Re: Эмуляция target=_blank обман валидатора или необходимость?

XPraptor, ВНИМАТЕЛЬНО читай ветку, всё уже обсуждено и так и эдак. Да, и закончилась полемика более года назад! И нафига ты достаёшь древнюю ветку? Тем более, что стандарт уже давно принят, и любые обсуждения бестолку.

Нет на форуме

 

#28 28.03.2011 19:45

dark-demon
Moderator
Зарегистрирован: 23.02.2011
Сообщений: 229

Re: Эмуляция target=_blank обман валидатора или необходимость?

Zigzag, не те книжки ты читаешь smile в первую очередь нужно думать об удобстве пользователя, а не об "удержании" и других страшных вещах. Если пользователь прошёл мимо вашего ресурса и даже не заметил, что он такой весь из себя хороший, то это не ваш пользователь. А вот о ком стоит беспокоиться, так это о ваших пользователях - тех, кто посещает ваш ресурс регулярно.

Нет на форуме

 

#29 28.11.2011 09:32

skipper13
Новичок
Откуда: Харьков
Зарегистрирован: 28.11.2011
Сообщений: 4
Вебсайт

Re: Эмуляция target=_blank обман валидатора или необходимость?

В xhtml атрибут target не запрещен - он просто вынесен в отдельный модуль. Пример пока выложить не могу, вчера попал из-за него в автобан. Можете посмотреть на моём сайте тестовую страницу call.html прямо в корне. Там он используется как раз для открытия страницы в новом окне.

Но это не единственное применение. Наверное многие слышали про Орфус (блин, теперь сссылку давать боюсь wink ). Там используется target при работе жабаскрипта. Используя подключение модуля можно разрешить target и пользоваться орфусом на сайте с xhtml.

Кстати о новом окне. В тех редких случаях, когда желательно открывать ссылку в новом окне, в Firefox-е страница открывается просто в новой вкладке. Обойти это можно используя onClick.

Нет на форуме

 

#30 27.11.2011 22:41

шкипер
Новичок
Откуда: Харьков
Зарегистрирован: 15.06.2010
Сообщений: 12
Вебсайт

Re: Эмуляция target=_blank обман валидатора или необходимость?

Открытие ссылки в новом окне target="_blank" в соответствии с XHTML1.1

Есть решения и на базе Schema и на базе DTD. Здесь приведён второй вариант.

Объявляем DTD:

Код:



%xhtml11.mod;
%xhtml-target.mod;

Страница выглядит так:

Код:


    
    
    Title
    
    
    

some text

П.С.
Во избежание флейма - меня не интересует открытие ссылок в новом окне, интересует использование target в рамках строгого XHTML. Например для прикручивания к сайту Орфуса.

Работающий пример http://berdinskikh.in.ua/blog/

Отредактированно шкипер (15.03.2012 13:43)

Нет на форуме

 

Board footer