当data属性为无效网址时,Chrome无法为<object>呈现alt内容

时间:2016-01-29 02:05:10

标签: html html5 google-chrome object pdf

path-to.pdf是指向pdf的有效网址时,以下代码会在Chrome中呈现正确的pdf。其他浏览器(例如Firefox)渲染&#34; alt text&#34;当该路径没有返回PDF时,例如何时data=""。但Chrome只会呈现PDF可能已经消失的白色框,而不会显示替代文字。从chrome://插件中禁用Chrome的PDF查看器可以渲染替代文字,但现在我们无法看到PDF。

<object type="application/pdf" data="path-to.pdf" >
    <param name="view" value="fitH"/>
    alt text.
</object>

这是Chrome显示的内容,填充数据的顶部框,以及没有底部的底部。

top: data url filled. bottom: data url absent

这是否符合标准?

1 个答案:

答案 0 :(得分:2)

啊,明白了。在HTML 5.1规范(https://www.w3.org/html/wg/drafts/html/master/single-page.html#the-object-element)的第4.8.7.5-6节中找到答案:

  
      
  1. 如果数据属性不存在但类型属性存在,并且用户代理可以根据type属性的值找到合适的插件,并且插件没有被沙盒化或者插件可以是安全,那么应该使用该插件。如果无法满足这些条件,或者插件报告错误,请跳至标记为回退的步骤。否则中止这些步骤;插件完全加载后,将任务排队以在元素上触发名为load的简单事件。

  2.   
  3. 后备:object元素表示元素的子元素,忽略任何前导param元素子元素。这是元素的后备内容。如果元素具有实例化插件,则将其卸载。

  4.   

所以我只是检查了数据网址是否在呈现之前未定义,如果没有,则不会为<object>提供data="url"type="application/pdf"属性。