zoukankan      html  css  js  c++  java
  • iframe的父子页面进行简单的相互传值

    当一个页面使用了iframe作为嵌套时,如何想要将父页面的数据传给iframe子页面,那iframe所指向的呢个子页面是怎么获取呢,又或者子页面的数据要给父页面使用,那么父页面又如何获取子页面的数据呢?下面根据这种情况作了一个简单的demo案例:

    父页面是parentPage.html,子页面是childPage.html。

    1、情况一:父页面获取子页面传入的数据(子页面给父页面传值)

    父页面:

    //获取子页面传入的数据
     function GetChildValue(obj){
       document.getElementById('texts').innerText = obj;
     }

    子页面:

    //给父页面传数据
    var txt = '我是子界面主动传值给父界面的数值';
    parent.GetChildValue(txt); //GetValue是父界面的js 方法

    电脑刺绣绣花厂 http://www.szhdn.com 广州品牌设计公司https://www.houdianzi.com

    2、情况二:子页面获取父页面的数据(父页面给子页面传值)

    父页面:

    //给子页面传入数据
    function toChildValue(){
        var txt = '这是父页面给子页面的数据';
        return txt;
    }

    子页面:

    //获取父页面传来的数据
    var getParentVule = window.parent.toChildValue();
    console.log(getParentVule)

    具体传值的数据根据自己的项目要求修改,下面放上两个页面的完整代码:

    父页面parentPage.htm

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>父页面</title>
            <style type="text/css">
                .box{
                     600px;
                    height: 400px;
                    margin: 10px auto;
                }
                h3{
                    font-size: 16px;
                }
                .cont{
                     100%;
                }
                .cont h4{
                    font-size: 14px;
                }            
                .cont #texts{
                     100%;
                    line-height: 22px;
                    font-size: 13px;
                    color: #2E2D3C;
                }
                
                iframe{
                    /*只是隐藏,但任然保留DOM结构*/
                    visibility: hidden;  
                }
            </style>
        </head>
        <body>
            <div class="box">
                <h3>这是父页面</h3>
                <div class="cont">
                    <h4>这是从子页面传入的数据:</h4>
                    <div id="texts"></div>
                    <iframe src="childPage.html" width="1px" height="1px" class="myIframe" name="myIframe"></iframe>
                </div>
            </div>
            
            <script type="text/JavaScript">
                //获取子页面传入的数据
                function GetChildValue(obj){
                    document.getElementById('texts').innerText = obj;
                }
                
                //给子页面传入数据
                function toChildValue(){
                    var txt = '这是父页面给子页面的数据';
                    return txt;
                }
            </script>
        </body>
    </html>

    子页面childPage.html

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>子页面</title>
            <style type="text/css">
                .box{
                     600px;
                    height: 400px;
                    margin: 10px auto;
                }
                h3{
                    font-size: 16px;
                }
            </style>
        </head>
        <body>
            <div class="box">
                <h3>这是子页面</h3>
            </div>
            
            
            <script type="text/JavaScript">
                //给父页面传数据
                var txt = '我是子界面主动传值给父界面的数值';
                parent.GetChildValue(txt); //GetValue是父界面的js 方法
                
                
                //获取父页面传来的数据
                var getParentVule = window.parent.toChildValue();
                console.log(getParentVule)
                
            </script>
        </body>
    </html>
  • 相关阅读:
    升级windows 11小工具
    windows 10更新升级方法
    您需要了解的有关 Oracle 数据库修补的所有信息
    Step by Step Apply Rolling PSU Patch In Oracle Database 12c RAC Environment
    Upgrade Oracle Database Manually from 12.2.0.1 to 19c
    如何应用版本更新 12.2.0.1.210420(补丁 32507738 – 2021 年 4 月 RU)
    xtrabackup 安装、备份和恢复
    Centos_Lvm expand capacity without restarting CentOS
    Centos_Lvm_Create pv vg lv and mount
    通过全备+relaylog同步恢复被drop的库或表
  • 原文地址:https://www.cnblogs.com/xiaonian8/p/13839633.html
Copyright © 2011-2022 走看看