2016-08-11 6 views
1

私はインターネットからビデオリンクをクロールして生成するためにphpを使用しています。ビデオリンクが見つかったときに「ビデオを再生する」または「ビデオをダウンロード」を選択すると、ビデオ再生オプションが選択されているときにビデオプレーヤーも追加されます。ビデオのすべてのリンクを見つけて「ビデオを再生する」または「ビデオをダウンロードする」のオプションを追加するには

例えば、このサイト私はこれを行うにはどうすればよい http://filemile.ga/new.php?search=arrow&view=linkfile

<table> 
 
    <thead> 
 
    <tr> 
 
     <th class="n">Name</th> 
 
     <th class="m">Last Modified</th> 
 
     <th class="s">Size</th> 
 
     <th class="t">Type</th> 
 
     <th>Play/Download???</th> 
 
    </tr> 
 
    </thead> 
 
    <tbody> 
 
    <tr> 
 
     <td class="n"> 
 
     <a href="http://example.com">Parent Directory</a> 
 
     </td> 
 
     <td class="m">&nbsp;</td><td class="s">- &nbsp;</td> 
 
     <td class="t">Directory</td> 
 
    </tr> 
 

 
    <tr> 
 
     <td class="n"> 
 
     <a href="http://clips.vorwaerts-gmbh.de/big_buck_bunny.ogv">Big_Buck_Bunny_small.ogv</a> 
 
     </td> 
 
     <td class="m">&nbsp;</td><td class="s">4.5MB</td> 
 
     <td class="t">video</td> 
 
    </tr> 
 
    <tr> 
 
     <td class="n"> 
 
     <a href="http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4">bunny.mp4</a> 
 
     </td> 
 
     <td class="m">&nbsp;</td><td class="s">1.8MB</td> 
 
     <td class="t">video</td> 
 
     <td class="d"></td> 
 
    </tr> 
 
    <tr> 
 
     <td class="n"> 
 
     <a href="http://clips.vorwaerts-gmbh.de/big_buck_bunny.webm">bunny.webm</a> 
 
     </td> 
 
     <td class="m">&nbsp;</td><td class="s">2.8MB</td> 
 
     <td class="t">video</td> 
 
    </tr> 
 
    </tbody> 
 
</table>

訪問?

+0

私は本当にあなたが達成したいものを得ることができません。あなたが投稿したリンクのようなWebページを達成したいのですか、それともあなたのウェブページであり、ダウンロードと再生ボタンを追加したいのですか?あなたのウェブページでボタンを追加したい場合は、コード –

+0

を表示してください。それは私のウェブページです。申し訳ありませんが、私のコードを表示することはできません。私はちょうどそこにページがロードされた後に方法があるかどうかを知りたがっています。JavaScriptがページからのすべてのリンクを見つけ、その隣に再生またはダウンロードボタンを追加します。@KANAYOAUSTINKANE – Azhar

+1

さて、すべてのリンクと結果をどのように取得したのか分かりませんので、コードを表示してください。すべてのコードを表示したり、関連コードを表示したり、リンクや結果をどのように表示したりする必要はありません。データベースから取得した場合は、データベースクエリとその結果を表示してください。 –

答えて

2

TDの.nアンカーを読んでください。 hrefを抽出し、テキストを入手してください。
は、すべてのTRのための空のTDを準備し、(を用いて、実施例)のように実行します。

