作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想根据用户选择的语言加载常量文件。为此,我想动态加载脚本。
<html>
<body>
<script type="text/javascript">
var jsElement = document.createElement("script");
jsElement.type = "application/javascript";
jsElement.src = "../constants.en.js";
document.body.appendChild(jsElement);
</script>
<script type="text/javascript" src="../js/RandomScript.js"></script>
</body>
整个代码都在 HTML 中。
当我尝试上面的代码时,RandomScript.js
在常量文件之前加载。
如何维护加载文件的顺序。
我没有使用 jQuery 或其他东西,那么有什么方法可以对脚本的 src
进行插值吗?
最佳答案
您可以使用onload
事件监听器顺序加载.js
文件。
首先创建一个脚本 URL 数组。然后递归循环。 onload
事件监听器确保脚本按顺序加载。
var scriptURLs = [
"../constants.en.js",
"../js/RandomScript.js"
];
function loadScript(index){
if(index >= scriptURLs.length){
return false;
}
var el = document.createElement('script');
el.onload = function(){
console.log("Script loaded: ", scriptURLs[index]);
loadScript(index+1);
}
el.src = scriptURLs[index];
document.body.appendChild(el);
// OR
// document.head.appendChild(el);
}
loadScript(0); // Load the first script manually.
希望这对您有所帮助。
关于javascript - 在html中加载脚本序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58269710/
我是一名优秀的程序员,十分优秀!