当前位置: 首页 > 面试题库 >

从主文档中的JavaScript获取IFrame的文档

赖渊
2023-03-14
问题内容

我有这个HTML代码:

<html>
  <head>
    <script type="text/javascript">
      function GetDoc(x)
      {
        return x.document ||
          x.contentDocument ||
          x.contentWindow.document;
      }

      function DoStuff()
      {
        var fr = document.all["myframe"];
        while(fr.ariaBusy) { }
        var doc = GetDoc(fr);
        if (doc == document)
          alert("Bad");
        else 
          alert("Good");
      }
    </script>
  </head>
  <body>
    <iframe id="myframe" src="http://example.com" width="100%" height="100%" onload="DoStuff()"></iframe>
  </body>
</html>

问题是我收到消息“错误”。这意味着iframe的文档未正确获取,而GetDoc函数实际返回的是父文档。

如果您告诉我在哪里犯错,我将不胜感激。(我想将文档托管在IFrame中。)

谢谢。


问题答案:

您应该可以使用以下代码访问IFRAME中的文档:

document.getElementById('myframe').contentWindow.document

但是,如果框架中的页面是从其他域(例如google.com)加载的,则将无法执行此操作。这是因为浏览器的“相同来源策略”。



 类似资料:
  • 问题内容: 我正在尝试编写一个JavaScript应用程序,该应用程序将在页面的iFrame中加载按钮。此应用程序将读取父文档并删除所有图像,应用最小的样式,然后使用此新标记的页面重新加载父文档。 我遇到的问题是从iFrame读写父文档。有人知道实现此目标的方法吗?我已经阅读了一些有关跨域消息传递的内容,但是不确定其他选择,哪种方法最好。 提前致谢。 问题答案: 您可以使用父对象或始终指向最外面文

  • 问题内容: 我正在尝试学习一些漂亮的汤,并从一些iFrame中获取一些html数据-但到目前为止,我还没有取得很大的成功。 因此,解析iFrame本身似乎不是BS4的问题,但是我似乎并没有从中获得嵌入的内容-不管我做什么。 例如,考虑下面的iFrame(这是我在chrome开发人员工具上看到的): 我要提取的内容在哪里。 但是,当我使用以下BS4代码时: 我得到: 换句话说,我得到的iFrame中

  • Elasticsearch 提供实时获取文档的方法。这意味着只要文档被索引且客户端收到消息确认后,你就可以立即在任何的分片中检索文档。Get 操作通过 index/type/id 方式请求一个文档信息: $params = [ 'index' => 'my_index', 'type' => 'my_type', 'id' => 'my_id' ]; // Get doc

  • 问题内容: 我在文档文件夹中获取文件名的代码有什么问题? 我以为我已正确阅读了文档,并且我对documents文件夹中的内容非常确定,但是“ fileList”没有显示任何内容?“目录”显示文件夹的路径。 问题答案: 此解决方案适用于 Swift 4 (Xcode 9.2)和 Swift 5 (Xcode 10.2.1+): 这是一个可重用的FileManager扩展,它还允许您跳过或在结果中包含

  • 我使用自动化对Word文档进行了大量更改,然后运行了一个VBA宏,其中包括检查文档是否超过一定的页数。 我使用获取页数,但此方法返回的结果不正确。我想这是因为Word还没有更新文档的分页以反映我所做的更改。 也存在同样的问题。

  • FPDI易于使用和安装(只需提取文件并调用PHP脚本即可),但FPDI不支持许多压缩技术。然后返回一个错误: FPDF错误:此文档(test_1.pdf)可能使用了FPDI附带的免费解析器不支持的压缩技术。 这将在流中打开PDF文件,并搜索某种类型的字符串,包含pagecount或类似的内容。 (查找)不起作用,因为只有少数文档内部有参数,所以大多数情况下它不会返回任何内容。来源。 (查找)没有得