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)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • js用闭包遍历树状数组的方法

    JS用闭包遍历树状数组的方法,主要是为了实现对树形结构数据的深度遍历,下面是具体步骤: 1.构建树状结构数据 首先我们需要构建一棵树状结构数据,可以手动构建,也可通过API请求获取,以下是手动构建的代码示例: const treeData = [ { id: 1, title: ‘Node 1’, children: [ { id: 2, title: ‘N…

    JavaScript 2023年5月27日
    00
  • js获取指定的cookie的具体实现

    获取指定的Cookie需要以下步骤: 获取所有Cookie:使用document.cookie属性获取当前页面所有的Cookie,它返回值是一个字符串,其中每个Cookie之间使用分号和空格分隔。 将Cookie字符串转化为对象:使用JavaScript的split()方法将Cookie字符串分割成一个个单独的键值对,再使用for循环遍历所有的键值对,并使用…

    JavaScript 2023年6月11日
    00
  • 详解ECMAScript6入门–Class对象

    以下是详解ECMAScript6入门–Class对象的完整攻略: ECMAScript6入门–Class对象 Class对象的概念 Class语法是ES6中一个新的语法,它提供了更加简洁、清晰的面向对象编程方式。Class本质上是一个语法糖,它的出现让原型继承的写法更加清晰易懂。 在ES6之前,继承只能通过原型链来进行实现,而这样的实现方式并不是很直观,…

    JavaScript 2023年5月27日
    00
  • JS获取表单中的元素和取值方法

    JS获取表单中的元素和取值方法是网页开发中非常基础和重要的知识点。在网页开发过程中,除了表单元素之外,其他元素并不会搜集到浏览器向服务器请求数据的参数中,因此我们需要使用Javascript来获取表单中的元素,并取值传递给服务器,实现表单的提交等操作。下面是获取表单中元素和取值方法的攻略: 获取表单中元素 表单元素可以通过id、name、标签名或者其他自定义…

    JavaScript 2023年6月10日
    00
  • 浅谈TypeScript3.7中值得注意的3个新特性

    首先,让我们先简单介绍一下TypeScript。TypeScript是微软开发的一种超集编程语言,它是JavaScript的扩展,可以增加静态类型、接口、类、命名空间等特性,将JavaScript打造成强类型的脚本语言。 TypeScript3.7是最新的版本,其中有三个新特性值得我们关注。 1.声明只读数组和元组 在TypeScript 3.7中,我们可以…

    JavaScript 2023年5月27日
    00
  • 基于JS实现操作成功之后自动跳转页面

    下面我详细讲解一下“基于JS实现操作成功之后自动跳转页面”的完整攻略。 步骤一:编写触发跳转的函数 在JS中实现页面的跳转,通常需要我们编写一个函数,用来触发页面跳转的动作。先来看一个简单的示例代码: function jumpTo(url) { location.href = url; } 这是一个最简单的跳转函数,它只需要传入一个目标URL参数,即可实现…

    JavaScript 2023年6月11日
    00
  • 如何使JavaScript休眠或等待

    当JavaScript需要在一定时间内暂停执行或等待某些操作完成后再执行下一步操作时,可以使用JavaScript的休眠或等待实现方式。以下是具体的实现过程: 1.使用setTimeout函数实现休眠 使用setTimeout函数可以在指定的时间后执行指定的JavaScript代码,于是,在需要休眠一段时间后再执行代码的时候,可以将要执行的代码以回调函数的形…

    JavaScript 2023年5月27日
    00
  • Javascript脚本实现静态网页加密实例代码

    为了让大家更好地理解 Javascript 脚本实现静态网页加密,这里给出一份完整的攻略,包含以下几个部分: 加密原理 加密的实现流程 实现代码及示例 加密原理 Javascript 加密所采用的原理是基于 Asymmetric Encryption (非对称加密)。所谓非对称加密,就是“有一对密钥,一个公钥,一个私钥”。公钥和私钥是一一对应的,公钥加密的数…

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