2011-06-08 48 views
3

我見過history.go()方法可以有兩種類型的參數:history.go( 'URL')問題

見:

http://www.w3schools.com/jsref/met_his_go.asp

但URL不工作的。

我用瀏覽器的JavaScript控制檯來測試這種方法,但沒有得到成功。

我知道有安全問題,你不能讀歷史條目。你可以前後走。

那麼爲什麼這個字符串參數列在所有的js引用?

+0

哪個瀏覽器和版本你想嗎? – paulmorriss 2011-06-08 10:27:29

+0

嘗試在Chrome最新和Mozilla的火狐4.1或最新(無論).. – Vikas 2011-06-08 10:32:12

+1

w3schools是_not_「所有js引用」。這是唯一的,特別是不好的參考。 – 2011-06-08 10:33:37

回答

10

將URL作爲一個參數是一個非標準的功能,並不會在所有的瀏覽器。大多數瀏覽器只接受相對數字,例如1-1

MDC documentation(重點煤礦):

[history.go(integerDelta)]裝入從會話歷史的網頁時,通過它的相對位置確定爲當前頁面,例如-1的前一頁或1爲下一頁。當integerDelta超出範圍時(例如,當會話歷史中沒有先前訪問過的頁面時爲-1),該方法不會執行任何操作並且不會引發異常。 不帶參數或非整數參數調用go()不起作用(不像Internet Explorer,它支持字符串URL作爲參數)

這是當你使用W3Schools作爲學習資源;-)

+0

+1鏈接;-) – Vikas 2011-06-08 10:26:56

+8

+1對於抨擊W3schools ;-) – 2011-06-08 10:32:54

+1

作爲一個方面說明,如果你想要去一個URL,使用'window.location' – 2011-06-08 12:31:39

1

MDC至少有本說明會發生什麼:

注:Internet Explorer支持通過字符串的URL作爲參數走();這是非標準的,Gecko不支持。

不知道爲什麼它在許多文獻中列出,但。

+4

可能是因爲W3Schools大聲呼喊它。他們比質量更受歡迎。 – Quentin 2011-06-08 10:25:19

+0

哈,的確如此。:) – Shadikka 2011-06-08 10:27:57

2

如果你想用URL中使用它只需使用:

window.location.href="http://www.whereyouwannago.nl/"; 

的網址problably仍然存在向後兼容

+0

應該是'window.location.href ='在所有瀏覽器中工作。 – DanielB 2011-06-08 10:28:12