uniapp iframe 通过 src='xx' 方式渲染 获取 iframe 里面节点 代码

时间: 2024-04-24 20:27:09 浏览: 7
在 UniApp 中,通过 `<iframe>` 的 `src` 属性来加载页面时,由于跨域安全限制,无法直接访问和操作 `<iframe>` 内部的节点。但可以通过使用 `postMessage` 方法在父页面和 `<iframe>` 之间进行通信,从而获取 `<iframe>` 内部节点的信息。 以下是一个示例代码: 在父页面中: ```vue <template> <view> <iframe ref="myIframe" src="https://www.example.com"></iframe> </view> </template> <script> export default { mounted() { // 监听来自 iframe 的消息 window.addEventListener('message', this.handleMessage); }, methods: { handleMessage(event) { // 判断消息来源是否是 iframe if (event.source === this.$refs.myIframe.contentWindow) { // 在控制台打印 iframe 内部节点 console.log(event.data); } } }, beforeDestroy() { // 移除消息监听 window.removeEventListener('message', this.handleMessage); } } </script> ``` 在 `<iframe>` 的页面中: ```html <!DOCTYPE html> <html> <head> <title>Child Page</title> </head> <body> <h1>Hello from Child Page</h1> <script> // 向父页面发送消息,传递节点信息 window.parent.postMessage(document.body.innerHTML, '*'); </script> </body> </html> ``` 在上述示例代码中,父页面中的 `<iframe>` 加载了一个子页面,当子页面加载完成后,它会向父页面发送一个消息,消息内容为 `<iframe>` 内部节点的信息。 在父页面中,我们使用 `window.addEventListener` 来监听来自 `<iframe>` 的消息。在 `handleMessage` 方法中,我们判断消息来源是否是 `<iframe>`,如果是,则表示收到了来自 `<iframe>` 的消息。我们可以在控制台打印出 `<iframe>` 内部节点的信息。 通过以上代码,你可以在父页面中通过监听消息的方式,获取到 `<iframe>` 内部的节点信息。 请注意,上述代码中使用了 `window.addEventListener` 和 `window.removeEventListener` 方法来添加和移除消息的监听器,确保在不需要监听消息时及时移除监听器,以避免内存泄漏。 以上是在 UniApp 中通过 `<iframe>` 的 `src` 属性渲染页面,并获取 `<iframe>` 内部节点的示例代码。根据你的实际需求和项目结构进行相应的修改和使用。

相关推荐

最新推荐

recommend-type

iframe子页面获取父页面元素的方法

在父页面获取iframe子页面的元素 代码如下: 代码如下: $(“#objid”, document.iframes(‘iframe’).document) 或 代码如下: $(document.getElementById(‘iframeId’).contentWindow.document.body).html() $...
recommend-type

iframe 的刷新方式 这样方式更方便

iframe的刷新方式 1. 刷新方式可以使用 javascript 的 document.fr.location.reload() 2. 还有就是修改 document.fr.location.href 也可以实现刷新的功能 例如: 复制代码代码如下: &lt;iframe name=”fr” width...
recommend-type

jQuery获取iframe的document对象的方法

获取iframe的document对象的目的就是进行dom的操作 $(function() { var result = $('#myframe').prop('contentWindow').document; console.log(result); }); 这样输出来的结果是:document对象
recommend-type

layer弹出层 iframe层去掉滚动条的实例代码

今天小编就为大家分享一篇layer弹出层 iframe层去掉滚动条的实例代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
recommend-type

jQuery取得iframe中元素的常用方法详解

本文实例分析了jQuery取得iframe中元素的常用方法。分享给大家供大家参考,具体如下: jquery取得iframe中元素的几种方法: 在iframe子页面获取父页面元素 代码如下: 复制代码 代码如下:$(‘#objId’, parent....
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

2. 通过python绘制y=e-xsin(2πx)图像

可以使用matplotlib库来绘制这个函数的图像。以下是一段示例代码: ```python import numpy as np import matplotlib.pyplot as plt def func(x): return np.exp(-x) * np.sin(2 * np.pi * x) x = np.linspace(0, 5, 500) y = func(x) plt.plot(x, y) plt.xlabel('x') plt.ylabel('y') plt.title('y = e^{-x} sin(2πx)') plt.show() ``` 运行这段
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。