这是我最初的问题(http://stackoverflow.com/questions/10133976/getelementsbytagname-specific-links-only)的延续,我得到了解决,但现在面临不同的问题。
我正在我的网站上实现无政府状态播放器,问题是脚本将文件存储在域根目录之外,因此指向它们的链接格式为 (http://mysite.com/mod/file/download.php?file_guid=fileID),这对播放器来说很好,它仍然播放文件,但我需要按类型分隔文件。
看看下面的javascript代码,"if(o.href.match(/.mov$|.mp4$|.m4v$|.m4b$|.3gp$/i)"部分,如果我理解正确,它会说文件扩展名是否为 .mov、.mp4等,而不是包括该播放器。但是由于链接不是带有文件名和扩展名的标准格式,因此无法识别它。如何将"if(o.href.match)"更改为可以区分文件类型的内容?我可以通过 PHP 代码以文本格式提取带有扩展名的文件全名,并可能将其包装在div 中,如果......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") {
非常感谢您的任何建议。
仅通过查看文件名并不总是可以决定文件的文件类型。更好的方法是查看Content-Type
标头(如果是HTTP资源)或MIME-type
(本质上是相同的)。
仍然有可能发送错误的Content-Type
,所以也许有一种方法可以通过查看前几个字节来识别文件类型?我知道 PNG 从一个非常明显的指标开始。