1

プロジェクトにいいねボタンを設定しようとしています。これらのボタンは、Aino's Galleria の jquery スライドショー内にあり、それぞれのスライドに「いいね」を付けることができます。私は xHTML の厳密なドキュメントを使用しています。Firefox (および Firebug) ではすべて問題ないように見えますが、webkit インスペクターでは次のようになります。

   XML self-closing tag syntax used on <fb:like>. The tag will not be closed.
   [The HTML that caused this error was generated by a script.] XML self-closing tag syntax used on <fb:like>. The tag will not be closed.

スライドごとにこれらのいずれかを取得するため、28 個のエラーがあります。調べてみると、fb:like を次のように囲んでいるように見えるものがあることがわかりました。

<script type="text/javascript">
//<![CDATA[
document.write('<fb:like href="<?php echo "http://www.site/image-".$image_id ;?>" width="260" height="80" show_faces="false" />');
//]]>
</script>

上記は Firefox でも機能しますが、Safariでは機能しません。検査官は次のように述べています。

26 XFBML tags failed to render in 30000ms.

さらに、Facebook のようなボタンをGalleria Jquery プラグインで動作させるために、スライドの読み込み時に短時間表示される実際のスライドに関する Facebook のようなボタンのみをリロードするカスタム関数があります。

[...]
extend: function(options) {
       // listen to when an image is shown
       this.bind(Galleria.IMAGE, function(e) {
            number = e.index + 1;
        tag = $('.galleria-info-description .info-box-'+number).find('.btn_fb');
    $(tag).each(function() {
            FB.XFBML.parse( this );
        });
    });
}

このことはますます複雑になり、誰が問題を引き起こしているのか本当にわかりません! 誰かが助けてくれるか、正しい質問をしてくれることを願っています!

4

3 に答える 3

0

<html>この属性をタグに追加します。

xmlns:fb="http://www.facebook.com/2008/fbml"

それでも問題が解決しない場合は、XFBMLタグを使用する代わりに、iFrame形式でボタンを生成してみてください。

于 2011-04-10T01:54:42.713 に答える
0

代わりに HTML5を使用してみてください。これは XHTML ほど厳密ではなく、特に XHTML は厳密です。とにかくXHTMLは死んでいます。

于 2011-04-10T01:38:49.800 に答える
0

ここで使用しようとしているコードは、Open Social DTD の一部です。XHTML Strict はこのコードを解析できません。これは仕様の一部ではないため、無効です。

Facebook Open Social のドキュメント を見ると、ドキュメントが非常に異なる DTD でマークアップされている必要があることがわかります。

于 2011-02-10T00:03:04.100 に答える