我有一個鏈接,它在簡單的jquery的新選項卡中啓動新的html頁面,如,沒有問題。如何在提供下載對話框時將頁面作爲html提供服務
預計:
- 頁面在新標籤打開,並應保持打開,另存爲對話框提示
當前異常行爲:
- 頁面打開在新選項卡中,然後用提示保存對話框關閉
不久,我想保持頁面打開,同時提示另存爲對話框。使用Content-Disposition
附件似乎沒有機會保持打開頁面。 我也沒有做任何exit();
,但從未顯示該頁面,除了對話框。
感謝
我有一個鏈接,它在簡單的jquery的新選項卡中啓動新的html頁面,如,沒有問題。如何在提供下載對話框時將頁面作爲html提供服務
預計:
當前異常行爲:
不久,我想保持頁面打開,同時提示另存爲對話框。使用Content-Disposition
附件似乎沒有機會保持打開頁面。 我也沒有做任何exit();
,但從未顯示該頁面,除了對話框。
感謝
嘗試最初拉着你的頁面作爲一個正常的頁面,並使用元刷新重定向到相同的URL與參數告訴你的PHP再次服務的頁面下載。
例子:
<?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 } ?>
...
不知道這是一個很好的答案或不..但也許..打開顯示的頁面另存爲對話框&嘗試一些document.location.href =「abspathtofile 「;在js ..雖然我不知道這是你正在尋找..
插入一個元刷新標籤到您當前在彈出窗口中服務的頁面。此元刷新應該指向該文件要下載:
popup.php:
<head>
...
<meta http-equiv="refresh" content="10;URL='http://www.example.com/downloads/file.ext'" />
...
</head>
這將在新窗口中顯示popup.php,和10秒後的保存對話框將顯示,提示用戶下載該文件file.ext
發送刷新頭
標題( 「刷新:5; URL = HTTP://www.example.com中下載= 1?」);
,而不是需要修改你的模板中添加meta標籤
在jQuery代碼,在任何的是在此過程中被使用的功能「返回false」? – 2012-02-28 16:02:27
jquery除了:window.open(url,'external');我期待更多的服務器端的事情。謝謝 – swan 2012-02-28 16:03:42