0

当社のウェブサイトからサードパーティのウェブサイトへのコンテンツを含むウィジェットを iframe の形式で提供したいと考えています。

<iframe src="http://oursite.com/iframe"> </iframe>

私たちのウェブサイトがダウンしているか、メンテナンス モードになっている場合、ホストのウェブサイトでページが見つからないというメッセージが表示されるため、iframe をまったくレンダリングしたくありません。

これを実現するには、サーバー (oursite.com) が 200 ステータスで応答することを確認した後、iframe を動的に埋め込む必要があります。

この「チェック」プロセスを可能な限り軽量にするためhttp://mysite.com/statusに、空の応答本文を返す URL を作成しました。サーバーがダウンしているか、メンテナンス モードでない限り、応答ステータスは常に 200 になります。

質問 1 : ホストの Web サイトに配置してリクエストを送信しhttp://oursite.com/status、応答ステータスを取得できる JavaScript (plain/jquery) コード サンプルは何ですか (ドキュメントに iframe タグを追加するかどうかを決定できるようにするため) )?

質問 2 : oursite.com がダウンしている場合に iframe がレンダリングされないようにするという目標を達成するための最善の方法はありますか?

4

2 に答える 2

3

JavaScript を使用してイメージ要素を作成し、ターゲット ドメインから任意のイメージを読み込みます。iframe を表示するには、image 要素の onload イベントを使用します。画像が読み込まれない場合、iframe は表示されません。

(function($) {

    var img = $('<img/>');
    img.on('load', function() { /* show iframe */ });
    img.prop('src', 'http://www.example.com/my.gif');

})(jQuery);

このメソッドを使用する別のステータス URL は必要ありません。これは、目標を達成するための非常に軽量な方法です。

于 2013-05-13T16:02:44.883 に答える