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

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)
上一篇 4天前
下一篇 4天前

相关文章

  • 通过js控制时间,一秒一秒自己动的实例

    下面是关于“通过JS控制时间,一秒一秒自己动”的完整攻略: 步骤一:HTML部分 首先,在HTML部分创建一个DIV元素并添加一个id,比如 #countdown。这个元素将用于显示倒计时的值。 <div id="countdown"></div> 步骤二:CSS部分 接下来,需要为倒计时的DIV元素添加样式。样式…

    JavaScript 4天前
    00
  • Javascript Date constructor 属性

    以下是关于JavaScript Date对象的constructor属性的完整攻略。 JavaScript Date对象的constructor属性 JavaScript Date对象的constructor属性返回对创建该对象的构造函数的引用。该属性可用于检查对象是否为Date类型。 下面是使用Date对象的constructor属性的示例: var da…

    JavaScript 2023年5月11日
    00
  • JS实现二维数组元素的排列组合运算简单示例

    下面是详细讲解“JS实现二维数组元素的排列组合运算简单示例”的完整攻略。 什么是排列组合运算 排列组合运算是指在一组数据中,选择若干个元素进行排列或组合的处理过程。其中,“排列”指所有元素的顺序不同,而“组合”指所有元素的顺序相同。 例如,对于数据集合 {a, b, c},若选择 2 个元素进行排列,则可能的组合情况为: ab, ac, ba, bc, ca…

    JavaScript 3天前
    00
  • javascript基础知识大集锦(一) 推荐收藏

    欢迎来到“Javascript基础知识大集锦(一) 推荐收藏”的攻略。这篇文章本身短小精悍,囊括了Javascript基础知识的各个方面。本文内容包括但不限于变量、数据类型、运算符、流程控制语句、函数、面向对象编程、ES6等内容。下面我将详细讲解每个部分的内容。 变量与数据类型 Javascript是一门弱类型语言,所以变量的类型可以在声明时指定,也可以在赋…

    JavaScript 2023年5月19日
    00
  • 关于ES6新特性最常用的知识点汇总

    关于ES6新特性最常用的知识点汇总 模板字符串 ES6 新增了一种字符串拼接的方式:模板字符串。使用反引号 “ 包裹字符串,并通过 ${} 插入表达式。 例如: const name = ‘John’; const message = `Hello, ${name}!`; console.log(message); // 输出 "Hello, J…

    JavaScript 3天前
    00
  • 简单易用的倒计时js代码

    下面是一份简单易用的倒计时js代码的攻略: 1. 先导入jQuery库 <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> 2. 创建一个HTML元素作为计数器容器 可以把它放在合适的地方,如下所示: <div id=&quo…

    JavaScript 4天前
    00
  • js截取固定长度的中英文字符的简单实例

    下面是“js截取固定长度的中英文字符的简单实例”的完整攻略: 一、问题描述 在开发中,我们常常需要截取给定字符串中的前若干个字符,但是中英文字符长度不同,因此需要针对英文字符和中文字符采用不同的截取方式。 二、解决方案 1. 利用charCodeAt方法 charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。通过判断字符的Unicode…

    JavaScript 2023年5月19日
    00
  • JavaScript实现与web通信的方法详解

    下面我将详细讲解“JavaScript实现与web通信的方法详解”的完整攻略。 JavaScript实现与Web通信的方法详解 1. HTTP请求 HTTP请求是一种在Web中广泛使用的通信方式。浏览器可以利用XMLHttpRequest对象或fetch API发出HTTP请求,并用于获取Web服务器上的数据。HTTP请求可使用以下方法之一: GET:从指定…

    JavaScript 4天前
    00
  • Javascript Date setFullYear() 方法

    以下是关于JavaScript Date对象的setFullYear()方法的完整攻略,包括两个示例说明。 JavaScript Date对象的setFullYear()方法 JavaScript Date对象的setFullYear()方法设置日期对象的年份部分。该方法接受一个整数,表示要设置的年份。如果该参数超出了JavaScript所能表示的范围,则自…

    JavaScript 2023年5月11日
    00
  • JavaScript 映射器 array.flatMap()

    JavaScript的映射器array.flatMap()方法可以将一个数组的每个元素映射到另一个数组中,然后将所有的映射结果压缩成一个新数组。这个方法适用于一些场景,例如需要从一个二维数组中提取子数组元素,或者想要将多个数组合并成一个新的数组。下面是详细的攻略: 1. 语法 array.flatMap(callback(currentValue[, ind…

    JavaScript 4天前
    00