【javascript】こちら( http://css-happylife.com/template/14/ )のjavascriptでロールオーバー実装したのですが、

firefoxのブラウザの戻るボタンでページを戻った状態で、
ボタン画像がロールオーバーの画像のままになってしまいます。
※htmlソースのメタ情報でブラウザキャッシュを指定してみたのですがダメでした。

javascript内でこれを解除する方法を教えて下さい。

回答の条件
  • 1人3回まで
  • 登録:2008/09/22 18:48:06
  • 終了:2008/09/29 18:50:03

回答(2件)

id:t_shiono No.1

t_shiono回答回数256ベストアンサー獲得回数222008/09/22 20:06:15

ポイント35pt

bodyのonLoadで強制的に初期状態に戻すとかはどうですか?

ブラウザ間で挙動が異なるようですが、以下のURLを参考にすると対応できると思います。

http://d.hatena.ne.jp/hiratara/20080308/1204955060

何かの参考になれば。

id:minor3010

有り難うございます。

具体的にはbody onload=""の中にどのようなコードを記述すればよいのでしょうか?

2008/09/22 20:50:06
id:t_shiono No.2

t_shiono回答回数256ベストアンサー獲得回数222008/09/22 21:16:31

ポイント35pt

もっと効率よくやる方法はあるかもですが、例えば、次のような関数を用意してあげて、

function resetRollover() {
	if(document.getElementsByTagName) {
		var images = document.getElementsByTagName("img");
		for(var i=0; i < images.length; i++) {
			if(images[i].getAttribute("src").match("_on.")) {
				images[i].setAttribute("src", images[i].getAttribute("src").replace("_on.", "_off."));
			}
		}
	}
}

以下のように指定とするとうまくいくと思います。

Firefoxでは確認しました。

<body onpageshow="resetRollover();">

何かの参考になれば。

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません