2012-02-28 6 views
2

新しいhtmlページを新しいjタブレットに入れます。のような問題はありません。期待ダウンロードダイアログでプロンプトを表示しているときに、ページをHTMLとして提供するには

  • 新しいタブで開いたページ、および開いた保たれるべきであるし、保存をダイアログとしては

現在の予期しない動作を促さ:

  • ページが開かれます新しいタブで保存した後、[保存]ダイアログボックスで閉じます。

まもなく、[名前を付けて保存]ダイアログを表示しながら、ページを開いたままにしておきたいと思います。

Content-Dispositionを使用すると、ページを開いたままにすることはできないようです。 私はexit();のいずれも実行しませんでしたが、ダイアログを除いてページは表示されません。

おかげ

+0

を追加するには、テンプレートを変更する必要がある、このプロセスで使用されている機能のいずれかに「falseを返す」とは? –

+0

jqueryは、以下を除いて何もしません。window.open(url、 'external');私はもっ​​とサーバー側のことを期待しています。ありがとう – swan

答えて

4

は、通常のページとして最初にあなたのページを引っ張ってみて、ダウンロードとして再びページを提供するために、あなたのPHPを伝えるパラメータと同じURLにリダイレクトするメタリフレッシュを使用します。

例:これは良い答えであるかない..しかし、おそらく..表示されるページを開いた場合

<?php 
$isDownload = isset($_GET['download']); 
if($isDownload) { 
    header('Content-disposition: attachment'); 
} 
?> 
<html> 
    <head> 
     <?php if(!$isDownload) { ?> 
     <meta http-equiv="refresh" content="0;<?=$_SERVER['REQUEST_URI']?>?download" /> 
     <?php } ?> 
... 
+0

はい、いいですが、私のコードに持っていく方法はまだ分かりません:) – swan

+0

おかげさまで、私のCMSの中では、パラメの曲がりくねった道があります:) – swan

+0

あなたはすでにそれを理解しているようですが、例。 –

1

わからないいくつかのdocument.location.href =「abspathtofileを試してみてくださいダイアログボックス&として保存";あなたが探しているものかどうかわかりませんが、

1

現在ポップアップで表示しているページにメタリフレッシュタグを挿入してください。このメタリフレッシュは、あなたがダウンロードしたいファイルをポイントする必要があります。これは、新しいウィンドウでpopup.phpが表示されます

popup.php: 

<head> 
    ... 
    <meta http-equiv="refresh" content="10;URL='http://www.example.com/downloads/file.ext'" />  
    ... 
</head> 

、10秒後にファイルをダウンロードするようにユーザに促す表示され、ダイアログを保存file.ext

0

リフレッシュヘッダ

ヘッダを送信する( "リフレッシュ:5; URL =のhttp://www.example.com = 1をダウンロードしてください");

の代わりに、あなたのjQueryコードでメタタグ