iframe中的方法

12 篇文章 0 订阅
1 篇文章 0 订阅
  • 整体思路:
    resizeWindow 是在父页面中调用子页面的方法
    resizeWindows 是在子页面中调用父页面的方法
    toChildValue 是父页面向子页面传数据的方法
父页面
created: function () {
        that = this;
         //将父页面中的方法,与iframe页面中的方法绑定,用于子页面调用
        window.resizeWindows = function (parentId, zi_id, selfs) {
            console.log('我是父页面,可在这里调用父页面中的方法');
        };

		 // 给子页面传数据,用于子页面调用
        window.toChildValue = function (parent_id) {
                return '我是父页面中的数据';
        }
        
 },
methods: {
	// 使用layui对话框嵌套iframe页面
   selectRange(parent_id, id) {
            layui.use(['form', 'laydate'], function () {
                layer.open({
                    type: 2,
                    title: '自定义范围',
                    btn: ['提交', "取消"],
                    shadeClose: true,
                    shade: 0.5,
                    area: ['800px', '600px'],
                    content: '/admin/organization/organSearch.html?' + parent_id + '?' + id,
                    btn1: function (index, layero) {
                        // console.log("点击了确定");
                        var iframe_home = document.querySelector('#layui-layer-iframe' + index)
                        iframe_home.contentWindow.resizeWindow();//调用iframe页面中的方法
                        // layer.close(index);
                    },
                    btn2: function (index, layero) {
                        // console.log("点击了取消");
                        // layer.close(index)
                    }
                });
            })
        },
 },
iframe页面(也就是/admin/organization/organSearch.html页面)
   created: function () {
        var _this = this;
        //将父页面中的方法,与iframe页面中的方法绑定,用于父页面调用
        window.resizeWindow = function () {
            return _this.tijiao();
        }

		//获取父页面中的数据
 	    var getParentVule = parent.toChildValue(this.parent_id);
    },
    methods: {
    	//iframe页面中的方法
        tijiao() {
       		 console.log("我是iframe页面");
       		var index = parent.layer.getFrameIndex(window.name);
            parent.layer.close(index);//关闭对话框
            parent.resizeWindows(this.parent_id, this.zi_id, selfs);//调用父页面中方法
		}
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值