父页面读写 *** 作子页面:
<iframe id="test-iframe" name="test-iframe" src="childhtml" scrolling="no" frameborder="0"></iframe>
<script>
windowonload = function () {
/
下面两种获取节点内容的方式都可以。
由于 IE6, IE7 不支持 contentDocument 属性,所以此处用了通用的
windowframes["iframe Name"] or windowframes[index]
/
var d = windowframes["test-iframe"]document;
dgetElementsByTagName('h1')[0]innerHTML = 'pp';
alert(dgetElementsByTagName('h1')[0]firstChilddata);
}
</script>
注:在请务必通过 windowonload 方法访问 iframe 中的节点,否则浏览器会提示错误-拒绝访问。在 IE8, Firefox36, Opera11 下在 DOMReady 时也可以访问 iframe 中的节点。
$("#父窗口元素ID",windowparentdocument);
对应javascript版本为windowparentdocumentgetElementByIdx_x("父窗口元素ID");
取父窗口的元素方法:$(selector, windowparentdocument);
那么你取父窗口的父窗口的元素就可以用:$(selector, windowparentparentdocument);
类似的,取其它窗口的方法大同小异
$(selector, windowtopdocument);
$(selector, windowopenerdocument);
$(selector, windowtopframes[0]document);
CLASS:
$(windowparentdocument)find("className")text("123");
EX:
$(windowparentdocument)find("zzfw-box ul li[class='zzfw-insurance out']")text("123");
--------------------------------------------------------------------------------------------------
子窗口创建及父窗口与子窗口之间通信:
1、Javascriptd出子窗口
可以通过多种方式实现,下面介绍几种方法
(1) 通过window对象的open()方法,open()方法将会产生一个新的window窗口对象
其用法为:
windowopen(URL,windowName,parameters);
URL: 描述要打开的窗口的URL地址,如何为空则不打开任何网页;
windowName:描述被打开的窗口的民称,可以使用'_top'、'_blank'等内建名称,这里的名称跟<a href="" target="">里的target属性是一样的。
parameters:描述被打开的窗口的参数值,或者说是样貌,其包括窗口的各个属性值,及要传入的参数值。
例如:
打开一个 400 x 100 的干净的窗口:
open('','_blank','width=400,height=100,menubar=no,toolbar=no,
location=no,directories=no,status=no,scrollbars=yes,resizable=yes')
也可以这样写: var newWindow = open('','_blank');
参数说明如下:
top=# 窗口顶部离开屏幕顶部的像素数
left=# 窗口左端离开屏幕左端的像素数
width=# 窗口的宽度
height=# 窗口的高度
menubar= 窗口有没有菜单,取值yes或no
toolbar= 窗口有没有工具条,取值yes或no
location= 窗口有没有地址栏,取值yes或no
directories= 窗口有没有连接区,取值yes或no
scrollbars= 窗口有没有滚动条,取值yes或no
status= 窗口有没有状态栏,取值yes或no
resizable= 窗口给不给调整大小,取值yes或no
(2) 在javascript中除了通过open()方法建立window对象实现d出窗口外,还可以通过建立对话框的方式d出窗口。
如:
alert(""); //d出信息提示对话框
confirm(""); //d出信息确认对话框
prompt(""); //具有交互性质的对话框
但是,上述实现的d出窗口具有的功能较为单一,只能完成较为简单的功能。对于需要在对话框中显示多个数据信息,
甚至是HTML控件就无能为力了。
(3) 使用模态对话框实现复杂的对话框需求
在javascript的内建方法中还有一类方法可以实现通过对话框显示HTML内容,
也就是说可以通过创建对话框的方式来完成创建窗口对象所能完成的功能。
包括创建模态对话框和非模态对话框两种。
实现方法为:
//创建模态你对话框
windowshowModalDialog(sURL,vArguments,sFeatures)
//创建非模态对话框
windowshowModelessDialog(sURL,vArguments,sFeatures)
其区别在于:
用showModelessDialog()打开窗口时,不必用windowclose()去关闭它,当以非模态方式[IE5]打开时,打开对话框
的窗口仍可以进行其他的 *** 作,即对话框不总是最上面的焦点,当打开它的窗口URL改变时,它自动关闭。而模态[IE4]方式的对话框始终有焦点(焦点不可移走,直到它关闭)。模态对话框和打开它的窗口相联系,因此我们打开另外的窗口时,他们的链接关系依然保存,并且隐藏在活动窗口的下面。 showModeDialog()则不然。
参数说明:
sURL:必选参数,类型:字符串。
用来指定对话框要显示的文档的URL。
vArguments:可选参数,类型:变体。
用来向对话框传递参数。传递的参数类型不限,包括数组等。对话框通过windowdialogArguments来取得传递进来的参数。
sFeatures:选参数,类型:字符串。
用来描述对话框的外观等信息,可以使用以下的一个或几个,用分号“;”隔开。
dialogHeight:对话框高度
不小于100px,IE4中dialogHeight和dialogWidth 默认的单位是em,而IE5中是px,为方便其见,在定义modal方式的对话框时,用px做单位。
dialogWidth: 对话框宽度。
dialogLeft: 距离桌面左的距离。
dialogTop: 离桌面上的距离。
center: 窗口是否居中
默认yes,但仍可以指定高度和宽度,取值范围{yes | no | 1 | 0 }。
help: 是否显示帮助按钮
默认yes,取值范围 {yes | no | 1 | 0 }。
resizable: 是否可被改变大小。
默认no,取值范围 {yes | no | 1 | 0 } [IE5+]。
status: 是否显示状态栏。
默认为yes[ Modeless]或no[Modal],
取值范围{yes | no | 1 | 0 } [IE5+]。
scroll:指明对话框是否显示滚动条。
默认为yes,取值范围{ yes | no | 1 | 0 | on | off }。
还有几个属性是用在HTA中的,在一般的网页中一般不使用。
dialogHide:在打印或者打印预览时对话框是否隐藏。
默认为no,取值范围{ yes | no | 1 | 0 | on | off }。
edge:指明对话框的边框样式。
默认为raised,取值范围{ sunken | raised }。
unadorned:默认为no,取值范围{ yes | no | 1 | 0 | on | off }。
传入参数:
要想对话框传递参数,是通过vArguments来进行传递的。类型不限制,对于字符串类型,最大为4096个字符。也可以传递对象
例如:
var newWin=windowshowModalDialog(url,window,'dialogHeight:500px, dialogLeft:100px, dialogTop:100px,
dialogWidth:300px, status:0, edge:sunken');
newWinopen();
与使用windowopen()方法创建窗口相比,模态方法创建窗口的区别在于有模态方法创建的窗口后将不能 *** 作父窗口
2、子窗口与父窗口间通信
(1) 使用windowopen()创建的窗口与父窗口通信
可以在子窗口页面中通过windowopener来获取父窗口对象,获取之后子窗口便可以对父窗口执行刷新,传值等 *** 作。
如:
windowopenerlocationreload(); //子窗口刷新父窗口
windowopenerlocationhref //获取父窗口href
windowopenerlocaitonpathname //获取父窗口路径名
//刷新父页面
windowlocationhref=windowlocationhref ; //重新定位父页面
windowlocationreload;
(2) 模态窗口与父窗口通信
通过使用showModelDialog(),及showModelessDialog()方法创建的子窗口想与父窗口通信时,不能通过windowopener
来获取父窗口对象。要实现通信,必须在创建模态子窗口时向子窗口传入父窗口对象。
实现方式为:
在父窗口中:
var newWin=windowshowModelDialog(url,window,'');
newWinopen();
此时参数window即是父窗口对象
在子窗口中:
需首先获取父窗口对象,然后才能使用父窗口对象。由于父窗口对象是在创建
子窗口时通过传入参数的方式传入的,因此,在子窗口中也只能通过获取窗口参数的方式获取父窗口对象。获取方式如下
:
var parent=widnowdialogArguments;
变量parent便是父窗口对象。
例如:
//通过子窗口提交父窗口中的表单:form1,提交后执行查询 *** 作
var parent=windowdialogArguments;
parentdocumentform1action="QueryInforjsp";
parentsubmit();
//刷新父页面
var parent=windowdialogArguments;
parentlocationreload();
//从子窗口传值到父窗口
要实现在模态子窗口中传值到父窗口,需要使用windowreturnValue完成
实现方法如下:
在子窗口中:
//获取父窗口某字段值,对该值加一后返回父窗口
var parent=windowdialogArguments;
var x=parentdocuementgetElementById("age")value;
x=x+1;
//传回x值
windowreturnValue=x;
在父窗口中:
//获取来自子窗口的值
var newWin=windowshowModelDialog(url,window,'');
if(newWin!=null)
documentgetElementByIdx_x("age")value=newWin;
//在子窗口中设置父窗口的值
在子窗口中向父窗口中传入值似乎没有直接设置父窗口中的值来得明了。直接设置父窗口中元素的值显得要更灵活一些,不过具体使用哪种方法要根据实际情况和已有的实现方式而定,因为如果使用了不切实际的方法不仅降低开发效率,也降低了执行效率,往往也会造成不优雅的实现方式和代码风格。
子窗口设置父窗口的值使用方法如下:
子窗口中:
var parent=windowdialogArguments;
var x=parentdocumentgetElementByIdx_x("age")value;
x=x+1;
//设置父窗口中age属性值
parentdocumentgetElementByIdx_x("age")value=x;
以上是我在项目中使用javascript解决子窗口问题时,收集及积累的一些方法和资料。我是使用建立模态窗口的方式来实现的(这主要与项目本身有关),不过其实不论是使用windowopen()还是使用windowshowModelDialog()进行传参等 *** 作时虽然在实现方法上有很大的差别,初次接触会觉得有点乱,但只要理清子窗口与父窗口之间的关系和角色之后,就很好理解了。
$(function(){
$("#rigth")load(function(){
consolelog($(this)contents()find("#tableA")css('width'));
});
});
你要等iframe加载完毕之后再去获取,否则你获取的是空的元素
Internet Explorer 55 支持浮动框架的内容透明。如果想要为浮动框架定义透明内容,则必须满足下列条件。 与 IFRAME 元素一起使用的 ALLOWTRANSPARENCY 标签属性必须设置为 true。 在 IFRAME 内容源文档,background-color 或 BODY 元素的 BGCOLOR 标签属性必须设置为 transparent。 参看使用透明的浮动框架可以获得关于透明浮动框架更多的信息。 此元素在 Microsoft® Internet Explorer 40 的 HTML 和脚本中可用。 此元素是一个块元素。 此元素需要关闭标签。 示例 下面的例子使用了 IFRAME 元素创建了包含页面 samplehtm 的框架。 iframe 标签 -- 代表HTML内联框架 iframe标签是成对出现的,以<iframe>开始,</iframe>结束 属性 o name -- 定义了内容页名称,此名称在框架页内链接时使用到 o frameborder -- 定义了内容页的边框,取值为(1|0),缺省值为1 o marginwidth -- 定义了框架中HTML文件显示的左右边界的宽度,取值为px,缺省值由浏览器决定 o marginheight -- 定义了框架中HTML文件显示的上下边界的宽度,取值为px,缺省值由浏览器决定 o align -- 垂直或水平对齐方式 o height -- 框架的高度 o width -- 框架的宽度 下面的例子返回了对 IFRAME 包含的文档的 all 集合的引用。 var collAll = documentframes("IFrame1")documentall 标签属性 属性 描述 ALIGN align 设置或获取表格排列。 ALLOWTRANSPARENCY allowTransparency 设置或获取对象是否可为透明。 APPLICATION APPLICATION 表明对象的内容是否为 HTML 应用程序(HTA),以便免除浏览器安全模式。 ATOMICSELECTION 指定元素及其内容是否可以一不可见单位统一选择。 BEGIN begin 设置或获取时间线在该元素上播放前的延迟时间。 BORDER border 设置或获取框架间的空间,包括 3D 边框。 canHaveChildren 获取表明对象是否可以包含子对象的值。 canHaveHTML 获取表明对象是否可以包含丰富的 HTML 标签的值。 CLASS className 设置或获取对象的类。 contentWindow 获取指定的 frame 或 iframe 的 window 对象。 DATAFLD dataFld 设置或获取由 dataSrc 属性指定的绑定到指定对象的给定数据源的字段。 DATASRC dataSrc 设置或获取用于数据绑定的数据源。 disabled 获取表明用户是否可与该对象交互的值。 END end 设置或获取表明元素结束时间的值,或者元素设置为重复的简单持续终止时间。 firstChild 获取对象的 childNodes 集合的第一个子对象的引用。 FRAMEBORDER frameBorder 设置或获取是否显示框架的边框。 hasMedia 获取一个表明元素是否为 HTML+TIME 媒体元素的 Boolean 值。 HEIGHT height 设置或获取对象的高度。 HIDEFOCUS hideFocus 设置或获取表明对象是否显式标明焦点的值。 HSPACE hspace 设置或获取对象的水平边距。 ID id 获取标识对象的字符串。 innerText 设置或获取位于对象起始和结束标签内的文本。 isContentEditable 获取表明用户是否可编辑对象内容的值。 isDisabled 获取表明用户是否可与该对象交互的值。 isMultiLine 获取表明对象的内容是包含一行还是多行的值。 isTextEdit 获取是否可使用该对象创建一个 TextRange 对象。 LANG lang 设置或获取要使用的语言。 LANGUAGE language 设置或获取当前脚本编写用的语言。 lastChild 获取该对象 childNodes 集合中最后一个子对象的引用。 longDesc 设置或获取对象长描述的统一资源标识符(URI)。 MARGINHEIGHT marginHeight 设置或获取显示框架中文本之前的上下边距高度。 MARGINWIDTH marginWidth 设置或获取显示框架中文本之前的左右边距宽度。 NAME name 设置或获取框架的名称。 nextSibling 获取对此对象的下一个兄弟对象的引用。 nodeName 获取特定结点类型的名称。 nodeType 获取所需结点的类型。 nodeValue 设置或获取结点的值。 offsetHeight 获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度。 offsetLeft 获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置。 offsetParent 获取定义对象 offsetTop 和 offsetLeft 属性的容器对象的引用。 offsetTop 获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置。 offsetWidth 获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的宽度。 onOffBehavior 获取表明指定的 Microsoft® DirectAnimation® 行为是否正在运行的对象。 outerHTML 设置或获取对象及其内容的 HTML 形式。 outerText 设置或获取对象的文本。 ownerDocument 设置或获取结点关联的 document 对象。 parentElement 获取对象层次中的父对象。 parentNode 获取文档层次中的父对象。 parentTextEdit 获取文档层次中可用于创建包含原始对象的 TextRange 的容器对象。 previousSibling 获取对此对象的上一个兄弟对象的引用。 readyState 获取对象的当前状态。 readyState 获取表明对象当前状态的值。 recordNumber 获取数据集中生成对象的原始记录。 scopeName 获取为该元素定义的命名空间。 SCROLLING scrolling 设置或获取框架是否可被滚动。 SECURITY SECURITY 获取表明 frame 或 iframe 的源文件是否应用了特定的安全限制的值。 sourceIndex 获取对象在源序中的依次位置,即对象出现在 document 的 all 集合中的顺序。 SRC src 设置或获取要由对象装入的 URL。 STYLE 为该设置元素设置内嵌样式。 SYNCMASTER syncMaster 设置或获取时间容器是否必须在此元素上同步回放。 SYSTEMBITRATE 获取系统中大约可用带宽的 bps。 SYSTEMCAPTION 表明是否要显示文本来代替演示的的音频部分。 SYSTEMLANGUAGE 表明是否在用户计算机上的选项设置中选中了给定语言。 SYSTEMOVERDUBORSUBTITLE 指定针对那些正在观看演示但对被播放的音频所使用的语言并不熟悉的用户来说是否要渲染配音或字幕。 TABINDEX tabIndex 设置或获取定义对象的 Tab 顺序的索引。 tagName 获取对象的标签名称。 tagUrn 设置或获取在命名空间声明中指定的统一资源名称(URN)。 TIMECONTAINER timeContainer 设置或获取与元素关联的时间线类型。 TITLE title 设置或获取对象的咨询信息(工具提示)。 uniqueID 获取为对象自动生成的唯一标识符。 UNSELECTABLE 指定该元素不可被选中。 VSPACE vspace 设置或获取对象的垂直边距。 WIDTH width 设置或获取对象的宽度。 iframe 标签 -- 代表HTML内联框架 iframe标签是成对出现的,以<iframe>开始,</iframe>结束 属性 name -- 定义了内容页名称,此名称在框架页内链接时使用到 src -- 定义了内容页URL frameborder -- 定义了内容页的边框,取值为(1|0),缺省值为1 1 -- 在每个页面之间都显示边框 0 -- 不显示边框 marginwidth -- 定义了框架中HTML文件显示的左右边界的宽度,取值为px,缺省值由浏览器决定 marginheight -- 定义了框架中HTML文件显示的上下边界的宽度,取值为px,缺省值由浏览器决定 scrolling -- 定义是否有滚动条,取值为(yes|no|auto),缺省值为auto yes -- 显示滚动条 no -- 不显示滚动条 auto -- 当需要时再显示滚动条 align -- 垂直或水平对齐方式 height -- 框架的高度 width -- 框架的宽度
jquery、js调用iframe父窗口与子窗口元素的方法
1 jquery在iframe子页面获取父页面元素代码如下:
$("#objid",parentdocument)
2 jquery在父页面获取iframe子页面的元素
代码如下:
$("#objid",documentframes('iframename')document)
3js在iframe子页面获取父页面元素代码如下:
indowparentdocumentgetElementByIdx_x("元素id");
4js在父页面获取iframe子页面元素代码如下:
windowframes["iframe_ID"]documentgetElementByIdx_x("元素id");
5子类iframe内调用父类函数:
windowparentfunc();
以上就是关于父页面获取iframe中的内容全部的内容,包括:父页面获取iframe中的内容、jquery,iframe父窗口怎么去拿子窗口的元素、获取iframe中子页面的样式,要求兼容谷歌浏览器等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)