我有兩個HTML頁面兩個HTML頁面之間的消息:source.html和dest.html傳遞使用JavaScript
- 在source.html,我創建了一些按鈕(啓動,停止,暫停......)
- 在dest.html中,我創建了一個簡單的時鐘。
每當我點擊其中一個按鈕時,源將向dest發送消息。經過處理後,結果(基於哪個按鈕被按下)將被髮送回源。 我試過iframe,但它不適合我。有沒有建議不使用客戶端 - 服務器模型?
我有兩個HTML頁面兩個HTML頁面之間的消息:source.html和dest.html傳遞使用JavaScript
每當我點擊其中一個按鈕時,源將向dest發送消息。經過處理後,結果(基於哪個按鈕被按下)將被髮送回源。 我試過iframe,但它不適合我。有沒有建議不使用客戶端 - 服務器模型?
有兩種發送消息的方式。
在源創建它提交到dest.html形式,確保該方法是「GET」
上設置的消息值按鈕的點擊提交表格
//類似於 document.getElementById('message')。value ='HELLO'; document.getElementById('form')。submit();
2a。你不需要讓表單,你可以用在source.html按鈕硬編碼的URL重定向點擊喜歡
window.location = 'dest.html?message=somemessage';
在提交dest.html文件將打開,在URL中提供的信息
var url = window.location +「」;
//如果有多個參數,你將不得不循環,並將它們存儲在數組單可以使用
變種消息= url.substr((url.indexOf(「=」)+ 1)) ; alert(message);
第2種方法 沒試過,將它們存儲在cookie時按鈕點擊source.html獲取和閱讀dest.html餅乾
有沒有辦法這樣做,如果窗戶是獨立的(沒有請求服務器)。如果兩個窗口都沒有任何類型的框架。由於安全原因。
但是如果你從source.html創建dest.html窗口,您可以使用創建的窗口的變量(window.open)進行管理和開瓶器對象來管理source.html窗口。
所以你的意思,我必須dest.html融入source.html,然後使用窗口對象來操作dest.html步驟? – nxhoaf 2012-04-13 10:55:41
通常不需要做任何操作btw獨立窗口。所以他們使用或框架,或創建子窗口。所有這些方法都爲您提供本地方法。 但是,如果你需要操作btw標籤,你真的可以嘗試使用cookie的方法。它必須在一個共同的領域內工作。 – 2012-04-13 11:09:30
其實,你可以。 嘗試使用window.postMessage()
方法。 另外,如果你想發回一些消息,你將需要創建一個事件監聽器。
不知道爲什麼我不被允許縮進這個。 – Zaje 2012-04-13 11:04:07
第一種方法 - 它將是一個單向過程。這兩個頁面將在一個窗口(標籤)中依次打開。 source.html加載dest.html,dest.html加載source.html。不是兩次! 或者它將是同一個模型開啓者孩子,但它不是使用形式的必要條件。 – 2012-04-13 11:14:43
好的,它的工作,但我可以創建2頁作爲「客戶模型模擬」?我的意思是,這兩個頁面在同一時間存在,每當source.html發送一條消息到dest.html時,它會迴應source.html? – nxhoaf 2012-04-13 11:22:46