使用Javascript的浏览器URL,无需刷新页面和更改div内容
我想知道是否有可能同时使用下面的代码更改URL 在这里找到一些更改URL的代码,但我无法让它们一起工作 是否有可能或者有更好的(有效的)解决方案使用Javascript的浏览器URL,无需刷新页面和更改div内容,javascript,jquery,html,url,Javascript,Jquery,Html,Url,我想知道是否有可能同时使用下面的代码更改URL 在这里找到一些更改URL的代码,但我无法让它们一起工作 是否有可能或者有更好的(有效的)解决方案 <!doctype html> <html> <head> <meta charset="utf-8"> <title>TITLE</title> <script src="http://code.jquery.com/jquery-1.7.2.m
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>TITLE</title>
<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
$(function(){
$('#profileMenu li a').on('click', function(e){
e.preventDefault();
var page_url=$(this).prop('href');
$('#profileContent').load(page_url);
});
});
</script>
</head>
<body>
<div id="profileMenu">
<ul id="profileMenu">
<li><a href="page1.asp">page 1</a></li>
<li><a href="page2.asp">page 2</a></li>
</ul>
</div>
<div id="profileContent"></div>
</body>
</html>
标题
$(函数(){
$(“#profileMenu li a”)。在('click',函数(e)上{
e、 预防默认值();
var page_url=$(this.prop('href');
$('#profileContent').load(page#url);
});
});
出于安全原因,这在普通JavaScript中过去是不可能的。
然而,在HTML5中,您可以结合使用pushState
方法和onpopstate
事件
基本上,您可以通过pushState
更改URL并将一些用户数据推送到历史记录中,而无需刷新页面,还可以更改div
中的数据。如果您通过后退/前进按钮或JS浏览历史记录,将触发一个onpopstate
事件,提供推送的用户数据并更改回URL,以便您可以处理它以显示缓存页面
这里描述了这种技术:
关于
onpopstate
event-的更多信息,它可能不起作用,因为您有两个相同id
的实例。jQuery将忽略第二个实例,该实例将破坏您的选择器。是否要在不刷新页面的情况下加载另一个页面。。???或者更改同一页面上的内容只是想更改一个url??该示例链接使用了history.pushstate()
,而您的示例没有。评估代码可以回答一些问题<代码>@Sparky是的,从问题标题开始,他想在不重新加载页面的情况下更改地址栏中的URL。然而,从提供的源代码来看,他似乎只是想要AJAX。所以他的问题不是很正式。