-1

以下のような

<object type="text/html" data="a.html">

</object>

ファイルa.htmlが存在しない場合は、空白で表示されます。別のファイルに誘導したり、404a.htmlのように見つからないというテキストを表示したりできますか?

4

2 に答える 2

0

AJAX を使用してファイルをフェッチし、ファイルが存在するかどうかを確認し、それに応じてobject、フェッチしたコンテンツで作成するか、エラーの場合にメッセージを配置することができます。

$.get('a.html').
    done(function(data) {
        $('body').append('<object type="text/html" data="a.html"></object>');
    }).
    fail(function() {
        $('body').append("<div>file a.html doesn't exist</div>");
    });

:

  1. ブラウザによってキャッシュされるためa.html、オブジェクト コンテンツをロードするために別のラウンドトリップを実行することはありませんが、キャッシュから取得します。

  2. これはa.html、元のページと同じオリジン (プロトコル、ホスト、ポート) を共有している場合、またはサーバーがa.thmlクロス オリジン リクエスト用の特別な HTTP ヘッダーを送信している場合にのみ機能します。

于 2013-10-31T20:46:39.313 に答える
-1

まあ、w3schools が最も人気のあるリファレンス ソースではないことは知っていますが、タグは onerror イベントを含む HTML のイベント属性をサポートしていると彼らは言っています。

したがって、これを行うことができるはずです:

<object type="text/html" data="a.html" onerror=function() { alert('"a.html" not found'); }>
</object>

編集MDN で証明を見つけるのは少し難しく、3 つのリンクが必要です。 これは object が HTMLElement であること、HTMLElements がすべての GlobalEventHandlers を継承していること、およびglobalEventHandlerイベントとして onerror が含まれていることを示しています。

于 2013-10-31T20:46:52.707 に答える