2012-04-13 98 views
0

这是继续从我原来的问题(http://stackoverflow.com/questions/10133976/getelementsbytagname-specific-links-only)我得到解决,但现在面临不同的问题。通过javascript在文档中匹配文件扩展名

我在我的网站上实现了无政府主义播放器,问题在于脚本存储域根外的文件,因此链接到它们的格式类似于(http:// mysite.com/mod/file/download.php?file_guid = fileID)这对播放器来说很好,它仍然播放文件,但我需要按类型分隔文件。 “if(o.href.match(/。mov $ | .mp4 $ | .m4v $ | .m4b $ | .3gp $/i)”部分,如果我理解它的话正确地说,如果文件扩展名是.mov,.mp4等,但不包括该播放器,但由于链接不是标准格式,文件名和扩展名不能识别 如何更改“if(o.href .match“的东西,将区分它是什么类型的文件? 我可以拉文件全名通过PHP代码的文本格式的扩展名,也许包装它或div和使用if ... div.match(.. 。? 链接视频文件已经在里面的div块ID“视频”

<div id="video"> 
     <a href="<?php echo $file_url;?>"></a> 
     </div> 

这里是javascript:

var all = document.getElementById ("video").getElementsByTagName ("a"); 
     for (var i = 0, o; o = all[i]; i++) { 
      if(o.href.match(/\.mov$|\.mp4$|\.m4v$|\.m4b$|\.3gp$/i) && o.className!="amplink") { 

非常感谢您的任何建议。

+0

如果您在其他地方生成这些网址,则可以添加一个额外的查询参数来列出文件类型。例如'example.com/download.php?file_guid = XXX&类型= mp4' – 2012-04-13 18:10:45

回答

0

仅通过查看文件名就可以决定文件的文件类型。更好的方法是查看Content-Type标头(在HTTP资源的情况下)或MIME-type(它本质上是相同的东西)。

它仍然有可能发送一个坏Content-Type所以也许有一种方法通过查看前几个字节来识别文件类型?我知道PNG从一个非常明显的指标开始。

相关问题