2010-10-20 45 views
1

我有一个应用程序是JavaScript和HTML与约2个物理光盘约500(18MB)短视频交付。我正在做一个ajax请求,在显示它之前检查一个文件是否存在,如果它不提示用户插入另一个光盘。jQuery的Ajax请求本地磁盘与IE需要太长

video.innerHTML = "<p class=\"no-video\">Working...</p>"; 
    $.ajax({ 
    url: "movies/"+num+".mp4", 
    type: "HEAD", 
    success: function(){showVideo(num);}, 
    error: function(){video.innerHTML = "<p class=\"no-video\">Please insert the other disk and click <a href=\"javascript:showLot("+num+")\">ok</a></p>";} 
    }); 

这在Firefox罚款,但在IE浏览器需要大约一分钟找出该文件居然有(如果文件丢失它的速度很快),我假定这是因为IE不尊重type: "HEAD",但它仍然不应该花很长时间才能从DVD加载18MB文件。 接下来我将不得不测试更多的浏览器。 有没有人有任何建议?

(不希望有当光盘被交换到重新加载HTML)

+0

所以你的意思是你在本地机器上运行一个web服务器? – 2010-10-20 04:07:48

+0

不,我不是,从光盘上打开一个文件浏览器 – Myster 2010-10-20 04:31:16

+0

嗯刚刚测试铬,它似乎总是触发成功 – Myster 2010-10-20 04:31:31

回答

1

有趣的想法有关使用头文件系统。另一种解决方案是使用某种文件作为光盘上内容的目录。

+0

我有这个想法,如果没有更好的出现,我会去那。它只是增加了发布过程中的一个步骤(可能是自动化的,但可能不值得每年出版一次) – Myster 2010-10-20 04:28:52

+0

IE和chrome无法通过ajax加载索引,所以我们不得不提供更简单的解决方案。时间用完了。 (注意:如果我们通过IIS提供索引,Chrome浏览器仍然可用) – Myster 2010-10-22 03:22:06

+1

感谢您报告此问题,并抱歉它无法解决问题。另一种我认为可行的方法是用JS文件的形式将该文件制作成一行:var toc = new Array(“file1”,“file2”);然后将其包含在您的页面中。 – fhj 2010-10-22 03:56:56