使用<object> / <embed />嵌入HTML会引入BODY和HTML标记

时间:2017-09-28 16:17:44

标签: html

我需要将一个子HTML嵌入到另一个HTML中。我正在使用2种方法,

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

OR

<embed type="text/html" src="test.html">

但是这会插入HEAD和BODY标签,即使我的子页面没有它们。通过子页面test.html只包含以下内容而不包含任何其他内容

<div>
    <p>Test Paragraph</p>
</div>

产生的DOM:

enter image description here

这可能会引入HTML验证问题和间距。人们根本不使用这些方法吗?有没有办法在没有额外的HEAD / BODY的情况下嵌入?

注意不能使用iframe ,它们已过时&amp;介绍其他问题。

1 个答案:

答案 0 :(得分:1)

你有多种选择可供选择,除了iframe,你可以:

  • 使用javascript framework / lib,您可以选择加载&#34;子页面&#34;通过Ajax,例如在jQuery中,.load()函数。

  • 使用服务器端语言,即在PHP中,您可以使用includeinclude_oncerequirerequire_once

  • HTML Imports<link rel="import" href="path-to-file/filename.html">,这是最好的和恕我直言,这应该很久以前实施,但问题是它缺乏广泛的浏览器支持,目前只有Chrome和Opera ,caniuse.com/imports