我有一個簡單的下載表單並提交我希望用戶能夠下載PDF並在同一時間打開一個感謝頁面。提交打開thankyou.html +下載PDF
我嘗試使用window.open和幾個PHP方法(頭文件)。雖然PHP方法正在完成彈出下載pdf屏幕的工作,但該頁面並未重定向到感謝頁面。
任何人都可以幫助任何與JS或PHP?
我對任何一個都不是那麼瞭解 - 如果您能分享整個代碼,我將非常感激。謝謝! :)
我有一個簡單的下載表單並提交我希望用戶能夠下載PDF並在同一時間打開一個感謝頁面。提交打開thankyou.html +下載PDF
我嘗試使用window.open和幾個PHP方法(頭文件)。雖然PHP方法正在完成彈出下載pdf屏幕的工作,但該頁面並未重定向到感謝頁面。
任何人都可以幫助任何與JS或PHP?
我對任何一個都不是那麼瞭解 - 如果您能分享整個代碼,我將非常感激。謝謝! :)
你需要3個文件:
您具有表單頁面文件:<form action="thanks.php" id="form" method="POST"><!-- your form content and a submit button here--></form>
一個thanks.php網頁,將有一個:
<iframe src="download_pdf.php" style="display:none;" />
<?php
$file = 'filename.pdf';
if(!file){
die('Error: file not found');
}else{
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$file");
header("Content-Type: application/pdf");
header("Content-Transfer-Encoding: binary");
readfile($file);
}
?>
您最好的辦法是打開正常的謝謝表單,然後超時(使用setTimeout
),使用window.open("url", "_blank")
打開PDF下載。
在將任何其他內容發送到瀏覽器之前,您只能使用header()進行PHP重定向。一旦頁面加載完畢,你需要使用JS。這對於JS來說很簡單:
window.location = "http://example.com";
但是,我會問一次加載兩個窗口。顯示Thank You頁面並提供一個鏈接,他們可以在該頁面上查看/下載PDF。
其實用戶不應該重用感謝頁面的URL重複下載PDF文檔,這將有悖於擺在首位用戶信息的目的。因此,在可以顯示下載的感謝頁面中需要暫停。但請檢查一下,看看你是否可以用彈出窗口來掩飾謝謝你的網頁的URL。