javascript主调用iframe内部的js函数

本文详细介绍了如何使用JavaScript实现主窗口与iframe之间的交互,包括调用iframe内的函数、获取变量及DOM元素,以及从iframe调用主窗口的函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     
     var iframe = document.getElementById("iframeid"); //获取iframe标签
    var iwindow = iframe.contentWindow; //获取iframe的window对象

主调用iframe内部的js函数
    iwindow.cmes();

获取iframe内部的变量
    alert(iwindow.cparam);

 

//获取iframe内部dom元素

    var idoc = iwindow.document; //获取iframe的document对象
     var but=idoc.getElementById("but");

 

//iframe调用主内部的js函数

 parent.pmes();

获取主内部的变量

 

alert(parent.pparam);

 

 

 

 

function calendar()//函数 { var e = window.event.srcElement; writeIframe (); var o = WebCalendar.calendar.style; WebCalendar.eventSrc = e; if (arquments.length == 0) WebCalendar.objExport = e; else WebCalendar.objExport =eval(arquments[0]); WebCalendar.iframe.tableWeek.style.cursor = WebCalendar.draq ? "move" : "default"; var t = e.offsetTop, h = e.clientHeight, l = e.offsetLeft, p = e.type; while (e = e.offsetParent){t += e.offsetTop; l += e.offsetLeft;} o.display = ""; WebCalendar.iframe.document.body. focus () ; var cw = WebCalendar.calendar.clientWidth, ch = WebCalendar.calendar.clientHeight; var dw = document.body.clientWidth, dl = document.body.scrollLeft, dt = document.body.scrollTop; if (document.body.clientHeight + dt - t - h >= ch) o.top = (p=="image")? t + h : t + h + 6; else o.top = (t - dt < ch) ? ((p=="image")? t + h :t + h + 6) :t - ch; if (dw + dl - l >= cw) o.left = l; else o.left = (dw >= cw) ? dw - cw + dl : dl; if (!WebCalendar.timeShow) WebCalendar.dateReg = /^(\d{1, 4}) (-1\/) (\d{1, 2}) \2(\d{1, 2})$/; else WebCalendar.dateReg = /^(\d{1, 4}) (-1\/) (\d}1, 2})\2(\d{1, 2}) (\d{1, 2}): (\d{1, 2}): (\d{1, 2})$/; try { if (WebCalendar.objExport.value.trim() != ""){ WebCalendar.dateStyle = WebCalendar.objExport.value.trim() .match (WebCalendar.dateReg) ; if (WebCalendar.dateStyle == null) {WebCalendar.thisYear = new Date().getFullYear () ; WebCalendar.thisMonth = new Date().getMonth()+ 1; WebCalendar.thisDay = new Date().getDate(); alert("无效的日期格式!”); writeCalendar(); return false;} else{ WebCalendar. thisYear = parseInt (WebCalendar.dateStyle[1], 10); WebCalendar.thisMonth = parseInt (WebCalendar .dateStyle[3], 10); WebCalendar.thisDay = parseInt (WebCalendar.dateStyle[4], 10); WebCalendar. inputDate=parseInt (WebCalendar.thisMonth, 10) +"/"+ parseInt (WebCalendar.thisDay, 10) +”/"+ parseInt(WebCalendar.thisYear, 10) ; writeCalendar() ; }}else writeCalendar () ; } catch(e) (writeCalendar () ;} } 给上述代码添加注释的注释,并解释相关方法
最新发布
03-13
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值