我已尝试使用history.pushState
功能在链接点击地址栏中更改我的网址
一切都很顺利。
但是不是每次都按照我的愿望显示不同的URL,而是开始覆盖。
这是我的代码
$(document).ready(function() {
$('#followers').click(function(e) {
e.preventDefault();
e.stopImmediatePropagation();
data = 'page1';
url = 'followers/';
history.pushState(data, null, url);
document.title = 'Followers | <?php echo VISIT_FIRSTNAME;?> <?php echo VISIT_LASTNAME;?> (@<?php echo VISIT_USERNAME; ?>) | <?php echo SITE_NAME; ?>';
$('#data').load('/auth/load/load_followers', {
'username': '<?php echo VISIT_USERNAME; ?>',
'visit_id': '<?php echo VISIT_ID; ?>'
});
});
$('#following').click(function(e) {
e.preventDefault();
e.stopImmediatePropagation();
data = 'page1';
url = 'following/';
history.pushState(data, null, url);
document.title = 'Following | <?php echo VISIT_FIRSTNAME;?> <?php echo VISIT_LASTNAME;?> (@<?php echo VISIT_USERNAME; ?>) | <?php echo SITE_NAME; ?>';
$('#data').load('/auth/load/load_followings', {
'username': '<?php echo VISIT_USERNAME; ?>',
'visit_id': '<?php echo VISIT_ID; ?>'
});
});
$('#message').click(function(e) {
e.preventDefault();
e.stopImmediatePropagation();
data = 'page1';
url = 'message/';
history.pushState(data, null, url);
document.title = 'Message | <?php echo VISIT_FIRSTNAME;?> <?php echo VISIT_LASTNAME;?> (@<?php echo VISIT_USERNAME; ?>) | <?php echo SITE_NAME; ?>';
$('#data').load('/auth/load/load_message', {
'username': '<?php echo VISIT_USERNAME; ?>'
});
});
});
&#13;
答案 0 :(得分:1)
history.pushState
如何运作:
如果您将url
参数传递给
history.pushState('page1', null, 'follower/')
history.pushState('page1', null, 'following/')
history.pushState('page1', null, 'messages/')
你最终会将它们连接起来:'follower / following / messages'。
我假设你问的是,你需要的是什么。
history.pushState('page1', null, 'follower')
history.pushState('page1', null, 'following')
history.pushState('page1', null, 'messages')
删除尾随/
,它将覆盖而不是连接。