frameNN 6 IE 4 DOM 1

frame オブジェクトは frame 要素に対応するオブジェクトです。frame 要素は frameset 要素内にのみ生成できます。ここで説明する frame 要素オブジェクトと、フレームを実現する window オブジェクトの違いを区別することが重要です。frame 要素オブジェクトのプロパティとメソッドは、HTML 要素やその属性に関連付けられた外観を反映する傾向があります。フレームのコンテンツは、従来からスクリプト可能なウィンドウ (W3C DOM の用語では "ビュー") であり、ドキュメントを含んでいます。frame 要素オブジェクトは、同じ識別子をフレーム要素の id 属性や name 属性に設定している場合であっても、その ID から参照することができます。たとえば、あるフレームのドキュメント内のスクリプトから frame 要素オブジェクトにアクセスするには次のように指定します。

parent.document.getElementById("TOCFrame")
 

ただし、同じフレームにウィンドウとしての資格でアクセス (つまり、スクリプトやドキュメントにアクセス) する場合は、同じスクリプトからの参照を次のいずれかの方法で行います。

parent.TOCFrame
parent.frames["TOCFrame"]
 

frame 要素オブジェクトへの参照をスクリプトで処理する場合には、後述の contentDocument または contentWindow プロパティを介して、要素オブジェクトとそのコンテンツとの間の境界を超えることができます。

 

ここで説明されているフレームオブジェクトへの参照は、Windows 95 版の Internet Explorer 4 では正しく機能しないことがあります。また、子フレームに含まれているスクリプトで参照を行うと、windowRef プレースホルダーに parent または top が代入される場合があります。

 
相当する HTML コード
 
<frame>
 
オブジェクト参照
 
[windowRef.]document.getElementById("frameID")
 
オブジェクト固有のプロパティ
 
allowTransparencyborderColorcontentDocumentcontentWindow
dataFlddataSrcframeBorderheight
longDescmarginHeightmarginWidthname
noResizescrollingsrcwidth
 
オブジェクト固有のメソッド

なし

 
オブジェクト固有のイベントハンドラープロパティ

なし

allowTransparencyNN なし IE 6 DOM なし

読み書き

フレームの背景を透明化できるようにするかどうかを示します。基礎となるフレームセットには背景色や背景イメージがないため、このプロパティはフレームには効果がありません。ただし、関連する iframe 要素オブジェクトには適用されます。

 

true または false のブール値

 
既定値

false

borderColorNN なし IE 4 DOM なし

読み書き

フレームのボーダーの色。ボーダー色の矛盾を解決する方法は、ブラウザと OS によって異なります。スクリプトで個々のフレームボーダーを変更する場合は、必ず動作を確認してください。

 
 
parent.document.getElementById("myFrame").borderColor = "salmon";
 

RGB 値の 16 進数表記または色の名前の英単語。空の文字列を設定した場合、"#000000" (黒) として解釈されます。使用できる色の名前については、付録 A を参照してください。

 
既定値

OS によって異なります。

contentDocumentNN 6 IE なし DOM 2

読み取り専用

frame 要素オブジェクトに読み込まれている document オブジェクトへの参照を返します。この document オブジェクトを参照することにより、getElementById() メソッドを介してドキュメント内のいずれかの要素にアクセスすること、またはこのドキュメントの defaultView プロパティを介して window オブジェクトにアクセスすることができます。Windows 版 IE で frame 要素オブジェクトからそのコンテンツにジャンプするには、contentWindow プロパティを使用します。

 
 
var frameElem = parent.document.getElementById("myFrame");
var doc = frameElem.contentDocument;
 

document ノードへの参照

 
既定値

現在の document ノード

contentWindowNN 7 IE 5.5(Win) DOM なし

読み取り専用

フレーム要素で生成される window オブジェクトへの参照を返します。この window オブジェクトを通じて、ドキュメントオブジェクトやドキュメントのいずれかの要素にアクセスできます。Netscape 6 で frame 要素オブジェクトからそのコンテンツにジャンプするには、contentDocument プロパティを使用します。フレーム内のスクリプト変数や関数を操作する場合は、contentWindow (または、W3C DOM への対応が進んだブラウザや Netscape 6 互換ブラウザでは contentDocument.defaultView) により、スクリプトのコンテキストにアクセスできます。

 
 
var frameElem = parent.document.getElementById("myFrame");
var win = frameElem.contentWindow;
 

window ノードへの参照

 
既定値

現在の window ノード

dataFldNN なし IE 4 DOM なし

読み書き

IE のデータバインディングと共に使用して、リモートデータソースの列名をフレームの src 属性に関連付けます。この要素には datasrc 属性も設定する必要があります。dataFlddataSrc の両方のプロパティに空の文字列を設定すると、要素とデータソースのバインディングが壊れます。Macintosh 版 IE 5 ではテキストファイルのデータソースに対してのみ機能します。

 
 
parent.document.getElementById("myFrame").dataFld = "srcURL";
 

データソースの列の識別子。大文字と小文字は区別されます。

 
既定値

なし

dataSrcNN なし IE 4 DOM なし

読み書き

