JavaScript同步导入并调用外部JS文件的方法
作者:代码拾荒时间:2026-10-22 19:13:24浏览:521
本文介绍如何在JavaScript中实现同步导入并调用外部JS文件。通过自定义Import.js模块,利用XMLHttpRequest或动态脚本标签处理跨浏览器兼容性问题(如IE的readyState与标准浏览器的onload)。文章提供了完整的核心代码、远程测试脚本示例以及具体的HTML调用方式,帮助开发者解决同步加载外部资源的需求。
在线演示地址
在线演示地址:https://www.jb51.net/jslib/Import/a.html
核心功能代码import.js
核心功能代码文件为import.js。
具体实现代码如下:
<!--
(function(){
if(typeof window._Import != "undefined") return; //防止多次加载
function _Import(uri, x) {
var f = arguments.callee.caller;
if(typeof f == "function") {
var IsIE = (navigator.userAgent.indexOf("MSIE") == -1)? false : true;
var scriptEle = document.getElementsByTagName("head")[0].appendChild(document.createElement("script"));
scriptEle.type = "text/javascript";
scriptEle.src = uri;
if (x)
{
if (IsIE) {
scriptEle.onreadystatechange = x;
}
else {
scriptEle.onload = x;
}
}
}
}
window._Import = _Import;
})();
//--> 远程测试a.js
远程测试a.js
代码如下:
var a = "本站www.jb51.net==="; 具体调用代码
具体调用代码
代码如下:
<html>
<head>
<title>-</title>
</head>
<body>
<script type="text/javascript" src="Import.js"></script>
<script type="text/javascript">
(function(){
function callback()
{
var IsIE = (navigator.userAgent.indexOf("MSIE") == -1)? false : true;
if (IsIE)
{
if(/loaded/.test(this.readyState))
{
alert(a);
}
}
else
{
alert(a);
}
}
_Import("https://www.jb51.net/jslib/Import/a.js", callback)
})()
</script>
</body></html>作者最新文章
JavaScript异步发送HTTP请求时怎么优雅地处理错误
2026-11-05 17:10:44
5款主流JS在线运行工具对比:CodePen、JSFiddle与StackBlitz怎么选
2026-11-05 17:04:04
JavaScript入门书籍避坑:这些书不适合初学者
2026-11-05 16:31:15
JS使用Math.round实现保留两位小数的原理与代码
2026-11-05 15:35:55
JavaScript 原生 Date 对象怎么实现日期加减
2026-11-05 14:30:00
