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を使う

おすすめの記事

Windows 10でpsd形式のファイルをサムネイル表示する方法

Windows 10でpsd形式のファイルをサムネイル表示する方法

「このアプリがシャットダウンを妨げています」と表示されるがアプリがわからない場合の対処法

「このアプリがシャットダウンを妨げています」と表示されるが…

Windows 10でネットワークが不安定になった際の対策まとめ

Windows 10でネットワークが不安定になった際の対策まとめ

最新のXAMPPをインストールし、安全・高速に運用する方法

最新のXAMPPをインストールし、安全・高速に運用する方法

ImageMagickをWindowsのXAMPPに導入する方法

ImageMagickをWindowsのXAMPPに導入する方法

ユーザーの環境変数を設定するbashの設定ファイルと、カスタムプロンプトについて

ユーザーの環境変数を設定するbashの設定ファイルと、カスタム…

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

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

DELL Inspiron 3250のHDDをSSDへ換装して、メモリを16GBへ増設

DELL Inspiron 3250のHDDをSSDへ換装して、メモリを16GBへ増設


コメントを残す

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

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