1

シンプル<a hrefでダウンロード可能なものにリンクすると、ユーザーは現在のページにとどまりながらファイルをダウンロードします。この動作は、ブラウザーにプラグインがないファイル(.binなど)を使用するか、content-dispositionヘッダーを送信して強制的にダウンロードすることで実現できます。

ページをリクエストしている間、ユーザーを現在のページにとどめるメソッドまたはヘッダーはありますか?ユーザーがリンクをクリックするとリクエストが送信されますが、ファイルをダウンロードするときのようにページは変更されないという考え方です。

これは、私が推測するiframeを使用して実行できますが、これは実際にはきれいではなく、ページの読み込み時に別のリクエストを行います。Javascriptは別の明白な答えですが、それが実際にこの質問をする理由です:JSのないクライアントとの互換性。

メソッドがHEADに設定されているフォームは、もう1つの醜い解決策ですが、とにかく機能しません。Chromiumはメソッドを無視し、単にGETリクエストを実行します...

もうアイデア?

4

1 に答える 1

1

非表示になっているページにiframeを配置できます。次に、そのiframeとidを指定します。

このIDを、プルダウンするファイルへのリンクのターゲットとして使用します。

これがどのように機能するかを示すために、 http://jsfiddle.net/dancrumb/N87nL/でデモを作成しました。iframeを非表示としてスタイル設定するだけで、準備完了です

ページはiframeに読み込まれ、ページにとどまります。JSは必要ありません。ああ少年!

iFrameにはの初期値がないためsrc、ページの読み込み時にリクエストが行われないことに注意してください。

于 2012-08-02T19:39:00.777 に答える