1

私は現在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>  

申し訳ありませんが、それは私の最初の投稿ですが、私の本当の懸念は、ページを読み込むことはできますが、ページを更新するとページが消えてしまうことです. URLにハッシュを付けようとしましたが、それでも機能しません。

4

1 に答える 1

1

ボタンをクリックしたときだけコンテンツが読み込まれます。ハッシュに応じてコンテンツを自動ロード*するようブラウザに指示する必要があります。

このために、次のことができます。

1 - 属性で指定して、リンクにハッシュを付与しhrefます。return false;から を削除してonclick、ページの URL が確実に#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>
于 2012-09-30T03:41:10.690 に答える