0

サーバーからの特定の要素IDである.loadを使用してポーリングしようとしていますが、.loadをwindow.location.reload()で追跡した場合にのみ、要素が更新されます。

具体的には、この要素はvxworksサーバーが1秒に1回更新する、vxworksのwindmark要素*であり、ブラウザーが読み取って表示する必要があります。

ページ上の要素:

<span id="general_response_windmark_id" >$%general_response_windmark#$</span>

ページの終わりに私はします:

setInternval( 'foo()', 1000 )    // to re-display once a second

動作しません:...

function foo()
{
    windmark_field_id = 'general_response_windmark_id'
    $('#' + windmark_field_id).load(' #' + windmark_field_id);
}

作品:..。

function foo()
{
    windmark_field_id = 'general_response_windmark_id'
    $('#' + windmark_field_id).load(' #' + windmark_field_id);
    window.location.reload()
}
    • vxworksサーバーは、「$%general_response_windmark#$」を変化する数値文字列に置き換えます。

ありがとう

4

3 に答える 3

1

タグを別の HTML ドキュメントに配置<span>し (必要に応じて単独で)、代わりに jQuery を使用してそれを読み込みます。

function foo() {
    var wfid = 'general_response_windmark_id';
    $('#' + wfid).load('external-span-page.html #' + wfid);
}
于 2012-05-16T18:06:22.420 に答える
0

答え:URLの直後の.loadに完了関数の引数を追加します。

問題:元のコードは.loadを実行し、.loadがまだ実行されていなくても、ブラウザーページのDOMから要素をすぐに読み取っていました。.loadの完了関数の使用は、完了するまで待機します。

はちゃ!

于 2012-05-16T20:51:10.893 に答える
0

おもう

 $('#' + windmark_field_id).load(' #' + windmark_field_id); 

ステートメントにエラーがあります。

最初のパラメーター内に.load()URL があり、URL を#記号で開始できないことを知っているためです。

へのURL の割り当てを再確認してください.load()。これで問題が解決します。

.load() について読む

于 2012-05-16T18:02:45.713 に答える