Javascript XMLHttpRequestResponseText获取完整的源代码

Javascript XMLHttpRequestResponseText获取完整的源代码,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我想获得一个页面的完整源代码,例如www.google.com 我得到了一个PHP文件来复制页面的源代码: <?php echo file_get_contents('http://www.google.com'); ?> 1) 为什么不显示完整的源代码?是有限制还是我做错了什么? 我想在源代码中获得一个特定的元素 2) 如果我能够获得特定的元素,有没有办法向src路径添加一些内容?实际图像位于原始页面的外部服务器上。因此,我需要在实际映像之前添加服务器 现在: 我想要的:

我想获得一个页面的完整源代码,例如www.google.com

我得到了一个PHP文件来复制页面的源代码:

<?php
    echo file_get_contents('http://www.google.com');
?>
1) 为什么不显示完整的源代码?是有限制还是我做错了什么? 我想在源代码中获得一个特定的元素

2) 如果我能够获得特定的元素,有没有办法向src路径添加一些内容?实际图像位于原始页面的外部服务器上。因此,我需要在实际映像之前添加服务器

现在:

我想要的:

更新:

如果我这样做,完整的源代码将显示在文本区域中

document.getElementById(“textarea”).innerHTML=源代码


有没有办法从这里只获取特定元素的代码?

当您通过文件内容获取代码时,AJAX请求会解释该代码,因为它的功能是AJAX解释响应


祝你好运。

是什么让你觉得它没有向你展示完整的源代码?在源网站上(尤其是谷歌),可能有相当多的JS生成内容。只要你不运行那个JS(或者因为一些同源策略问题而不能运行),你的代码就会失败。大多数网站都会使用相对URL作为其内容。您需要做的是使用正则表达式查找以/开头的链接,并在它们前面加上运行代码的根域(在本例中为server.com)
function sendRequest() {
 var xmlhttp;
 if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
     xmlhttp = new XMLHttpRequest();
    }
 else {// code for IE6, IE5
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
 }

 xmlhttp.onreadystatechange=function(){
    if (xmlhttp.readyState==4 && xmlhttp.status==200){
         var source_code = xmlhttp.responseText;
         alert(source_code);
         var element = $(source_code).filter("#specificelement").html();
     }
    }
xmlhttp.open("GET","test2.php",true);
xmlhttp.send(); 
}