• 締切済み

iframe内のページ(複数)を変更

ページに複数のボタン(リンク)があり、それをクリックすることで同一ページ内のiframeの内容を変更させたいです。 色々なところを探した結果、 function Change() {document.ifSample.location.href="xxx.html";} と <FORM><INPUT type="button" value="変更!1" onclick="Change()"></FORM> の組み合わせで、単一ページの変更が出来るというのは判りました。 これを複数ページ用に改造するにはどのようにしたら良いでしょうか? 方法がありましたら教えてください。

みんなの回答

回答No.3

>>2 さん おっと失礼しました(^^;; 質問文で出来ると書いてあったので 出来るという前提で書いてました。 <iframe name="ifSample" id="if" src="xxx.html"> </iframe> とすると function Change(){ if(document.getElementById){ //NN6,Mozilla,IE5用 document.getElementById('if').src = 'yyy.html'; } else if(document.all){ //IE4用 document.all(idName).src = 'yyy.html' } else if(document.layers){ //NN4用 document.layers[idName].src = 'yyy.html' } } という感じですかね。 #IE4やNN4の環境が無いので確認できていないですが #document.getElementById('if').src = 'yyy.html' #はできます。 #それ以前に、NN4ではiframe自体対応してないですね(^^;; >> master-3rd さん とりあえず、こちらを参照してください(^^;;

master-3rd
質問者

お礼

返答ありがとうございます。 しかし、私の小さな脳味噌ではどうもすべてを理解できないようです。orz ボタンは複数個置きます。それぞれをクリックすると、それぞれのページが見えるという形です。 しかも、ボタンの数は今後も増える予定です。 上のスクリプト本体をどうこうするのではなく、ボタンの方で行き先を管理できないでしょうか? 再度お願いいたします。

  • Blaise
  • ベストアンサー率33% (13/39)
回答No.2

iFrameでふつー、 function Change(){ document.ifSample.location.href="xxx.html"; } は行かないんじゃないですか? 記憶が正しければ、IE5,IE6ではもちろんですが、 MacのWinでIE5+、Mozilla1.4 でも動かないでしょう。 たぶん、Safari 1.0 Opera 7.2もダメだと思った。

回答No.1

そこまでわかっていればあと一息です( ´∀`) location.href="xxx.html"自体の意味はわかりますよね。 ifSampleという名前のiframeの中のロケーションを xxx.htmlにするというものです。 では、複数変えたい時は? という事です。 もうちょっとヒント ifSampleをxxx.htmlに変えるには document.ifSample.location.href="xxx.html" ifSample2をyyy.htmlに変えるには document.ifSample2.location.href="yyy.html" ボタンが2つなら、それぞれを変更するfunctionを 呼べばいいわけです。 では、1つのボタンでするには? これでわかりますかね?(´・ω・`) またわからなかったら書いてください。

関連するQ&A