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

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

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

父页面:

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

子页面:

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

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{
width: 600px;
height: 400px;
margin: 10px auto;
}
h3{
font-size: 16px;
}
.cont{
width: 100%;
}
.cont h4{
font-size: 14px;
}
.cont #texts{
width: 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{
width: 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>

关于使用iframe的父子页面进行简单的相互传值的更多相关文章

  1. iframe之父子页面通信

    iframe之父子页面通信 1.获取 子页面 的 window 对象  在父页面中,存在如下两个对象 window.frames document.iframeElement.contentWindo ...

  2. 六)iframe 及父子页面之间获取元素、方法调用

    http://www.w3school.com.cn/tags/tag_iframe.asp father.html <!DOCTYPE html> <html> <he ...

  3. iframe父子页面之间相互调用元素和函数

    <!doctype html> <html> <head> <meta http-equiv="Content-Type" content ...

  4. js控制父子页面传值(iframe和window.open)

    在html中,window对象代表浏览器中一个打开的窗口,就像我们C/S中做窗体一样,在该页的window对象就是new了一个新的窗体对象. 就像做C/S开发一样,浏览器是一个软件,每一个网页都是它n ...

  5. iframe 自适应高度、父子页面传值、回调

    总结一下最近用iframe遇到的问题与解决办法: 结构:主页面main.html,里面套用iframe.iframe不能出现滚动条,自适应子页面高度.内容多了滚动条是main.html页面的. 1.  ...

  6. 页面嵌入iframe关于父子传参调用

    1.首先来说一下iframe是干什么用的 IFRAME是HTML标签,作用是文档中的文档,或者浮动的框架(FRAME).iframe元素会创建包含另外一个文档的内联框架(即行内框架),通俗点说就是在一 ...

  7. iframe父子页面通信

    一.同域下父子页面的通信 1.父页面调用子iframe页面 (1)通过iframe的Id获取子页面的dom,然后通过内置属性contentWindow取得子窗口的window对象,此方法兼容各个浏览器 ...

  8. window.postMessage 在iframe父子页面数据传输

    介绍 https://developer.mozilla.org/zh-CN/docs/Web/API/Window/postMessage window.postMessage 发送方 接收方 示例 ...

  9. 父子页面之间元素相互操作(iframe子页面)

    js/jquery获取iframe子页面中元素的方法: 一.使用window.frames["iframe的ID"]获取元素 window.onload = function() ...

随机推荐

  1. D. Restore Permutation

    D. Restore Permutation 就是给一个n个数的全排,然后bi记录比ai小且在排在ai前面的数的和,求ai 树状数组维护,二分 #include<bits/stdc++.h> ...

  2. 修改apache2配置,禁止目录访问+禁止访问.git文件夹

    通过url访问服务器,无论是本地服务器还是远程服务器 如果你的文件根目录里有 index.html,index.php,浏览器就会显示 index.html的内容,如果没有 index.html,浏览 ...

  3. Docker push image to Docker hub

    1. Before push image to Docker Hub, register an account in https://hub.docker.com/ 2.Input "doc ...

  4. Linux小记 -- apt-get install build-essential和yum groupinstall "Development Tools"

    Ubuntu的apt install build-essential 作用:配置Debian系统编译环境,就是下载安装支持编译Debian包的依赖/包,比如gcc等. 直接执行 #apt instal ...

  5. @清晰掉 sprintf sscanf双胞胎

    sprintf() 格式化输出函数(图形) 功能: 函数sprintf()用来作格式化的输出.用法: 此函数调用方式为int sprintf(char *string,char *format,arg ...

  6. Vue/Element-ui 安装搭建开发环境(一)

    Element 是饿了么全段开发团队推出的一套基于 vue.js2.0 的 PC Web 端开发框架. Element 中文文档:https://element.eleme.cn/#/zh-CN 1. ...

  7. gdb调试知识

    之前一直不怎么用gdb,现在要用做一下记录 用gdb启动程序 gdb ./demo intel风格反汇编main函数,一共两行第一行设置汇编风格,第二行才是反汇编main函数 set disassem ...

  8. ubuntu 18.04 gcc g++降级4.8版

    $ sudo apt-get install -y gcc-4.8 $ sudo apt-get install -y g++-4.8 $ cd /usr/bin $ sudo rm gcc $ su ...

  9. 【Centos7】 中使用Supervisor守护进程

    原文出处: Centos7 中使用Supervisor守护进程 配置supervisor实现进程守护 1.安装supervisor yum install Supervisor   2.启动服务 su ...

  10. delphi : 窗体的close,free,destroy

    一.我用application.create(TForm2,Form2)语句,创建了Form2,可是调用了Form2.close后,重新调用Form2.show. 刚才所创建的Form2仍然存在.问为 ...