Я использую блок проверки допустимости W3C XHTML для проверки моих сайтов, и я получаю некоторые ошибки на страницах с FBML. Большая часть причины таких ошибок "и" символ. Так как значения FBML и атрибуты сгенерированы на лету, у меня нет способа закодировать символ правильно прежде, чем отобразить его.
Вопрос: существует ли способ для меня сказать Подключению Facebook представлять метку правильно?
Спасибо.
Попробуйте поместить код facebook в CDATA:
<script type="text/javascript">
/* <![CDATA[ */
document.write('<fb:login-button length="long" size="large" show-faces="true" perms="" onlogin="window.location=\'<?=current_url()?>\'"></fb:login-button>');
/* ]]> */
</script>
Короче, насколько мне известно, нет. Что еще хуже, теги fb: * также не проверяются, даже если вы сделаете свой html-тег следующим образом:
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" xml:lang="en" lang="en">
Если для вас это огромная проблема, вам, возможно, удастся обойтись без использования не- XHTML-совместимая разметка в собственном HTML-4.01-строгом iframe, чтобы, по сути, убрать мусор под ковер.
Это может быть полезно:
http://wiki.developers.facebook.com/index.php/Facebook_Platform_for_Mobile:_XHTML
Над этим также работал какой-то немецкий парень: