history.go('url') issue

落爺英雄遲暮 提交于 2019-11-28 05:39:39

问题


I've seen that history.go() method can have two types of parameter:

see:

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

But url does not working at all.

I use JavaScript console of browser to test this method but got no success.

I know that there are security issues, that you can't read history entries. You can just go back and forward.

So why this string parameter listed in all js references?


回答1:


Supplying a URL as a parameter is a non-standard feature and will not work in all browsers. Most browsers accept only a relative number, e.g. 1 or -1.

From the MDC documentation (emphasis mine):

[history.go(integerDelta)] Loads a page from the session history, identified by its relative location to the current page, for example -1 for the previous page or 1 for the next page. When integerDelta is out of bounds (e.g. -1 when there are no previously visited pages in the session history), the method doesn't do anything and doesn't raise an exception. Calling go() without parameters or with a non-integer argument has no effect (unlike Internet Explorer, which supports string URLs as the argument).

This is what happens when you use W3Schools as a learning resource ;-)




回答2:


MDC at least has this note:

Note: Internet Explorer supports passing string URLs as a parameter to go(); this is non-standard and not supported by Gecko.

No idea why it is listed in many references, though.




回答3:


If you want to use it with an URL just use:

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

The URL is problably still there for backwards compatibility



来源:https://stackoverflow.com/questions/6277283/history-gourl-issue

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!