2011-12-09 17 views
1

我一直在玩弄JavaScript中的history.length屬性。iframe history.length查詢

但是,我遇到了一些我不明白的問題。

在我的本地機器,我有頁A和B頁這兩個有腳本存在的一行:

document.write("Number of URLs in history list: " + history.length); 

我打開網頁加載一個瀏覽器標籤,其表示URL值爲1(被第一頁打開),然後我輸入了頁面B的URL和URL值的數量改爲2.這很好。

嘗試然後使用iframe執行相同的操作(打開頁面A然後更改爲頁面B)但history.length值保持在1而不是2?

任何想法?這兩個頁面都在同一原點,所以不應該訪問iframe只是不正確的值被返回?是否history.lenght值有I幀被有像document.getElementById('myframe').history.lenght

回答

2

iframe中被視爲一個新的「會話」 ...所以它不會指望它在瀏覽器歷史記錄

+0

好吧,我看,我想也許我正在訪問iframe的歷史記錄對象,可能是像這樣訪問它,而不是document.getElementById('iframeid')。contentWindow.history.length? – daza166

+0

我相信你可以在iframe中打開一個頁面,在變量中存儲history.lenght值,將src更改爲另一個頁面並比較變量是否不同? – daza166

+0

當然...比你將不得不跟蹤你自己的歷史...不知道你是否想要:) – hackerdiehack