在使用jQuery .load()时启用书签;

时间:2011-08-03 17:54:14

标签: jquery load bookmarks

我有一个文件名“project_profiles.html”,如下所示:

<div id="project1">
    <p>Project 1</p>
</div>

<div id="project2">
    <p>Project 2</p>
</div>

<div id="project3">
    <p>Project 3</p>
</div>

在我的索引页面上,我使用:$('#content')。load(project_profiles.html#project1');

然后,索引页面加载只显示具有id项目1的div。但是,如果用户尝试为页面添加书签它将无效。有没有办法让书签工作,同时将所有项目div放在一个文件中?

提前致谢....

1 个答案:

答案 0 :(得分:2)

$('#content').load(project_profiles.html #project1');
location.hash = "#project1";

然后他们应该能够为它添加书签。下一步是根据location.hash自动加载正确的内容(如果在页面加载时出现。

修改

在您的js中(最好在$(document).ready函数中)放置以下代码

if(location.hash)
$('#content').load('/_catalogs/html/project_details.htm ' + location.hash);

如果你可以不破坏任何改变

<a href="#p1" onclick="$('#content').load('/_catalogs/html/project_details.htm #project1');">Read More</a>

<a href="#project1" onclick="$('#content').load('/_catalogs/html/project_details.htm #project1');">Read More</a>