2013年10月25日金曜日

facebookのいいねボタンなどがSafariで開いたときに表示されない問題

  • このエントリーをはてなブックマークに追加

今はどのサイトいってもいいねボタンやらはてぶのボタン、ツイートするボタンなど、
そういったソーシャルボタンがいっぱいちまたにはあふれている。
jsで簡単に入れたいとかwordpressのプラグインで用意されてるとかもあったりする。

で、今回はそんなソーシャルプラグインでいいねボタンがSafariでは表示されないという現象に見舞われた。
IEやFirefox、ましては同じwebkitブラウザであるChromeでは表示されているのに。。。という感じ。
もちろんiPhoneやiPadでも表示されず。

原因なりを自分的に追求してみたのでつらつらと書いてみたいと思う。

1:iframeで埋め込んでたのが原因なのか?

いいねボタンを埋め込むには3種類ぐらい方法がある。
「HTML5」形式、「xfbml」形式、「irame」形式とある。
xhtmlで作っているサイトだったのでhtml5形式は無理なのでiframeを使っていたのだが、
これが原因かと思ったのでxfbml形式に変更をしてみたが、原因ではなかった。


2:いいねされるページと、現在のページURLが違うのが原因か?

いいねボタンはhref="○○○○"とこの丸の中にURLを指定する事で、
そのページに対していいねをする事が出来るものであるけれど、
もしかしたら現在のページURL(http://hoge.com/foo/bar.php)と、いいねで指定したURL(http://www.facebook.com/hogehoge)が違うから、
ドメインの相違という事で表示がされないのではないかと考えた。

とはいってもそれだったらそもそも他のブラウザでもってなるとは思うけど、
SafariはCookie関連でうるさいブラウザであるからそういう仕様でもおかしくはないなと思って変更してみたけど変わらず。

結局のところは他の原因っぽいなと思った。


3:そもそもFacebookにログインをしているかどうか

普段自分はSafariを使わないからSafariでFacebookにはログインをしない。
もちろんiPhoneでもアプリを使ってるから当然Safariでは見る事もない。

とりあえずもしかしたらと思ってログインしてみたら表示されているわけで。
理由はよくわからないけどとりあえず解決。

ということでSafariでいいねボタンが表示されない原因としては、
SafariでFaebookにログインした状態で無いからということだった。
他のブラウザではログインしてようがしてまいが関係ないのになんでだろうとはすごく思うけど、
多分ちょっとうるさい仕様であるSafariだからこそこういう問題が起きているんだろうなとは思う。

Adsense