html_ifream与父级窗口之间的数据传递(window和document)

简介: html_ifream与父级窗口之间的数据传递(window和document)

ifream到上一层窗口

思路:

1.修改顶层窗口的href为ireame的url

2.修改顶层窗口的document为ifream的document

代码部分

方法:使用window.parent.location.href

修改父级的href

window.parent.location.href

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>测试</title>
  </head>
  <style>
    *{
      margin:0;
      padding:0;
    }
    body{
      width:100vw;
      height: 100vh;
    }
  </style>
  <body>
    <p>ifream窗口</p>
    <button onclick="test()">ifream跳出</button>
  </body>
  <script type="text/javascript">
    function test(){
      window.parent.location.href='http://127.0.0.1:8848/temp_file/child.html'
    }
  </script>
</html>

调用ifream的网页

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>home</title>
  </head>
  <style>
    *{
      margin:0;
      padding:0;
    }
    body{
      width:100vw;
      height: 100vh;
    }
    .child{
      position: absolute;
      width: 100%;
      height: 100%;
    }
  </style>
  <body>
    <p>父级窗口</p>
        <div class="box">
      <iframe src="child.html" class="child" id='iframe1'></iframe>
    </div>
  </body>
</html>

传递数据(ifreame到父级窗口)

contentWindow的使用

思路:传递window对象

ifream的html

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>测试</title>
  </head>
  <style>
    *{
      margin:0;
      padding:0;
    }
    body{
      width:100vw;
      height: 100vh;
    }
  </style>
  <body>
    <p>ifream窗口</p>
    <button onclick="test()">ifreaamwindow</button>
    <p>发送的数据:windwo.postMapdata={name:'yma16'}<p>
  </body>
  <script type="text/javascript">
    function test(){
      window.postData={name:'yma16',pwd:'life'}
    }
  </script>
</html>

调用ifream的html

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>home</title>
  </head>
  <style>
    *{
      margin:0;
      padding:0;
    }
    body{
      width:100vw;
      height: 100vh;
    }
    .child{
      position: absolute;
      width: 100%;
      height: 100%;
    }
  </style>
  <body>
    <p>父级窗口</p>
    <button onclick="getchild()">获取ifream的window</button>
    <hr>
    <p>父级数据显示</p>
    <input type="text" value='' id="parent_input" />
    <hr>
    <div class="box">
      <iframe src="child.html" class="child" id='iframe1'></iframe>
    </div>
  </body>
    <script type="text/javascript">
      function getchild(){
        document.getElementById('parent_input').value=JSON.stringify(document.getElementById('iframe1').contentWindow.postData)
        console.log("获取ifream的windows和documnet",document.getElementById('iframe1'));
        console.log('ifream的window',document.getElementById('iframe1').contentWindow)
        console.log('ifream的window的postMapData',document.getElementById('iframe1').contentWindow.postData)
        console.log('ifream的document',document.getElementById('iframe1').contentDocument)
      }
    </script>
</html>

跨域传递参数

ifreame界面,使用window.parent.postMessage(data,‘ip+port’)

window.parent.postMessage(data,'*')

父级窗口添加监听事件获取数据

window.addEventListener('message',this.listenIfreame())
listenIfreame:function(e){
console.log('message',e,e.data);
}


目录
相关文章
|
6天前
|
XML 前端开发 数据格式
请描述如何使用`BeautifulSoup`或其他类似的库来解析 HTML 或 XML 数据。
【2月更文挑战第22天】【2月更文挑战第67篇】请描述如何使用`BeautifulSoup`或其他类似的库来解析 HTML 或 XML 数据。
|
6天前
|
JSON 前端开发 Java
利用Spring Boot处理JSON数据实战(包括jQuery,html,ajax)附源码 超详细
利用Spring Boot处理JSON数据实战(包括jQuery,html,ajax)附源码 超详细
63 0
|
6天前
|
XML 前端开发 数据格式
BeautifulSoup 是一个 Python 库,用于从 HTML 和 XML 文件中提取数据
【5月更文挑战第10天】BeautifulSoup 是 Python 的一个库,用于解析 HTML 和 XML 文件,即使在格式不规范的情况下也能有效工作。通过创建 BeautifulSoup 对象并使用方法如 find_all 和 get,可以方便地提取和查找文档中的信息。以下是一段示例代码,展示如何安装库、解析 HTML 数据以及打印段落、链接和特定类名的元素。BeautifulSoup 还支持更复杂的查询和文档修改功能。
23 1
|
6天前
|
前端开发 JavaScript UED
【专栏:HTML基础篇】HTML列表与表格:展示数据的两种方式
【4月更文挑战第30天】本文探讨了HTML中的列表和表格两种元素在网页设计中的重要性。无序列表(`&lt;ul&gt;`)和有序列表(`&lt;ol&gt;`)用于呈现相关项目,前者常用于导航菜单,后者适合有序信息。表格(`&lt;table&gt;`)用于展示结构化数据,通过`&lt;tr&gt;`、`&lt;td&gt;`和`&lt;th&gt;`定义行和单元格。尽管简单,列表和表格在内容呈现和用户体验上起着关键作用。然而,响应式设计趋势下,表格可能被更灵活的布局替代,复杂数据展示则可借助JavaScript库提升交互性。正确使用这些基础元素能有效组织信息,创建优质网页。
|
6天前
|
数据采集 前端开发 网络协议
如何使用代理IP通过HTML和CSS采集数据
如何使用代理IP通过HTML和CSS采集数据
|
6天前
|
数据采集 XML 数据挖掘
使用Python打造爬虫程序之HTML解析大揭秘:轻松提取网页数据
【4月更文挑战第19天】本文介绍了HTML解析在爬虫技术中的重要性,并通过Python的BeautifulSoup库展示了如何解析和提取数据。文章涵盖了HTML文档结构、使用BeautifulSoup的基本方法,如`find_all()`、选择器(标签、类、ID选择器)以及提取文本、属性和链接。此外,还讨论了遍历和处理嵌套元素的技巧。
|
6天前
|
JSON 前端开发 JavaScript
从假数据到动态表格:一个简单的JavaScript和HTML示例
从假数据到动态表格:一个简单的JavaScript和HTML示例
|
6天前
|
JavaScript 前端开发
【HTML+REACT+ANTD 表格操作】处理(改变)数据,改变DOM
【HTML+REACT+ANTD 表格操作】处理(改变)数据,改变DOM
Angular应用从Component到Html的数据绑定是如何实现的 -数据流的讨论
Angular应用从Component到Html的数据绑定是如何实现的 -数据流的讨论
114 0
Angular应用从Component到Html的数据绑定是如何实现的 -数据流的讨论
|
6天前
|
移动开发 HTML5
HTML5/CSS3粒子效果进度条代码
HTML5/CSS3进度条应用。这款进度条插件在播放进度过程中出现粒子效果,就像一些小颗粒从进度条上散落下来
19 0
HTML5/CSS3粒子效果进度条代码