画面遷移の際のちらつき

2010年4月19日 at 13:54

はじめまして、ぱでぃと申します。仕事でWebのページを作ってます。

新規の作成やメンテナンスを何とか楽にできないかと
いろいろなCMSを試し、Concrete5にたどり着きました。
試しに小規模の案件で使ってみたところ、予想通り簡単に組めたのですが、
完成後、画面遷移の際の表示のガタツキが少々気になっております。
現象としては画像等が一度ズレて表示された後に、正しい位置に再度表示される
と言った感じです。

いつも必ず起こると言うわけではなく、2回に一回ぐらいの割合で発生します。

しかし、Concrete5の問題なのか、サーバーの問題なのかはたまた私のコードの書き方の問題なのかは切り分けできていません。

もし、回避方法にお心当たりがあれば、ご指導いただけますでしょうか?

このページです。
http://www.documenthousegroup.com/aiu
このサイトのバージョンは5.3.2ですが、5.3.3.1で作ったサイトも同じ症状が出ています。
利用しているサーバーはWebARENA SuiteX
そのままでは日本語表示ができないので、斉藤家さんのgettext.phpを使わせてもらっています。
FireFoxとIE8で現象を確認していますが、FireFoxの方がひどいようです。

以上、よろしくお願いいたします。

Re: 画面遷移の際のちらつき

2010年4月19日 at 15:08
concrete5はCSSを管理画面からカスタマイズする機能がありますが、CSSのカスタマイズ表示を処理するのに一瞬時間がかかるため、その間スタイルシートが外れたように見えるようです。
この処理を強制的に回避するには、getStyleSheet()を使わずCSSを直接読み込む方法があります(ただし、管理画面からのテーマのカスタマイズ機能は無効になります)。


変更前
<link rel="stylesheet" media="screen" type="text/css" href="<?php echo $this->getStyleSheet('main.css')?>" />

変更後
<link rel="stylesheet" href="<?php echo $this->getThemePath(); ?>/main.css" type="text/css" />
※CSS中にurl()があれば、パスが変わりますのでご注意ください


とはいえ、リンク先のサイトは読み込みが遅いようには思えませんが。。
 

Re: Re: 画面遷移の際のちらつき

2010年4月19日 at 15:49
ご回答のあまりの速さに感激です。m(_ _)m

教えていただいた方法を試してみます。
実は今構築中の、もう少し重たいサイトでも使っているので、
そちらでの動作の方が気になっています。

結果は後日報告いたしますね。ありがとうございました。
 

Re: Re: Re: 画面遷移の際のちらつき

2010年4月19日 at 17:04
たぶん、表示を行っているクライアント側のメモリーリソースやアンチウィルスソフトウェアなどによる内部動作により画面遷移がちらつくようになってしまっているのではと推測します。

一度環境が違うクライアントでいくつかのブラウザーで表示を確認してみるとよいかもしれないですね。
 

Re: 画面遷移の際のちらつき

2010年4月26日 at 19:18
ちらつきのもう一つの原因がテーマファイルの中のmain.cssの記述位置です。
他のjs,cssを読み込んだあとにmain.cssがあると、main.cssの読み込みに
タイムラグが発生してしまい、main.cssを読み込む前に
画面の表示がはじまってしまう場合があります。

main.cssをhead部の先頭に移動することにより解決される場合もあります。
 

Re: Re: 画面遷移の際のちらつき

2010年4月27日 at 15:55
ずばり、ご指摘の点が問題だった様です。
自作テーマのheader.phpを修正してmain.cssの取り込みを<head>の直後に持ってきたところ、すっきりと改善しました。
ありがとうございました。m(_ _)m