如何从页面中加载javascript来判断
我必须创建名为Js1、Js2的javaScript文件。我想从Js2中知道,Js1是否加载在html页面上。请分享一个例子。谢谢。在js1的开头添加以下代码:如何从页面中加载javascript来判断,javascript,html,Javascript,Html,我必须创建名为Js1、Js2的javaScript文件。我想从Js2中知道,Js1是否加载在html页面上。请分享一个例子。谢谢。在js1的开头添加以下代码: var js1Loaded=true; //if your js1 is not wrapped in a function scope window.js1Loaded=true //if your js1 is wrapped in a function scope if(js1Loaded){ //or window.js1Loa
var js1Loaded=true; //if your js1 is not wrapped in a function scope
window.js1Loaded=true //if your js1 is wrapped in a function scope
if(js1Loaded){ //or window.js1Loaded
//js1 is loaded
}
在您的js2中,使用以下代码检查条件:
var js1Loaded=true; //if your js1 is not wrapped in a function scope
window.js1Loaded=true //if your js1 is wrapped in a function scope
if(js1Loaded){ //or window.js1Loaded
//js1 is loaded
}
更新
另一种方法是使用DOMContentLoaded
事件:
document.addEventListener("DOMContentLoaded", function(event) {
//all the scripts are loaded
//write your js2 code here
});
以评论为基础
何时需要写入window.js1Loaded=true?这句话是javascript的结尾吗
您需要在js1文件中写入window.js1Loaded=true
(在开始或结束时,实际上并不重要)
如果我在Js1中创建布尔值,可以访问Js2 alos中的样本变量吗
正如我前面提到的,如果您的js文件不是包装在函数作用域中,那么您可以简单地编写var js1Loaded=true代码>并从js1之后加载的所有js文件中访问它
我所说的功能范围是指:
(function(){
//your code here
}());
如果代码在函数范围内,则必须使用window.js1Loaded=true全局定义js1Loaded
变量代码>
快速示例
html
<html>
<head></head>
<body>
//some html elements here
<script type="text/javascript" src="/Script/js1.js"></script>
<script type="text/javascript" src="/Script/js2.js"></script>
</body>
</html>
js2
//some js code here
if(js1Loaded){
alert('js1 is loaded');
}
但最后我真的建议您使用DOMContentLoaded
event,它更有效 如何同步或异步加载这些文件?全局范围中的变量可在任何位置访问,您可以检查是否存在在不同JS文件中定义的任何全局变量。script
标记具有onloadevent@Prakash:-有没有其他方法可以代替使用全局变量来实现这一点?谢谢阿明。除了全局变量之外还有其他方法吗?Js1有布尔值-var js1load;何时需要写入window.js1Loaded=true?这句话是javascript的结尾吗?如果我在Js1中创建布尔值,可以访问Js2 alos中的样本变量吗?请解释一下。谢谢。看看这个例子。这真的有助于我理解它是如何工作的。谢谢你,阿明。