ブラウザ上の「戻る」ボタンを押した際に、指定してある複数フレームが入れ替わりません。確実に入れ替わり、ブラウザ上でも問題のないJavaScriptを教えください。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

イマイチ、聞きたいことがよく分かりませんが、


想定すると、
http://www.cam.hi-ho.ne.jp/t-sue/js/
のサイトに載っている
『フレーム …[NN3,4 IE3,4,5] 複数のフレームページを同時に変更する』
の部分を参考にすればよいのではないでしょうか?

参考URL:http://www.cam.hi-ho.ne.jp/t-sue/js/
    • good
    • 0

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

このQ&Aと関連する良く見られている質問

Q複数フレームで「戻る」ボタンを押すと、1フレームしか戻らない

お忙しいところ申し訳ありませんが、教えてください。
「複数フレームを同時に書き替える」まではわかったのですが、「戻る」ボタンを押すと、1フレームしかページがもどりません。3フレームに分けているのですが、3フレームが同時に「戻る」ことはjavascriptでできるのでしょうか?ちなみにスクリプトは

function viewWin(p1,p2,p3){window.open(p1,"frame1");window.open(p2,"frame2");window.open(p3,"frame3");}

です。
基本的な質問だと思うのですが、わからなくて困ってます。どなたか教えてください。よろしくお願いします。

Aベストアンサー

各フレームごとにそれぞれwindow Objectが一つずつありますよね。
それぞれのwindow Objectでhistory.back呼ぶとどうなります?

Qフレームのランダム切替とブラウザの戻るボタン

よろしくお願いします。
サイトの管理をしています。
右側インラインフレームの部分はonloadイベントを利用して、
ページロードされると同時にランダムに切り替わる
ように作成したのですが、問題に気が付きました。

onloadイベントが発生する前には
初期表示として更新中というデフォルト表示をしておき、
onloadでランダムに選択されたHTMLを取得する
という方法をとっているのですが、
こうすると、
ブラウザの戻るボタンを押したときに、
初期表示に利用している更新中の画面がでてしまい、
本来戻りたい画面に戻るには、
2回戻るボタンを押さないと戻ることができません。

この問題を解決する方法はないでしょうか?

個人的にはonload以外でランダムに選択された
HTMLをインラインフレームに表示できるように
するような方法があれば可能なのかなとも個人的には
考えているのですがよい方法が見つかりません。

よろしくお願いいたします。

Aベストアンサー

>>> 初期表示として更新中というデフォルト表示

これは必須でしょうか。現在のブロードバンドの状況からして、この程度の量ではストレスに感じることは少ないのではないでしょうか。

つまり、"../affiliate/affiliateR.html"の初期表示をやめてもよいかもしれません。

Qブラウザの戻るボタンを押したときのデータの保持の仕方

頻繁に書き込みして申し訳ありません。
どなたかお手すきでしたら、稚拙な質問にお付き合いお願い致します。


前回セレクトメニューについて教えて頂いたのですが、今回もセレクトメニューに関しての質問です。

IEでの話なのですが、セレクトメニュー1・2を選択しsubmitボタンで次のページに行き、
ブラウザの戻るボタンで戻ってきたときにセレクトメニュー2の方のデータ(value)だけ保持できていません。
前にIEはそのような仕様だという話を聞いたのですが、その時もこちらで質問させてもらいました。
その時はselectタグにidを仕込んでおき、「window.onload」でgetElementByIdを使用するやり方を
教わったのですが、今回はそれでうまくいきません。

ネットで検索していてcookieを使用してデータを保持しておくというやり方も見かけたのですが、
一番効率のよいやり方はどのようなものになるのでしょうか。

どうかよろしくお願いします。


以下ソースとなります。



<html>
<head>
<title>テストテスト</title>
<script language="JavaScript"><!--
menuItem = [ [ ],
["あああ","あああ2","あああ3","あああ4","あああ5"],
["いいい","いいい2"],
["ううう","ううう2","ううう3"],
["えええ","えええ2","えええ3","えええ4"] ];
function clearOption(len){
var i;
for (i=0; i<len; i++){
document.aaa.bbb.options[i] = null;
}
}

function setMenuItem(n){
optlen = document.aaa.bbb.options.length;
while(optlen > 0){
clearOption(optlen);
optlen = document.aaa.bbb.options.length;
}

if (menuItem[n].length > 0){
for (i=0; i<menuItem[n].length; i++){
document.aaa.bbb.options[i] = new Option(menuItem[n][i],menuItem[n][i]);
for( j=1; j<=4; j++ ){
if( document.aaa.Maker.selectedIndex == [j] ){
document.aaa.bbb.options[i].value = i+([j]*10);
}
}
}
}
}
window.onload = function(){
setMenuItem(document.getElementById('q1').value);
//alert(document.getElementById('q2').value);
}
// --></script>
</head>
<body>
<form name="aaa" action="./next.html" method="POST">
<select name="Maker" id="q1" onChange="setMenuItem(this.selectedIndex)">
<option value="" selected>--- 選択してください ---</option>
<option value="1">ひとつ</option>
<option value="2">ふたつ</option>
<option value="3">みっつ</option>
<option value="4">よっつ</option>
</select>
<select name="bbb" id="q2">
<option value="" selected>--- 選択してください ---</option>
</select>
<input type="submit" name="ok" vakue="ok">
</form>
</body>
</html>

頻繁に書き込みして申し訳ありません。
どなたかお手すきでしたら、稚拙な質問にお付き合いお願い致します。


前回セレクトメニューについて教えて頂いたのですが、今回もセレクトメニューに関しての質問です。

