2011-02-01 12 views
5

私はMicrosoft Technetサイトを使用しており、ページのリンクをクリックしてISOファイルをダウンロードできます。私はスクリプトでRunDownload()方法を見つけることができませんでしたJavaScriptのダウンロードリンクはどのように機能しますか?

<a href="javascript:void(0)" onmouseout="HideToolTip()" 
    onmouseover="ShowToolTip(event,'Click here to download.')" 
    onclick="javascript:RunDownload('39010^313^164',event)" 
    class="detailsLink">Download</a> 

:要素がこのようなものです。私はそれが何をする可能性が高いのだろうかと思った。私は私がそれにアンカーを提供ダウンロードするために誰かのためにリンクを提供するとき、私は通常、意味:

<a href="www.foo.com/mymp3.mp3">download</a> 

しかし、これは、スクリプトが何をしているか、異なる取り組んでいますか?私が 'Fiddler'を走らせても、私は実際のダウンロード場所を見ることができませんでした。

+0

:ダウンロードの属性とhrefのは、それはそれを開くが、Webページ
まあをダウンロードし、あなたがバックグラウンドでダウンロードを開始したい場合はカップルのオプションがありますが、最も簡単なものではないだろうhttp://google.comのようなサイトになります置きますそのようなことはたくさんあります。 – Pointy

+0

アンカーは、サーバーにファイルとして保存され、その後、直接アクセスするためのパス(例:www.foo.com/mymp3.mp3など)が存在する場合にのみ機能します。たとえば、ファイルのバイナリ・コンテンツをサーバー上のデータベースに格納すると、そのようなパスが存在しないため、そのようにすることはできません。 –

+0

"そのようなパスは存在しません"という意味は、いくつかの場合には意味がありません。たとえば、いくつかのURL書き換え規則がある場合などです。次に、ダウンロードで利用可能なものは、Webサーバー上の物理的なファイルである必要はなく、動的に生成されるコンテンツ(データベースからのものでもよい)である可能性があります。 – BiAiB

答えて

2

ダウンロード場所は、URLを書き換えたパスにすることができます。これは、いくつかのパラメータがHTTP Postで指定されている可能性があり、WebサーバーまたはWebアプリケーションの一部のHTTPハンドラがHTTPリクエストから引数を取得してファイルバイトをHTTPレスポンスに書き込む可能性があることを意味します。実際のサーバーのファイルシステム。

これは舞台裏にあり、ファイルの場所を知ることができない場合があります。 http://mypage.com/downloads/1223893893

をそして、あなたは、あなたのハードディスクにダウンロードするための「whatever.exe」のような実行可能ファイルを要求:

例えば、我々はこれを持つことができます。 "http:/mypage.com/downloads/whatever.exe"はどこですか?実際には存在しません。これは、あるレコードで長いデータベースに保存されたバイト配列であり、 "mypage" Webアプリケーションは識別子、日付時刻、またはいずれかの引数の組み合わせである "1223893893"と識別されるファイルの要求を処理します。

+0

@workdreamerああ、それは発明されたリンクhahahaだ!それはちょうどサンプルのリンクです;) –

+0

非常に深い愚かなとお尻の質問に申し訳ありません、私は全体のコメントを読んでいない、私は答えを見つけるために急いでいた。どうもありがとうございました – workdreamer

8

「javascriptダウンロード」リンクのようなものはありません。 Javascriptは新しいウィンドウを開くことも、リンクのクリックをシミュレートすることもできます。

あなたが見つけなければならないのは、このクリックによって引き起こされた機能がどのURLにつながるかです。ここ

はそれを行う方法の例です:

は、我々が持っていると仮定します。

<a id="download">download Here §§§</a> 

、このjQueryのコード:

$('#download').click(function() { 
    window.location.href = 'http://example.org/download/ISO.ISO'; 
}); 

はURL http://example.org/download/ISO.ISOにリダイレクトされます。このURLがダウンロードを開始するかどうかは、HTTPヘッダーとブラウザに依存しますが、JavaScriptの動作に依存しません。

0

あなたは、jsのStartDownloadに問題があると言いますが、Javascriptにそのような機能はありません。あなたがする場合は:私はあなたのダウンロードのアンカーは真としてアンカータグでダウンロード属性を置くことであり、それは正常に動作しますuは何ができるか
に動作していない私は一例に

<a href="video.mp4" download="true">Download</a> 

を持って警告を考えますあり

<iframe name="site_back_load" style="display:none;"></iframe> 
<a href="File.mp4" download="true" target="site_back_load">start download</a> 
関連する問題