【问题标题】:Can you target an element in an iFrame from the same site?您可以从同一站点定位 iFrame 中的元素吗?
【发布时间】:2021-12-22 08:36:41
【问题描述】:

我要做的是在页面上的 iframe 中打开 minicart url,这样我就可以从购物车中获取购物车总数。我已经能够做到这一点,但是当我尝试定位 iframe 上的内容时,我无法做到这一点。在站点上,当我 console.log “pre”时,我确实看到在 html 集合中,innerHTML 确实显示了输出的内容。知道如何或是否能够针对此目标吗?

var iframevar = document.getElementById('freeGiftiFrame');
var elmnt = iframevar.contentWindow.document.getElementsByTagName("pre");
console.log(elmnt)
<iframe id="freeGiftiFrame" class="cartPopout" name="iframe_a" height="100px" width="100%">
  <html>
  <head></head>
    <body>
      <pre style="word-wrap: break-word; white-space: pre-wrap;">
      {"miniCartCount": 1, "miniCartPrice": "€&nbsp;30,00"}
      </pre>
    </body>
  </html>
</iframe>

【问题讨论】:

  • 你不能像这样定义 iframe 内容; &lt;iframe&gt;tag 的子节点在历史上是您放置“您的浏览器不支持 iframe”文本的位置。相反,您要么需要使用指向 URL 的 src 属性,要么需要使用包含子页面 HTML 的 srcdoc 属性。
  • 这能回答你的问题吗? scope issue with iframe
  • 嗨@DanielBeck 抱歉应该更清楚,我所展示的只是 iframe 在页面本身上的显示方式。它已使用指向 url 页面的 src 插入。只是不知道如何展示我想要做的事情。
  • @MisterJojo 谢谢你会看一下,我想做的是获取 pre 中的 innerHTML。我可以定位这个元素来隐藏它,例如但无法获取内部内容。

标签: javascript iframe


【解决方案1】:

对于任何有问题的人来说,添加 = sandbox="allow-same-origin allow-scripts" 对我有用

【讨论】:

    猜你喜欢
    • 2023-03-08
    • 1970-01-01
    • 2022-01-24
    • 1970-01-01
    • 2021-08-22
    • 1970-01-01
    • 1970-01-01
    • 2011-01-04
    • 1970-01-01
    相关资源
    最近更新 更多