Javascript中怎么对iframe进行操作
创始人
2024-12-16 18:22:46
0次
HTML

为了更好的讲解和演示,我们准备3个页面,父级页面index.html的html结构如下。另外两个子页面分别为iframeA.html和iframeB.html。我们需要演示通过父页面获取和设置子页面iframeA.html中元素的值,以及演示通过子页面iframeB.html设置子页面iframeA.html相关元素的值以及操作父页面index.html元素。

--操作结果--

iframeA.html布置一个h2标题,以及一个输入框和一个p段落,结构如下:

xuebuyuan.com

iframe A

xuebuyuan.com欢迎您!

iframeB.html同样布置h2标题和段落以及输入框。iframe有两个按钮,调用了javascript,相关代码等下在js部分会描述。

xuebuyuan.com

iframe B

Helloweb.com

Javascript

页面html都布置好了,现在我们来看Javascript部分。

首先我们来看index.html父级页面的操作。JS操作iframe里的dom可是使用contentWindow属性,contentWindow属性是指指定的frame或者iframe所在的window对象,在IE中iframe或者frame的contentWindow属性可以省略,但在Firefox中如果要对iframe对象进行编辑则,必须指定contentWindow属性,contentWindow属性支持所有主流浏览器。

我们自定义了函数getIFrameDOM(),传入参数iID即可获取iframe,之后就跟在当前页面获取元素的操作一样了。

function getIFrameDOM(iID){ return document.getElementById(iID).contentWindow.document; }

index.html的三个按钮操作代码如下:

function getValiframeA(){ var valA = getIFrameDOM("wIframeA").getElementById('iframeA_ipt').value; document.getElementById("result").innerHTML = "获取了子窗口iframeA中输入框里的值:"+valA+""; } function setValiframeA(){ getIFrameDOM("wIframeA").getElementById('iframeA_ipt').value = 'Helloweba'; document.getElementById("result").innerHTML = "设置了了子窗口iframeA中输入框里的值:Helloweba"; } function setBgiframeA(){ getIFrameDOM("wIframeA").getElementById('title').style.background = "#ffc"; }

保存后,打开index.html看下效果,是不是操作很简单了。

好,iframeB.html的两个按钮操作调用了js,代码如下:

function child4child(){ var parentDOM=parent.getIFrameDOM("wIframeA"); parentDOM.getElementById('hello').innerHTML="看到输入框里的值变化了吗?"; parentDOM.getElementById('iframeA_ipt').value = document.getElementById("iframeB_ipt").value; parent.document.getElementById("result").innerHTML="子窗口iframeB操作了子窗口iframeA"; } function child4parent(){ var iframeB_ipt = document.getElementById("iframeB_ipt").value; parent.document.getElementById("result").innerHTML="

子窗口传来输入框值:"+iframeB_ipt+"

"; }

子页面iframeB.html可以通过使用parent.getIFrameDOM()调用了负页面的自定义函数getIFrameDOM(),从而就可以对平级的子页面iframeA.html进行操作,子页面还可以通过使用parent.document操作父级页面元素。

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...