如何从window.open打开webside的源代码

时间:2016-08-25 22:02:52

标签: javascript

我想通过window.open()

从网站获取源代码

我的代码非常简单:

var myWindow = window.open("http://localhost/test.php?test=7", "myWindow", "width=200,height=100");

alert(myWindow.document.body.innerHTML);

而且我不知道为什么警报是空白的。 你能帮助我吗 ? 此致

2 个答案:

答案 0 :(得分:0)

要从使用window.open打开的网站获取javascript源代码,您可以执行以下操作:

var myWindow = window.open(...);

myWindow.onload = function() {
    var scripts = myWindow.getElementsByTagName("script");
    // ... get the inner text of each script
}

但是,这仅适用于内联脚本;对于脚本引用,您也必须打开这些页面并阅读其文本。那,或者您可以向他们发送GET请求。

至于你的警报是空白的,可能是我想到的两个原因中的一个或两个:

  • 你过早地对myWindow采取行动。 window.open返回的窗口不会立即为您准备好DOM。因此,在尝试阅读正文HTML之前,您可能必须等待使用onload或类似内容加载窗口。
  • 您访问的网页上没有任何HTML。

答案 1 :(得分:0)

试试这段代码:

var myWindow = window.open("http://localhost/test.php?test=7", "myWindow", "width=200,height=100");

myWindow.onload = function() {
    setTimeout(function(){ 
         alert(myWindow.document.documentElement.outerHTML) 
    }, 2000);
}  

结果: http://jsfiddle.net/JRqTy/606/