首页 > 其他分享 >判断iframe加载成功与否

判断iframe加载成功与否

时间:2023-07-23 21:44:22浏览次数:29  
标签:console log 与否 iframe 网页 链接 加载

素材库应用中,有一种素材是链接素材。在用户打开链接素材的时候,会将链接放到iframe中显示。但事情总不尽如人意,有时候会出现以下问题:

因此我们需要监听iframe加载失败,从而提示用户。然而可惜的是,iframe只有onload事件:

iframe.onload = () => {
  try {
    // iframe是否加载成功
    // 如果没有加载成功,下面的代码会报错
    // (不要删掉console.log(),否则会失效)
    console.log(iframe.contentWindow);
  } catch (e) {
    console.log("exception = ", e);
  }
};

本来希望上面的代码能够达到监听网页加载失败的问题,但可惜的是,如果链接地址能够打开,但链接与当前h5不在同一个域,同样会在读取iframe.contentWindow时报错。

最后妥协的办法是,给在捕获异常时,给iframe设置一个失败提示背景,如果iframe中的网页确实错误,则会显示这个错误提示背景,而如果iframe中的网页是正确的,只是与当前网页不在同一个域,那么iframe内网页的内容就会覆盖错误提示背景。

标签:console,log,与否,iframe,网页,链接,加载
From: https://www.cnblogs.com/hdxg/p/17575956.html

相关文章

  • 如何在AutoCAD中加载数据库的空间数据?
    在AutoCAD中加载矢量数据是一个非常有用的功能,它可以帮助用户将多种不同格式的数据集合在一个平台上进行分析和编辑。按照以下步骤可快速在AutoCAD中加载数据库中的空间数据,支持SQLServer、MySQL、PostgreSQL。方法/步骤下载并安装GIS4CAD插件http://www.geosaas.com/downloa......
  • java中tomcat 加载动态库XXX.dll报错“java.lang.UnsatisfiedLinkError: already load
    错误:在Tomcat项目和supermapiserverwar包中使用了相同的supermapjavaiobject【四个jar包】,实际的访问过程如下:这时候在访问Tomcat的时候,就会出现一个错误:anexceptioncaughtatEnvironment.loadLibrary(),programwillcontinuerunning.java.lang.UnsatisfiedL......
  • java 加载同名类
    Java加载同名类的实现介绍在Java中,当存在多个同名的类时,我们需要指定具体加载哪个类。这篇文章将教会你如何实现"Java加载同名类"。流程图下面是加载同名类的流程图:步骤描述1创建一个新的ClassLoader实例2指定加载的类的全限定名3使用ClassLoader实例加载类......
  • 【补充】Django框架之IFrame中的跨域问题
    【一】iframe中的跨域问题详解在网页开发中浏览器会应用跨域安全策略,限制不同域名之间的交互。跨域问题指的是如果一个网页的脚本尝试访问另一个域名下的资源或与其通信时,浏览器会拒绝这样的请求。其中,使用<iframe>标签嵌套其他网页是一种常见的前端技术。然而,由于<i......
  • 图片预加载需要token认证的地址处理
    1.添加函数修改img的属性;/****@param{*}idName传入的id,获取改img的dom,添加相应的数学*/exportconstproxyImg=(idName)=>{constimg=document.getElementById(idName||'img');consturl=img.getAttribute('authsrc');constrequest=new......
  • SAP UI5 应用启动时加载的 flpSandbox.html 文件有什么作用
    在SAPUI5应用程序的开发和测试阶段,我们经常会使用一个特殊的HTML文件,名为flpSandbox.html。这个文件主要用于在本地环境中模拟FioriLaunchpad的环境,以便于开发者在没有真实SAP系统支持的情况下进行开发和调试。这个文件的源代码可以在笔者这套教程里找到:SAPFioriEl......
  • jquery手机端下拉加载更多列表
    实现jquery手机端下拉加载更多列表概述在这篇文章中,我将教会你如何使用jQuery实现手机端的下拉加载更多列表功能。这个功能常见于一些移动端的应用或网页,它允许用户在列表末尾向下拉动屏幕时自动加载更多的内容。在本教程中,我们将按照以下步骤实现这个功能:监听页面滚动事件检......
  • Spring Boot配置文件加载顺序
    项目内部配置文件springboot启动会扫描一下位置application.properties或者application.yml文件作为springboot的默认配置文件1、file:./config/2、file:./3、classpath:/config/4、classpath:/加载顺序可以通过启动命令spring.config.location修改java-jarspring-boot-......
  • Android Glide加载完成
    AndroidGlide加载完成在Android应用程序中,经常需要加载网络上的图片并显示在应用的界面上。为了提高加载图片的性能和效率,Android开发者可以使用Glide这个强大的图片加载框架。什么是Glide?Glide是一个开源的图片加载库,专门用于在Android应用程序中加载网络上的图片。它提供了简......
  • 从输入URL到页面加载完成的过程中都发生了什么
      首先,对于http肯定是有客户端和服务器的,在这个语境中,客户端和服务器本质上也都是一个软件,实现了http协议相关标准的软件。客户端一般由都是由浏览器充当,也就是说,在浏览器中实现了http客户端的相关功能。而服务器的实现就多种多样啦,我们可以用java写servlet,c#写ASP.net,还有php,r......