HTML iframe标签下 子页面调用父页面js 容易产生的跨域调用问题 Uncaught DOMException
在一些非前端项目中,经常出现HTML和JSP页面中经常出现 Iframe页面嵌套格式的结构,有些场景需要子页面调用父页面的js方法,如在tab子页面获取父页面方法。
iframe页面和父页面在同一域下:不会产生跨域调用js错误
1.1子页面获取父页面元素:
$('#userId', parent.document);
1.2父页面获取子页面元素:
$("#userId", document.iframes('iframe').document) ;
2.1父页面调用子页面方法:
iframe.window.childMethod();
2.2子页面调用父页面方法:
parent.window.parentMethod();
iframe页面和父页面在不同域下:会产跨域调用js错误
//iframe页面
window.parent.postMessage('{"name":"方案管理","url":"/manage/..."}','*');
//父页面
window.addEventListener('message',function(event){var obj = JSON.parse(event.data);Consolo.log(obj );
});
个人认为会出现这样的错误和系统架构有很大关系,若采用统一网关,nginx反向代理,或者纯VUE前端架构路由跳转才是最好的解决办法,需要在项目前期就规划好。
HTML iframe标签下 子页面调用父页面js 容易产生的跨域调用问题 Uncaught DOMException相关推荐
- 页面嵌套iframe怎么调用父页面的方法,子页面回调父页面函数方法
父页面要有此函数 //子页面回调此函数 IndexCallback = function() {console.log('我是父页面的方法') } 子页面回调父页面的方法 window.parent. ...
- iframe子页面调用父页面javascript函数的方法
1.iframe子页面调用 父页面js函数 子页面调用父页面函数只需要写上window.parent就可以了.比如调用a()函数,就写成: window.parent.a(); 2.iframe父页面 ...
- js/iframe 子页面调用父页面方法与父页面调用子页方法
博客转载于 https://blog.csdn.net/weixin_44512123/article/details/99698419 在做项目中都会存有主页面子页面.子页面嵌套中主页面中,主页面有 ...
- vue使用iframe 子页面调用父页面的方法
// 子页面调用父页面方法 var id = parent.vm.getId();
- vue 子页面调用父页面的参数_js父页面调用子页面数据时,子页面通过父页面传过来的参数回调父页面具体方法_html/css_WEB-ITnose...
今天写代码时发现同一页面多个地方需要调用同一个子页面,如果多个方法调用时,同一子页面回调父页面方法则会出问题,所以查了下资料,让这个功能通用化,根据具体方法回调具体父页面方法,顺便总结一下,希望以后可 ...
- 使用JS实现子页面调用父页面的函数
在JS中,子页面调用父页面的方法常使用为 1.window.parent.xxx(); 2.window.opener.xxx();对比这两个方法,需要思维转换一下,这两个parent和opener都 ...
- js代码 父页面调用子页面中的js方法,子页面调用父页面中的js方法
文中代码亲测可用,转载以示尊重!!! <!--主页面中的JS代码--> <script type="text/javascript"> //调用子页面的方法 ...
- iframe父页面获取iframe子页面的元素 与 iframe子页面获取父页面元素
一.在iframe子页面获取父页面元素代码如下:$('#objld', parent.document); 二.在父页面获取iframe子页面的元素代码如下:$("#objid", ...
- vue 子页面调用父页面常用方式
vue 子页面调用父页面常用方式 父组件 <template><div><child @fatherMethod="fatherMethodOther" ...
- vue 子页面调用父页面方法、回写父页面数据
方法一 推荐使用:this.$parent // 调用父类的方法 this.$parent.getlist() // 给父页面对象赋值 this.$parent.proForm = response. ...
最新文章
- 姿态迁移CoCosNet v2
- linux ubuntu 虚拟机中配置samba的实现文件共享的方法
- 实现透明渐变的Activity
- ifstat 命令查看linux网络I/O情况
- docker下如何进入到容器中
- etl工程师 面试题_数据仓库工程师面试题笔试.doc
- python逻辑取反运算符_python学习笔记------逻辑运算符
- ora-00054:resource busy and acquire with nowait specified
- Juniper设备管理
- IIS主机头值的意思
- 在线考试系统设计+源码
- 常用的渗透测试辅助工具
- 掌控你的信息流:在自己的VPS上部署RSSHub
- ​Apache 软件基金会 2021 年度报告亮点解读
- 【高项备考】质量管理的质量管理工具学习
- IOS------网易新闻滚动标题
- 防火墙开放21端口linux,linux防火墙开放80,3306,21,443端口
- SSM项目实例——简易版图书管理系统
- 常用数字与字母的正则表达式(转载)
- jQuery网页版简易qq音乐
热门文章
- visio 生成mysql脚本_Visio2010建立ER图并直接导出为SQL语句
- $2a开头的是什么加密方式_为什么非对称加密比对称加密慢?
- ubuntu mysql双主热备配置_mysql学习:mysql双主热备+lvs+keepalived配置
- 算法: 用队列Queue实现栈Stack
- 算法:Longest Valid Parentheses(最长有效的括号)
- 52. N皇后 II
- 利用kd树实现最近邻搜索
- Null pointer access: The variable number can only be null at this location。 错误解决
- 浅谈算法和数据结构: 六 符号表及其基本实现
- 跟阿铭学linux书摘