0

Webサイトの一部(トピックのリストが表示される左側)を更新しようとしていますが、機能しません。更新ボタンをクリックすると、左側に非常に奇妙な画面が表示されます。私が使用しているスクリプトは次のとおりです。

$(function() {
   $("#refresh").click(function(evt) {
      $(".bgleft").load("left.php")
      evt.preventDefault();
   })
})

私が得ている奇妙な画面は、ランダムなテキストが表示された白い空白の画面です(これは存在しません)。なぜそれが起こっているのか分かりません。ライブの例:(編集済み)に移動し、左側のフレームで[更新]をクリックします。

編集:

HTMLスニペット:<body class="bgleft">

4

4 に答える 4

1

left.phpには、これらの文字を表示する2行のコードがあります。

for(var n = 1; n < 7; n++)
document.write(String.fromCharCode(Math.round(Math.random()*25)+97));

それらを削除してみてください、それは役立つはずです。

また、他の回答でも悲しいことに<body>、スクリプトはすでにサイトに含まれているため、応答の内容のみを送信します。

于 2012-09-28T08:32:46.653 に答える
1

部分的な更新を行う場合は、通常、完全なHTMLページを送信することはお勧めできません。left.phpによって生成されるものを見ると<html>、iframeで使用する完全なページ(タグとすべてを含む)です。

left.phpの本体のみをレンダリングするページを作成し、それを部分的な更新に使用します。または、iframeを更新する方法についてはこちらをご覧ください。

PS:フレームセットは絶望的に非推奨になり、デザイン、動的/ javascript機能、および将来の拡張性の点で実際に制限されています。それらを使用しないことを検討してください...

于 2012-09-28T08:39:02.863 に答える
0

現在のタグ内に同じページHTML,HEADをロードしているのはなぜですか?BODYBODY

$(function() {
    $("#refresh").click(function(evt) {
        evt.preventDefault();         
        $(window.top.window).find('frame[name=left]').reload();
    })
})
于 2012-09-28T08:36:32.113 に答える
0

ページ全体ではなく、更新するコンテンツのみをフェッチする必要があります。html現在、 、bodyさらにはscriptタグを含むページ全体が取得されています。これにより、jQuery およびその他のスクリプトも再度読み込まれます。これは後で大きな問題を引き起こす可能性があります。

于 2012-09-28T08:39:44.857 に答える