1

ユーザーがフォームを送信した後、iframe を開いて全画面をカバーする必要があります。通常のコンテンツは折りたたまれ、iframe コンテンツのみが表示されます。これはどのように行われますか。iframe を開くだけで、その上と下のすべてのコンテンツが残ります。

<div id="iWait" style="display:none;"><center><iframe src="http://website.com" width="100%" height="100%"></iframe></center></div>
4

1 に答える 1

1

コードでiframeを定義すると、バックグラウンドで読み込まれることに注意してください。後でロードする必要がない場合、これによりページの速度が不必要に遅くなる可能性があります。

次のようなHTMLから始めます(配置に注意してくださいfixed)。

<iframe id="preventBoredom" src="http://www.domain.com/" frameborder="0" style="position: fixed; left: 0; top: 0; right: 0; bottom: 0; z-index: 1000; display: none;"></iframe>

次に、次の.show()ように表示します。

$('#preventBoredom').show();

公開されたときにのみiframeをロードする場合は、最初のiframesrcを空白のHTMLページに設定し、代わりに次のjQueryを使用します。

$('#preventBoredom').src('http://www.domain.com/').show();

@ROY_Finleyへの返信と@Mort_Goldmanへの返信に注意してください:ある時点でiframeを再び非表示にするつもりでない限り、これを使用するための良い状況を想像するのに苦労しています。たとえば、航空会社の検索結果セットの読み込み中にユーザーをビジー状態に保つための何かが必要な場合があります(これらは通常、読み込みに時間がかかります)。しかし、この方法では、ユーザーは自分が別のサイトにいると思い込ませます。ウィンドウが突然表示されなくなった場合、ユーザーはイライラします。

フォーム処理が遅いサーバータスクである場合は、処理を続行する前に、処理スクリプトで出力を閉じる必要があります。これにより、ブラウザが順調に進んでいる間、サーバーはバックグラウンドで作業を終了できます。

于 2013-02-05T00:32:54.063 に答える