我正在尝试使用Javascript将任何网页的html源代码放入字符串中。 请告诉我,我是否可以做其他事来解决我的问题.. 我正在使用以下从其他post
找到的代码function httpGet(theUrl)
{
var xmlHttp = null;
xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", theUrl, false );
xmlHttp.send( null );
return xmlHttp.responseText;
}
我在IE浏览器和Chrome中尝试了这个,但我总是得到以下源代码,这是“PAGE NOT FOUND”页面的源代码。如果您有任何其他信息,请在评论中告诉我.. 我正在尝试从google.com和其他网页的任何网页获取HTML。如果我不能这样做那么我该怎么办?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>404 - PAGE NOT FOUND</title>
<style type="text/css">
body{padding:0;margin:0;font-family:helvetica;}
#container{margin:20px auto;width:868px;}
#container #top404{background-image:url('http://74.53.143.237/images/404top.gif');background-repeat:no-repeat;width:868px;height:168px;}
#container #mid404{background-image:url('http://74.53.143.237/images/404mid.gif');background-repeat:repeat-y;width:868px;}
#container #mid404 #gatorbottom{position:relative;left:39px;float:left;}
#container #mid404 #xxx{float:left;padding:40px 237px 10px;}
#container #mid404 #content{float:left;text-align:center;width:868px;}
#container #mid404 #content #errorcode{font-size:30px;font-weight:800;}
#container #mid404 #content p{font-weight:800;}
#container #mid404 #content #banner{margin:20px 0 0 ;}
#container #mid404 #content #hostedby{font-weight:800;font-size:25px;font-style:italic;margin:20px 0 0;}
#container #mid404 #content #coupon{color:#AB0000;font-size:22px;font-style:italic;}
#container #mid404 #content #getstarted a{color:#AB0000;font-size:31px;font-style:italic;font-weight:800;}
#container #mid404 #content #getstarted {margin:0 0 35px;}
#container #bottom404{background-image:url('http://74.53.143.237/images/404bottom.gif');background-repeat:no-repeat;width:868px;height:14px;}
</style>
</head>
<body>
<div id="container">
<div id="top404"></div>
<div id="mid404">
<div id="gatorbottom"><img src="http://74.53.143.237/images/gatorbottom.png" alt="" /></div>
<div id="xxx"><img src="http://74.53.143.237/images/x.png" alt="" /></div>
<div id="content">
<div id="errorcode">ERROR 404 - PAGE NOT FOUND</div>
<p>Oops! Looks like the page you're looking for was moved or never existed.<br />Make sure you typed the correct URL or followed a valid link.</p>
<div id="banner">
<object width="728" height="90"><param name="movie" value="http://74.53.143.237/images/hg728x90.swf">
<embed src="http://74.53.143.237/images/hg728x90.swf?clickTAG=http://secure.hostgator.com/cgi-bin/affiliates/clickthru.cgi?id=page404" width="728" height="90"></embed>
</object>
</div>
<div id="hostedby">This site is hosted by HostGator!</div>
<div id="coupon">Build your website today for 1 cent! Coupon code: "404PAGE"</div>
<div id="getstarted"><a href="http://www.hostgator.com/?utm_source=internal&utm_medium=link&utm_campaign=page404" title="HostGator Web Hosting" >CLICK HERE TO GET STARTED</a></div>
</div>
<div style="clear:left;"></div>
</div>
<div id="bottom404"></div>
</div>
</body>
</html>
答案 0 :(得分:3)
我正在尝试使用Javascript
将任何网页的html源代码放入字符串中
如果“any”是指来自原始文件的原始页面,则不能通过JavaScript 在浏览器中运行来实现,因为您使用的是ajax调用和Same Origin Policy限制,这表示(例如)在http://stackoverflow.com
上的文档中运行的脚本无法使用ajax从http://example.com
加载内容。 (“起源”不仅仅是域名,还有几个方面,详见链接)。
您可能会请求的某些页面(但可能 非常 很少)可能支持Cross-Origin Resource Sharing,在这种情况下,如果它们允许您的来源(可能允许所有来源),您可以使用ajax加载其内容。
如果您在浏览器外运行JavaScript (NodeJS,SilkJS,RingoJS,Rhino,Windows Scripting Host等),那么SOP将不适用,但我怀疑你是可能需要使用XMLHttpRequest
对象之外的其他内容来执行此操作。
但从根本上说,在浏览器的网页(不是扩展程序/插件)中,你不能这样做。
...但我总是得到“PAGE NOT FOUND”页面的源代码
但 听起来像是错误的。