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

时间:2017-04-25 12:21:31

标签: javascript jquery html dom embed

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

enter image description here

试图在获取后无法遍历嵌入标签,无法访问内部节点但是有一个功能可用 getElementByTagName() getElementByClassName()但是它没有帮助

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

在此之后能够访问embed标签如何获取相应标签的值

enter image description here

enter image description here

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

1 个答案:

答案 0 :(得分:4)

<embed>代码的内容基本上是锁定影子DOM - 它是Chrome可以访问的全新文档,但您无法访问。

您可以轻松查看可以访问的属性:

&#13;
&#13;
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);
}
&#13;
<embed id="xObj" src="http://stackoverflow.com"> </embed>
&#13;
&#13;
&#13;

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

var response = await fetch(document.getElementById('embedTag').src);