fbのようなボタンとfbの送信ボタンをWebページに追加しようとしています。javascriptを使用してIEのHTMLタグにxmlnsタグを追加する。 FB Likeボタン/ Sendボタンがレンダリングされない
ソースのhtmlタグを変更してfbnameスペースを追加することはできません。代わりに、クライアントサイドJSを使用して同じものを追加します。
var htmlRoot = jQuery(jQuery("html").get(0));
if(typeof(htmlRoot.attr("xmlns:fb")) == "undefined") {
htmlRoot.attr("xmlns:fb",'http://www.facebook.com/2008/fbml');
htmlRoot.attr("xmlns:og",'http://opengraphprotocol.org/schema/');
if (typeof(console) != 'undefined' && console) {
console.log("FB NameSpace added");
}
}
FB.XFBML.parse関数は、名前空間が追加された後にのみ呼び出されます。解析関数が呼び出される直前に名前空間を取得すると、html名前空間が変更されていることがわかります。 IEを除くすべてのブラウザでうまく動作します。 IEは変更された名前空間を尊重しません。名前空間の値をログに記録しても、FBNameのスペースが含まれていることが示されていても、同様のボタンはレンダリングされません。どんな仕事?
このhttp://stackoverflow.com/questions/1262285/javascript-adding-attribute-dynamically-to-the-html-tagはあなたにとって興味深いかもしれません。 – Niklas
@Niklasそれを通って..しかし、解決策を得るのを助けなかった。 – Sharad