Re: [問題] 是否可以使變數跟著視窗傳遞?

看板Ajax作者 (鼎玉鉉)時間14年前 (2010/07/19 02:29), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
※ 引述《magrady (元元)》之銘言: : 大家好, : 請問一下 : 是否可以設定javascript變數,若在同一個視窗瀏覽(點超連結 F5...等等), : 則其變數是可以互相傳遞的? : 例如 使用者開了兩個視窗 A, B 都開啟了 1.html : 而 1.html 有功能: 輸入資料 讀入變數 id 中 : 使用者在視窗A 輸入123 在視窗B 輸入 456 : 接著兩個視窗均由 1.html 連結到 2.html : 而讓兩個視窗的 2.html 均能抓到使用者輸入的資料 (A抓到123, B抓到456) : 想過用Cookie 但無法判定是否同視窗 (不知道有無window.id唯一編號之類的東西) : 而用網址傳遞應該可行,但過於雜亂 : 不知道有沒有其他方法可以達成此功能,謝謝大家! : (抱歉,若語意不清請見諒......) 使用者載入新的頁面 老頁面會被丟棄 而新頁面會被載入到同一window物件 javascript的全域物件會被徹底清除,所有的變數和函式都會被銷毀, 除了window.closed屬性仍然存在 若要在不同頁面中延續資料有三種做法 1.在cookie中儲存資料 2.把資料儲存在另外一個window物件中 ,在第一頁用 xx=window.open('pop.html','popup'); 因為換到第二頁時,pop.html的快顯示窗他的window.opener仍然指向主視窗 因此在快顯示窗的javascript可以再回傳給主視窗 藉以保存資料 3.將你的資料發送給伺服器 存在資料庫中 到第二頁 再從資料庫撈出來 (這是最保險的做法) 兩個視窗同時開同樣的頁 可以同時用cookie延續不同的值到第二頁 雖然兩個視窗用了同樣的key 讀取cookie 但是沒有人能夠同時對兩個視窗做換頁的動作 只需要在正確的時機做setcookie 兩者是不會互相影響的 在第一頁unload的時機做setcookie 除了存form欄位的cookie另外多加一個cookie變數 判斷 是否有人在換頁 當有人在換頁該值為true 沒有時該值為false 當只有自己在換頁時才能換 否則一直循環settimeout去偵測該cookie變數是否改變為false (以上修正看法) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.59.14.24 ※ 編輯: sk1765 來自: 203.70.98.177 (07/19 03:10) ※ 編輯: sk1765 來自: 203.70.98.177 (07/19 04:13)
文章代碼(AID): #1CGqVvZu (Ajax)
文章代碼(AID): #1CGqVvZu (Ajax)