function isVideo(uri) { 
 
    return /\.(webm|mkv|avi|mp4|mpeg|mpg|ogv)/.test(uri); 
 
} 
 

 
$("tbody tr").each(function(){ 
 

 
    var $tdDownload = $(this).find(".d"), 
 
     $tdName = $(this).find(".n"), 
 
     $tdNameA = $tdName.find("a"), 
 
     uri = $tdNameA.prop("href"), 
 
     ext = uri.split(".").pop(), 
 
     name = $tdNameA.text(), 
 
     name2 = name.replace(/[\w\s]/ig,""); 
 

 
    if(!isVideo(uri)) return; // Do nothing. Else... 
 

 
    var pl = "<a class='play' href='"+ uri +"'>Play</a>", 
 
     dl = "<a class='download' href='"+ uri +"' download='"+ name2 +"'>Download</a>"; 
 
    $tdDownload.append(pl, dl); 
 

 
}); 
 

 

 
var videoPopup = document.getElementById("videoPopup"); 
 

 

 

 
function playVideo(event) { 
 
    event.preventDefault(); 
 

 
    videoPopup.innerHTML = ""; 
 

 
    var src = this.getAttribute("href"); 
 
    var ext = src.split(".").pop(); 
 
    var type = "video/"+ ext.replace("ogv","ogg").replace("mkv","x-matroska"); 
 

 
    var video = document.createElement('video'); 
 
    var source = document.createElement('source'); 
 

 
    source.setAttribute("type", type); 
 
    source.setAttribute("src", src); 
 
    video.controls = true; 
 
    video.appendChild(source); 
 
    videoPopup.appendChild(video); 
 
    video.play(); 
 

 
} 
 

 

 
$("table").on("click", ".play", playVideo);
table{ 
 
    border-collapse: collapse; 
 
} 
 
th{ 
 
    text-align: left; 
 
} 
 
th, td{ 
 
    padding: 4px 16px; 
 
    border-bottom: 1px solid rgba(0,0,0,0.1); 
 
} 
 
td.d a{ 
 
    line-height:16px; 
 
    display: block; 
 
    font-size: 11px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <thead> 
 
    <tr> 
 
     <th class="n">Name</th> 
 
     <th class="m">Last Modified</th> 
 
     <th class="s">Size</th> 
 
     <th class="t">Type</th> 
 
     <th></th> 
 
    </tr> 
 
    </thead> 
 
    <tbody> 
 
    <tr> 
 
     <td class="n"> 
 
     <a href="http://example.com">Parent Directory</a> 
 
     </td> 
 
     <td class="m">&nbsp;</td><td class="s">- &nbsp;</td> 
 
     <td class="t">Directory</td> 
 
     <td class="d"></td> 
 
    </tr> 
 

 
    <tr> 
 
     <td class="n"> 
 
     <a href="http://clips.vorwaerts-gmbh.de/big_buck_bunny.ogv">Big_Buck_Bunny_small.ogv</a> 
 
     </td> 
 
     <td class="m">&nbsp;</td><td class="s">4.5MB</td> 
 
     <td class="t">video</td> 
 
     <td class="d"></td> 
 
    </tr> 
 
    <tr> 
 
     <td class="n"> 
 
     <a href="http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4">bunny.mp4</a> 
 
     </td> 
 
     <td class="m">&nbsp;</td><td class="s">1.8MB</td> 
 
     <td class="t">video</td> 
 
     <td class="d"></td> 
 
    </tr> 
 
    <tr> 
 
     <td class="n"> 
 
     <a href="http://clips.vorwaerts-gmbh.de/big_buck_bunny.webm">bunny.webm</a> 
 
     </td> 
 
     <td class="m">&nbsp;</td><td class="s">2.8MB</td> 
 
     <td class="t">video</td> 
 
     <td class="d"></td> 
 
    </tr> 
 
    </tbody> 
 
</table> 
 

 

 
<div id="videoPopup"></div>

+0

これはすごく驚くべきことですが、これを試してみますが、テーブルの下ではなくその行のすぐ下でビデオを再生することは可能ですか? @Roko – Azhar

+0

@Azharはい。あなたは実際のポップアップとして '#videoPopup'を作ることさえできます...私はあなたがそれを呼び出す方法を見て、あなたは一人でそのアイデアを得るだろうと思った) –

+0

ありがとう@ロコ私はそれを理解するだろう、私はちょうど2週間前にPHPとJavaScriptを学び始めた。あなたが気にしないなら、将来もっと多くの質問がありますか? – Azhar

関連する問題