我现在正在使用Ajax,我有这段代码:
<script type="text/javascript">
function load(file,container)
{
var xmlhttp, newhash = '';
if (window.XMLHttpRequest){ xmlhttp=new XMLHttpRequest();}
if (window.ActiveXObject) { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}
xmlhttp.onreadystatechange= function (){
if(xmlhttp.readyState==4 && xmlhttp.status==200)
{ document.getElementById(container).innerHTML=xmlhttp.responseText;
} else {
document.getElementById(container).innerHTML='<div style="padding:10px"> <p>Please upgrade your web browser to support modern technology.</p></div>';
}
}
xmlhttp.open("GET",file,true);
xmlhttp.send(null);
}
</script>
<script type="text/javascript" src="jquery.js"></script>
<ul>
<li><a href="#" onclick="load('home.php','ajax');return false;">Home</a><li/>
</ul>
<div id="ajax">
</div>
很抱歉这是我的第一篇文章,但我真正担心的是,页面可以加载但是当我刷新页面时页面就会消失。我试图在网址上放一个哈希值但是它仍然不起作用。
答案 0 :(得分:1)
您的内容仅在按钮点击时加载。您需要告诉浏览器根据您的哈希值自动加载*内容。
为此,你可以:
1 - 通过在href
attrbiute中指定哈希来为您的链接添加哈希值。从return false;
移除onclick
以确保页面网址更改为#home
<a href="#home" onclick="load('home.php','ajax');">Home</a>
2 - 添加一个onload
处理程序,自动加载哈希中指定的页面。
<body onload="loadHash();">
3 - 编写自动哈希加载器
<script>
function loadHash() {
var hash = window.location.href.split('#');
if(hash.length == 2) {
load(hash[1] + '.php','ajax');
}
}
</script>