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

标签 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]

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

enter image description here

enter image description here

是否有其他方法可以实现此目的?如果是,请提供任何网址或示例。

最佳答案

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

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

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

关于javascript - 如何从嵌入标签访问#document 的 dom 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43610519/

相关文章:

jquery - 如何使用 jsonp 和 jquery 加载 json 文件

javascript - 如何在javascript中更改用户输入和计算输出之间的背景颜色

Python 从 URL 中获取值

javascript - 用于开发和生产构建的 Webpack Angular 应用程序 API URL 配置

javascript - 从 Javascript 关闭子窗口

javascript - 使用 .focus() 时,FireFox 弹出窗口阻止程序会破坏 javascript 应用程序

html - 在 Jekyll 页面中包含 CSS 样式表

HTML,CSS : How to cause a div be presented on top of other divs

javascript - 获取 Firestore 中查询的大小

javascript - 可以在没有浏览器的情况下使用 JQuery 或 JavaScript 来操作 XML/DOM 吗?