『今でもまだ便利な方法である』と言う事もできます。正確なHTMLを提供する人は使わない方が良いです。使わないとフレームのDOM操作ができない』なんて思い込んでる人は知っておく方が良いと思います。古くからあるこの方法はformsなどと同じで、frames[0]のようなindexを使った方法でも普通に指定できます。使える間は活用してしまっても良いかな?と思います。属性を付けたiframe、frameです。frame、iframe内のドキュメントのDOM操作。指定しただけでウィンドウオブジェクトを指定してるつもりになる事です。そのフレーム内ウィンドウを意味する物ではありません。プロパティがフレームウィンドウを指します。勘違いしやすい例としてdocument.getElementById('frame1').srcこれはフレームタグオブジェクトに対してそのsrcですので正解。document.getElementById('frame1').locationフレームタグにlocationなどと言うプロパティはないので間違い。document.getElementById('frame1').contentWindow.locationこれはwindowオブジェクトに対してのlocationなので正解。フレームタグとしてのオブジェクトを指し、ウィンドウを指しません。IE、Netscape系共通でdocument.getElementById('フレームID').contentWindowdocument.getElementById('フレームID').contentWindow.documentとなります。ウィンドウオブジェクトを意識せずに、フレームウィンドウ内のドキュメントを指定できます。ま、前述の共通で使える汎用の方法があるので、これをわざわざ使う必要はないですが。document.getElementById('frame1').contentDocumentの様に使えます。document.getElementById('フレームID').contentWindow.documentと同じ物を指します。document下のオブジェクトとして参照できます。(iframeも含まれています)多分どっちも同じ物を指してると思います。これはフレームオブジェクトで、タグを指す物ではなくフレーム内ウィンドウを指す物です。従ってdocument.frames['フレームID']と言う指定の仕方もできます。これは、window.frames['フレームID']と同じでありframes['フレームID']と同じであり、フレームIDと同じであり、document.getElementById('フレームID').contentWindowと同じです。真ん中の3個の方法はページはじめに説明してあるwindow直下のframesを扱う方法(古い方法)と同じです。document.allを持つIEやOpera、Safariでもいけます。Netscape系でも通用します。nameやIDを気にせずにframes[0]の様にwindow.frames配列をindexで指定すればNetscapeでも普通に使えます。書いてしまうと駄目ですよ。それを使う必要がある時だけに使う方法ですね。出来立てほやほやのiframeフレームの取り扱いはウィンドウが絡むのでちょっと変な動きがあります。iframeを作成した場合には、最初からiframe記述が存在してた場合と違って、ちょっと操作にワンクッション必要です。そのせいで動的生成のiframeに関してはすぐに書込みができないなどの問題が起きます。『新たにドキュメントを作る』作業をしてしまえば余計な事を気にしなくて済みます。document.charset;フレームのdocumentオブジェクトを開いて・閉じるだけでOKです。これで普通にiframe記述のSRC無しのblank状態にしてるのと同じになります。他の方法があればその方法で、なければUTF-8のままで扱う事になりそうです。フレーム内のドキュメントが読み込まれているかどうか?を確認してから操作を実行する必要があります。(イベントハンドラ)を使ってしっかり確認ができる。Netscape系はAjax(XMLHttpRequest)のドキュメントには用意してるけど普通のドキュメントはない?(多分)って事。イベントで確認をとるベタな方法を使います。onloadイベントハンドラを付けてしまいます。言う名前で、フレームのロード状態を参照できます。実行させるようにします。