コメントで既に述べたように、ブラウザがリンクで何をするかをURLから知ることは不可能です。
ブラウザはサーバーから取得した応答を読み取り、応答内のヘッダーに基づいて何を行うかを決定します(ページの表示、リダイレクト、ダウンロードなど)。
私はあなたのサーバー側で作成したリンクをチェックするために非常に良くなると思うし、リンクは、ダウンロード・ファイルの場合 - このリンクにいくつかのクラスを追加します。
<a href="file.pdf" class="downloadable">Click to download</a>
とオンこのdownloadable
クラス持っ<a>
タグのためのあなたのjavascriptのコードチェック:(あなたが本当にしたい場合)
$('a.downloadable').click(function() {
// Do whatever you need once the link was clicked.
})
別のオプションは、応答ヘッダを解析し、HEAD
リクエストを送信することで、decidするヘッダーに基づいて、電子何をすべきか:
$('a').click(function(e) {
e.preventDefault()
$.ajax({
type: "HEAD",
async: true,
url: URL,
}).done(function(message,text,jqXHR){
// here you can use jqXHR.getResponseHeader('header-name);
});
});
ファイルのダウンロード私は本当にあなたにこのオプションに対してを助言するが、あなたが本当にそれを行う必要がある場合、それはここです:)
することで、ヘッダーに関連していますあなたがサーバーから受ける応答。例えばhttp://stackoverflow.com/myfile.pdfを見ると、ページが表示され(404)、ブラウザはダウンロードしようとしません。 – Dekel
Dekelの言うとおり、* any * URLはファイルのダウンロードにつながる可能性があります。 'aboutus /'はファイルのダウンロードにつながる可能性があります。 '/'を指定するとファイルがダウンロードされる可能性があります。 –
サーバー側のスクリプトと適切なヘッダーを使用すると、これらのいずれかがファイルのダウンロードになる可能性があります。ヘッダーを確認するだけです。http://stackoverflow.com/questions/220231/ Web-pages-http-headers-in-javascriptにアクセスする – JKirchartz