2012-04-13 99 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從一個非常明顯的指標開始。

相關問題