我无法正确访问 IFRAME 代码中的元素

I can't get the right access to the elements inside the IFRAME tag

提问人:Павел Шоломицкий 提问时间:4/18/2023 更新时间:4/18/2023 访问量:40

问:

面对这样的问题。我正在为一个服务的后端创建一个扩展。有必要将一页的信息整合到另一页中。我决定使用 IFRAME 标签来访问页面,从那里获取表的 ID,并已将该表的数据集成到第一个表中。这是代码。



let bonustable = document.getElementById('bonustable')
let iframe = document.createElement('iframe')
iframe.src = 'somepage.html'
bonustable.before(iframe)
iframe.contentWindow.onload = () => {
    console.log('frame is loaded')
    let table = iframe.contentDocument.getElementById('transactions-grid')
    console.log(table)
  }

我希望在控制台的“transactions-grid”元素中看到所有内部 HTML,但我没有看到它。只有开始和结束标记。虽然里面有一堆需要访问的 innerText 的 TD 标签。 我试过了,但这返回未定义。你能告诉我为什么会这样吗?table = window.frames['ifr'].contentDocument.getElementById('transactions-grid').getElementsByTagName('td')[0]

javascript html dom iframe getelementbyid

评论

0赞 Rojo 4/18/2023
怎么样?innerHTML (MDN)iframe.contentDocument.getElementById('transactions-grid').innerHTML
0赞 Павел Шоломицкий 4/19/2023
这无济于事。控制台中的空行。
0赞 Rojo 4/19/2023
编辑您的帖子,以包含包含相关 HTML 代码的最小可重复示例

答: 暂无答案