当前位置: 首页 > 面试题库 >

如何使用JavaScript检查资源的可用性?

须衡虑
2023-03-14
问题内容

如果我有一个视频文件的URL,如何显示该URL所指向的资源是否有效并存在,然后才能显示该资源?我已经看到一些建议使用AJAX的答案,但是我只知道AJAX发送和检索一些数据,而不是获取文件状态(无论是否存在)。

例如,如果我有一个URL,例如http://www.example.com/video.mp4,该如何检查是否video.mp4存在以及是否可以检索?


问题答案:

您实际上并不需要ajax,只需创建一个video元素,然后查看它是否可以加载源

var video = document.createElement('video');

video.onload = function() {
    alert('success, it exsist');
    // show video element
}

video.onerror = function() {
    alert('error, couldn\'t load');
    // don't show video element
}

video.src = 'http://www.example.com/video.mp4';

不同的浏览器播放不同的格式,要检查文件是否可以在当前浏览器中播放,可以使用canplaythrough事件

video.oncanplaythrough = function() {
    alert("This file can be played in the current browser");
};

如果文件在同一个域中,并且端口和协议匹配,则可以使用ajax进行HEAD请求,以查看资源是否存在,但是跨域不起作用

var http = new XMLHttpRequest();
http.open('HEAD', '/folder/video.mp4');

http.onreadystatechange = function() {
    if (this.readyState == this.DONE) {
        if (this.status != 404) {
          // resource exists
        }
    }
};

http.send();


 类似资料:
  • 按框架、域、类型或其他标准来组织管理资源。 TL;DR 使用 Application(应用)面板的Frames(框架)窗格按frame(框架)组织管理资源。 您还可以在Sources(源文件)面板中,通过禁用group by folder(按文件夹分组)选项,来按frame(框架)查看资源。 要按域和文件夹查看资源,请使用Sources(源文件)面板。 在Network(网络)面板中可以按照名称或

  • 问题内容: 我有一些jQuery /JavaScript代码,仅当URL中有哈希()锚链接时才要运行。如何使用JavaScript检查此字符?我需要一个简单的包罗万象的测试,该测试可以检测如下URL: 基本上是这样的: 如果有人能指出我正确的方向,那将不胜感激。 问题答案: 简单:

  • 我想检查一下,例如: 12 - 13 - 14 - 15 12/3=4- 13 / 3 = 4.33 - 14 / 3 = 4.67 - 15/3=5- 我想创建一个while循环,在这个循环中,我使用想要除以3的数字作为“x”。 所以: 类似的东西,但我不知道检查总和是否为十进制数的命令。 然后我想用

  • 基本上,我希望在JAR文件中包含我的主图标,这样就不需要从外部位置加载它。 为了实现这一点,我搜索了Java的资源系统。我对Eclipse做了什么: > 我已创建了一个名为“res”的新文件夹: 我用Windows浏览器复制了里面的文件: 我已将该文件夹设置为源文件夹: 我编写了以下代码: 但是是。我做错了什么?

  • 问题内容: 有没有一种内置的方法来检查资源是否存在,或者我是否正在做类似以下的事情: 问题答案: 根据javadoc,您不需要尝试捕获:http : //developer.android.com/reference/android/content/res/Resources.html#getIdentifier%28java.lang.String,%20java.lang.String, %2