IE のデータバインディングと共に使用して、リモートデータアクセス用にデータソースオブジェクトを読み込むページの object 要素の ID を示します。dataFlddataSrc の両方のプロパティに空の文字列を設定すると、要素とデータソースのバインディングが壊れます。Macintosh 版 IE 5 ではテキストファイルのデータソースに対してのみ機能します。

 
 
parent.document.getElementById("myFrame").dataSrc = "DBSRC3";
 

データソースの識別子。大文字と小文字は区別されます。

 
既定値

なし

frameBorderNN 6 IE 4 DOM 1

読み書き

フレームセットに含まれる各フレームにボーダーを表示するかどうかを示します。個々のフレームボーダーの制御は、大半のブラウザと OS では正しく行われません。1 つのフレームのボーダーを無効に設定しても、その隣にあるすべてのフレームのボーダーが有効になっている場合には、効果がありません。ボーダーの有効/無効をいろいろ試してみることもできますが、ターゲットになるすべてのブラウザと OS で最終的な動作を必ず確認してください。frameset 全体の frameborder 属性や frameBorder プロパティの方が動作は確実です。

 
 
parent.document.getElementById("frame2").frameBorder = "no";
 

1 (有効) か 0 (無効)、または yesno の文字列

 
既定値

yes

height、widthNN なし IE 4 DOM なし

読み取り専用

フレームの高さと幅を示すピクセル数を返します。サイズには、フレームの各バー (スクロールバー) の部分も含まれます。フレームのサイズは、frameset オブジェクトの rows および cols プロパティで調整します。

 
 
var frHeight = parent.document.getElementById("myFrame").height;
 

整数

 
既定値

現在の高さと幅

longDescNN 6 IE 5(Mac)/6(Win) DOM 1

読み書き

frame 要素の longDesc 属性に対応するプロパティです。バージョン 6 のブラウザでは、この属性やプロパティに特別な機能はありません。

 

URL 文字列

 
既定値

空の文字列

marginHeight、marginWidthNN 6 IE 4 DOM 1

読み書き

フレームの内側の端からその中に表示されるコンテンツまでの間隔 (マージン) をピクセル数で示します。marginHeight プロパティはフレームの上と下 (スクロール時) のマージンを指定し、marginWidth プロパティはフレームの左右のマージンを指定します。

 

ブラウザは、特にメッセージを表示することなく、自動的にフレーム枠の内側にマージンを挿入します。マージンの幅はブラウザと OS により異なりますが、一般的には 8 ピクセルから 14 ピクセルの間です。ただしデフォルトの動作を変更する場合には、どちらかの属性を設定すると、もう一方の属性に 0 が設定されるので注意が必要です。したがって、フレームの端に余白を置かずにコンテンツを表示する場合を除き、この両方の属性に値を設定する必要があります。

 
 
parent.document.getElementById("myFrame").marginHeight = 14;
parent.document.getElementById("myFrame").marginWidth = 5;
 

正の整数または 0

 
既定値

ブラウザと OS によって異なります。

nameNN 6 IE 4 DOM 1

読み書き

フレームに関連付けられた識別子です。target 属性の値として、またはフレームへのスクリプト参照として使用します。この値は通常 name 属性によって設定されますが、必要に応じてスクリプトで変更できます。

 
 
parent.document.getElementById("myFrame").name = "results";
 

識別子の命名規則に従った識別子。大文字と小文字は区別されます。識別子には空白スペースは使用できず、1 文字目に数字は使用できません。アンダースコア以外の句読点の使用は避けてください。

 
既定値

なし

noResizeNN 6 IE 4 DOM 1

読み書き

ユーザーがフレームのサイズを変更できるかどうかを示します。これを true に設定すると、その影響を受ける frame 要素のボーダーのすべての辺がロックされます。そのフレームセットに含まれる他のフレームまで伸びているすべての辺もロックされます。

 
 
parent.document.getElementById("myFrame").noResize = "true";
 

true または false のブール値

 
既定値

false

scrollingNN 6 IE 4 DOM 1

読み書き

フレームの可視領域にコンテンツが収まらない場合、そのフレームのスクロールバーの処理を示します。フレームにスクロールバーを強制的に表示したり、まったく表示しないように設定できます。または、スクロールバーの必要性をブラウザが自動的に判断するようにも設定できます。このプロパティに対応しているブラウザの大半は、このプロパティの値を変更しても反応しません。

 
 
parent.document.getElementById("mainFrame").scrolling = "yes";
 

1 (有効) か 0 (無効) の文字列、または yesnoauto のいずれかの文字列

 
既定値

auto

srcNN 6 IE 4 DOM 1

読み書き

フレームに読み込まれる外部コンテンツファイルの URL を示します。コンテンツを変更するには、このプロパティに新しい URL を設定します。クロスプラットフォームのアプリケーションでは、ウィンドウ関連の参照を使ってフレームの location.href プロパティを設定し (例 : parent.frameName.location.href = "newDoc.html")、フレームに別のドキュメントを読み込むようにも指定できます。

 
 
parent.document.getElementById("myFrame").src = "images/altNavBar.jpg";
 

絶対 URL または相対 URL を示す文字列

 
既定値

なし

width

height を参照してください。