WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:インラインフレームを使ってプレビュー画面を作る方法

0:[投稿] やんぼー [2006/02/16 22:25 ] [環境:IE6 不問]

画面の左半分にテキストエリアを用いてHTML文章の入力エリアを置き、
右半分にはインラインフレームを用いてプレビューエリアを実現
できないかと考えています。

インラインフレームにはソース(src)を指定せず、
HTMLの1ファイルで実現したいと思っています。
インラインフレームにはid="idIFrame"を指定してあります。

objIFrame = document.getElementById("idIFrame");

という風にインラインフレーム自体のオブジェクトは取得できた
のですが、インラインフレームの中にHTMLをハメ込む方法が
わかりません。

どなたかご存知ありましたら教えてください。


1:[回答] m035 [2006/02/17 00:08 ][URL]

var objIFrame=top.frames["idIFrame"];
objIFrame=document.getElementById("idIFrame");
objIFrame.document.write(テキストエリアへの参照.value);
objIFrame.document.close();

close()はいらないかも知れないですが、
ブラウザの仕様によってはロード状態と勘違いされますので一応。
document.getElementById("idIFrame")が無効だったので
別の方法で参照していますが特に問題ないはず。


2:[回答] m035 [2006/02/17 00:26 ][URL]

訂正
以下のほうがよさそうです。

var objIFrame=top.frames["pre"];
objIFrame.document.open();
objIFrame.document.write(テキストエリアへの参照.value);
objIFrame.document.close();


3:[回答] やんぼー [2006/02/17 09:16 ]

m035様 ありがとうございました。
実現できました。

ただ、下の部分についてはスクリプトエラーが出たので、
var objIFrame=top.frames["pre"];

下の様にして使いました。
var objIFrame=top.frames[0];

getElementById を使用した場合だと、
親ページのIFrameオブジェクト自体が取得されるのに対し、
framesを使用した場合には、インラインフレーム内のページ
を取得できるという感じの動作みたいですね。


4:[完了] やんぼー [2006/02/17 21:01 ]

こちらの件は完了でした。
ありがとうございました。

回答(必須): 状態:

お名前(必須):

URL:




[戻る]