搜尋

首頁  >  問答  >  主體

javascript - 點擊一個頁面按鈕在另一個頁面顯示文本

我想點擊一個頁面的按鈕,然後在另一個頁面的p元素內顯示文本,兩個頁面都引入和js,請問怎麼才能成功? ###
世界只因有你世界只因有你2751 天前716

全部回覆(4)我來回復

  • 巴扎黑

    巴扎黑2017-05-19 10:30:21

    根據你的描述,應該是兩個同域(相同的協定、主機名稱、連接埠)的網頁進行通訊,這樣的話就可以透過 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")
    }

    有什麼問題的話,希望可以探討一下。

    回覆
    0
  • 黄舟

    黄舟2017-05-19 10:30:21

    如果是iframe的話,使用postMessage

    如果是兩個單獨網頁的話,要在服務端做一個轉發,A頁面發送數據,服務器存入數據庫,B頁面做一個輪詢,查詢數據是否有變化,有變化則更新數據

    回覆
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-19 10:30:21

    postMessage

    回覆
    0
  • 世界只因有你

    世界只因有你2017-05-19 10:30:21

    沒看懂你的需求,大膽猜測題主需要的是websock

    回覆
    0
  • 取消回覆