0

我曾经使用 jQuery UI 来将选项卡功能添加到我的一个项目中。

一切正常,我注意到每个选项卡都绑定到一个 URL 哈希标签(我不知道你用英语说)。例如,一旦我单击第一个选项卡,#Tab0就会添加到我的 URL。

我想在我当前的项目中重现这种行为。但是我没有使用 jQuery UI 选项卡,我正在移植一个桌面应用程序,并且有 JavaScript 按钮可以在我的页面内写入和替换内容(以不同页面的方式,但无需重新加载)。

我该如何继续模仿这种行为?我是否必须手动获取 URL 中的标签并通过 JavaScript 相应地执行操作?

谢谢,

4

2 回答 2

1

你可以通过使用来做到这一点location.hash

//you can set hash
location.hash = "something"; 

//and read it eg. http://domain.com#something
console.log(location.hash); //will return the current hash value 'something'

此外,您还必须记住,如果您的锚标记具有哈希 href 属性,例如<a href="#something">,它将自动附加到当前 url,并且浏览器将尝试在页面上查找给定的 id。当然,您可以阻止这种默认行为。

于 2013-06-13T09:53:32.843 回答
1

你可以这样做:

从当前 url 创建一个带有哈希的 url:

var url = window.location.href + '#Tab0';

从当前 url 读取哈希:

var hash;

if (window.location.href.indexOf('#') > -1)
{
    hash = url.split('#')[1];
}
于 2013-06-13T09:43:28.317 回答