Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.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
如何检测外部js文件是否存在并准备就绪Javascript_Javascript_Jquery - Fatal编程技术网

如何检测外部js文件是否存在并准备就绪Javascript

如何检测外部js文件是否存在并准备就绪Javascript,javascript,jquery,Javascript,Jquery,我会解释我的问题 我有php代码,每两分钟(通过cronjobs)自动创建一个javascript文件,其中有一个多维数组 在我的网站上,我有一个使用这个javascript文件的页面,还有一个功能,它可以每分钟删除添加在标签head中的这个文件,然后再次添加它。 这样(我希望)每分钟都有一个更新版本的js文件 我的疑问是: 当javascript文件不存在或尚未完成时,是否可能将其添加到页面中 我能做些什么来避免这种情况 我希望你能给我一些建议并为我的英语道歉你可能对编码很陌生,这里有一个使用

我会解释我的问题

我有
php
代码,每两分钟(通过cronjobs)自动创建一个
javascript
文件,其中有一个多维数组

在我的网站上,我有一个使用这个javascript文件的页面,还有一个功能,它可以每分钟删除添加在标签
head
中的这个文件,然后再次添加它。 这样(我希望)每分钟都有一个更新版本的js文件

我的疑问是:

当javascript文件不存在或尚未完成时,是否可能将其添加到页面中

我能做些什么来避免这种情况


我希望你能给我一些建议并为我的英语道歉

你可能对编码很陌生,这里有一个使用ajax检索数据的简单代码

<div id="demo">

</div>

<script>
setInterval(function() {
  getAndUpdateData()
}, 60 * 1000); // 60 * 1000 milsec

function getDataAndUpdate() {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      // render your array and update the DOM   
      document.getElementById("demo").innerHTML =
      this.responseText;
    }
  };
  xhttp.open("GET", "path-to-your-file.php", true);
  xhttp.send();
}
</script>

setInterval(函数(){
getAndUpdateData()
}, 60 * 1000); // 60*1000密耳秒
函数getDataAndUpdate(){
var xhttp=newXMLHttpRequest();
xhttp.onreadystatechange=函数(){
if(this.readyState==4&&this.status==200){
//渲染数组并更新DOM
document.getElementById(“demo”).innerHTML=
这个.responseText;
}
};
open(“GET”,“path to your file.php”,true);
xhttp.send();
}
在此处了解更多信息:


我还建议在您对js有点熟悉时检查(js库)。它提供了许多功能,使您的生活更轻松

这听起来像是一种奇怪的数据检索方式。让页面使用AJAX动态检索数据而不是物理地创建新文件是否更有意义,这可能会导致缓存问题。更好的方法是,在数据更新时使用WebSocket将事件推送到连接的客户端。您不需要每次都创建文件,只要使用js文件并在需要时通过Ajax或其他方式更新阵列即可。问题是,使用Ajax我很糟糕:(你能给我看一下示例代码或提出一些建议吗?谢谢…@Rorymcrossan当然很奇怪,但不像一些人想象的那么奇怪。它听起来和JSONP非常相似。)