追加したかったけど、できない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