9

我们有替代文本,alt属性,用于imgHTML 中的标签,当图像没有出现时会显示出来。我也尝试过使用标签iframe

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

src=""但是在给出时没有出现替代文本。只是想知道如果src没有给出,我是否可以通过任何其他方式实现替代文本?

4

5 回答 5

4

虽然不是“最干净”的解决方案,但另一种选择是在 CSS 中使用 position 和 z-index 来“隐藏” iframe. 这将为您提供真正 alt 文本的所有元数据优势,而无需编写任何复杂的脚本。

如果您只是希望它作为占位符在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 属性或具有空白值的 src 属性的 iframe 的“alt”标记值,并将 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 回答
0

使用带有您的 alt 信息的图像作为包含相关 iframe 的 div 的背景怎么样?

或者,更好的是:

您应该考虑使用带有您的 alt 信息的图像作为包含相关 iframe 的 div 的背景。这一点,再加上一些定位,你就在那里……

想一想,这是我在 iframe 中的广告没有加载的情况下显示备用广告的方法......

于 2020-12-31T10:33:17.780 回答