【问题标题】:Client Side Includes on HTML pagesHTML 页面上的客户端包含
【发布时间】:2011-01-30 14:10:04
【问题描述】:

以前,我认为从外部 URL 获取内容到您的页面的唯一方法是使用 IFRAME 或 JavaScript 将其包含到您的页面中。

我刚刚学会了另一种使用标签的方法:

<object type="text/html" frameborder="0" data="http://Server/URL/"></object>

我在网上找到了一些证实这种能力的内容,但并没有过多地谈论页面的可访问性和 SEO 等功能。

更新:我不是在寻找有关如何使用此方法的信息,而是寻找有关当我使用此方法时我的页面会发生什么的信息,例如:

  • 可访问性:屏幕阅读器是否仍然能够阅读我的文档,就好像内容是通过服务器端包含包含在内一样。
  • 搜索引擎优化:谷歌还能索引这些内容吗?
  • JavaScript:我看过一些文章说仍然可以像这样使用 JS,但是有任何安全隐患。

归根结底,这不是一个众所周知的方法,所以网上没有多少可用的(无论如何我都能找到),所以我想看看是否有人有实现此方法的经验。谢谢!

【问题讨论】:

  • 当前浏览器是否广泛支持这一点?据我所知,object 标签过去经常被误解或忽略...
  • 有趣。重新 IE 兼容性:stackoverflow.com/questions/311433/…
  • 感谢您的信息,我会再复习一下,希望也能就我的问题获得更多反馈。
  • 我认为要收录的页面需要在同一台服务器上。
  • @RealHowTo 从我所见,这取决于浏览器,并且 IE 可能会在从外部服务器提取内容时遇到一些问题,但是,其他浏览器能够做到这一点就好了。

标签: html seo include accessibility security


【解决方案1】:

我认为 Pekka 评论中链接的问题应该让您满意。
尽管如此,您也可以考虑 XML 数据孤岛。

【讨论】:

  • pekka 的回答给了我如何使用它的细节,我承认这比我以前知道的更具体。但我不是在问如何使用此方法,而是在询问使用此方法对您的页面(可访问性、SEO、javascript)的影响。谢谢
【解决方案2】:

对于屏幕阅读器,对象元素是conditional content,因此它们不会自动呈现,必须具有fallback

出于 SEO 目的,spec 表示可以通过单击某些突出显示的文本来激活对象。

<P><OBJECT declare
        id="earth.declaration" 
        data="TheEarth.mpeg" 
        type="application/mpeg">
   The <STRONG>Earth</STRONG> as seen from space.
</OBJECT>
...later in the document...
<P>A neat <A href="#earth.declaration"> animation of The Earth!</A>

对象元素与 iframe 具有相同的安全限制,因此不允许跨域 JavaScript,但已找到并修复 exceptions

参考文献

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-13
    • 1970-01-01
    • 2014-05-11
    • 1970-01-01
    • 2010-09-21
    • 1970-01-01
    相关资源
    最近更新 更多