首页 > 编程知识 正文

iframe传递参数,使用iframe实现不同页面的嵌套

时间:2023-05-03 20:26:59 阅读:27425 作者:43

在开发过程中,可能需要将具有不同域名的项目嵌套在一个页面中进行调用。 在那种情况下,有一个问题。 调用另一个项目时,需要一些参数或一些验证规则,但由于url引用有限,通常无法完全传递所需的所有数据,因此在此示例中,从iframe的父页到子页

父页码1,html部分

iframe src=' https://XXX.XXX.xx ' ref=' frame ' scrolling=' auto '/iframe 2,方法

let Frame=this.$refs['Frame']; //这里是过去DOM,我这里是vue获取方法。 其他获取DOM为var obj=this.$store.state.token; //要传递的参数(我这里是存储在vuex中的token ) if (frame.attach event ) ) /兼容浏览器为frame.attach event (' onload ',function ) ) //obj传递的参数https://xxxx.xx.xx是子页的域名或ip }; } else { Frame.onload=function () letiframewin=frame.content window; iframewin.postmessage(obj,‘https://xxxx.xx.xx’); (; }弹仓模式时,请在弹仓加载完成后获取dom。 不那样的话是得不到的。 可以在vue中更改为

this.$nextTick ()={ let Frame=this.$refs['Frame']; var obj=this.$store.state.token; if(frame.attachevent(//兼容浏览器为frame.attachevent )、function )、letiframewin=frame.content window; iframewin.postmessage(obj,‘https://xxxx.xx.xx’); //obj传递的参数https://xxxx.xx.xx是子页的域名或ip }; } else { Frame.onload=function () letiframewin=frame.content window; iframewin.postmessage(obj,‘https://xxxx.xx.xx’); (; }; ); 子页代码//event.datatypeofevent.data==' string '用于确定是否是我需要传递的参数//如果不知道,请选择event.data//嵌套==window.top window.on message=function (event ) ) if ) event.datatypeofevent.data===' string ' window.self==window.top (console.log (event.data ) /此处为数据处理逻辑),其中window.onmessage可以修改为

window.addevent listener (' message,(e )={} )、ok完成,希望对大家有帮助

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。