2

iUI フレームワークを使用してサイトを作成しています。これに慣れていない場合は、div で構成される 1 つのページがあり、フラグメント識別子を使用してユーザーをナビゲートします。

これに関する問題は、ユーザーがコンテンツを追加した場合、更新するまで表示されないことです。私の状況では、jquery の投稿を介してリストにデータを追加しますが、私が言うように、更新するまで何も表示されず、更新を行うと #fragment が失われたため、親 div に移動します。

そのため、更新後に window.location = mywebsite.com/#_fragment を使用してページを mywebsite.com/#_fragment に移動することができましたが、実際にはページをリロードしません。

ページをフラグメントに更新する方法を知っている人はいますか?

4

2 に答える 2

8

URI フラグメント識別子はクライアント側のみであり、サーバーには送信されません。つまり、HTTP リクエスト ヘッダーを調べても、#_fragment は表示されません。さらに、フラグメントのみを変更する URI に変更を加えても、DOM イベントはトリガーされません。

setInterval() 呼び出しを使用して document.location.hash プロパティをアクティブに監視するなどの回避策がありますが、最も簡単なのはクエリ文字列 arg を変更することです。たとえば、次の代わりに:

window.location = mywebsite.com/#_fragment

次のようなクエリ文字列コンポーネントを含めます。

window.location = mywebsite.com/?refresh=1#_fragment

"?refresh=1" (またはその他のキーと値のペア) が存在すると、ブラウザは #hash 識別子を保持しながらサーバーにリクエストを送信します。

JS ロケーション オブジェクトの詳細については、http: //docs.sun.com/source/816-6408-10/location.htmを参照してください。

于 2009-05-03T21:15:56.720 に答える
1

あなたはiUIを使ってiPhoneに優しいウェブアプリを構築していると思います。あなたがすでにiWebkitを同じものとして評価したかどうかはわかりません。iUIとiWebkitの両方を調べたところ、iWebkitの方がはるかに機能が豊富で、安定していて、実装も簡単であることがわかりました。

于 2009-05-04T17:21:16.357 に答える