我已經做了條件重定向與JavaScript(取決於referer)。但是現在我需要檢測用戶是否被重定向,然後他點擊返回按鈕並再次返回到他已被重定向的頁面。在這種情況下,我不需要再重定向他。帶後退按鈕檢查器的條件JavaScript重定向
我已經找到了解決辦法在這裏 - 但我沒有PHP和JavaScript正確結合,所以總有一個錯誤 - How do I detect if a user has got to a page using the back button?
代碼:
<form name="ignore_me">
<input type="hidden" id="page_is_dirty" name="page_is_dirty" value="0" />
</form>
<script language="javascript" type="text/javascript">
var dirty_bit = document.getElementById('page_is_dirty');
if (dirty_bit.value == '1') {
document.write("<p>Do Not Redirect</p>");
}
else {
<?php if((stristr($_SERVER['HTTP_REFERER'],"thoughts") != FALSE) { ?>
<?php $setupform = '<form id="form1" method="post" action="http://yahoo.com">'; ?>
<?php $submitform = 'document.getElementById(\'form1\').submit(); </form>'; ?>
<?php echo $setupform; ?>
<?php echo $submitform; ?>
<?php } ?>
}
function mark_page_dirty() {
dirty_bit.value = '1';
}
</script>
這裏有什麼問題?
的錯誤是,它根本不重定向 - 它給的代碼在空白頁上它:
<form name="ignore_me">
<input type="hidden" id="page_is_dirty" name="page_is_dirty" value="0" />
</form>
<script language="javascript" type="text/javascript">
var dirty_bit = document.getElementById('page_is_dirty');
if (dirty_bit.value == '1') {
document.write("<p>My First JavaScript</p>");
}
else {
<form id="form1" method="post" action="http://yahoo.com">document.getElementById('form1').submit(); </form>
}
function mark_page_dirty() {
dirty_bit.value = '1';
}
什麼錯誤?給我們更多的細節。 – Robert 2013-05-09 13:49:32
我添加了錯誤。它根本不做任何重定向。核心重定向工作正常我測試,但一旦我添加了JavaScript後退按鈕條件它失敗。 – Zox 2013-05-09 13:53:42