「メイド・イン・ヘブン」スキン適用中

Cocoonフォーラム

サイト内検索
書き込みの前に以下の3点をご確認ください。
  1. 1つのトピックにつき1つの質問を書き込んでください
  2. 不具合・カスタマイズ対象ページのURLを提示高速化を無効にしてください
  3. 該当部分のキャプチャ・環境情報とともに書き込んでいただけると助かります

何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。

不具合・カスタマイズ対象ページのURL:

相談内容:

不具合の発生手順:

解決のために試したこと:

※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:

※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。

環境情報の取得方法はこちら。
https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
https://wp-cocoon.com/theme-trouble/

フォーラム利用ガイドリンク

  1. フォーラムガイドライン
  2. よくある質問と答え(FAQ)
  3. サポート対象外のケース
  4. 原因不明の不具合用トラブルシューティング
  5. トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw
  6. 真っ白画面でのエラーメッセージの確認方法
  7. ブラウザ環境チェックツール
  8. Cocoonカスタマイズ依頼

フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。

iPhoneでサイドバーの画像が表示さ...
 
共有:
通知
すべてクリア

[解決済] iPhoneでサイドバーの画像が表示されない

18 投稿
6 ユーザー
17 Likes
3,858 表示
(@kchan)
Trusted Member
結合: 5年前
投稿: 56
Topic starter  

いつもお世話になっております。

iPhoneiPadでサイドバーの画像が、触る(スクロールする)まで表示されません。トップ、投稿ページとも同様の状態です。
AMPでは表示されています。

気がついたのは、1ヶ月以上前になります。

 

繰り返しになってしまいますが、サイドバーを開いても画像が表示されず、スクロールをしたときに表示されます。
触らなければ 画像は表示されないままスリーブで画面が暗くなります。

Cocoonと私のサイトがこのような状態です。
かうたっくさんと草村さんのサイトを確認してみると、表示されました。

 

●iPhoneでサイトバーの画像が表示されないサイト
https://wp-cocoon.com/

https://xn--w8jte276hx5vdnebu3f.com

●サイドバーの画像が表示されるサイト
https://bibabosi-rizumu.com/

https://web.monogusa-note.com/cocoon-breadcrumb-clone
(投稿記事のサイドバーに新着一覧があるのでそちらのURL)

どうぞよろしくお願いいたします。


   
わいひら
(@yhira)
Illustrious Member Admin
結合: 6年前
投稿: 16435
 

申しわけないのですが、僕はiPhoneを持っていないので動作確認はできていません。

ただ、原因の切り分けのために一点確認させてください。
高速化設定のLazy Loadを無効にすると表示されますでしょうか?


   
がっきぃ
(@gackey-21)
Active Member Registered
結合: 5年前
投稿: 18
 

iPhoneで確認してみました。

●iPhoneでサイトバーの画像が表示されないサイト
https://wp-cocoon.com/

https://xn--w8jte276hx5vdnebu3f.com

Cocoonサイトは1分ほど待っても表示されませんでした。

kchanさんのサイト(?)は暫く待っても表示されませんでしたが、カルーセルが切り替わるタイミングでサイドバーの画像も表示されました。


   
わいひら reacted
(@kchan)
Trusted Member
結合: 5年前
投稿: 56
Topic starter  

がっきいさん、わいひらさん
ありがとうございます。

Lazy Loadを無効すると最初から表示されました。

他のトピックでLazy Loadで画像が表示されないと質問しているのに、そこに気づかずにすみませんでした。


   
がっきぃ
(@gackey-21)
Active Member Registered
結合: 5年前
投稿: 18
 

ん〜。ただ私のサイトはLazy Load有効なのですが、サイドバーを開いて3〜5秒位で表示されるんですよね、、、

https://thx.jp


   
わいひら reacted
(@kchan)
Trusted Member
結合: 5年前
投稿: 56
Topic starter  

ほんとですね。
がっきぃさんのサイトは、3秒くらいで表示されました。


   
かうたっく
(@kautakku)
Famed Member Moderator
結合: 6年前
投稿: 4764
 

もし有効化しておきたいって事でしたら、高速化のLazy Loadを除外する□欄に以下を追記すれば表示されると思います。

size-thumb120

ただリサイズされた120pxの画像が使われた場所も除外されると思います。

  • トップなどのエントリーカード・次へ前へのページ送りナビ。
  • 記事下の関連記事。
  • あとどこだろ!?

ただkchanさんの設定で、この辺見ると使われてないようなので、多分?大丈夫かもです。

 

●サイドバーの画像が表示されるサイト

私はLazy Loadをoffにしてるので、表示される感じだと思います ? 


   
わいひら reacted
草村
(@kusamura_mono)
Reputable Member Registered
結合: 5年前
投稿: 174
 

IntersectionObserverがiOS Safariでは未実装みたいなので、
未実装ブラウザではスクロールとかリサイズとかのタイミングに画像位置を取得して画像をロードしているとか?かもしれませんね。

https://caniuse.com/#feat=intersectionobserver

確認するにも私には難しすぎてざっくりとした推測ですが… ?


   
わいひら reacted
(@kchan)
Trusted Member
結合: 5年前
投稿: 56
Topic starter  

かうたっくさん
ありがとうございます。

size-thumb120

