获取react中iframe的里面的图片

简介: 获取react中iframe的里面的图片

在React中获取iframe中的图片有几种方法:

  1. 使用原生JavaScript

可以使用原生JavaScript代码来获取iframe中的图片,方法如下:

import React from 'react';

function MyComponent() {
  const handleButtonClick = () => {
    const iframe = document.getElementById("my-iframe"); // 获取iframe元素
    const iframeDoc = iframe.contentWindow.document; // 获取iframe文档对象
    const images = iframeDoc.querySelectorAll("img"); // 获取所有img标签元素

    images.forEach((img) => {
      console.log(img.src); // 打印图片的src属性
    });
  };

  return (
    <div>
      <button onClick={handleButtonClick}>获取iframe中的图片</button>
      <iframe id="my-iframe" src="https://www.example.com"></iframe>
    </div>
  );
}

在上面的代码中,我们首先通过document.getElementById获取到id为my-iframe的iframe元素,然后通过contentWindow.document获取iframe内部的文档对象。接着我们可以使用querySelectorAll方法来获取所有img标签元素,并遍历这些元素并打印它们的src属性值。

  1. 使用第三方库

如果你想要更方便地获取iframe中的图片,可以使用一些第三方库,如iframe-resizer或react-frame-component。这些库会提供更方便的API来获取iframe中的内容。

import React, { useRef } from 'react';
import * as iframeResizer from 'iframe-resizer'; // 导入第三方库

function MyComponent() {
  const iframeRef = useRef(null);

  const handleIframeLoad = () => {
    const images = iframeRef.current.contentDocument.querySelectorAll("img");
    images.forEach((img) => {
      console.log(img.src);
    });
  };

  return (
    <div>
      <iframe
        ref={iframeRef}
        src="https://www.example.com"
        onLoad={handleIframeLoad}
        style={
  { width: "100%", minHeight: "500px" }}
      />
    </div>
  );
}

在上面的代码中,我们使用了iframe-resizer库来自动调整iframe的高度,并在iframe加载完成后调用handleIframeLoad函数来获取其中的图片。这样可以帮助直接操作iframe中的子元素,而不用考虑iframe的HTML结构和跨域访问的问题。

相关文章
|
1月前
|
前端开发 API UED
React 懒加载图片 Lazy Image
懒加载是一种优化技术,通过延迟加载不在视口内的图片,减少初始页面加载时间,提升用户体验。本文从基础概念入手,逐步探讨 React 中实现图片懒加载的常见问题、易错点及解决方案,并通过代码案例详细解释。
48 3
|
7月前
|
前端开发
React 仿淘宝图片放大镜功能
React 仿淘宝图片放大镜功能
137 0
|
6月前
|
前端开发
react怎么做图片报错处理
react怎么做图片报错处理
77 1
|
7月前
|
前端开发
构建一个简单的React图片画廊应用
构建一个简单的React图片画廊应用
152 0
|
7月前
|
前端开发 JavaScript
react中img引入本地图片的方式
react中img引入本地图片的方式
287 0
|
前端开发 JavaScript
react-qr-code的第三方库来将URL转换成二维码图片
在React中,你可以使用一个叫做react-qr-code的第三方库来将URL转换成二维码图片并保存。首先,你需要安装这个库: ``` npm install react-qr-code ``` 然后,在你的组件中引入react-qr-code: ``` import QRCode from 'react-qr-code'; ``` 接着,在render方法中使用QRCode组件,将URL作为一个属性传递进去: ``` render() { const url = 'https://www.example.com'; return ( <div> <Q
847 0
|
7月前
|
前端开发
React 拖动图片
React 拖动图片
|
7月前
|
前端开发
react 实现图片懒加载
react 实现图片懒加载
157 0
|
7月前
|
前端开发
20行代码,封装一个 React 图片懒加载组件
20行代码,封装一个 React 图片懒加载组件
|
前端开发
React基础语法03-引入本地图片和服务器图片的方法
React基础语法03-引入本地图片和服务器图片的方法
129 0