9

HTMLのタグには、画像が表示されないときに表示される代替テキスト、alt属性があります。imgと一緒にタグを使ってみiframeました。

<iframe src="www.abc.com" alt="Web site is not avaialable">

しかし、与えられたときに代替テキストは表示されませんsrc=""。が与えられていない場合、他の方法で代替テキストを達成できるかどうかを知りたいだけsrcですか?

4

5 に答える 5

4

「最もクリーンな」解決策ではありませんが、別のオプションとして、CSS で位置と z-index を使用して、iframe. これにより、複雑なスクリプトを作成する必要なく、真の代替テキストのすべてのメタデータの利点が得られます。

iframeロードが完了するまでプレースホルダーとして表示したい場合にも適しています。

于 2015-11-03T22:18:53.297 に答える
2

<iframe>要素はalt属性をサポートしていませんが、longdescをサポートしています。それでも、HTML仕様は、ブラウザーが長い説明(または代替)テキストを処理する方法を指示していません。特定の動作を保証する唯一の方法は、JavaScriptを使用することです。jQueryを使用したテストされていない例を次に示します。

// Not tested
$('iframe').each(function() {
  if ($(this).attr('href') == '') {
    // Do something with $(this).attr('longdesc')
  }
});
于 2011-11-24T05:51:40.197 に答える
2

私の最初の試みはあなたの質問を誤解していたので、代わりにこれを試してみましょう:

<script>
$(function () {

    $("iframe").not(":has([src])").each(function () {

    var ifrm = this;

    ifrm = (ifrm.contentWindow) ? ifrm.contentWindow : (ifrm.contentDocument.document) ? ifrm.contentDocument.document : ifrm.contentDocument;

    ifrm.document.open();
    ifrm.document.write($(this).attr("alt"));
    ifrm.document.close();

    });

});
</script>

これは、src 属性を持たない iframe または値が空白の src 属性のいずれかの iframe の「alt」タグ値を読み取り、その iframe の本文に代替テキストを書き込みます。

Javascript または jQuery を使用して要素を子 iframe に書き込むことからのアシスト

于 2011-11-24T07:23:37.187 に答える
1

iframeからの404応答を簡単な方法でトラップする方法はわかりませんが、jQueryを使用してトラップすることはできます。

<iframe id="myFrame"></iframe>

<script>
$(function () {

  $.ajax({
     url: "http://www.abc.com",
     success: function (data) {
        $("#myFrame").html(data);
     },
     error: function () {
        $("#myFrame").html("Web site is not avaialable");
     }

});
</script>
于 2011-11-24T05:51:19.037 に答える