IFrame与window对象(contentWindow)

Posted ouyangyulin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IFrame与window对象(contentWindow)相关的知识,希望对你有一定的参考价值。

var detialIframe=document.all("detialIframe");

    此处的IFrame是从document取得的,即作作为document的子对象出现,虽然是文档(document)对象,但由于它是独立的页面,因而拥有自己的事件,拥有自己的窗口对象(contentWindow); Window.detialIframe 或Window.frames(detialIframe)将直接取得IFrame的Window对象

 

IFRAME

    IFRAME 元素也就是文档中的文档

window 对象

    浏览器会在其打开一个 html 文档时创建一个对应的 window 对象。但是,如果一个文档定义了一个或多个框架(即,包含一个或多个 frame 或 iframe 标签),浏览器就会为原始文档创建一个 window 对象,再为每个框架创建额外的 window 对象。这些额外的对象是原始窗口的 子窗口,可能被原始窗口中发生的事件所影响。例如,关闭原始窗口将导致关闭全部子窗口。如果想要创建新窗口(以及对应的 window 对象),可以使用像 open, showModalDialog 和 showModelessDialog 这样的方法。

contentWindow

    contentWindow属性是指指定的frame或者iframe所在的window对象

    在IE中iframe或者frame的contentWindow属性可以省略,但在Firefox中如果要对iframe对象进行编辑则必须指定contentWindow属性。

function EnableEdit()
{
    var editor;
    editor = document.getElementById("HtmlEdit").contentWindow;
  // 针对IE浏览器, make it editable
    editor.document.designMode = ‘On‘;
    editor.document.contentEditable = true;
  // For compatible with FireFox, it should open and write something to make it work
    editor.document.open();
    editor.document.writeln(‘<html><head>‘);
    editor.document.writeln(‘<style>body {background: white;font-size:9pt;margin: 2px; padding: 0px;}</style>‘);
    editor.document.writeln(‘</head><body></body></html>‘);
    editor.document.close();
}

<iframe  ID="HtmlEdit" MARGINHEIGHT="1" MARGINWIDTH="1" width="100%" height="312">
</iframe>

<html>
<body>
<script>
    var ifr = document.createElement("iframe");
    document.body.appendChild(ifr);
    var ifrdoc = ifr.contentWindow.document;
    var s = fixingHTB.innerHTML;  //进入可编辑模式前存好
    ifrdoc.designMode = "on";    //文档进入可编辑模式
    ifrdoc.open();               //打开流
    ifrdoc.write(s); 
    ifrdoc.close();              //关闭流
    ifrdoc.designMode ="off";    //文档进入非可编辑模式
</script>
</body>
</html>



































以上是关于IFrame与window对象(contentWindow)的主要内容,如果未能解决你的问题,请参考以下文章

contentWindow : IFrame与window对象

Iframe父页面与子页面之间的相互调用

测试一个的内容 在含有酶的React组分中

父窗口获取iframe子窗口window对象和document对象的方法

JavaScript(浏览器模型/window对象/iframe)

iframe+windows切换