プロが教える店舗&オフィスのセキュリティ対策術

サイト内でiframeを使っているのですが、iframe内のファイルを読み込んだとき、もしくはiframe内のリンクをクリックしたときに大元の親ページに文字列(リンク)を追加したいと考えています。

・階層イメージ ([ ]内は内容)

   index(親)[iframe(メイン)]
         ↓
     main(メイン) [iframe(子)(子へのリンクがある)]
         ↓
       child(子)[内容]

現在このようになっています。
childを読み込んだときか、mainの子へのリンクをクリックしたときにindexのほうに文字列(リンク)を追加したいのですが、どなたか方法をご存じの方はいらっしゃらないでしょうか?

当方はあまりHTMLには詳しいとは言えませんので、できれば具体的なタグなどで解説していただければありがたいです。
よろしくお願いします。

A 回答 (2件)

こんにちは。



window 間や frame 間で情報のやりとりをしたい、という発想は、よくありますね。
幸い、最近 iframe で呼出元(親)に情報を送るコードを書いたところです。

例えば、親から下記 HTML


<html>
<head>

<script language="JavaScript">
<!--

parent.document.form1.data1.value = "Hello";

// -->
</script>

</head>
</html>


を iframe に読み込んだとします。
そうすると、親の


<form name="form1">
<input type="text" name="data1">
</form>


のテキスト入力欄に「Hello」が表示されます。
恐らく、これでご希望のロジックが組めるでしょう。

Javascript や iframe などのキーワードで検索すれば、情報が見付かります。


少々ラフにコードを書きました。適当にゲス(推測)してくれれば幸いです。
    • good
    • 0
この回答へのお礼

参考になりました、ありがとうございます。

お礼日時:2007/11/16 16:26

 おっしゃりたいことがわかりにくかったのですが、


 つまり、iframe内の内容が、コラムのページから、日記のページになったら、上のほうに表示しておく見出しを「コラム」から「日記」に変更するような、そんなことをやりたい、というイメージで合ってますかね?

 で、あれば、実現方法はいくつかあると思います。

1.javascriptを用いる方法(あまり詳しくないので割愛)
2.<a href="xxx.html" target="_top">を用いて、親ページごと新しくしてしまう方法。

 という二つになるか、と思います。
 1のほうは面倒な手順を踏めば可能だと思いますが、正直そういうことをされている方はお見かけしませんね。ほとんど。
 だいたいの場合は、2のような手段になるか、と思います。これだと、iframeを使っているご利益が薄く感じられてしまうとは思いますが。index.htmlのところから変更をしてしまう、という手段ですね。
 target="_top" の意味がおわかりにならなかったら、調べてみてください。frameのページは target指定について知っておくことが重要です。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
ちょっとイメージとは違っている感じです…

変更よりも追加、ストック、履歴に近い感じです。
特定のフィールドに読み込んだものを自動でためておきたいと考えてます。

お礼日時:2007/10/30 10:59

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