• 締切済み

iframe内から外のjavascriptを動かす

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

  • REqu
  • お礼率100% (1/1)

みんなの回答

  • 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

  • javascriptでiframeを代用

    javascriptでhtmlタグ”iframe”のようにページの中に違うページを表示させたいのですが、どのようにすればいいのでしょうか?

  • IFRAMEを使っているのですが

    indexはフレームも何もない普通のページで、ENTERをクリックして入った次のページに IFRAMEを使っているページを作っています。 このページに入ると、IFRAMEの中にindexが表示されてしまい、困っています。 このIFRAMEの中に表示するページを指定する事はできますか?

    • ベストアンサー
    • HTML
  • getURLでiframeタグのウィンドウ内にページを開くには?

    よろしくお願いします。 FLASH MXでメニューバーを作成し、同一ページ内にiframeタグでページの真ん中に"contents"というウィンドウを作成、FLASHのボタン操作でこの"contents"内にページを開きたいのですが、うまくいきません。 on (release) { getURL("***.html", "contents"); } この記述ではダメなのでしょうか?

    • ベストアンサー
    • Flash
  • iframeのサイズを自動設定する方法はあります

    iframeをJavascriptで生成後、srcで指定されたHTMLコンテンツの高さに 自動的にiframeのheightを設定したいのですが可能でしょうか? var iframe = document.createElement('IFRAME'); iframe.setAttribute('src', 'http://net-bike.ne.jp'); iframe.setAttribute('width','100'); iframe.setAttribute('height','100'); currentScript.parentNode.insertBefore(iframe, currentScript.nextSibling);

  • iframe の height は指定しないといけない?

    左にメニューバー、右にメインコンテンツ、という標準的な配置になっています。 左のメニューバーを iframe にしているのですが、ここで height を100%にすると右のメインコンテンツの高さの分だけが表示され、途中で切れてしまいます。 height を書かないともっと短くなってしまいます。 ですので、メニューバーの長さを超えた数値を適当に入れています。 例えば、メニューバーの高さが500ピクセルだったら、600ピクセル位にしておけば全部表示されます。 しかし、この場合、メニューバーの項目が増えてくるとその度にこの数値を変更しないといけないし、いつも適当に数字をあてはめて確かめるというのも大変です。 iframeをメニューバーとして使い、全部が表示されるよい方法がありましたら教えてください。 どうぞよろしくお願いします。

    • ベストアンサー
    • HTML
  • iframeについて・・・

    幅260pxの枠内に、別ページAに記載した幅230pxのコンテンツを表示させたいのです。 ページAのコンテンツは縦長のリストなので、iframeには縦のスクロールバーのみ表示するようにしているのですが、どうも、読み込み先のページAが幅230pxよりも右側にちょうどスクロールバー1本分程度の余白ができてしまい、パッと見はわからないのですが、iフレーム内でカーソルをドラッグして右にずらすと、その余白がでてきてしまいます。 いったいこの余白は何が原因でできているのでしょうか。 また、消すことはできるのでしょうか?

    • ベストアンサー
    • HTML
  • 別のページにあるiframeに、CGIの結果を表示させたい。

    こんにちわ。javascriptで出来るという噂を聞いたのですがjavascriptは初心者でして、どうしたら良いものか分からず、助けを求めております…。 indexというページに、CGIへの結果のリンク一覧が掲載してありまして、それをクリックすると、kekka.htmlの中のiframeに呼び込まれて、kekka.htmlが表示される、というのは出来るのでしょうか…。 色々調べてみたのですが、iframeを2つ以上制御する、というのですとかはあったのですが、違うページの中のiframeを制御、という方法がわからなくて…。 大変分かりづらい質問でスミマセンが教えて頂けますと幸いです。どうぞ宜しくお願いいたします。

  • iframeの高さ自動調整

    いつもお世話になっております。IFrameの高さについて、教えてください。 IFrameの高さを、その内部に読み込むページの高さに自動的に合わせたいのですが、上手くいきません。 色々調査して、 <iframe src="http://xxx.yyy.com/" onload="this.style.height=this.contentWindow.document.body.scrollHeight;" width="100%" frameborder=0></iframe> 等を試しましたが、IE7ではアクセス拒否のエラーが出ます。 同じディレクトリのhtmlを指定するとうまくいくようですが、http://で指定されるurlを指定するとどうしてもうまくいきません。 このようなことは不可能でしょうか?よろしくい願いします。

  • iframe の高さをページごとに調節

    iframeを使用していますが、 読み込むページによって高さが異なるため見栄えが悪いです。 javascriptで指定できるそうですが、中々うまくいきません。 指定する方法を知っている方がいましたら教えてください。。 また、読み込むページがcgiの場合でも調節は可能でしょうか?? ========= ちなみに、下記方法で行った場合に失敗しています。 <iframe name="main"id="frame_set" src="http://www.***.com/***.cgi" width="100%" height="500" frameborder="0"> </iframe> <script language="JavaScript"> <!-- function frame_check(){ if(frame.document.body){ f=frame.document.body.scrollHeight; if(f) document.getElementById("frame_set").height=f+20; setTimeout("frame_check()",100); }else{ setTimeout("frame_check()",100); } } setTimeout("frame_check()",10); --></script> ====================== よろしくお願いします><

  • iframeはSEO的に不利になる?

    iframeはSEO的に不利になる!という記事をよく見かけるのですが、これは具体的にどういうことでしょうか? よく見かけるというのは「iframeを使うことによって表示されたコンテンツはクローラーから見られた時に"意味のないコンテンツ"だと評価されるので、できるだけ使わないようにするべき」というものですが、iframeで表示したいコンテンツが特に意味のない"ただデザイン上使いたい"という理由であれば使用しても問題ないでしょうか? 例えばiframeを使う事によってページが重くなってしまい評価が下がってしまうだとか、iframeを使うこと自体がNGだとか、そういう理由から"iframeはSEO的に不利になる!"と言っているのか分かりません。 面倒な質問ですが宜しくお願いします

    • ベストアンサー
    • SEO

専門家に質問してみよう