gpt4 book ai didi

javascript - History.pushState 的问题

转载 作者:太空宇宙 更新时间:2023-11-04 15:53:58 27 4
gpt4 key购买 nike

我正在尝试实现history.pushState,同时使用.load()函数加载内容而不重定向页面,.load()功能工作正常,并且history.pushState在第一个实现上工作。但是当我单击另一个链接时,它会附加到网址...

这就是我的意思:

主要网址:https://materialwebdesign.ltd
点击链接,URL变为:https://materialwebdesign.ltd/inc/material-design
单击另一个链接,URL 变为:https://materialwebdesign.ltd/inc/inc/bootstrap

为什么会发生这种情况?这是我的代码:

$(document).ready(function() {

$('#main_content').load('inc/main-content.html', function() {
$(this).animate({ height: '100%', width: '100%' }, 2000, 'linear');
});

$('.dynamic').click(function(e) {

e.preventDefault();

var page = $(this).attr('href');

var title = page.title;

$('#main_content').html('<div class="mdl-spinner mdl-js-spinner is-upgraded is-active"></div>');

if (typeof (history.pushState) != 'undefined') {

var obj = {Title: title, Url: page}

$('#main_content').load(page + '.html', function() {
$(this).animate({ height: '100%', width: '100%' }, 2000, 'linear')
});

if(page != window.location){
history.pushState(obj, obj.Title, obj.Url);
}

return false; // don't follow the link

};

});
});

除了上面提到的问题,动画就是没有动画,如果你也能帮忙解决这个问题,我将非常感激

最佳答案

obj.Url 是相对 URL,因此它是相对于页面的当前 URL 进行解释的。由于它包含一个子目录,因此每次执行此操作时,都会向当前页面的 URL 添加另一级子目录。

使用 this.href,而不是返回属性中的相对 URL 的 $(this).attr('href') ——这将返回href 属性,规范化后的绝对URL。

关于javascript - History.pushState 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42869358/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com