facebookのCommentをPukiWikiに追加


投稿日:2011年9月18日
  • 2
  • 0



追加したかったけど、できないw

いいねボタンのようにJavaScriptで現在のページを取得する方法で別々のページごとにコメントできるようにしようとテストするがどうしてもできない。

具体的には下記のように変更した。

echo <<<fbroot
</br>
<div id="fb-root"></div>
<script>(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/ja_JP/all.js#xfbml=1";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

<script type="text/javascript">
var url = document.URL;
document.write('<div class="fb-comments" data-href="'+encodeURIComponent(url)+'" data-num-posts="2" data-width="250"></div>');
</script>
fbroot;

いいねボタンでは「+encodeURIComponent(url)+」でURLを取得できたが、コメント欄の追加の場合はトップページのみ表示されるが、個別のページでは表示されない…。
source」「escape()」「encodeURI()」などをつかったり、「location.href」を入れてみたり試行錯誤するも頓挫。

しょうがないからphpで書き換えてみる。

http://$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']

を使って、urlを取得。ソースを見ると…。ちゃんと出来てる…w
調べるとエラーが出てる。

Uncaught URIError: URI malformed

調べると上記エラーが出た。どうやらEUC-JPでエンコードされたURLに対応してないようだ。
試しにエンコードされたURLをはじめから直打ちしてテストすると同じように動作しない。ということは…解決法ないじゃんw

解決法をご存知のかた教えてw

解決しました。かなり豪快な解決法ですがw


現在のページを共有する



現在のページに関連する記事

公式TweetボタンでURLが化ける 公式TweetボタンでURLが化ける
「つぶやき」に「via」を付けよう 「つぶやき」に「via」を付けよう
facebookのCommentをPukiWikiに追加 5段階評価を付けることができるjQuery Ratyプラグインの使い方
facebookのCommentをPukiWikiに追加 WordPressのショートコードを利用してSNSのVertical Balloonを設置する方法
facebookのCommentをPukiWikiに追加 「最新版」WordPressに各種ソーシャルメディアボタンを追加する方法
facebookのCommentをPukiWikiに追加 もう覚えなくても大丈夫!?WordPressの条件分岐タグの使い方まとめ
PukiwikiでGoogle Analyticsを使う PukiwikiでGoogle Analyticsを使う

おすすめの記事

初心者でも安全なLAMP環境を構築する方法を解説

初心者でも安全なLAMP環境を構築する方法を解説

ClamAVとClamSMTPを利用してPostfixのメールをウイルスチェック

ClamAVとClamSMTPを利用してPostfixのメールをウイルスチェック

開発の最前線でクリエイター・エンジニアに必要なプログラミング言語

開発の最前線でクリエイター・エンジニアに必要なプログラミン…

Linuxの基本の基本。Linuxの基本的なディレクトリ構成

Linuxの基本の基本。Linuxの基本的なディレクトリ構成

Mac OS 9時代のIDE接続のHDDをMacDrive 10を利用してWindows 10で読み込む方法

Mac OS 9時代のIDE接続のHDDをMacDrive 10を利用してWindows 10…

Google Feed APIの代替手段としてjQueryだけでRSSを表示する方法

Google Feed APIの代替手段としてjQueryだけでRSSを表示する方法

NexusFontが重い場合はWindows Font Cache Serviceを無効にしよう

NexusFontが重い場合はWindows Font Cache Serviceを無効にしよう

自前の国別IPv6、IPv4アドレス割当リストを作成しよう

自前の国別IPv6、IPv4アドレス割当リストを作成しよう


コメントを残す

コメントは認証制のため、すぐには反映されません。

プログラミングに関する質問は「日本語でプログラミングの悩みを解決するQ&Aサイト sukegra」をご利用ください。