チョコミントアイス

location.hrefでページ切替時の白画面を何とかしたい

上下フレームの構成でWEBページを作成しています。
上フレームは目次で、下フレームがメイン画面となっております。
上フレームのボタンを押下して下フレームの表示を
parent.bottompage.location.href="URL" で変更させています。

下フレームのページを切り替える際に、
一瞬だけ読み込み中のための真っ白な画面が表示されるのですが、
この白い画面を表示させないでほしいと言われ、対応に困っています。
(画面の点滅が目に優しくないとか。。。)

遷移先の画面の読込が終わるまで元の画面を表示し続ける方法を試し、探していましたが
良い方法が見つかりませんでした。
上記の方法、それ以外の方法、もしくは誤魔化す方法でもいいので
対応策をご存知の方がいらしたら、ご教授頂ければと存じます。

なお、イントラネット内でのみ使用する目的で、外部公開はしません。
客先の事情もあり、推奨ブラウザはIE6~としております。

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

A 回答 (2件)

未検証のアイデアのみですが…



◇フレームのままで行うなら…
全体の構成に、読み込み用のフレーム(非表示)を用意しておいて、そちらに読込みんで、ロード完了後にフレームの表示位置を入れ替える。(片方の高さを0、display:noneにし、もう片方は反対に)
ボーダーを可変にしてあると、ユーザが掴めちゃうのでどうするかとかいろいろ工夫の余地はありそうだけど…

あと、IEはonloadが正しくないとかいうのもあったような…
(フレームでも同様かどうかは調べていません)
 http://www.keyframe.co.jp/blog/archives/418


◇一端キャッシュさせればOKであるなら…
フレーム操作のような面倒なことをしなくても、上フレームの表示画面外にインナーフレームでも用意しておいて、一度対象ページを読み込んでから改めて当該フレームに読み込ませる。(キャッシュされているから速い)


◇もっと大胆に、別ウインドウを自分の下(見えないように)に新しい構成で表示させてから、自分を閉じる…
と思ったけれど、自分を閉じる時にアラームが出てしまうのと、別ウインドウを開いてフォーカスを移すと、一瞬フリッカーがおきちゃうみたいなのでダメでした。


◇あるいは、今風にajaxでロードして内容を入れ替えるとか
重たい画像とかがあったりすると、レイアウトに時間がのかかるのかも…
(よくわからんが、少なくとも白い画面は出なくてもすむでしょう)


◇他に思いつくのは…
>(画面の点滅が目に優しくないとか。。。)
白い画面って「about:blank」の時と同じ背景色ではなかろうかと想像しますが、クライアント側のデフォルト背景色をグレーなどに設定しちゃうとか…
クライアント全部に設定しないとならないので面倒なのと、背景色の指定のないページをみるとグレーの背景になっちゃうけど…
ということで、こりゃ無理かな?
    • good
    • 0

「一瞬だけ読み込み中のための真っ白な画面が表示される」ってことは、


それなりに重いページなのでしょうから、その重さを解消するように
読み込まれる側のページの処理を最適化するのがベターですが…

質問内容に真面目に答えるなら、おすすめはajax(httpRequest)ですね。
参考URL張っておきます。

あとは、逆転の発想で、「一瞬だけ」真っ白な画面が表示されるのがよくないなら、
2秒ぐらい真っ白な画面のまま待たせるのもありかも。

読み込まれる側のページの最初に何かしらそういうスクリプトを書いて
(すべての要素をdisplay:none にするcssを適用させるとか、画面大の真っ白なblock要素をabsoluteで最前面に置くとか)、
setTimeoutで取り除くというのはどうでしょ?

参考URL:http://webos-goodies.jp/archives/50548720.html
    • good
    • 0
この回答へのお礼

返事が遅れてしまい申し訳ありませんでした。

色々な案をご提案いただき、ありがとうございました。
最終的に、AJAXを用いて満足のいく結果となりました。

他の案全てを試したわけではありませんが、
今後、似たような問題で困ったときの解決策として覚えておきます。

ありがとうございました。

お礼日時:2010/11/11 18:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報