我想這樣的事情:PHP:瀏覽器返回一個頁面
<?php
if($something)
header('Location:javascript:history.go(-2)');
?>
但header('Location:javascript:history.go(-2)');
不起作用。任何替代品?
我不知道用戶剛在上的頁面,所以我無法硬編碼該網址。
我想這樣的事情:PHP:瀏覽器返回一個頁面
<?php
if($something)
header('Location:javascript:history.go(-2)');
?>
但header('Location:javascript:history.go(-2)');
不起作用。任何替代品?
我不知道用戶剛在上的頁面,所以我無法硬編碼該網址。
從您的角度來看,我認爲你可能會尋找這樣的事情:
<html><head></head><body>
<?php
if($something){
?>
<script type="text/javascript">
window.history.go(-2);
</script>
<?php
}
?>
</body></html>
您不能在Location
HTTP標頭中使用javascript:
僞協議。事實上,你真的不應該使用它。
相反,發送整個URL到你想要的用戶回到通過Location
HTTP標頭(如果你能)或你可以呼應頁history.back()
雖然我非常不鼓勵你做。
作爲一個附註,總是在exit
之後發送Location
HTTP頭。用戶代理不必遵循它。
根據您的問題。你可以在任何地方使用PHP腳本以下代碼..
代碼:
<?php
if($something){
echo "<script>window.history.back()</script>";
}
?>
謝謝,這是有效的。太糟糕了,我得到了「再次發送發佈數據?」瀏覽器再次提示 – dukevin
沒問題,我想你的網頁中AJAX的組合可能會繞過提示。例如,瀏覽器歷史記錄指向一個GET請求,爲了簡化示例,該請求以#page-bla&postvars結尾。然後你可以加載頁面掃描window.location.hashname然後應該包含#page-bla&postvars。如果您知道字符串中存在「postvars」,您可以發佈您的ajax查詢,並對結果進行處理。這樣你就沒有提示。 – dizas