如果父页面与子页面的协议、端口号、域名一致,则可以通过获取元素的方式进行通信(详见:https://blog.csdn.net/hhf235678/article/details/103894827),但某一个不一致时,则需要通过window.postMessage()方式进行通信
<
iframe
:
src
=
"xxx"
id
=
"parentPage"
>
<
/
iframe
>
<
/
div
>
<
script
>
window
.
addEventListener
(
'message'
,
function
(
e
)
{
console
.
log
(
'得到的子元素数据'
,
e
.
data
)
;
}
,
false
)
;
var
ifrmae
=
document
.
getElementById
(
'parentPage'
)
;
iframe
.
contentWindow
.
postMessage
(
parentData
,
'*'
)
;
<
/
script
>
<div id="childPage"></div>
<script>
window.parent.postMessage(childData, '*');
window.addEventListener('message', function(e){
console.log('得到的父元素数据', e.data);
}, false);
</script>
如果父页面与子页面的协议、端口号、域名一致,则可以通过获取元素的方式进行通信,但某一个不一致时,则需要通过window.postMessage()方式进行通信父页面: <div> <iframe :src="xxx" id="parentPage"></iframe> </div> <script> // 获取子页面传...
使用 iframe 实现跨域访问是一种常见的技术。通过将另一个域的内容嵌入到当前页面的 iframe 中,可以实现跨域访问。这种方法通常用于在网页中嵌入来自不同域的内容,比如嵌入其他网站的地图、视频或其他资源。
但需要注意的是,由于安全原因,浏览器通常会限制跨域访问,因此在使用 iframe 实现跨域访问时,需要确保被嵌入的内容允许跨域访问,或者采取其他安全措施来确保安全性。使用 iframe 实现跨域访问是一种常见的技术。通过将另一个域的内容嵌入到当前页面的 iframe 中,可以实现跨域访问。
如果使用传统的方式来开发Spring项目,要部署在Tomcat上面,一般会依赖Spring与Spring MVC,在Tomcat的web.xml中会配置一个加载service的配置文件,这个在Tomcat启动的时候会进行加载,会生成一个Spring的容器。
默认情况下,Tomcat会在资源目录下加载配置servlet名称的另外一个xml配置文件,比如servlet名称为test,那么...
1、location.hash:
在url中,http://www.baidu.com#helloword的#helloworad就是location.hash,改变hash值不会导致页面刷新,所以可以利用hash值来进行数据的传递,当然数据量是有限的。
假设localhost:8080下有文件cs1.html要和localhost:8081下的cs2.html传递消息,cs1.html首先创建一个隐藏的iframe,
看了一些博客,进行了总结和实践
iframe的使用
<iframe src="demo.html" height="300" width="500" name="demo" scrolling="auto" sandbox="allow-same-origin"></iframe>
src iframe页面地址,有同域跨域之分
name iframe命名,可通过window.frames[xxx]被调用
iframe框架中的页面与主页面之间的通信方式根据iframe中src属性
在开发过程中,经常会遇到将部署
不同域上的页面进行嵌套,有点类似早期的微前端开发,其中我们最常用的就是
iframe 来处理这样的需求,这就无可避免的要遇到一些
iframe 之间的通讯问题,若是 嵌入的
iframe 不是跨
域的通讯是没问题,但是若是部署在其它环境上的页面,在进行通讯的时候会发现有跨
域问题,这时候就需要用到我们 HTML5 自带的 postmessage 方法了
发送信息
otherWindow.postMessage(message, targetOrigin, [transfer]);
iframe父子页面之间的通信可以通过以下几种方式实现:
1. 使用postMessage()方法:父页面可以使用postMessage()方法向子页面发送消息,子页面也可以使用postMessage()方法向父页面发送消息。这种方式可以跨域通信,需要在两个页面中分别监听message事件来接收消息,并且可以通过event对象的origin属性验证消息的来源。
2. 使用window对象的contentWindow属性:父页面可以通过contentWindow属性获取到子页面的window对象,然后可以直接调用该对象的方法或访问其属性来实现通信。但是,这种方式只适用于同域的情况。
3. 使用window对象的frames属性:父页面可以通过frames属性获取到子页面的window对象,然后可以直接调用该对象的方法或访问其属性来实现通信。同样地,这种方式也只适用于同域的情况。
需要注意的是,为了确保安全性,应该在通信过程中进行数据验证和过滤,以防止恶意代码注入或跨站脚本攻击。
CSDN-Ada助手:
小程序中的生命周期onHide和onUnload
qq_44788208:
vue中vue-schart(图表组件)的使用
vue中vue-schart(图表组件)的使用
weixin_44994405:
v-model修饰符.lazy详解
甜菜,是我鸭!: