<script>
window.onload = function(){
var str= document.documentElement.innerHTML; //得到网页的源代码(从<html>直到</html>的所有部分;如果只是想替换<body>中的字符那么此处改为document.body.innerHTML)
while(str.indexOf("google")>-1)  //如果找到"google"字串
{
str = str.replace("google.com","baidu.com");
}
document.write(str);  //显示替换后的字串}
</script>
我想可能是没有搜索到google字符串而一直不断的死循环造成的,是不是这样?
如果是怎么改比较好,如果不是,那是什么原因?
请教高人回来,谢谢

解决方案 »

  1.   


    while(str.indexOf("google")>-1)  //如果找到"google"字串 

    str = str.replace(/google\.com/,"baidu.com"); 

    document.body.innerHTML=(str);  //不能用write
      

  2.   


    if(str.indexOf("google")>-1)  //如果找到"google"字串 

    str = str.replace(/google\.com/g,"baidu.com"); 

    document.body.innerHTML=(str);  //不能用write
      

  3.   

    while(str.indexOf("google")>-1)  //如果找到"google"字串 

    str = str.replace(/google\.com/,"baidu.com"); 
    document.body.innerHTML=(str);  //不能用write} 
      

  4.   

    if(str.indexOf("google")>-1)  //如果找到"google"字串 

    str = str.replace(/google\.com/g,"baidu.com"); 
    document.body.innerHTML=(str);  //不能用

      

  5.   

    1、你找的是google 但替换的是 google.com
    2、这段js代码要放到页面最后面
    3、不能用write
    示例:<html>
    <head>
    <title>Test</title>
    </head>
    <body>
    <a href="http://images.google.cn/">google.cn1</a> 
    <a href="http://video.google.cn/" >google.cn2</a>
    <a href="http://ditu.google.cn/">google.cn3</a>
    </body>
    </html><script language="javascript"> 
    window.onload = function(){ 
    var str= document.body.innerHTML; 
    while(str.indexOf("google.cn")>-1)  //如果找到"google.cn"字串 

    str = str.replace(/google\.cn/,"baidu.com");//替换成"baidu.com"
    }
    alert('替换页面内容喽~');
    document.body.innerHTML = str;
    }
    </script>