【问题标题】:Esablishing if file exists on another domain using javascript使用javascript确定文件是否存在于另一个域中
【发布时间】:2013-05-08 12:44:37
【问题描述】:

如果以下文件存在或不存在,我希望从我的 html 页面中的 javascript 进行测试:

http://www.focloir.ie/media/ei/sounds/ag_c.mp3  // exists
http://www.focloir.ie/media/ei/sounds/og_c.mp3  // doesn't exist

我的 html 页面与上述文件在同一域中

这可能吗?

我希望只使用一个 html 文件(没有 db 或 php 等)来解决这个问题,因为我的项目只是一个简单的原型。

【问题讨论】:

  • 是的,有可能,您编写了一个服务器端脚本来检查文件是否存在,并使用您自己的服务器上的 ajax 调用它。 Javascript 无法访问外部 .mp3 文件,因为它具有相同的来源策略。
  • @adeneo 好的,所以这绝对不能只用一个 html 文件来解决。换句话说,我不能写一个简单的 jsfiddle 来做这个查找。
  • 不是真的,但你总是可以使用 YQL,或者直接链接到文件并查看它是否加载?
  • @adeneo “链接到文件”是什么意思?

标签: javascript html http


【解决方案1】:

这看起来很有希望,虽然超级慢而且丑陋:)

var _word = "ag";
var _audio = Audio();

function update_src(audio, word) {
    if (audio.canPlayType('audio/mpeg;')) {
        audio.src = "http://www.focloir.ie/media/ei/sounds/" + word + "_c.mp3";
    } else {
        audio.src = "http://www.focloir.ie/media/ei/sounds_ogg/" + word + "_c.ogg";
    }
}

update_src(_audio, _word);
_audio.load();
_audio.addEventListener("durationchange", function () {
    alert("exits");
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多