Simplicityの特徴 › フォーラム › 不具合報告 › Facebookのタイムライン埋め込みが
- このトピックには4件の返信、2人の参加者があり、最後に
Hidekichiにより10年、 3ヶ月前に更新されました。
-
投稿者投稿
-
-
2016年6月24日 1:03 PM #42878
kamichiki
ゲストFacebookの「ページプラグイン」を使用して投稿記事に貼り付けたところPC版では正常に埋め込まれて見えますが、モバイル表示(iPhoneから)ですとblockquotにリンク表示になっています。
以前はモバイルでもちゃんと表示されていたと記憶しておりますが・・・
これもwordpress4.5.3の影響かわかりませんが取り急ぎ連絡です。wordpress4.5.3
simplecity2 2.2.0 -
2016年6月24日 2:00 PM #42879
Hidekichi
ゲストfacebookはおそらくblockquote部分のアドレスをjavascriptでタグ書き換えしていると思うので、それらが動作していないのではなかろうかと思うんですけれども、それらが動作しない場合は、つまりアドレスが記事中にあるということでoEmbedが動作しているのではなかろうかと推測します。
なので、ひとまずfacebookのスクリプトみたいのが正常に動作しているか等を調べて頂いてから、現在の表示のどこに原因があるのかを調べるような段取りになるかと思います。
Simplicity公式のスクリプトを見ると、#fb-root .fb_resetみたいなものが読み込まれてますが、こういうfacebookのものだろうと思われるスクリプトがパッとみて見当たらなかったので、念の為。
-
2016年6月24日 8:34 PM #42891
わいひらキーマスターおそらく、ウィジェットで貼り付けていると思うので、同じウィジェット前に以下のコードも追記するとどうなりますか?
<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/sdk.js#xfbml=1&version=v2.6"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));</script> -
2016年6月26日 11:08 PM #42972
kamichiki
ゲストHidekich様、わいひら様
ありがとうございます。facebookページプラグインは投稿記事に直接貼り付けています。
わいひら様のご指摘同様生成された<script>部分も追記しましたらPCでもモバイルでも表示されるようになりました。ありがとうございます。 -
2016年6月27日 12:06 AM #42976
Hidekichi
ゲスト> facebookページプラグインは投稿記事に直接貼り付けています。
よくわからないんですけども、僕が書いた回答はわいひらさんの書いたようなスクリプトが見当たらないので、調べて入れてみてくださいということだったわけです。
おそらくなんですが、これらスクリプト(facebookなり、google、twitter等のスクリプト)は、それぞれの個別の挿入する要素と、それらを書き換えるスクリプトがあって、書き換える方の部分はページに1つだけあったら良いと思います。
例えば、Googleアドセンス
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- responsive ads --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-xxxxxx" data-ad-slot="xxxxxxx" data-ad-format="auto"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script>こうなってますけれども、ここの
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>これは各ウィジェットに不要な部分です。ウィジェットには、<ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-xxxxxx" data-ad-slot="xxxxxxx" data-ad-format="auto"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script>ここだけあれば良いのではなかろうかと。
毎回
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>を読むのはあまり意味がなく、ヘッダに1発あればそれだけで機能すると思うんですよね。Googleもバカじゃないので、すでにadsbygoogle.jsが読み込まれていれば再度読みに行くというようなことはしない(読み込みキャンセルする)と思いますが、チェックするだけでもページを表示するまでに多少なりとも時間がかかるので、外部から読み込むスクリプトが多い場合は、なるべくこれらスクリプトは1つだけ読み込ませるようにするほうが良いかと思います。参考: https://support.google.com/adsense/answer/3221666?hl=ja
上記の「ページ上に複数の広告コードがある場合、各広告ユニットに
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>を含める必要がありますか?」このような感じ。googleの場合は、こうですがfacebookやtwitterのタイムラインとかの場合はどうか知りません。が、基本同じかと。
で、今回の質問の場合は、それぞれの個別の挿入する要素は存在したけれども、これら書き換えるためのスクリプトがなかったという感じかと思います。
-
-
投稿者投稿
- このトピックに返信するにはログインが必要です。