JS用URL更新窗口位置而不是HASH

时间:2010-07-14 18:52:12

标签: javascript jquery dom window.location

我正在为登录/注册等构建一个Web应用程序,并且不希望页面必须刷新。

www.mysite.com

我知道如何在不刷新页面的情况下在URL上设置哈希值:

location.hash

给予:www.mysite.com/#signin

但我想要的是:www.mysite.com/signin

没有哈希所以它是SEO友好的。此外,一旦我设定了。如何在JavaScript中读取/后可以检测SignIn,Register,AboutUs等,并显示相应的内容?

谢谢!

3 个答案:

答案 0 :(得分:0)

在不强制页面加载的情况下,无法通过JS更改位置。只有哈希部分才能在不强制页面加载的情况下进行更改。

答案 1 :(得分:0)

document.location = "signin";

这将刷新页面。没有使用锚(哈希)就无法绕过它。

然后阅读您所在的页面:

var page = document.location;
var path = page.pathname;

if (path == "signin") {
    // do something
}

答案 2 :(得分:0)

假设您的“登录”内容确实位于同一页面上,则哈希没有优势或劣势,因为无论URL格式如何,页面都将被抓取并编入索引。请参阅此SO Post