加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

欧洲敲响6G大门

发布时间:2021-01-31 11:05:00 所属栏目:外闻 来源:互联网
导读:我们的event里有如下几个核心的属性: data 从其他 window 中传递过来的对象 origin 调用 postMessage 时消息发送方窗口的 origin . 这个字符串由 协议、://、域名、 : 端口号拼接而成 source 对发送消息的窗口对象的引用; 您可以使用此来在具有不同origin的

我们的event里有如下几个核心的属性:

  • data 从其他 window 中传递过来的对象
  • origin 调用 postMessage 时消息发送方窗口的 origin . 这个字符串由 协议、“://“、域名、“ : 端口号”拼接而成
  • source 对发送消息的窗口对象的引用; 您可以使用此来在具有不同origin的两个窗口之间建立双向通信

3. 实现聊天机器人

在熟悉以上知识点之后,我们开始来写我们聊天机器人的demo。首先我们写两个html,分别为a.html和b.html,然后用node分别代理两个不同页面,设置不同端口:
 

参数介绍:

  • someWindow 窗口的一个引用,比如iframe的contentWindow属性、执行window.open返回的窗口对象、或者是命名过或数值索引的window.frames
  • message 将要发送到其他 window的数据。意味着你可以不受什么限制的将数据对象安全的传送给目标窗口而无需自己序列化
  • targetOrigin 通过窗口的origin属性来指定哪些窗口能接收到消息事件,其值可以是字符串"*"(表示无限制)。不提供确切的目标将导致数据泄露等安全问题
  • transfer 是一串和message 同时传递的 Transferable 对象. 这些对象的所有权将被转移给消息的接收方,而发送一方将不再保有所有权

我们可以通过如下方式来监听message:
 

这样我们就能在回调函数handleData中拿到服务器接口返回的数据了。

虽然jsonp实现跨域方式很简单,但是只支持get请求,对传输的数据量有一定限制。cors跨域是目前我们用的比较多的本地调试方式,原理就是在服务端设置响应头header的Access-Control-Allow-Origin字段,这样浏览器检测到header中的Access-Control-Allow-Origin,这样就可以跨域了。

至于我们设置了cors之后在network中出现了两次请求的问题,其实涉及到cors跨域的请求预检,分为简单请求和非简单请求两种,这块知识可以单独抽离出一篇文章,感兴趣的可以自己学习了解一下。

2. postMessage实现跨域通信

  • window.postMessage() 方法可以安全地实现跨源通信。通常,对于两个不同页面的脚本,只有当执行它们的页面位于具有相同的协议,端口号以及主机 (两个页面的模数 Document.domain设置为相同的值) 时,这两个脚本才能相互通信。window.postMessage() 方法提供了一种受控机制来规避此限制,只要正确的使用,这种方法就很安全。

本质上说postMessage()是基于消息事件机制来实现跨域通信,它隶属于消息窗体本身,比如window以及window内嵌的frame的window,基本使用形式如下:
 

广电方面,他们在5G上的投入,多多少少会对通信行业的业绩增长有所带动,但是我个人依然不看好广电5G的长远发展。

▉ 结语

现在流行年度关键词。在我心里,2020年的通信行业年度关键词是“问路”,而2021年,我觉得是“耐心”。

5G行业应用场景的进一步孵化,需要耐心;产业链的成熟和发展,需要耐心;关键技术演进和普及,同样需要耐心。5G喧嚣已过,我们要习惯面对平淡。有时候,锣鼓喧天并不一定是好事,而悄无声息也不一定是坏事。

更大的耐心,往往会迎来更丰硕的果实。不是么?

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读