这是我的代码:
test.html
<html>
<head>
<title>test</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
$(window).bind('hashchange', function(){
$('#result').load('test2.html', function(){
alert('Load was performed.');
});
});
});
</script>
</head>
<body>
<a href="#Test1">Test 1</a>
<a href="#Test2">Test 2</a>
<div id="result"></div>
</body>
</html>
test2.html
<h3>This is content from test2.html</h3>
我想在更改时使用window.hash检测要加载的特定页面。例如,如果用户转到http://localhost/test.html#test2
。
页面中的主容器(结果)将对test2.html进行Ajax加载调用以获取内容。我无法让这个简单的代码工作。如果有人可以指导我朝着正确的方向前进,我会很感激。感谢。
答案 0 :(得分:1)
尝试以下方法:
window.onhashchange = function () {
$('#result').load('test2.html', function(){
alert('Load was performed.');
});
};
答案 1 :(得分:0)
首先查看$(window).bind('hashchange', function(){})
是否有效。尝试给出一些虚拟代码,如下所示:
$(window).bind('hashchange', function(){
alert("Hash changed!");
});
其次,正如xdazz所述,尝试结合使用JavaScript和jQuery代码:
window.onhashchange = function () {
$('#result').load('test2.html', function(){
alert('Load was performed.');
});
};
我能够获得更新并获得更改。 Lemme确认了一些事情。
file:///
协议进行呼叫?有时后者不起作用。我在本地服务器中使用的代码与您拥有的内容相同。它对我有用!
$(document).ready(function(){
$(window).bind('hashchange', function(){
$('#result').load('test2.html', function(){
alert('Load was performed.');
});
});
});