IEでの話なのですが、セレクトメニュー1・2を選択しsubmitボタンで次のページに行き、
ブラウザの戻るボタンで戻ってきたときにセレクトメニュー2の方のデータ(value)だけ保持できていません。
前にIEはそのような仕様だという話を聞いたのですが、その時もこちらで質問させてもらい...続きを読む

Aベストアンサー

ブラウザによって動作が変わってしまいそうな気がしますね。
検証はしてないですが。

どなたかが仰るように、クッキーで値を変えてあげると良いかも知れませんね。

cookieなんですが、この情報はjavascriptの方で取得してあげる必要があります。
javascriptでは、document.cookieでドメイン上のcookieが取得できると思うので、取得した後parserなどの関数を用意して必要な値を得る必要があると思います。

cookieの発行はsubmit後のページで、サーバーサイドから出してあげた方が良いと思います。

ただ、戻るの動作によってはページの表示自体がおかしくなりそうな気もしますね。

上手く動いたら教えてください!

Qjavascriptであるボタンを押すと他のボタンの表記が変わるというプログラムをつくりたいのですが。

モと表示された1個のボタンと穴と表示された2個のボタンを用意する。モのボタンをクリックするとそのボタンの法事は穴に変わり、残り2つの穴のどれかがモに変わる。穴のボタンをクリックされても何も変わらないプログラムをつくりたいのです。
最初の状態からモをクリックして他のボタンを変化させることはなんとかできたのですが、そのあと移動したモをおしても同じことをできるようにするのができなくて困ってます。
あと、できたらモを押して2つの穴のどちらかがモにかわるとき穴からモにかわるボタンは左側のもの、とかは決まってないでランダムだとうれしいです><
おねがいします!!!

全然違うかもしれませんが、つくってみたのものっけておきます

<html>
<head>
<title></title>
<script type="text/javascript">
var moFlg = true;

function func(){

if (moFlg) {
document.getElementById("btn01").innerHTML = "穴";
document.getElementById("btn02").innerHTML = "モ";
document.getElementById("btn03").innerHTML = "穴";

moFlg = !moFlg;
} else {
document.getElementById("btn01").innerHTML = "穴";
document.getElementById("btn02").innerHTML = "穴";
document.getElementById("btn03").innerHTML = "モ";
moFlg = !moFlg;
}

}
</script>
</head>
<body>
<button id="btn01" type="button" " onClick="func()">

</button>
<button id="btn02" type="button" " onClick="">

</button>
<button id="btn03" type="button" " onClick="">

</button>
</body>
</html>



ここまでです。
でもできたら<input type ~ button ~ onClick>とかがつかわれているとうれしいです。

モと表示された1個のボタンと穴と表示された2個のボタンを用意する。モのボタンをクリックするとそのボタンの法事は穴に変わり、残り2つの穴のどれかがモに変わる。穴のボタンをクリックされても何も変わらないプログラムをつくりたいのです。
最初の状態からモをクリックして他のボタンを変化させることはなんとかできたのですが、そのあと移動したモをおしても同じことをできるようにするのができなくて困ってます。
あと、できたらモを押して2つの穴のどちらかがモにかわるとき穴からモにかわるボタンは...続きを読む

Aベストアンサー

あまり制度高くないような感じですが作ってみました。

<html lang="ja">
<head>
<title></title>
<script type="text/javascript">
function func(t_bt){
var input = document.getElementsByTagName('input');
var button = new Array();
for(var i = 0; i < input.length; i++) {
if(input[i].type == 'button') {
button.push(input[i]);
}
}

if(t_bt.value == 'モ') {
var rand = Rand(button.length - 1);
var flg = 0;
for(var i = 0; i < button.length; i++) {
if(button[i].id == t_bt.id) {
t_bt.value = '穴';
} else {
button[i].value = flg == rand ? 'モ' : '穴';
flg++;
}
}
}
}

function Rand(n) {
return Math.floor(Math.random() * n);
}
</script>
</head>
<body>
<form>
<input type="button" id="btn01" value="モ" onclick="func(this);">
<input type="button" id="btn02" value="穴" onclick="func(this);">
<input type="button" id="btn03" value="穴" onclick="func(this);">
</form>
</body>
</html>

バグとかあったらすみません。
もっと効率のいい方法はないかな。

あまり制度高くないような感じですが作ってみました。

<html lang="ja">
<head>
<title></title>
<script type="text/javascript">
function func(t_bt){
var input = document.getElementsByTagName('input');
var button = new Array();
for(var i = 0; i < input.length; i++) {
if(input[i].type == 'button') {
button.push(input[i]);
}
}

if(t_bt.value == 'モ') {
var rand = Rand(button.length - 1);
var flg = 0;
for(var i = 0; i < button.length; i++) {
if(button[i].id == t...続きを読む

Q戻るボタンで、フレームを読み込む前の画面に戻したい。

こんにちは。maim.htmlという画面から、フレーム frame.htmlを
読み込んでいるのですが、(frame.htmlの中は、top.htmlとbottom.htmlの二つ)
top.htmlにリストボックスで条件を変更したら、bottom.htmlの内容が
変更する様にしています。

そこで、何度かリストボックスを変更する事によって
bottom.htmlの内容を変更して「戻るボタン(history.back)」を
押下したらtop.htmlは変更されずに、前回表示したbottom.htmlに戻ってしまいます。
何度bottom.htmlの内容を変更しても、maim.htmlに戻すという処理を
行いたいのですが、どうしたらよいのでしょうか?
parent.history.back()で、うまく行くのかな?と思ったのですが
うまくいかないのです(;_;)
初歩的な質問かもしれませんが、回答を宜しくお願いしますm(_ _)m

Aベストアンサー

必ずmain.htmlにするのであれば、
location.href='main.html';
とするとか、
素直にmain.htmlにリンクを貼ってはいかがですか?


人気Q&Aランキング

おすすめ情報