JS对外部文件的加载及对IFRMAME的加载的实现,当加载完成后,指定指向方法(方法回调)

yizhihongxing

JS对外部文件的加载:

  1. 使用

    1. 使用XMLHttpRequest对象异步加载JS文件

    function loadScript(url, callback) {
    var script = document.createElement('script');
    script.type = 'text/javascript';
    if (script.readyState) { //IE
    script.onreadystatechange = function() {
    if (script.readyState == "loaded" || script.readyState == "complete") {
    script.onreadystatechange = null;
    callback();
    }
    };
    } else { //Others
    script.onload = function() {
    callback();
    };
    }
    script.src = url;
    document.getElementsByTagName("head")[0].appendChild(script);
    }

    loadScript("path/to/external/script.js", function() {
    console.log("Script loaded");
    });

    IFRAME的加载:

    1. 通过JS创建IFRAME元素

    var iframe = document.createElement('iframe');
    iframe.src = 'path/to/external/iframe.html';

    1. 修改IFRAME的src属性

    var iframe = document.getElementById('myIframe');
    iframe.src = 'path/to/external/iframe.html';

    当加载完成后,指定指向方法的实现:

    1. 使用传统的回调方式:

    function loadScript(url, callback) {
    var script = document.createElement('script');
    script.type = 'text/javascript';
    if (script.readyState) { //IE
    script.onreadystatechange = function() {
    if (script.readyState == "loaded" || script.readyState == "complete") {
    script.onreadystatechange = null;
    callback();
    }
    };
    } else { //Others
    script.onload = function() {
    callback();
    };
    }
    script.src = url;
    document.getElementsByTagName("head")[0].appendChild(script);
    }

    loadScript("path/to/external/script.js", function() {
    console.log("Script loaded");
    });

    1. 使用Promise方式:

    function loadScript(url) {
    return new Promise(function(resolve, reject) {
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.onload = resolve;
    script.onerror = reject;
    script.src = url;
    document.getElementsByTagName("head")[0].appendChild(script);
    });
    }

    loadScript("path/to/external/script.js")
    .then(function() {
    console.log("Script loaded");
    })
    .catch(function() {
    console.log("Error loading script");
    });

    示例说明:

    1. 加载外部JS文件并指定回调方法的示例:

    function loadScript(url, callback) {
    var script = document.createElement('script');
    script.type = 'text/javascript';
    if (script.readyState) { //IE
    script.onreadystatechange = function() {
    if (script.readyState == "loaded" || script.readyState == "complete") {
    script.onreadystatechange = null;
    callback();
    }
    };
    } else { //Others
    script.onload = function() {
    callback();
    };
    }
    script.src = url;
    document.getElementsByTagName("head")[0].appendChild(script);
    }

    loadScript("https://code.jquery.com/jquery-latest.min.js", function() {
    console.log("jQuery loaded");
    });

    1. 加载IFRAME并指定回调方法的示例:

    var iframe = document.createElement('iframe');
    iframe.src = 'https://www.baidu.com';
    iframe.onload = function() {
    console.log("IFRAME loaded");
    };
    document.body.appendChild(iframe);

    本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS对外部文件的加载及对IFRMAME的加载的实现,当加载完成后,指定指向方法(方法回调) - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • JavaScript实现文件上传demo

    <!DOCTYPE html> <html lang=”en”> <head> <meta charset=”UTF-8″> <meta http-equiv=”X-UA-Compatible” content=”IE=edge”> <meta name=”viewport” content=…

    JavaScript 2023年4月18日
    00
  • 详解JS中的对象字面量

    详解JS中的对象字面量 在Javascript中,对象是最常见的数据类型之一,它可以用来表示一组有序的属性集合,属性可以是任何数据类型,包括数字、字符串、函数等。对象字面量是一种定义Javascript对象的方式,它可以简单地创建对象并设置属性和方法。 基本定义语法 使用对象字面量的基本语法如下: let objectName = { property1: …

    JavaScript 2023年5月27日
    00
  • 浅谈Vue页面级缓存解决方案feb-alive (下)

    针对“浅谈Vue页面级缓存解决方案feb-alive (下)”这篇文章,我可以提供以下完整攻略: 1. 简述文章主旨 本文主要介绍了一种Vue页面级缓存的解决方案,即使用<keep-alive>的一个替代方案–<feb-alive>。文章中着重介绍了<feb-alive>的实现原理、使用方法以及与<keep-ali…

    JavaScript 2023年6月11日
    00
  • Javascript – HTML的request类

    下面是关于“Javascript – HTML的request类”的完整攻略。 HTML的request类 HTML的request类是用于创建异步HTTP请求的一种Web API。它可以与后台服务器进行数据交互,而不用重新加载页面。通过使用异步请求,可以提高页面的性能并缩短页面加载时间。 在JavaScript中,我们可以通过XMLHttpRequest对…

    JavaScript 2023年6月11日
    00
  • JavaScript程序员应该知道的45个实用技巧

    JavaScript程序员应该知道的45个实用技巧,是一篇有关于JavaScript编程的高质量技术指南。该指南列举了45个实用技巧,帮助JavaScript程序员更有效率和高效地工作。 以下是该攻略的完整说明: 目录 第1条:使用console.table格式化输出 第2条:使用Array.from()将类数组对象转换为数组 第3条:使用Array.isA…

    JavaScript 2023年5月18日
    00
  • javascript控制台详解

    Javascript控制台详解 什么是Javascript控制台 Javascript控制台是浏览器(如Chrome、Firefox、Safari等)自带的开发工具,它可以让开发者在开发和调试网页时,查看和修改网页的代码和样式,并且可以运行Javascript代码,方便开发者定位和解决问题。 如何打开Javascript控制台 打开Javascript控制台…

    JavaScript 2023年5月17日
    00
  • Javascript中产生固定结果的函数优化技巧

    当我们在编写JavaScript中的函数时,我们有时候需要函数能够返回对于特定输入的相同结果。这种类型的函数被称为Pure Function。Pure Function的一个重要特性是对于相同的输入,产生相同的输出。这使得测试和调试变得更加容易,并且减少不必要的副作用。 在本篇攻略中,我们将讨论如何优化JavaScript中的Pure Function,使其…

    JavaScript 2023年5月27日
    00
  • javascript 解决浏览器不支持的问题

    一、什么是浏览器不支持问题? 浏览器不支持问题是指在一些老旧的浏览器中无法解析某些新的 JavaScript(或其他语言)特性,导致网站不能正确工作或加载。 二、如何解决浏览器不支持问题? 特性检测 特性检测是一种在运行时检测特定功能是否浏览器所支持的技术,这种技术可以保证即使在运行时检测到浏览器不支持某些特定的特性也不会使 JavaScript 报错,从而…

    JavaScript 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部