2010-09-07 67 views
1

比方說,我有一個頁面引用.js文件。在該文件中,我有以下代碼設置一個變量的值:如何保留HTML文件之間的變量值?

var foo; 

function bar() 
    { 
    foo = //some value generated by some type of user input 
    } 

bar(); 

現在我希望能夠瀏覽到指相同腳本的網頁,並有這個變量保留值由bar()設置。假設當我到達下一頁時腳本將重新運行,那麼傳輸此變量值的最佳方式是什麼?

回答

5

您可以使用cookie。

餅乾最初是由 Netscape創造了讓「記憶」,以網絡 服務器和瀏覽器。該HTTP 協議,安排了 轉移網頁到瀏覽器 和瀏覽器請求的頁面 服務器,是無狀態的,這意味着 一旦服務器發送一個網頁 到瀏覽器請求它,它不記得關於它的一件事。因此,如果你第一次來到同一個網頁,第二次, 第三百次或第一百次, 服務器再次認爲它是 。

這可能會在一些 方式惱人。服務器不記得您是否確定 當您想要 訪問受保護的頁面,它不能記住您的用戶首選項 ,它不能記住任何內容。一旦 個性化被髮明,這個 成爲一個主要問題。

餅乾被髮明來解決這個 的問題。還有其他方法可以解決 它,但Cookie很容易維護,並且非常靈活。

參見:http://www.quirksmode.org/js/cookies.html

3

您可以通過在查詢字符串的值。
當用戶導航到其他頁面時,將該值附加到查詢字符串中並將其加載到下一個頁面中。

+0

+1只要沒有「祕密」信息。 – peirix 2010-09-07 06:00:30

1

另一種選擇是jStorage。 jStorage可能更適用於緩存數據和有損用戶偏好(例如以登錄形式保存的用戶名),因爲它沒有完整瀏覽器支持(但IE6 +和大多數其他常用瀏覽器都支持它)並且不能依賴(如餅乾)。