• 締切済み

iframe内から外のjavascriptを動かす

cgiを使ってiframe内にコンテンツを表示させていて、 iframe内にどれを表示するかはiframe外のjavascriptで操作しています。 他のページからこのページへアクセスしたときに、 どのiframeを表示するか指定したいのですが、どのようにすればいいのでしょうか? ちなみにcgiはmovabletypeを使っています。 できれば、iframeにアクセスした際に、iframe外も自動で表示されるようにしたいです。 (iframeのアドレスにアクセスするとコンテンツがページの真ん中にポツンと表示されてしまうので) まだ本当に始めたばかり初心者なので、右も左もわからないのですが どうぞよろしくお願いいたします。

みんなの回答

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

ご質問の内容が理解できてないのですが、回答がないみたいなので… >他のページからこのページへアクセスしたときに、 >どのiframeを表示するか指定したいのですが、どのようにすればいいのでしょうか? 表示する内容を「javascriptで操作」するのと同様の方法にするのが一番簡単そう。 >cgiを使ってiframe内にコンテンツを表示させていて、 >iframe内にどれを表示するかはiframe外のjavascriptで操作しています。 どのような方法なのか記載がないのでわかりませんが、例えばlocation.serach部分を利用していると仮定して スクリプトで   (iframeのelement).src = ○○○.cgi?page=2 みたいな指定でiframeの表示内容を指定しているとするなら、他のページからのリンクのサーチ部も同様に  <a href="http://www.○○○/×××/index.html?page=2">×××へ</a> としておいて(index.htmlはiframeの親のhtmlのアドレスとします) index.htmlが開かれたときにサーチ部を調べて、指定があればそのままiframeのサーチ部にセットして指定すればよいのではないでしょうか? (指定がなければ何もしない → htmlソースに書かれたデフォルトのアドレスが表示される) 例えば、こんな感じ。 window.onload = function() {  var serch = location.search.substr(1);  var frm = document.getElementById(""); //←対象とするiframe要素を取得してください  if (serch) frm.src = "○○○.cgi?" + serch; } もう少しちゃんとやるなら、セットする前に内容が正しいかどうかもチェックするとか… (他の方法で指定していたとしても、それに応じて同様に引継いであげればよいだけです) >できれば、iframeにアクセスした際に、iframe外も自動で表示されるようにしたいです 何種類かの方法があるようです。 「フレーム」、「直接アクセス」(または「直接リンク」)などをキーにぐぐって見てください。 対処方法が見つかると思います。

REqu
質問者

お礼

回答ありがとうございます。 返事が遅くなってしまいすみません。 ためしてみます!

関連するQ&A