0

これは、元の質問 (http://stackoverflow.com/questions/10133976/getelementsbytagname-specific-links-only) から続けて解決されましたが、現在は別の問題に直面しています。

私は自分のサイトに Anarchy プレーヤーを実装していますが、問題は、スクリプトがドメイン ルートの外にファイルを保存するため、それらへのリンクが (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 でラップし、if...div.match(...? ビデオ ファイルへのリンクを使用します。既に div ブロック ID "video" 内にあります

<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") {

ご提案いただきありがとうございます。

4

1 に答える 1

0

ファイル名を見るだけでファイルのファイルタイプを判断できるとは限りません。より良いアプローチは、Content-Typeヘッダー (HTTP リソースの場合) またはMIME-type(本質的に同じことです) を調べることです。

不良を送信する可能性はまだあるContent-Typeので、最初の数バイトを見てファイルタイプを特定する方法があるのではないでしょうか? PNG が非常に明白な指標で始まることは知っています。

于 2012-04-13T18:14:31.813 に答える