代码之家  ›  专栏  ›  技术社区  ›  Andreas Toresäter

从我的chrome扩展获取页面中所有iframe的所有源代码内容不起作用

  •  0
  • Andreas Toresäter  · 技术社区  · 6 年前

    我想能够从一个网页获得完整的源代码,我尝试了 method mentioned here 它不会获取我想要的代码所在页面的所有源代码。

    这个页面得到了几个iframe,每个iframe都有一个“虚拟标签”#文档,以及在这个标签之后我无法得到的所有东西。

    如果我在Chrome中的页面上单击鼠标右键并选择“查看源代码”,则“文档”后面的代码也不可见。但是,如果我使用Chrome检查页面,我也可以看到文档标签后面的所有源代码。

    我看着 this post on SO 但这也帮不了我。实际上,我可以在iframes中看到代码的第一部分,只是在文档之后什么也看不到。从结构上看是这样的:

    <iframe class="xxxxx" frameborder="0" scrolling="no" srcdoc="<html 
        <base target="_parent">
        <head>
        <style>      body { display: none; }    </style>
        </head>
        <body>
        <style>  </style>
        </body>
    </html>">
    #document
    <!-- code I can not reach -->
    <html><head></head><body>...</body></html>
    </iframe>
    

    我尝试使用javascript迭代DOM中的所有iframe,但后来我发现了一个安全错误,从我所读到的内容来看,这个错误是无法解决的:

    SecurityError: Blocked a frame with origin "http://www.google.com" from accessing a cross-origin frame.
    

    有没有办法做我想做的事?我的意思是,Chrome可以通过Inspect函数看到这个源代码,所以它在某种程度上是可能的。

    0 回复  |  直到 6 年前