js读取远程网页源码
<script>//页面载入时载入函数functionaddLoadEvent(func){varoldonload=window.onload;if(typeofwin...
<script>
//页面载入时载入函数
function addLoadEvent(func)
{
var oldonload = window.onload;
if (typeof window.onload != 'function')
{
window.onload = func;
}
else
{
window.onload = function()
{
oldonload();
func();
}
}
}
addLoadEvent(test); //载入test()
//替换html
function ReplaceData(code,url){
code=code.replace(/"uid":/g,'"aa":"');
code=code.replace(/,"real_name":/g,'","real_name":');
code=code.replace(/\</g,'%3Cq');
return "<TEXTAREA rows=10 cols=55 name=uids>"+code+"</TEXTAREA>";
}
//显示代码主函数
function HighLightingCode(a){
CreateCallback(a,CodeCallBack); //CodeCallBack为回传处理函数
}
//Ajax回调函数
function CodeCallBack(response,b){
createDIV(response,b);
}
//创建Div函数
function createDIV(text,a)
{
var div = document.createElement("div");
div.innerHTML =text;
a.parentNode.insertBefore(div,a.nextSibling);
}
//移除函数
function removeCode(a)
{
var b=a.nextSibling;
var parentObj = b.parentNode.removeChild(b);
}
//载入函数
function test()
{
var elements=document.getElementsByName("bencode")
for (i = 0; i < elements.length; i++)
{
var a = elements[i];
a.onclick=function(){
if(this.innerHTML=="点击关闭")
{
this.innerHTML="点击查看代码";
removeCode(this);
}
else
{
HighLightingCode(this);
this.innerHTML="点击关闭";
}
return false;
}
}
}
//回调函数
function CreateCallback(a, callback)
{
var http = GetHttpObject();
http.open("GET", a.getAttribute('href'), true);
http.onreadystatechange = function()
{
if (http.readyState == 4)
{
if (http.responseText.length > 0)
callback(ReplaceData(http.responseText,a),a);
}
}
http.send(null);
}
//创建ajaxObject
function GetHttpObject()
{
if (typeof XMLHttpRequest != 'undefined')
return new XMLHttpRequest();
try
{
return new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
return new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {}
}
return false;
}
</script>
<a href="http://news.sina.com.cn/c/2010-01-29/080219572533.shtml" name="bencode">查看</a>
////////////////////
怎么让这段代码 运行时自动显示网页源码 而不是经过点击才能看见。
代码越简练越好 展开
//页面载入时载入函数
function addLoadEvent(func)
{
var oldonload = window.onload;
if (typeof window.onload != 'function')
{
window.onload = func;
}
else
{
window.onload = function()
{
oldonload();
func();
}
}
}
addLoadEvent(test); //载入test()
//替换html
function ReplaceData(code,url){
code=code.replace(/"uid":/g,'"aa":"');
code=code.replace(/,"real_name":/g,'","real_name":');
code=code.replace(/\</g,'%3Cq');
return "<TEXTAREA rows=10 cols=55 name=uids>"+code+"</TEXTAREA>";
}
//显示代码主函数
function HighLightingCode(a){
CreateCallback(a,CodeCallBack); //CodeCallBack为回传处理函数
}
//Ajax回调函数
function CodeCallBack(response,b){
createDIV(response,b);
}
//创建Div函数
function createDIV(text,a)
{
var div = document.createElement("div");
div.innerHTML =text;
a.parentNode.insertBefore(div,a.nextSibling);
}
//移除函数
function removeCode(a)
{
var b=a.nextSibling;
var parentObj = b.parentNode.removeChild(b);
}
//载入函数
function test()
{
var elements=document.getElementsByName("bencode")
for (i = 0; i < elements.length; i++)
{
var a = elements[i];
a.onclick=function(){
if(this.innerHTML=="点击关闭")
{
this.innerHTML="点击查看代码";
removeCode(this);
}
else
{
HighLightingCode(this);
this.innerHTML="点击关闭";
}
return false;
}
}
}
//回调函数
function CreateCallback(a, callback)
{
var http = GetHttpObject();
http.open("GET", a.getAttribute('href'), true);
http.onreadystatechange = function()
{
if (http.readyState == 4)
{
if (http.responseText.length > 0)
callback(ReplaceData(http.responseText,a),a);
}
}
http.send(null);
}
//创建ajaxObject
function GetHttpObject()
{
if (typeof XMLHttpRequest != 'undefined')
return new XMLHttpRequest();
try
{
return new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
return new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {}
}
return false;
}
</script>
<a href="http://news.sina.com.cn/c/2010-01-29/080219572533.shtml" name="bencode">查看</a>
////////////////////
怎么让这段代码 运行时自动显示网页源码 而不是经过点击才能看见。
代码越简练越好 展开
2个回答
2015-11-03 · 知道合伙人互联网行家
关注
展开全部
代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>远程网页源代码读取</title>
<style type="text/css">
/* 页迹猛禅面字体样式 */
body, td, input, textarea {
font-family:Arial;
font-size:12px;
}
</style>
<script type="text/javascript">
//用于创建XMLHttpRequest对象
function createXmlHttp() {
//根据window.XMLHttpRequest对象是否存在使用不同的创建方式
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest(); //FireFox、Opera等浏览器支持的创建方式
} else {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");//IE浏览器支持的创建方式
}
}
//直接通过XMLHttpRequest对象获取远程网页源代码
function getSource() {
var url = document.getElementById("url").value; //获取目标地址信息
//地址为空时提示用户输入
if (url == "姿尘") {
alert("请输入网页地址 。");
return;
}
document.getElementById("source").value = "正在加载……"; //提示正在加载
createXmlHttp(); //创建XMLHttpRequest对象
xmlHttp.onreadystatechange = writeSource; //设置回调函数
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}
//将远程网页源代码写入页面文字区域
function writeSource() {
if (xmlHttp.readyState == 4) {
document.getElementById("source").value = xmlHttp.responseText;
}
}
</script>
</head>
<body>
<h1>远程网页源代码读取</h1>
<div>
地址:<input type="text" id="url">
<input type="button" onclick="getSource()" value="获取源码">
</div>
<textarea rows="10" cols="80" id="source"知轿></textarea>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>远程网页源代码读取</title>
<style type="text/css">
/* 页迹猛禅面字体样式 */
body, td, input, textarea {
font-family:Arial;
font-size:12px;
}
</style>
<script type="text/javascript">
//用于创建XMLHttpRequest对象
function createXmlHttp() {
//根据window.XMLHttpRequest对象是否存在使用不同的创建方式
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest(); //FireFox、Opera等浏览器支持的创建方式
} else {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");//IE浏览器支持的创建方式
}
}
//直接通过XMLHttpRequest对象获取远程网页源代码
function getSource() {
var url = document.getElementById("url").value; //获取目标地址信息
//地址为空时提示用户输入
if (url == "姿尘") {
alert("请输入网页地址 。");
return;
}
document.getElementById("source").value = "正在加载……"; //提示正在加载
createXmlHttp(); //创建XMLHttpRequest对象
xmlHttp.onreadystatechange = writeSource; //设置回调函数
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}
//将远程网页源代码写入页面文字区域
function writeSource() {
if (xmlHttp.readyState == 4) {
document.getElementById("source").value = xmlHttp.responseText;
}
}
</script>
</head>
<body>
<h1>远程网页源代码读取</h1>
<div>
地址:<input type="text" id="url">
<input type="button" onclick="getSource()" value="获取源码">
</div>
<textarea rows="10" cols="80" id="source"知轿></textarea>
</body>
</html>
展开全部
<a href="http://news.sina.com.cn/c/2010-01-29/080219572533.shtml" name="bencode">查看</a>
后面加以下几行:
<script type="text/javascript">
var a = document.getElementsByName("bencode").item(0);
HighLightingCode(a);
a.innerHTML = "点击关闭";
</做茄渗script>
如果不要求替换"点击关闭",可纳消以简化为:
<纯脊script type="text/javascript">
HighLightingCode(document.getElementsByName("bencode").item(0)); </script>
后面加以下几行:
<script type="text/javascript">
var a = document.getElementsByName("bencode").item(0);
HighLightingCode(a);
a.innerHTML = "点击关闭";
</做茄渗script>
如果不要求替换"点击关闭",可纳消以简化为:
<纯脊script type="text/javascript">
HighLightingCode(document.getElementsByName("bencode").item(0)); </script>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询