我需要从我的 URL 中删除 #,以便完整的 URL 是 example.com/sub-page-title 而不是 example.com/#sub-page-title。
我能够使用 substr(31) 获得一个重复的 URL,31 是 URL 的长度,包括 http://... 但我确信这不是理想的方法。
注意:我无法刷新页面。
单击时,一个外部页面被加载到一个 div 中(然后滑动到位)......一旦可见,我希望 URL 反映这一点(不带 #)。这样前进并点击“返回”会将用户带到实际页面。
代码:
$(document).ready(function(){
var hash = window.location.hash.substr(1);
var href = $('a.load').each(function(){
var href = $(this).attr('href');
});
$('a.load').click(function(){
var toLoad = $(this).attr('href')+' #project-details';
$('.wide-frame').animate({
left: -985,
duration: 'slow'
})
$('#project-details article').hide();
$('#project-details').fadeIn('normal',loadContent);
window.location.hash = $(this).attr('href').substr(31);
function loadContent() {
$('#project-details').load(toLoad,showNewContent)
}
function showNewContent() {
$('#project-details').show('normal');
$.getScript("<?php bloginfo('template_directory'); ?>/scripts/ajax-control.js");
}
return false;
});
});
我不知道这是否相关,但我还在使用带有 jQuery BBQ 的哈希历史来实现其他一些导航功能。