と入れたら表示されました!
1ヶ月以上表示されないなぁ…と思っていたので嬉しいです。

今は、一旦 追記を消しておきますね^^

 

草村さん
いつもありがとうございます。
くわしく調べてくださったのですね!

表示されるようになるといいのですが…

 

 


   
草村 and わいひら reacted
草村
(@kusamura_mono)
Reputable Member Registered
結合: 5年前
投稿: 174
 

実は私もLazyLoadを有効にするとiPhoneでサイドバーの画像が初見で表示されないのが気になっていたんですよね ? 

スマホだとサイドバーが画面外の右の方に隠れている状態なので、試しに発火点が初期では左右20pxになっているところを

rootMargin: "500px 20px"

左右も500pxになるように変更してみました。

rootMargin: "500px"

私のブログでLazyLoadを有効にして試しているのですが、スクロールしなくても表示されるでしょうか?

https://web.monogusa-note.com/


   
わいひら reacted
(@kchan)
Trusted Member
結合: 5年前
投稿: 56
Topic starter  

草村さん

表示されています!
スクロールしなくても、表示されてます^^


   
わいひら and 草村 reacted
草村
(@kusamura_mono)
Reputable Member Registered
結合: 5年前
投稿: 174
 

確認ありがとうございました!

恐らく他のIntersectionObserver未実装のブラウザでも開いた時から表示出来るようになってるかと思います。

とりあえず私がやった事ですが、子テーマのfunctions.phpにLazyLoad読み込み用のコードをコピペしてrootMarginの値を書き換えました。

https://github.com/yhira/cocoon/blob/master/lib/utils.php#L366-L373

function wp_enqueue_lazy_load(){
if (is_lazy_load_enable() && !is_login_page()) {
wp_enqueue_script( 'polyfill-js', get_template_directory_uri() . '/plugins/polyfill/intersection-observer.js', array(), false, true );
wp_enqueue_script( 'lazy-load-js', get_template_directory_uri() . '/plugins/lozad.js-master/dist/lozad.min.js', array('polyfill-js'), false, true );
$data = 'const observer = lozad(".lozad", {rootMargin: "500px",threshold: [0, 0.5, 1.0]});observer.observe();';
wp_add_inline_script( 'lazy-load-js', $data, 'after' ) ;
}
}

以前kchanさんはPHPはあまり触りたくないと仰っていたと思うので、現状はかうたっくさんの書き込みの除外設定が一番簡単な対応方法だと思います。

もしくは何か他の、もっとスマートな解決方法があったらいいのですが~…


   
わいひら and Akira reacted
(@akira)
Famed Member Registered
結合: 6年前
投稿: 1657
 

さすが、草村さん。これは、わいひらさんが修正される気がします。

もし、修正されるのなら、threshold: [0, 0.5, 1.0] の削除もされた方がいいかもしれません。

lazy load で使われている lozad.js は、交差を検出した要素に対しては監視を停止します(lozad.js の 57 行目から 69 行目)。

https://github.com/ApoorvSaxena/lozad.js/blob/master/src/lozad.js#L57

なので、threshold の 0.5 と 1.0 のタイミングではコールバックが呼び出されません。また、threshold のデフォルト値は 0 なので、0 だけの指定はいらない。ということで、この threshold の指定は不要かなと思います。


   
草村 and わいひら reacted
わいひら
(@yhira)
Illustrious Member Admin
結合: 6年前
投稿: 16435
 

おお!草村さんありがとうございます!いいねを10個つけたい ? 
その部分については、思いもつきませんでした。
確かに、スライドインメニューは画面の右側に、20px以上はみ出して格納されているので、発火しないのも今言われてみれば、ありえますね。

草村さんとAkiraさんが書かれたことを参考に、修正してみました。
https://github.com/yhira/cocoon/commit/33b6f1bc43b22828dbe5e118d431ba3f59db77a6

当サイトにも適用してみましたので、よろしければiPhoneでご確認いただけると幸いです。


   
草村 reacted
わいひら
(@yhira)
Illustrious Member Admin
結合: 6年前
投稿: 16435
 

一応、修正版はこちらになります。
https://github.com/yhira/cocoon
最新ファイルをダウンロードする場合は、上記ページのダウンロードボタンからzipファイルをダウンロードしてください。


   
(@kchan)
Trusted Member
結合: 5年前
投稿: 56
Topic starter  

iPhone、iPadとも表示されています!
とてもいい感じです。
みなさん、スゴイ?


   
わいひら and 草村 reacted
草村
(@kusamura_mono)
Reputable Member Registered
結合: 5年前
投稿: 174
 

おかしな対処法じゃないか不安だったので安心しました!よかったです。

私の方でもiPhoneで確認したら、開いた時からちゃんと表示されていました。
修正ありがとうございます!


   
わいひら reacted
わいひら
(@yhira)
Illustrious Member Admin
結合: 6年前
投稿: 16435
 

皆様、解決策と動作確認をありがとうございます ? 
iPhoneノンホルダーの僕だけだったら、多分原因はわからなかったと思います。


   
共有:

問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。

また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。

「いいね!」機能はフォーラム登録者のみが利用できる機能です。

CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。

フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。

最近の書き込みはこちら。

詳細なカスタマイズ依頼をするならこちら。

タイトルとURLをコピーしました