我想实现的是在文本框中输入一个网址,在页面中就能展示该网页。然而我写的HTML文件,每当输入第三个网站后(如先打开百度,再打开126,再输入新浪)就打不开了,而且有些网站还打不开,不知该如何解决?(注:运行此HTML还需一个文件,可在此http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.2.6.min.js下载,放在一起即可运行) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>网页展示</title> 
</head> <script type="text/javascript" src="jquery-1.2.6.min.js"></script><script language="javascript" type="text/javascript">
var strQuanJu="";
var divName="";
var eachDivName="";function handleEvent(oEvent){
if(oEvent.keyCode==13){buttonClick();}
}$(function(){
$("#buttonTest").click(buttonClick);
});function buttonClick(){
var url=$("#xurl").val(); 
//var url=document.getElementById("xurl").value;
var urlLength=url.length;
if(urlLength == 0){
$("#xurl").val("http://");
alert("输入不能为空,请重新输入!(提醒:网址应以http://开头)");
document.getElementById("xurl").focus();
}else if(urlLength == 7){
alert("输入不能为空,请重新输入!");
document.getElementById("xurl").focus();
}else if(urlLength < 7){
$("#xurl").val("http://");
alert("URL网址不合法,请重新输入!(提醒:网址应以http://开头)");
document.getElementById("xurl").focus();
}else if(!(url.substr(0,7) == "http://")){
$("input:#xurl").val("http://");
alert("您输入的网址不合法!请重新输入!(提醒:网址应以http://开头)");
document.getElementById("xurl").focus();
}else if(urlLength > 7){
var xmlhttp;
try{
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); 
}catch(e){
try{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
}catch(e){}
}
if(!xmlhttp) xmlhttp=new XMLHttpRequest(); 
xmlhttp.onreadystatechange =function(){
if (xmlhttp.readyState==4){
var s=xmlhttp.responseBody;
s = gb2utf8(s);
s=s.replace(/href=\//g,"href="+url+"/");
s=s.replace(/src=\//g,"src="+url+"/");
s=s.replace(/href=\"\//g,"href=\""+url+"/");
s=s.replace(/src=\"\//g,"src=\""+url+"/");
s=s.replace(/action=s/g,"action="+url+"/s"); //只针对百度,别的暂无通式
//s=s.replace(/action=\"\"/g,"action=\""+url+"\"");


//按一次Test就清空一次显示网页的内容
var obj = document.getElementsByTagName("button")[0];
      var temp = [];
      obj = obj.nextSibling;
      while(obj.id!="borderline"){
         temp.push(obj);
         obj = obj.nextSibling;
      }
      
      for(var i=0;i<temp.length;i++) temp[i].removeNode(true);
$("p:first").before(s);
xmlhttp=null;
}
}
xmlhttp.open("GET",url,true);

xmlhttp.send(null); 
}
}
//gb2312标准与utf8标准的转换
function gb2utf8(datas){
var glbEncode = []; 
    gb2utf8_data = datas; 
    execScript("gb2utf8_data = MidB(gb2utf8_data, 1)", "VBScript"); 
    var t=escape(gb2utf8_data).replace(/%u/g,"").replace(/(.{2})(.{2})/g,"%$2%$1").replace(/%([A-Z].)%(.{2})/g,"@$1$2"); 
    t=t.split("@"); 
    var i=0,j=t.length,k; 
    while(++i<j){
k=t[i].substring(0,4); 
if(!glbEncode[k]){
gb2utf8_char = eval("0x"+k); 
execScript("gb2utf8_char = Chr(gb2utf8_char)", "VBScript"); 
glbEncode[k]=escape(gb2utf8_char).substring(1,6); 
}
t[i]=glbEncode[k]+t[i].substring(4); 
}
gb2utf8_data = gb2utf8_char = null; 
return unescape(t.join("%")); 
}
</script> 
<body onkeypress="handleEvent(event)">URL网址: <input type=text id="xurl" value="http://" size="50">
<button id="buttonTest" name="Submit" value="Test">提交</button>
<br><p id="borderline"></p>
<hr></body>
</html>

解决方案 »

  1.   

    应该是jquey的$ 与126用的库的$有冲突<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd"> 
    <html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>网页展示 </title> 
    </head> <script type="text/javascript" src="http://ajax.Microsoft.com/ajax/jQuery/jquery-1.3.2.min.js"> </script> 
    <script language="javascript" type="text/javascript"> 
    var strQuanJu=""; 
    var divName=""; 
    var eachDivName=""; function handleEvent(oEvent){ 
    if(oEvent.keyCode==13){buttonClick();} 
    } jQuery(function(){ 
    jQuery("#buttonTest").click(buttonClick); 
    });function buttonClick(){ 
    jQuery("#pad").html("");
    var url=jQuery("#xurl").val(); 
    //var url=document.getElementById("xurl").value; 
    var urlLength=url.length; 
    if(urlLength == 0){ 
    jQuery("#xurl").val("http://"); 
    alert("输入不能为空,请重新输入!(提醒:网址应以http://开头)"); 
    document.getElementById("xurl").focus(); 
    }else if(urlLength == 7){ 
    alert("输入不能为空,请重新输入!"); 
    document.getElementById("xurl").focus(); 
    }else if(urlLength < 7){ 
    jQuery("#xurl").val("http://"); 
    alert("URL网址不合法,请重新输入!(提醒:网址应以http://开头)"); 
    document.getElementById("xurl").focus(); 
    }else if(!(url.substr(0,7) == "http://")){ 
    jQuery("input:#xurl").val("http://"); 
    alert("您输入的网址不合法!请重新输入!(提醒:网址应以http://开头)"); 
    document.getElementById("xurl").focus(); 
    }else if(urlLength > 7){ 
    var xmlhttp; 
    try{ 
    xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); 
    }catch(e){ 
    try{ 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    }catch(e){} 

    if(!xmlhttp) xmlhttp=new XMLHttpRequest(); 
    xmlhttp.onreadystatechange =function(){ 
    if (xmlhttp.readyState==4){ 
    var s=xmlhttp.responseBody; 
    s = gb2utf8(s); 
    s=s.replace(/href=\//g,"href="+url+"/"); 
    s=s.replace(/src=\//g,"src="+url+"/"); 
    s=s.replace(/href=\"\//g,"href=\""+url+"/"); 
    s=s.replace(/src=\"\//g,"src=\""+url+"/"); 
    s=s.replace(/action=s/g,"action="+url+"/s"); //只针对百度,别的暂无通式 
    //s=s.replace(/action=\"\"/g,"action=\""+url+"\""); 
    s=s.replace(/<body[^>]+>/im,"");
    s=s.replace(/<\/body>/im,"");
    s=s.replace(/<html[^>]+>/im,"");
    s=s.replace(/<\/html>/im,"");
    s=s.replace(/<meta[^>]+>/im,"");//按一次Test就清空一次显示网页的内容 
    jQuery("#pad").html(s);
    xmlhttp=null; 


    xmlhttp.open("GET",url,true); xmlhttp.send(null); 


    //gb2312标准与utf8标准的转换 
    function gb2utf8(datas){ 
    var glbEncode = []; 
        gb2utf8_data = datas; 
        execScript("gb2utf8_data = MidB(gb2utf8_data, 1)", "VBScript"); 
        var t=escape(gb2utf8_data).replace(/%u/g,"").replace(/(.{2})(.{2})/g,"%$2%$1").replace(/%([A-Z].)%(.{2})/g,"@$1$2"); 
        t=t.split("@"); 
        var i=0,j=t.length,k; 
        while(++i <j){ 
    k=t[i].substring(0,4); 
    if(!glbEncode[k]){ 
    gb2utf8_char = eval("0x"+k); 
    execScript("gb2utf8_char = Chr(gb2utf8_char)", "VBScript"); 
    glbEncode[k]=escape(gb2utf8_char).substring(1,6); 

    t[i]=glbEncode[k]+t[i].substring(4); 

    gb2utf8_data = gb2utf8_char = null; 
    return unescape(t.join("%")); 
    }
     
    </script> 
    <body onkeypress="handleEvent(event)"> URL网址: <input type=text id="xurl" value="http://" size="50"> 
    <button id="buttonTest" name="Submit" value="Test">提交 </button> 
    <br> 
    <p id="borderline"> </p> 
    <hr> 
    <div id="pad"></div>
    </body> 
    </html> 
      

  2.   

    hookee,真是太谢谢你了,每次都回答我的问题。