根據你的描述,應該是兩個同域(相同的協議、主機名、端口)的網頁進行通訊,這樣的話就可以通過 h5 的 localStorage 來實現。不需要通過服務端。
1、當 a 頁面的按鈕點擊之后,設定一對新的 localStorage 值。
$("#in").click(function(){
localStorage.setItem("setText","hello")
})
2、在 b 頁面監聽 window 的 storage 事件。當這個事件被觸發,說明存儲數據變化了,通過 event 事件對象的 key 屬性判斷變化的鍵值,如果是我們設定的 setText,就可以給 $("#out") 設置內容了。
window.addEventListener("storage",function(e){ if(e.key=="setText"){ var text=localStorage.getItem("setText")
$("#out").text(text);
}
});
因為 b 頁面監聽的是 storage 事件,刷新頁面之后,如果 a 頁面點擊時候設置的 setText 值還是原來的值的話,這個事件就不會被觸發。要想讓 b 頁面刷新后的這個元素仍然顯示剛剛設置的值,還應該在 b 頁面添加一個判斷:
if(localStorage.getItem("text")){ h.innerText=localStorage.getItem("text")}
有什么問題的話,希望可以探討一下。