-5

Facebook のようなチャット アプリケーションをダウンロードし、自分の Web サイトに合わせて編集しましたが、他のページをナビゲートしている間、チャット セッションを開いたままにしておくことに問題があります。私はこのコードでそれを試しました

<script type="text/javascript">
function loadXMLDoc()
{
  var xmlhttp;
    if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
       xmlhttp=new XMLHttpRequest();
    }
    else
    {// code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function()
       {
          if (xmlhttp.readyState==4 && xmlhttp.status==200)
          {
             document.getElementById("site-body-content").innerHTML=xmlhttp.responseText;
          }
       }
      xmlhttp.open("GET","index.php",true);
  xmlhttp.send();

}

リンクを作成するたびに、xmlhttp.open("GET", "pagename", true); の名前とページを変更して、この関数を書き直す必要があります。私が今やりたいことは、作成されたページごとに関数を書き直すストレスを省くことです。

4

2 に答える 2

1

「div ウィンドウ」のようなものはありません。

Facebook はバーの URL を更新することでこれを行いますが、AJAX リクエストを介して新しいページ情報をリクエストし、通常のナビゲーションと見なされるものを効果的に回避します。

于 2012-07-30T22:00:10.920 に答える
0

JavaScript とは何か、特にチャットのようなものを作成しているため、JavaScript と php の違いについての基本的な知識があると仮定すると、JavaScript はクライアント側のスクリプト言語であることを思い出してください。そのため、ページがロードされた後にレンダリングされ、DOM 要素が操作され、ページにあるものはすべてレンダリングされます。それで、おそらく Cookie に依存するロジックを作成する必要がありますか? または、AJAX でコンテナ ID ごとに設定された PHP ベースのセッションは、ページの読み込み時に再度開くか、ページの読み込み時に最小化したままにし、ページの読み込み時に要素ごとに関連データを読み込みます。

ただし、この種のことを処理できる文字通り何百もの方法があるため、あなたを助けることは不可能に近いでしょう. 問題をより適切に評価するのに役立つように、ここ Stack で私たち全員にコードを提供していただけない限り、私たちは多くの助けを提供することはできません。

そもそもチャット スクリプトを整理するのは非常に難しく、ここでのスタックでの私の経験では、ほとんどの人は、私が持っているものを見るのではなく、私のためにそれを行うように聞こえる場合、助けようとはしません。どうすればこれを修正できますか?またはこれを改善するか、これをより良くします。

于 2012-07-30T22:04:14.597 に答える