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>

原文地址:https://www.cnblogs.com/ouyangyulin/p/9232428.html

时间: 2024-10-13 02:21:42

IFrame与window对象(contentWindow)的相关文章

window对象(contentWindow)

IFRAME IFRAME 元素是文档中的文档 window 对象 浏览器会在其打开一个 HTML 文档时创建一个对应的 window 对象.如果一个文档定义了一个或多个框架(即,包含一个或多个 frame 或 iframe 标签),浏览器就会为原始文档创建一个 window 对象,再为每个框架创建额外的 window 对象.这些额外的对象是原始窗口的 子窗口,可能被原始窗口中发生的事件所影响.如果想要创建新窗口(以及对应的 window 对象),可以使用像 open, showModalDia

HTML DOM Window对象

本篇主要介绍HTML DOM Window对象的属性和方法. 目录 1.介绍:描述HTML DOM Window对象. 2.属性:介绍window对象的属性.如:对Console.Document.History.Location和Navigator对象的引用. 3.方法:介绍window对象的方法.如:获取焦点.改变滚动条.设置定时器等等. 1. 介绍 Window对象表示浏览器打开的窗口.标签或者框架(若当前页面里包含多个iframe,会为每个iframe创建Window对象). Windo

JavaScript权威设计--Window对象之Iframe(简要学习笔记十四)

1.Window对象属性的文档元素(id) 如果在HTML文档中用id属性来为元素命名,并且如果Window对象没有此名字的属性,Window对象会赋予一个属性,它的名字是id属性的值,而他们的值指向表示文档元素的HTMLElement对象. Window对象是以全局对象的形式存在于作用域链的最上层,这就意味着HTML文档中使用的id属性会成为可以被脚本访问的全局变量. 如: <button id="but"/> 就可以通过全局变量but来引用此元素. 2.多窗体窗口(if

jsWindow 对象 Window 对象 Window 对象表示浏览器中打开的窗口。 如果文档包含框架(frame 或 iframe 标签),浏览器会为 HTML 文档创建一个 window 对象,并为每个框架创建一个额外的 window 对象。 注释:没有应用于 window 对象的公开标准,不过所有浏览器都支持该对象。 Window 对象集合 集合 描述 frames[] 返回窗口中所有命

一.JSX简介 JSX就是Javascript和XML结合的一种格式.React发明了JSX,利用HTML语法来创建虚拟DOM.当遇到<,JSX就当HTML解析,遇到{就当JavaScript解析. 如下(JS写法) var child1 = React.createElement('li', null, 'First Text Content'); var child2 = React.createElement('li', null, 'Second Text Content'); var

通过&lt;frameset&gt;和&lt;iframe&gt;看JavaScript中window对象parent、self、top的区别

<frameset>.<frame>.<iframe>这3个html元素的区别,可以参考这篇文章"frame,iframe,frameset之间的关系与区别".标准的使用方式如下: <!--iframe 是在html页面内嵌入框架框架内可以连接另一个页面--> <html> <head></head> <body> <iframe src="xxx.html">

同域下跨文档通信iframe和window.open

1.iframe标签可以嵌套另一个标签,并且可以通过js去访问被包含的页面的window对象,从而操作该页面下documentElement,如下: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <s

关于iframe的contentDocument和contentWindow

contentDocument是获得iframe子窗口的document对象,但兼容ff和ie8+ contentWindow是获得子窗口的window对象,兼容大部分浏览器,contentWindow.document才是获得document对象 所以获得iframe内容时一般兼容性写法是这样的  (iframe.contentDocument||iframe.contentWindow.document).body.innerHTML 关于iframe的contentDocument和con

js学习--DOM操作详解大全二(window对象)

一.window - 计时器 1?setTimeout()可以用来在指定的时间之后单次调用函数.setTimeount(f,1000);//一秒后调用函数fclearTimeout();取消函数的执行 示例:用setTimeout函数在1秒后改变字体的大小为60px. <html> <head> <script> function invoke(f,start){ setTimeout(f,start); } function changeSize(){ //改变元素的

【温故而知新-Javascript】使用 Window 对象

1. 获取 Window 对象 可以用两种方式获得Window对象.正规的HTML5方式是在Document对象上使用defaultView属性.另一种是使用所有浏览器都支持的全局变量window . <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>获取Window对象</title> </head