为了账号安全,请及时绑定邮箱和手机立即绑定

动态加载JavaScript之后再运行代码的问题

动态加载JavaScript之后再运行代码的问题

梵蒂冈之花 2019-03-15 19:15:29
在某个页面需要动态加载 jQuery,等到 jQuery 加载完成后再执行后续代码。但是我不想把后续代码放到 ajax 请求的回调函数里,因为后续代码有几千行,而且都是顶层的,我不希望在它们外部加上一层嵌套。求解该如何处理?if (typeof jQuery === 'undefined') {    fetch('https://code.jquery.com/jquery-2.0.3.min.js', {            method: 'get'        })        .then(function (response) {            response.text()                .then(function (data) {                    let element = document.createElement('script');                    element.setAttribute('type', 'text/javascript');                    element.innerHTML = data;                    document.head.appendChild(element);                    console.log(typeof jQuery);                    // 检查 typeof jQuery 为 function 之后再执行外部的代码。                });        });}// 外部代码,如:console.log('jquery loaded');ajax 请求可以不用 fetch,但是需要用异步。也可以改成设置 script 的 src 的方式来加载 jQuery。主要是不让后面的代码再加一层嵌套。可能也算是强迫症吧,求教~
查看完整描述

1 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

如果想在你标示的外部代码里写,那是不可能的。
以前有人也有和你一样的问题,然后就有了commonjsrequirejs等,现在模块加载已经成了ES6的标准。
所以如果你有强迫症,那就不能嫌麻烦,把模块加载相关的姿势撸了吧。

查看完整回答
反对 回复 2019-03-29
  • 1 回答
  • 0 关注
  • 342 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号