2013-05-30 17 views
2

我有一個頁面(說'basepage'),其中有一個iFrame。在這個iFrame中,有各種各樣的div,它們在運行時根據某些標準顯示並隱藏。這個標準不過是AJAX通過另一個頁面調用其他一些外部API(比如'page2')。如果API返回(例如'x')值,則會顯示div1(其餘部分隱藏),如果返回(例如'y')值,則會顯示div2(隱藏其餘部分)等等。通過Javascript在各種瀏覽器窗口/選項卡中維護iFrame頁面的狀態

問題是,如果我只打開1個basepage的瀏覽器窗口,一切正常,但打開basepage的多個窗口/選項卡並不反映所有頁面的值。

考慮以下步驟:

  1. 打開BasePage的。顯示默認設置。

  2. 打開第2頁。 API被調用並返回'x'。在basepage'div1'塊中顯示,其餘隱藏。

  3. 在同一瀏覽器的另一個選項卡/窗口中打開基礎頁面。默認設置在不應發生的情況下顯示。它應該顯示div1隱藏其餘。

希望我已經讓我的問題清楚了,讓所有人都明白了。這隻能在javascript/jQuery的幫助下完成。請幫助我。

非常感謝。

+0

你可以在這裏發佈一些代碼嗎? 「 –

+0

」顯示默認設置,但不應發生這種情況。「但似乎是默認行爲。每個新頁面都是一種新的頁面實例。如果你想保持iframe的'狀態',我認爲你需要編寫你的邏輯服務器端。也許我在這裏誤解了你的問題。 –

+0

@roasted - 由於API現在已返回值「x」,因此它不應顯示默認設置。考慮兩條電話線。如果有人打電話給你的電話號碼,那麼這兩個電話不僅應該打一個電話。類似地,直到API的值重置爲原始值(它在60秒後執行)之後,所有窗口/選項卡才應顯示div1。 這是我現在可以找到的最好的比喻。 – Abhinav

回答

0

那麼,經過Google一天的鬥爭之後,我已經知道我實際上正在尋找的是'HTML5中引入的'WebStorage'。太糟糕了,這對老瀏覽器不起作用,但至少我很樂意走得更遠。

非常感謝這麼多人。 :-)

-1

在我的項目中,我使用window.name屬性來標識瀏覽器選項卡。猜猜這是你開始的一個好點。

+1

不是一個真正的答案。 –

+0

@harsha不是真的,但正如我所說 - 這是一個起點。而且據我所知,這是通過JS分離不同瀏覽器窗口的唯一方法。 – Kindzoku

相關問題