当前位置: 首页 > news >正文

建站哪个网站好嘉兴做微网站

建站哪个网站好,嘉兴做微网站,公司网站制作要多少钱,烟台网站开发iframe学习 1.iframe是什么? a)iframe是html元素,用于在网页中内嵌另一个网页。 b)iframe默认有一个宽高,存在边界。 c)iframe是一个行内块级元素,可以通过display修改。 2.iframe元素属性有哪些? a)src : 指定内联网页的地…

iframe学习

1.iframe是什么?

a)iframehtml元素,用于在网页中内嵌另一个网页。

b)iframe默认有一个宽高,存在边界。

c)iframe是一个行内块级元素,可以通过display修改。

2.iframe元素属性有哪些?

a)src : 指定内联网页的地址。

b)frameborder: iframe默认有个边界,可以设置frameborder0清除边界。frameborder已过时,最好使用css属性来修改边框。

c)widthheight: 控制iframe的宽高。

d)name: 框架的名称。

e)scrolling: 是否可滚动,yes ,no,auto。

3.iframe互相操作

每个iframe里都有 各自维护自己的 全局window对象。

3.1父级操作子iframe

在父级使用iframe.contentWindow获取子iframe的window对象,根据window对象进而可以获取子iframe的document对象,根据document对象又可以对html元素进行操作。示例如下:

var iframe = document.getElementById("myrame"); //获取iframe标签
var iwindow = iframe.contentWindow; //获取iframe的window对象
var idoc = iwindow.document; //获取iframe的document对象
console.log(idoc.documentElement); //获取iframe的html
3.2子iframe操作父级

在子iframe想要操作父元素的iframe,直接使用子元素的window.parent来获取父级元素的window对象,从而获取document来操作dom。示例如下:

window.parent.document.getElementById(“auditDate”).value;
4.iframe之间的通信
4.1不跨域

a)不跨域情况下,父组件向iframe子组件传值(或父组件中定义一个属性,iframe子组件可以获取到父组件的属性)

方法一:子组件使用parent可以获取到父组件的window对象,进而获取父组件定义的属性;

//父组件定义fatherData
let fatherData = '父元素数据';//子iframe获取fatherData
console.log(parent.fatherData);

方法二:父组件 通过向iframe的contentWindow添加属性,子组件需要时通过Window[属性名]获取父元素传递的数据;(个人理解,父组件通过contentWindow获取到子iframe的window对象,直接在子iframe的window对象上定义属性,那么子iframe通过自己的window对象就能获取到父组件定义的属性了)

//父组件定义fatherData
let fatherData = '父元素数据';//父组件向子iframe的contentWindow添加属性
let iframe1 = document.getElementById('iframe1');
iframe1.contentWindow.fatherData = fatherData;//子iframe获取fatherData
(() => {console.log(window.fatherData);})()

方法三:子组件定义函数fn, 父组件 通过iframe的contentWindow获取到子组件fn,并通过fn传值到iframe子组件;(个人理解,父组件通过contentWindow获取到子iframe的window对象,相当于父组件在子组件里的权利和子组件一样,可以使用子组件里的任何方法或属性,父组件调用子组件里的方法和子组件调用自己的方法无差别)

//父组件定义fatherData
let fatherData = '父元素数据';//子Iframe定义方法
function setIframe1(data) {console.log(data);
}//父组件通过子iframe的contentWindow调用子iframe定义的方法
let iframe1 = document.getElementById('iframe1');
iframe1.contentWindow.setIframe1(fatherData);

b)iframe子组件向父组件传值。

父元素定义函数getChild并通过向iframecontentWindow添加getChild方法,子组件通过Window.getChild();传值给父组件;

//父组件定义函数
function getChild(data) {console.log('获取到子组件数据', data);
}//父组件向`iframe`的`contentWindow`添加`getChild`方法
let iframe1 = document.getElementById('iframe1');
iframe1.contentWindow.getChild = getChild();//子组件调用
(() => {window.getChild('hhh');
})()
4.2跨域

方法一:利用location.hash,父组件给子组件iframe标签的src属性链接后面添加#,子组件通过location.hash获取父组件数据,从而达到父组件操作子组件。

//父组件
<iframe id="iframe1" src="xxxx#msg=111" width="" height="" frameborder="0" scrolling="no"></iframe>
//子iframe
console.log('location.hash', location.hash);

方法二:使用postMessage实现跨域通信。postMessage方法允许来自不同源的脚本采用异步方式进行有限的通信,可以实现跨文本档、多窗口、跨域消息传递。

//语法
otherWindow.postMessage(message, targetOrigin, [transfer]);
//otherWindow:发送消息的窗口
//message:将要发送到其他window的数据。
//targetOrigin:指定那些窗口能接收到消息事件,其值可以是字符串 “*” 表示无限制,或者是一个URI。
//transfer:是一串和message同时传递的Transferable对象,这些对象的所有权将被转移给消息的接收方,而发送方将不再保留所有权。

postMessage方法被调用时,会在所有页面脚本执行完毕之后像目标窗口派发一个 MessageEvent 消息,该MessageEvent消息有四个属性需要注意:

type:表示该message的类型
data:为 postMessage 的第一个参数
origin:表示调用postMessage方法窗口的源
source:记录调用postMessage方法的窗口对象

//父组件定义fatherData
let fatherData = '父元素数据';//父组件发送消息给子iframe
(() => {iframe1.contentWindow.postMessage(fatherData,"http://xxxx/iframe1.html")
})()//子iframe监听消息
window.addEventListener('message', function(event) {console.log('event', event);
}, false);
5.注意

获取子元素的document时要确保子元素所有dom元素已经挂载完毕,因此在原生的写法时,必须写在windowonload事件中。

http://www.yayakq.cn/news/605391/

相关文章:

  • 做汽车网站怎么挣钱吗网站点击排名优化
  • wordpress 评论 邮件福州短视频seo排行
  • 男女情感类网站微信会员卡管理系统
  • 青岛市建设安全监督站网站外贸行业建站
  • 平台网站制作搜索的网站后大拇指分享数量不见了
  • 宜阳建站中公it培训机构怎么样
  • 网站建设行业细分wordpress提交评论慢
  • 北京智联招聘官方网站做家政校园网的典型网络拓扑结构
  • 优秀的个人网站设计国外html响应式网站模板
  • 能不能同行网站做站长统计关于建设学校网站的报告
  • 做网站初中不买域名怎么做网站
  • 网站开发工具以及优缺点购物网站黑白
  • 济宁网站建设云科网络网站建设及维护涉及哪些内容
  • 做电影网站模板教学设计怎能建设个人网站
  • 搭建网站用服务器还是虚拟主机手机社交网站模板
  • 企业网站博客上如何推广网站引导页的作用
  • 公众平台的微信网站开发wordpress导出xml
  • 网站定制开发哪家厉害建站快车加盟
  • 信用网站建设东莞广告公司有哪些
  • 唐山市住房和城乡建设局门户网站东莞企业网站教程
  • 我是怎么做网站架构的网站备案一般多久
  • 网站怎么做本地映射做互助盘网站多少钱
  • wap建站教程.net 网站开发权限设计
  • 湖北 商城网站建设多少钱wordpress 重复插件
  • 学校网站查询学历西安企业网站建设公司
  • 做数码测评的网站小型电商网站模板
  • 做网站怎么分手机版和电脑版营销类网站如何优化
  • 郑州市住房和城乡建设厅网站山东省商务厅网站开发区管理处
  • 做塑料的外贸网站有哪些旅游网站开发报告
  • 北京智能网站建设系统加盟hugo网站建设