在JS文件中动态加载其他JS文件的方法
时间:2023年10月14日
/来源:网络
/编辑:佚名
载另一个Javascript文件,并完成一定的功能,如何实现一个JS文件加载另一个JS文件呢?
有些人使用[xss_clean]的方式来加载js,这种方法有很多问题,并不推荐使用这种方法。
这里就介绍几种常见的调用方法。
先创建一个公共的脚本文件如下:
var js = document.createElement('script');
js.src = 'myscript.js';
接着通过几种不同的方法将该脚本加载。
1、加载在头部
var js = document.createElement('script');
js.src = 'myscript.js';
document.getElementsByTagName('head')[0].appendChild(js);
另一种写法是:
var js = document.createElement('script');
js.src = 'myscript.js';
document.head.appendChild(js);
2、加载在BODY中
加载在页面中的写法如下:
var js = document.createElement('script');
js.src = 'myscript.js';
document.body.appendChild(js);
这种加载方法存在一个问题,就是有可能代码是在head区域,导致body还没达到,document.body就不存在,代码就会出错。
3、使用documentElement
document.documentElement就是html文档本身,因此肯定是存在的,这种调用的写法如下:
var js = document.createElement('script');
js.src = 'myscript.js';
var html = document.documentElement;
html.insertBefore(js, html.firstChild);
4、加载在第一个脚本前
这种方法是把js文件插入到第一个出现script的标识前,除非网页里没有任何一个script出现,否则应该不会出错。代码的写法如下:
var js = document.createElement('script');
js.src = 'myscript.js';
var first = document.getElementsByTagName('script')[0];
first[xss_clean].insertBefore(js, first);
5、加载在当前JS文件之前或之后
这种方法是把js文件插入到目前所在的js文件前,代码的写法如下:
var js = document.createElement('script');
js.src = 'myscript.js';
var first = document.getElementsByTagName('script');
var here = first[first.length-1];
here[xss_clean].insertBefore(js,here);
加载在当前js文件之后,代码的写法如下:
var js = document.createElement('script');
js.src = 'myscript.js';
var first = document.getElementsByTagName('script');
var here = first[first.length-1];
here[xss_clean].appendChild(js);
附录:1、在JS文件里加载CSS文件
var link = document.createElement('link');
link.setAttribute('type', 'text/css');
link.setAttribute('rel', 'stylesheet');
link.setAttribute('href', 'mycss.css');
document.head.appendChild(link);
附录:2、在JS文件里设置META
var meta = document.createElement('meta');
meta.setAttribute('name','viewport');
meta.setAttribute('content','width=device-width, initial-scale=1');
document.head.appendChild(meta);
有些人使用[xss_clean]的方式来加载js,这种方法有很多问题,并不推荐使用这种方法。
这里就介绍几种常见的调用方法。
先创建一个公共的脚本文件如下:
var js = document.createElement('script');
js.src = 'myscript.js';
接着通过几种不同的方法将该脚本加载。
1、加载在头部
var js = document.createElement('script');
js.src = 'myscript.js';
document.getElementsByTagName('head')[0].appendChild(js);
另一种写法是:
var js = document.createElement('script');
js.src = 'myscript.js';
document.head.appendChild(js);
2、加载在BODY中
加载在页面中的写法如下:
var js = document.createElement('script');
js.src = 'myscript.js';
document.body.appendChild(js);
这种加载方法存在一个问题,就是有可能代码是在head区域,导致body还没达到,document.body就不存在,代码就会出错。
3、使用documentElement
document.documentElement就是html文档本身,因此肯定是存在的,这种调用的写法如下:
var js = document.createElement('script');
js.src = 'myscript.js';
var html = document.documentElement;
html.insertBefore(js, html.firstChild);
4、加载在第一个脚本前
这种方法是把js文件插入到第一个出现script的标识前,除非网页里没有任何一个script出现,否则应该不会出错。代码的写法如下:
var js = document.createElement('script');
js.src = 'myscript.js';
var first = document.getElementsByTagName('script')[0];
first[xss_clean].insertBefore(js, first);
5、加载在当前JS文件之前或之后
这种方法是把js文件插入到目前所在的js文件前,代码的写法如下:
var js = document.createElement('script');
js.src = 'myscript.js';
var first = document.getElementsByTagName('script');
var here = first[first.length-1];
here[xss_clean].insertBefore(js,here);
加载在当前js文件之后,代码的写法如下:
var js = document.createElement('script');
js.src = 'myscript.js';
var first = document.getElementsByTagName('script');
var here = first[first.length-1];
here[xss_clean].appendChild(js);
附录:1、在JS文件里加载CSS文件
var link = document.createElement('link');
link.setAttribute('type', 'text/css');
link.setAttribute('rel', 'stylesheet');
link.setAttribute('href', 'mycss.css');
document.head.appendChild(link);
附录:2、在JS文件里设置META
var meta = document.createElement('meta');
meta.setAttribute('name','viewport');
meta.setAttribute('content','width=device-width, initial-scale=1');
document.head.appendChild(meta);
新闻资讯 更多
- 【建站知识】查询nginx日志状态码大于400的请求并打印整行04-03
- 【建站知识】Python中的logger和handler到底是个什么?04-03
- 【建站知识】python3拉勾网爬虫之(您操作太频繁,请稍后访问)04-03
- 【建站知识】xpath 获取meta里的keywords及description的方法04-03
- 【建站知识】python向上取整以50为界04-03
- 【建站知识】scrapy xpath遇见乱码解决04-03
- 【建站知识】scrapy爬取后中文乱码,解决word转为html 时cp1252编码问题04-03
- 【建站知识】scrapy采集—爬取中文乱码,gb2312转为utf-804-03