什么时候将location设置为URL字符串而不是设置location.href?
location = "http://www.stackoverflow.com";
vs
location.href = "http://www.stackoverflow.com";
Mozilla开发者网络参考
什么时候将location设置为URL字符串而不是设置location.href?
location = "http://www.stackoverflow.com";
vs
location.href = "http://www.stackoverflow.com";
Mozilla开发者网络参考
当前回答
澄清一下,你不能使用location.split('#'), location是一个对象,而不是字符串。但是你可以执行location. reff .split('#');因为位置。Href是一个字符串。
其他回答
使用React时,请使用global.location.href。
但有一点要记住。
假设您想要使用当前URL构建某个URL。下面的代码实际上会重定向,因为它没有调用String。Location.replace:
nextUrl = window.location.replace('/step1', '/step2');
以下代码起作用:
// cast to string
nextUrl = (window.location+'').replace('/step1', '/step2');
// href property
nextUrl = window.location.href.replace('/step1', '/step2');
澄清一下,你不能使用location.split('#'), location是一个对象,而不是字符串。但是你可以执行location. reff .split('#');因为位置。Href是一个字符串。
几年前,我在IE和location中无法使用location。Href做到了(在其他浏览器中都可以工作)。从那以后,我一直只使用位置。从此再也没有遇到过麻烦。我不记得是哪个版本的IE了。
就像已经说过的。但是,最好使用.href版本。