2014-05-11 85 views
0

首先,我想說我對javascript,jquery和/或php很陌生。後者我什麼都不知道,其他兩個也不是那麼遠。Cookie重定向到啓動頁面

這就是說,我已經在很多場合上搜索了很多小時的互聯網,以此來計算這個(不可否認的是,有些特定但仍然如此廣泛使用)的東西。在我看來,好像重新引導人們進入帶有cookie的啓動頁面一樣,保持了可口可樂食譜的祕密。

我想要的很簡單,我想。當訪問者訪問我的網站時,他們到達index.html(按照慣例)。我想在這個頁面上實現一個cookie,該cookie適用於訪問者。它必須檢查訪問者是否曾經訪問過該網站。如果沒有,則重定向到splash.html。啓動頁面將用於訪問者選擇他/她希望通過其他HTML頁面的鏈接查看網站的語言 - 我可以這樣做。我在這裏和那裏發現了一些片段,但JavaScript似乎太複雜了,總是有些東西缺失,不知何故,能夠適用於我並正常運行。

請幫忙!

概括地說:

遊客負荷的index.html

餅乾承認

if visited before 

什麼都不做

else 

重定向到splash.html

說真的,非常感謝任何能夠幫助我的人。

此外,任何幫助,在哪裏從絕對從頭學習JavaScript容易被讚賞。

+0

你想這樣做只使用Javascript(在客戶端),而不涉及服務器端?您的網站是否已經使用PHP,或者它只是一組純HTML頁面? – izstas

+0

我並不特別介意它是如何工作的,以防PHP顯着更容易,但現在,我更喜歡JavaScript,因爲我似乎能夠更輕鬆地閱讀它。我的網站到目前爲止只是一組HTML頁面,我想保留它。感謝您的答覆! – Wiking

回答

0

我發現,這種解決方案適用於我需要什麼:

$(function() { 
    var COOKIE_NAME = 'splash-page-cookie'; 
    $go = $.cookie(COOKIE_NAME); 
    if ($go == null) { 
     $.cookie(COOKIE_NAME, 'test', { path: '/', expires: 183 }); 
     window.location = "Splash.html" 
    } 
    else { 
    } 
}); 

這個腳本的工作原理與Carhartl jQuery的cookie的插件。 感謝您的幫助!

0

有一個關於在Mozilla開發者網絡在JavaScript中的cookie工作的好文章:https://developer.mozilla.org/en-US/docs/Web/API/document.cookie

什麼可以幫助你的Example #3bis

if (document.cookie.replace(/(?:(?:^|.*;\s*)someCookieName\s*\=\s*([^;]*).*$)|^.*$/, "$1") !== "true") { 
    alert("Do something here!"); 
    document.cookie = "someCookieName=true; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/"; 
} 

當你的document.cookie的價值,你得到的分號 - 分離的cookies列表。第一行的正則表達式查找名爲someCookieName的Cookie的值。

當您設置的document.cookie值,你可以設置或更新一個餅乾(不要覆蓋的cookie的整個列表,因爲它可能看起來)

爲了重定向訪問者,您可以使用document.location property

下面的代碼應該做你需要的東西:

if (document.cookie.replace(/(?:(?:^|.*;\s*)seenSplash\s*\=\s*([^;]*).*$)|^.*$/, "$1") !== "true") { 
    document.cookie = "seenSplash=true; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/"; 
    document.location = "/splash.html"; 
} 
+0

非常感謝您的快速和一致的迴應。不過,我不得不說,我不完全明白這是如何工作的。我是否簡單地使用你給我的代碼,你說應該把它放在我的html文件的頭標籤中,然後將它上傳到我的FTP服務器,它應該可以工作嗎?我感覺有些東西可能會被遺漏。儘管我查看了你提供給我的developer.mozilla.org鏈接(順便說一句 - 非常全面的源代碼),但我無法發現它。 – Wiking

+0

將代碼包裝在'script'標籤中,放在'head'裏面,它應該可以工作。 – izstas