• JS获取整个页面的文档


    这个是休息的时候想到了,不知道有没有人用过。

    就是在当前页面用AJAX请求当前页面,返回的就是整个页面的HTML··既然是整个页面,所以也包括文档声明。

    唯一需要注意的地方:

    innerText与textContent,显示页面的时候不能用innerHTML,否则会被解析。innerText与textContent是在除FF之外的浏览器与FF之间的差异。

    var innerText = document.body.innerText ? 'innerText' : 'textContent';

    上面的语句在开头处理以避免多次判断

    demo贴图:

    demo:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    </head>
    <body>
    <div id="test">
    <pre>
    休息休息
    </pre>
    </div>
    <script type="text/javascript" src="ajax.js"></script>
    <script type="text/javascript">
    var connector = (function(){
    var connector = null;
    if(window.XMLHttpRequest){
    connector = new XMLHttpRequest();
    }else if(window.ActiveXObject){
    connector = new ActiveXObject('Microsoft.XMLHTTP');
    }
    return connector;
    })();
    var innerText = document.body.innerText ? 'innerText' : 'textContent';
    var handler = function(response){
    document.getElementById('test').getElementsByTagName('pre')[0][innerText] = response;
    }
    connector.onreadystatechange = (function(callback){
    return function(){
    if(connector.readyState == 4){//这里connector.status == 200都省了。
    callback.call(connector,connector.responseText);
    }
    }
    })(handler);
    connector.open('GET',location.href,true);//发送到本页面
    connector.send();
    </script>
    </body>
    </html>

    转载请注明来自小西山子【http://www.cnblogs.com/xesam/
    本文地址:http://www.cnblogs.com/xesam/archive/2011/12/14/2287804.html

  • 相关阅读:
    《ACM国际大学生程序设计竞赛题解I》——6.8
    数据结构篇
    从SG函数浅谈解决博弈问题的通法
    动态规划的泛式解题思路
    bzoj1057: [ZJOI2007]棋盘制作
    bzoj3884: 上帝与集合的正确用法
    bzoj1564: [NOI2009]二叉查找树
    bzoj4347: [POI2016]Nim z utrudnieniem
    bzoj1131: [POI2008]Sta
    bzoj1566: [NOI2009]管道取珠
  • 原文地址:https://www.cnblogs.com/xesam/p/2287804.html
Copyright © 2020-2023  润新知