- ベストアンサー
location.hrefでページ切替時の白画面を解消する方法
- location.hrefでページ切替時に白画面が表示される問題について、解消方法を探しています。
- 上下フレーム構成のWEBページで、上フレームのボタンを押下して下フレームの表示を切り替えていますが、切り替えの際に一瞬だけ白い画面が表示されます。
- この白い画面を非表示にする方法を知りたいです。イントラネット内での使用を想定しており、推奨ブラウザはIE6~です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
未検証のアイデアのみですが… ◇フレームのままで行うなら… 全体の構成に、読み込み用のフレーム(非表示)を用意しておいて、そちらに読込みんで、ロード完了後にフレームの表示位置を入れ替える。(片方の高さを0、display:noneにし、もう片方は反対に) ボーダーを可変にしてあると、ユーザが掴めちゃうのでどうするかとかいろいろ工夫の余地はありそうだけど… あと、IEはonloadが正しくないとかいうのもあったような… (フレームでも同様かどうかは調べていません) http://www.keyframe.co.jp/blog/archives/418 ◇一端キャッシュさせればOKであるなら… フレーム操作のような面倒なことをしなくても、上フレームの表示画面外にインナーフレームでも用意しておいて、一度対象ページを読み込んでから改めて当該フレームに読み込ませる。(キャッシュされているから速い) ◇もっと大胆に、別ウインドウを自分の下(見えないように)に新しい構成で表示させてから、自分を閉じる… と思ったけれど、自分を閉じる時にアラームが出てしまうのと、別ウインドウを開いてフォーカスを移すと、一瞬フリッカーがおきちゃうみたいなのでダメでした。 ◇あるいは、今風にajaxでロードして内容を入れ替えるとか 重たい画像とかがあったりすると、レイアウトに時間がのかかるのかも… (よくわからんが、少なくとも白い画面は出なくてもすむでしょう) ◇他に思いつくのは… >(画面の点滅が目に優しくないとか。。。) 白い画面って「about:blank」の時と同じ背景色ではなかろうかと想像しますが、クライアント側のデフォルト背景色をグレーなどに設定しちゃうとか… クライアント全部に設定しないとならないので面倒なのと、背景色の指定のないページをみるとグレーの背景になっちゃうけど… ということで、こりゃ無理かな?
その他の回答 (1)
- 23468
- ベストアンサー率66% (6/9)
「一瞬だけ読み込み中のための真っ白な画面が表示される」ってことは、 それなりに重いページなのでしょうから、その重さを解消するように 読み込まれる側のページの処理を最適化するのがベターですが… 質問内容に真面目に答えるなら、おすすめはajax(httpRequest)ですね。 参考URL張っておきます。 あとは、逆転の発想で、「一瞬だけ」真っ白な画面が表示されるのがよくないなら、 2秒ぐらい真っ白な画面のまま待たせるのもありかも。 読み込まれる側のページの最初に何かしらそういうスクリプトを書いて (すべての要素をdisplay:none にするcssを適用させるとか、画面大の真っ白なblock要素をabsoluteで最前面に置くとか)、 setTimeoutで取り除くというのはどうでしょ?
お礼
返事が遅れてしまい申し訳ありませんでした。 色々な案をご提案いただき、ありがとうございました。 最終的に、AJAXを用いて満足のいく結果となりました。 他の案全てを試したわけではありませんが、 今後、似たような問題で困ったときの解決策として覚えておきます。 ありがとうございました。