facebookのCommentをPukiWikiに追加


投稿日:2011年9月18日
  • 1
  • 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



現在のページを共有する



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


おすすめの記事


コメントを残す

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

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