2010年04月14日

【javascript】フレームのリロード

ホームページを作るのにいきなりサーバー上でHTMLファイルを作るのは効率が悪いのでまずはローカルで作ってみました。
イメージ通りのページが表示できたらそれをサーバーにアップして出来上がりにするという予定。

作りたいページはフレームで別れている状態。
つまり上フレーム下フレームに分かれている感じ。

困っているのはそこにjavascriptを組み込むところ。
組み込みたいjavascriptはそれほど難しくはないはずなのですが。
要するにやりたい事は以下の動作。

上フレームのボタンをクリックすると
下フレームリロード、つまり更新させる。

たったこれだけなのです。
とりあえずボタンだけを表示させたHTMLファイル
上フレームに配置してみる。
下フレームにはとりあえずYahooを表示してみた。

上フレームのボタンを押したときに
下フレームをリロードするjavascriptを組み込んでいく。
具体的にはこんな感じ。

<input type="button" value="下フレームをリロード" onclick="javascript:parent.f_bottom.location.reload(true);">
もちろん事前に下フレームにはf_bottomという名前を付けてあります。
そしてボタンをクリック
…。
うまくいきません。
ステータスバーを見てみると
黄色い三角印が。
ページでエラーが発生しました
クリックしてみるとエラーメッセージが表示されます。
エラー 書き込みできません。
だそうです。

いろいろ試行錯誤してみて
ネットでもいろいろ調べてみて。

命令文に間違いは見当たらないが
念の為いろんな所をいじってみる。
原因不明。全く解決しない。
だいぶ苦労したところで答えを見つけました。

原因は下フレームにYahooを表示していた事。
べつにYahooがいけないわけではありません。
何がいけなかったかと言うと
このjavascriptの命令文でリロードできるのは
フレームで使用しているすべてのファイルがローカルにあるときだけだったのです。
またはすべてのファイルがサーバー上にある事。

つまり今回の場合
Yahooではなくローカル上に置いたファイルを下フレームに表示すれば
その下フレームをリロードすることは可能。
サーバー上では
上フレーム下フレーム共にサーバー上に置いてあれば
上フレームのボタンをクリックして下フレームをリロードすることが可能、という事でした。

という事は
自分で作成したHTMLファイルリロードすることはできても
ネット上のホームページjavascriptでリロードすることはできないという事ですね。

フレームを使ったページのリロードで行き詰っている人が
この記事を読んで参考にしてくれれば幸いです。
posted by D at 22:03| Comment(0) | TrackBack(0) | パソコン | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。