大致是什麼,你需要爲了進行每一步
function redirectPopup(){
/*Do your popup stuff*/
}
document.onload = function(){
/*set timer to call your popup renderer*/
setTimeout(redirectPopup,2000)
}
通過以上你有彈出幾個選項,我建議以下
- 具備的一個彈出式窗口包含在來自網站訪問的響應文本中,其可見性設置爲隱藏。然後讓你的redirectPopup函數改變樣式屬性以顯示彈出窗口 - 禁用其他所有東西。 - 使用redirectPopup函數生成整個彈出窗口。
至於cookie,您可以使用setcookie函數http://php.net/manual/en/function.setcookie.php,它可以用來自動重定向用戶的現場訪問。例如:
/*Server request with $_GET redirectTo property*/
if(isset($_GET['redirectTo']))
setcookie('redirectTo', $_GET['redirectTo'], time() + 86400 * 14);
/*Check if the redirectTo cookie exists, redirect if true*/
if(isset($_COOKIE['redirectTo']))
header("location:". $_COOKIE['redirectTo']);
/*Do your initial, no redirect stuff here*/
....
在當用戶訪問該網站的服務器首先檢查,看看他們是否已經選擇了一個重定向選項上面的例子;已經假定當用戶選擇重定向選項時,目的地url與包含GET參數'redirectTo'的站點相同。如果爲此參數找到了一個值,則假定用戶必須訪問了該站點才能看到重定向選項,並設置了其重定向cookie。
第二部分檢查cookie是否已設置,如果是,則重定向用戶。在這個例子中,我只是將cookie的值傳遞給了頭函數,實際上以稍微更復雜的方式來處理這個問題會更實際一些。
setcookie方法不需要傳遞給它的有限時間段,因此您無法設置永久cookie,但可以將其設置爲一個荒謬的保留期。最後,cookies只能被用戶從他們當時正在使用的機器和瀏覽器中訪問,如果沒有某種形式的用戶日誌記錄,無法實現重定向時間和位置。
Kevin B對不總是啓用cookie的用戶說得很好。考慮到這一點,php代碼的第一行可能會被編輯爲以下內容來處理這種情況。
/*Server request with $_GET redirectTo property*/
if(isset($_GET['redirectTo']))
/*Where setting a cookie fails*/
if(! setcookie('redirectTo', $_GET['redirectTo'], time() + 86400 * 14))
header("location:" $_GET['redirectTo']);
與之前的重定向可能從一個有點更復雜,但使用這種方法將強制重定向時Cookie不可受益。
我想你有一份要求清單,你想要什麼樣的建議?不確定你問什麼。 – Robert 2011-12-22 16:53:35
「你可以做一個但不是兩個」 - 不知道什麼是「兩個」。你所描述的是絕對有可能的,並且是一個非常基本的cookies使用。 – maxedison 2011-12-22 16:54:10
'它看起來像你可以做一個但不是兩個'其中一個(或兩個)其中兩個選項? – DaveRandom 2011-12-22 16:54:17