Кнопку Яндекса "Поделиться" реально сделать валидной?

uZeBo
На сайте с 29.05.2009
Offline
42
3156

Никто не заморачивался сей бедой? :rolleyes:

L
На сайте с 27.03.2006
Offline
147
#1

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

basilic
На сайте с 16.05.2008
Offline
369
#2
uZeBo
На сайте с 29.05.2009
Offline
42
#3

basilic, спасибо за понимание. А то предыдущий оратор мне мозг вынес. Набор слов, бл**ь

Cell
На сайте с 09.10.2007
Offline
552
#4
Кнопку Яндекса "Поделиться" реально сделать валидной?

А конкретнее?

Где кнопка и где сайт?

The Piper at the Gates of Dawn.
uZeBo
На сайте с 29.05.2009
Offline
42
#5

Кнопка: http://api.yandex.ru/share/

Сайт любой, хоть чистая html страница, но с кодом кнопки.

Задача: требуется пройти валидацию на соответствие стандартов HTML. Вот тут http://validator.w3.org/

Зачем?: мой личный бзик, тяга к знаниям и рвение к совершенству. 😂

V
На сайте с 01.08.2003
Offline
119
#6

У меня проходит валидацию. Сделал через JavaScript-объект блока Ya.share как написано здесь http://api.yandex.ru/share/doc/dg/concepts/share-button-ov.xml

Cell
На сайте с 09.10.2007
Offline
552
#7
uZeBo:
Кнопка: http://api.yandex.ru/share/
Сайт любой, хоть чистая html страница, но с кодом кнопки.

Что значит, "сайт любой"? Вы в курсе, что они бывают разными? Я имею в виду, что валидация зависит от объявленного Doctype.

Скиньте ссылку на сайт с кодом кнопки. Если паранойя мучает - можно в личку. Только так можно увидеть конкретные проблемы.

А иначе ваш вопрос будет из разряда "как достичь совершенства".

Anarchist
На сайте с 23.07.2008
Offline
185
#8

"На любой" засовываете код в отдельный js-файл и подключаете его в соответствии с установленным доктайпом. Иначе читайте сообщение Cell

MA
На сайте с 16.10.2009
Offline
29
#9

правильный способ - добавить пользовательские атрибуты в dtd

(в примерах используется XHTML 1.0 Transitional, для других типов - по аналогии)

Вариант 1 - непосредственно в doctype:

<!DOCTYPE html PUBLIC 

"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
[ <!ATTLIST div data-yashareL10n CDATA #IMPLIED>
<!ATTLIST div data-yashareType CDATA #IMPLIED>
<!ATTLIST div data-yashareQuickServices CDATA #IMPLIED>
]>

Вариант 2 - подправить сам dtd-файл

Это удобней, если пользовательских тэгов (вроде noindex) и атрибутов много

для этого заливаем файл http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd на сайт.

например, в папку /dtd

прописываем пользовательский doctype:

<!DOCTYPE html PUBLIC 

"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://site.ru/dtd/xhtml1-transitional.dtd"
>

правим dtd-файл - добавляем директивы


<!ATTLIST div data-yashareL10n CDATA #IMPLIED>
<!ATTLIST div data-yashareType CDATA #IMPLIED>
<!ATTLIST div data-yashareQuickServices CDATA #IMPLIED>

в соответствующий раздел - 425 строка

<!ELEMENT div %Flow;>  <!-- generic language/style container -->

<!ATTLIST div
%attrs;
%TextAlign;
>

-------------------------------------------

подробности здесь

Ищу площадки без бирж под размещение статей Тематика: ландшафтный дизайн, садоводство, комнатные растения, дача и участок.
uZeBo
На сайте с 29.05.2009
Offline
42
#10

Vyaserig, me_alex спасибо. Рассмотрю оба варианта.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий