Кнопка Facebook LIKE и ошибка проверки W3C - PullRequest
2 голосов
/ 06 декабря 2010

http://developers.facebook.com/docs/reference/plugins/like

Чтобы добавить популярную кнопку [Мне нравится] из Facebook, я должен использовать следующий код:

<iframe src="http://www.facebook.com/plugins/like.php?href=www.MyDomain.com&amp;layout=standard&amp;show_faces=false&amp;width=225&amp;action=like&amp;font=lucida+grande&amp;colorscheme=dark&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:250px; height:80px;" allowTransparency="true"></iframe>

Мой сайт больше не проверяется на W3C из-за атрибута allowTransparency:

Line 313, Column 342: there is no attribute "allowTransparency"
… overflow:hidden; width:250px; height:80px;" allowTransparency="true"></iframe>

Есть ли способ обойти? Я не могу использовать версию XFBML. Это очень плохо ..

Маркетинг и концепция Веб Шербрук

Ответы [ 5 ]

3 голосов
/ 06 декабря 2010

Вы пытались опустить этот атрибут? Это не должно быть обязательным. Стандарты, чтобы даже не упоминать об этом.

2 голосов
/ 05 февраля 2011

Хорошо, пройдя буквально сотни этих сообщений, я наконец-то нашел быстрый и простой способ получить действительную страницу с кнопкой «Мне нравится» (или любым другим виджетом Facebook) на ней.

Всего несколько строккода действительно, взгляните на http://www.liormark.com/develop/development-articles/facebook-fbml-w3c-validation-solved

1 голос
/ 08 мая 2012

Следующий код должен исправить проблему проверки:

<script language="javascript" type="text/javascript">
//<![CDATA[
document.write('<fb:like send="true" width="600" show_faces="true"></fb:like>');
//]]>
</script>
0 голосов
/ 25 февраля 2013

Вот лучший код:

Наслаждайтесь ....:)

<div id="fb-root"></div>
    <script type="text/javascript" language="javascript">
    //<![CDATA[
    (function(d, s, id) {
    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) return;
    js = d.createElement(s); js.id = id;
    js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
    fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));
    //]]>
    </script>
    <script type="text/javascript" language="javascript">
    // <![CDATA[
    document.write('<fb:like href="URL" send="false" width="450" show_faces="false"></fb:like>');
    // ]]>
    </script>

0 голосов
/ 06 декабря 2010

Если я правильно помню, allowtransparency - это атрибут, составленный Microsoft. Поэтому используйте другой код с семейством Internet Explorer, чтобы заставить его работать, и другой код для проверки другими браузерами?

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

...