Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从页面中加载javascript来判断_Javascript_Html - Fatal编程技术网

如何从页面中加载javascript来判断

如何从页面中加载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

我必须创建名为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.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中的样本变量吗?请解释一下。谢谢。看看这个例子。这真的有助于我理解它是如何工作的。谢谢你,阿明。