如何从嵌入标签访问#document 的 dom 元素?

rse*_*esh 4 html javascript embed jquery dom

我有一个带有 embed 标签的标记想要访问#document内容。

在此处输入图片说明

试图遍历直到获取后嵌入标签无法访问内部节点但是有一个可用的函数getElementByTagName()getElementByClassName()但它没有帮助

var embedContent = document.getElementById('embed1')
var parentContents = x.parentElement.parentNode.lastElementChild.getElementsByTagName('embed')
> [function, embed1: function]
Run Code Online (Sandbox Code Playgroud)

下面能够在此之后访问嵌入标签如何获取相应标签的值

在此处输入图片说明

在此处输入图片说明

有没有其他方法可以实现这一点?如果是,请提供任何网址或示例。

Kei*_*ith 5

<embed>标签的内容本质上是锁定的 Shadow DOM - 它是一个全新的文档,Chrome 可以访问但您不能访问。

很容易检查您可以访问哪些属性:

var xObj = document.getElementById('xObj');

for (var p in xObj) {
  var value = null;
  try {
    value = xObj[p];
  } catch (err) {}

  if (value)
    console.log(p, value);
}
Run Code Online (Sandbox Code Playgroud)
<embed id="xObj" src="http://stackoverflow.com"> </embed>
Run Code Online (Sandbox Code Playgroud)

实际获取 HTML 的最佳选择是自己加载该内容:

var response = await fetch(document.getElementById('embedTag').src);
Run Code Online (Sandbox Code Playgroud)