zoukankan      html  css  js  c++  java
  • JavaScript--兼容问题总结

     以下兼容主要面向IE8以上的兼容。

    一.window.navigator浏览器信息

    1  <script>
    2         console.log(window.navigator);
    3         // 用户浏览器的类型 到底是 谷歌还是火狐,ie等
    4         console.log(window.navigator.userAgent);
    5         // 判断浏览器所在的系统平台类型 ,window还是mac
    6         console.log(window.navigator.platform);
    7   </script>

    二.查找页面元素的几种方式

     1     <script>
     2         window.onload = function () {
     3 //      无兼容问题放心使用
     4 //          1) 通过id查找元素,获取到匹配的第一个id元素
     5 //            var btn = document.getElementById('btn');
     6 //            console.log(btn);
     7 //          2) 通过标签名称查找元素,获取到的是伪数组
     8 //            var buttons = document.getElementsByTagName('button');
     9 ////            伪数组不能调用数组里的全部方法和属性
    10 ////            console.log( buttons.push("123") );  // 报错
    11 //            console.log( buttons );
    12 
    13 //            了解:兼容问题  ie 9+
    14 //            3) 通过类名查找元素,获取到的是伪数组    ie 9+
    15 //            var btnClass = document.getElementsByClassName("btn-class");
    16 //            console.log(btnClass);
    17 
    18 //            4) 通过name属性查找元素,获取到的是伪数组
    19 //                  name标准用法应该是表单的,如提交表单数据时,name是作为数据的key
    20 //            var btnName = document.getElementsByName('btn-name');
    21 //            console.log(btnName);
    22 
    23 //            5) 通过合法的css选择器去查找到第一个元素
    24 //            var query1 = document.querySelector("#btn");
    25 //            var query1 = document.querySelector("[name='btn-name']");
    26 //            console.log(query1);
    27 //
    28 //            6) 通过合法的css选择器去查找到所有元素(做手机项目的时候常用)
    29 //            var query2 = document.querySelectorAll("#btn");  // 不推荐用这种方式找id
    30             var query2 = document.querySelectorAll(".btn-class");
    31             console.log(query2);
    32 
    33         }
    34     </script>

    三.innerText、innerHTML、textContent兼容问题

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6     <script>
     7         /**
     8          *      innerHTML
     9          *          全部浏览器都兼容
    10          *      innerText        firefox45+后支持
    11          *          ie,chrome,opera,safari,firefox45+
    12          *      textContent      ie9+
    13          *          firefox,chrome, ie9+
    14          *
    15          * */
    16         window.onload = function () {
    17             var btns = document.getElementsByTagName('button');
    18             var uls = document.getElementsByTagName('ul');
    19             btns[0].onclick = function () {
    20 //                如果innerText获取到不是undefined,说明兼容innerText
    21                 if( uls[0].innerText !== undefined ){
    22                     uls[0].innerText = "123";
    23                 }else{
    24 //                  其他情况:如低版本获取用另一种方式修改
    25                     uls[0].textContent = "低版本火狐修改";
    26                 }
    27             }
    28 
    29         }
    30     </script>
    31 </head>
    32 <body>
    33     <button>换一换新闻</button>
    34     <ul>
    35         <li>牛大</li>
    36         <li>拉面的老板去参加比赛了</li>
    37     </ul>
    38 </body>
    39 </html>

    四.注册事件的三种方式、解绑事件的兼容方式、阻止事件传播(冒泡)

    1.注册事件的三种方式

     1  <script>
     2         window.onload = function () {
     3 
     4             /**
     5              *      一、事件三要素
     6              *          事件源
     7              *          事件类型
     8              *          事件处理程序
     9              *
    10              *
    11              *      二、注册事件三种方式
    12              *          第一种:    
    13              *              事件源.on事件类型 = 事件处理程序
    14              *          第二种:    ie8不支持
    15              *              事件源.addEventListener('事件类型',事件处理程序,false)
    16              *          第三种:    chrome、Firefox、Safari、ie11都不支持,ie6~10支持
    17              *              事件源.attachEvent('on事件类型',事件处理程序)
    18              *
    19              * */
    20             var btn = document.getElementById('btn');
    21 
    22 //            第一种:快速注册事件
    23 //            btn.onclick = function () {
    24 //                alert("我们给按钮添加了一个事件");
    25 //            }
    26 
    27 
    28 //           第二种:事件监听       不支持ie8
    29 //          事件源.addEventListener('事件类型',事件处理程序) false是事件冒泡(默认) true是事件捕获
    30             btn.addEventListener('click',function () {
    31                 alert("我们给按钮添加了一个事件");
    32             });
    33 
    34             btn.addEventListener('click',function () {
    35                 alert("AAAAAAA");
    36             },false);
    37 
    38 
    39 //           第三种:事件监听    Chrome、Firefox、Safari,ie11都不支持,ie6~10支持    
    40 //            btn.attachEvent('onclick',function () {
    41 //                alert("我们给按钮添加了一个事件");
    42 //            });
    43 //            btn.attachEvent('onclick',function () {
    44 //                alert("我们给按钮添加了一个事件2222");
    45 //            });
    46 //            btn.attachEvent('onclick',function () {
    47 //                alert("我们给按钮添加了一个事件3333");
    48 //            });
    49 
    50 
    51 
    52         }
    53     </script>

    事件注册兼容处理:

     1 <script>
     2 /*
     3             谷歌和ie8注册方式不同,
     4                 所以我们要进行判断支持哪种注册方式,就使用哪种注册方式添加事件
     5 */
     6             function myEventListener(element,type,fn) {
     7                 if( element.addEventListener ){
     8                     element.addEventListener(type,fn);
     9                 }else if( element.attachEvent ){
    10                     element.attachEvent("on"+type,fn);
    11                 }else{
    12                     element["on"+type] = fn;
    13                 }
    14             }
    15             myEventListener(btn,'click',function () {
    16                 alert("兼容版的事件注册方式");
    17             });
    18 </script>

    2.解绑事件的兼容方式

     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6     <script>
     7         window.onload = function () {
     8             /**
     9              *      一、事件三要素
    10              *          事件源
    11              *          事件类型
    12              *          事件处理程序
    13              *
    14              *
    15              *      二、注册事件三种方式
    16              *          第一种:
    17              *              事件源.on事件类型 = 事件处理程序
    18              *          第二种:    ie8不支持
    19              *              事件源.addEventListener('事件类型',事件处理程序,false)
    20              *          第三种:    chrome不支持
    21              *              事件源.attachEvent('on事件类型',事件处理程序)
    22              *
    23              *
    24              *      三、事件解绑
    25              *          第一种:
    26              *              事件源.on事件类型 = null
    27              *          第二种:    ie8不支持
    28              *              事件源.removeEventListener('事件类型',事件处理程序,false)
    29              *          第三种:    chrome不支持
    30              *              事件源.detachEvent('on事件类型',事件处理程序)
    31              *
    32              *
    33              * */
    34             var btn = document.getElementById('btn');
    35             var btn2 = document.getElementById('btn2');
    36            // 事件注册兼容方式
    37             function myEventListener(element,type,fn) {
    38 //              主流浏览器注册方式
    39                 if( element.addEventListener ){
    40                     element.addEventListener(type,fn,false);
    41 //
    42                 }else if( element.attachEvent ){
    43                     element.attachEvent("on"+type,fn);
    44                 }else{
    45                     element["on"+type] = fn;
    46                 }
    47             }// 事件解绑兼容方式
    48             function myRemoveEventListener(element,type,fn) {
    49                 if( element.removeEventListener ){
    50                     element.removeEventListener(type,fn,false);
    51                 }else if( element.detachEvent ){
    52                     element.detachEvent("on"+type,fn);
    53                 }else{
    54                     element["on"+type] = null;
    55                 }
    56             }
    57 
    58             function fn() {
    59                 alert("兼容版的事件注册方式");
    60             }
    61             myEventListener(btn,'click',fn);
    62        // 独立fn是为了浏览器能区分每个事件注册 
    63             btn2.onclick = function () {
    64                 myRemoveEventListener(btn,'click',fn);
    65             }
    66 
    67             console.log( btn.addEventListener );
    68             console.log( btn.attachEvent );
    69 
    70         }
    71     </script>
    72 </head>
    73 <body>
    74 <button id="btn">按钮</button>
    75 <button id="btn2">解绑事件</button>
    76 </body>
    77 </html>

    3.阻止事件传播(冒泡)兼容

      1 <!DOCTYPE html>
      2 <html lang="en" xmlns="http://www.w3.org/1999/html">
      3 <head>
      4     <meta charset="UTF-8">
      5     <title>Title</title>
      6     <style>
      7         #yeye{
      8              500px;
      9             height: 500px;
     10             background-color: #f24b4b;
     11         }
     12         #baba{
     13              400px;
     14             height: 400px;
     15             background-color: #44c28d;
     16         }
     17         #erzi{
     18              300px;
     19             height: 300px;
     20             background-color: #6e8cd5;
     21         }
     22     </style>
     23     <script>
     24     window.onload = function () {
     25 
     26     /**
     27     *
     28     *
     29     *    事件捕获:
     30     *       浏览器就好像盲人一样,要找某个元素,其实挨个挨个问的方式去找
     31     *          这个过程我们叫事件的捕获过程.
     32     *          //  从外到里,直到找到目标
     33     *
     34     *    事件冒泡:
     35     *       找到到目标后,其实还有一个回馈的过程,逐级往上传播
     36     *          这个过程我们叫事件的冒泡过程.
     37     *          //  从里到外,直到传到window
     38     *
     39     *        注意:
     40     *            我们一般都是事件冒泡的方式注册事件的
     41     *
     42     *
     43     *   事件的三个阶段
     44 
     45     1. 捕获阶段
     46     2. 当前目标阶段
     47     3. 冒泡阶段
     48     事件对象.eventPhase属性可以查看事件触发时所处的阶段
     49 
     50     *
     51     * */
     52 
     53     var yeye = document.getElementById("yeye");
     54     var baba = document.getElementById("baba");
     55     var erzi = document.getElementById("erzi");
     56 
     57     erzi.onclick = function (event) {
     58         event = event || window.event;
     59         if(event.stopPropagation) {
     60             // ie9+ 其余全支持
     61             event.stopPropagation();
     62         }else{
     63             // 全部兼容,火狐不兼容
     64             event.cancelBubble = true;
     65         }
     66         console.log("儿子", event);
     67     }
     68     baba.onclick = function (event) {
     69         event = event || window.event;
     70         if(event.stopPropagation) {
     71             // ie9+ 其余全支持
     72             event.stopPropagation();
     73         }else{
     74             // 全部兼容,火狐不兼容
     75             event.cancelBubble = true;
     76         }
     77         console.log("爸爸", event);
     78     }
     79     yeye.onclick = function (event) {
     80         event = event || window.event;
     81         if(event.stopPropagation) {
     82             // ie9+ 其余全支持
     83             event.stopPropagation();
     84         }else{
     85             // 全部兼容,火狐不兼容
     86             event.cancelBubble = true;
     87         }
     88         console.log("爷爷", event);
     89     }
     90     }
     91 </script>
     92 </head>
     93 <body>
     94 <div id="yeye">
     95     <div id="baba">
     96         <div id="erzi"></div>
     97     </div>
     98 </div>
     99 </body>
    100 </html>

    五.event事件对象兼容问题

     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6     <script>
     7         /**
     8          *
     9          *      事件对象兼容写法:
    10          *          event IE不兼容   window.event火狐(Firefox 不支持)
    11          *          event = event || window.event;
    12          *
    13          *      事件目标元素兼容写法:
    14          *      event.target      IE9.0版本才开始支持  
    15          *      event.srcElement  火狐(Firefox 不支持)
    16          *          event.target  = event.target || event.srcElement;
    17          *
    18          *
    19          * */
    20 
    21         window.onload = function () {
    22             var btn = document.getElementById('btn');
    23             btn.onclick = function (event) {
    24 //                console.log(event);
    25 //                console.log(window.event);
    26                 event = event || window.event;   // 短路写法
    27                 event.target  = event.target || event.srcElement;   // 短路写法
    28 //                event.target
    29                 console.log( event.target );
    30                 console.log( event.srcElement );
    31             }
    32 
    33         }
    34     </script>
    35 </head>
    36 <body>
    37     <button id="btn">按钮</button>
    38 </body>
    39 </html>

    六.兼容ie8的获取样式函数

    注意点

     1                 // window.getComputedStyle(box,null) -- box 是目标标签
     2                 // 这种写法是获取到计算完成的样式,所以这种写法能获取到各种样式表
     3                 // 甚至可以获取到继承过来的属性和默认样式
     4                 console.log(boxStyle);
     5                 console.log(boxStyle.width);
     6                 console.log(boxStyle["width"]);
     7                 console.log(boxStyle['padding-left']);
     8                 console.log(boxStyle['paddingLeft']); // 推荐驼峰写法
     9                 console.log(box.style.width);*/
    10 
    11                //兼容IE6~8
    12 //                console.log(box.currentStyle);
    13 
    14 //                if(window.getComputedStyle) {
    15 //                    var boxStyle =  window.getComputedStyle(box,null);
    16 //                }else if(box.currentStyle){
    17 //                    var boxStyle = box.currentStyle;
    18 //                }
    19 //                console.log(boxStryle);

    封装函数

     1             /**
     2              * 获取样式函数
     3              * @param element 要获取的样式的对象
     4              * return 目标css样式对象
     5              * */
     6             function getStyle(element) {
     7                 if(window.getComputedStyle) {
     8                     return  window.getComputedStyle(element,null);
     9                 }else if(element.currentStyle){
    10                     return element.currentStyle;
    11                 }
    12             }

    应用例子--缓动动画函数:

     1 /**
     2  * 获取样式函数
     3  * @param element 要获取的样式的对象
     4  * return 目标css样式对象
     5  * */
     6 function getStyle(element) {
     7     if(window.getComputedStyle) {
     8         return  window.getComputedStyle(element,null);
     9     }else if(element.currentStyle){
    10         return element.currentStyle;
    11     }
    12 }
    13 
    14 /**
    15  * 动画函数
    16  * @param element html标签
    17  * @param attr 标签属性
    18  * @param target 目标参数
    19  * */
    20 function  animate(element,obj) {
    21     clearInterval(element.timer);
    22     element.timer = setInterval(function () {
    23         var flag = true;
    24         for(var attr in obj){
    25             // 在for in 的内部要区别开到底是透明度还是像素px的变化
    26             if( attr == "opacity") {
    27                 var current = getStyle(element)[attr];
    28                 var target = obj[attr];
    29                 current = current * 100;
    30                 target = target * 100;
    31                 // Math.round() 函数返回一个数字四舍五入后最接近的整数值。
    32                 current = Math.round(current);
    33                 var step = (target - current) / 10;
    34                 current += current <=  target ? Math.ceil(step):Math.floor(step);
    35                 if(current != target) {
    36                     flag = false;
    37                 }
    38                 // element.style.left等
    39                 element.style[attr] = current / 100;
    40             }else if(attr == "zIndex"){
    41                 element.style[attr] = obj[attr];
    42             } else{
    43                 var current = parseInt(getStyle(element)[attr]);
    44                 var target = obj[attr];
    45                 var step = (target - current) / 10;
    46                 current += current <=  target ? Math.ceil(step):Math.floor(step);
    47                 if(current != target) {
    48                     flag = false;
    49                 }
    50                 // element.style.left等
    51                 element.style[attr] = current+ "px";
    52             }
    53         }
    54         if(flag) {
    55             clearInterval(element.timer);
    56         }
    57     },40);
    58 }

     七.pageX、pageY还有event、clientX、clientY等兼容

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6     <style>
     7         *{
     8             margin: 0;
     9             padding: 0;
    10         }
    11         .box {
    12              200px;
    13             height: 200px;
    14             background-color: pink;
    15             margin-top:1000px;
    16             margin-left:100px;
    17             margin-bottom:100px;
    18             position: absolute;
    19             /*left: 100px;*/
    20 
    21         }
    22         .txt {
    23             color: red;
    24             font-size: 20px;
    25         }
    26     </style>
    27 </head>
    28 <body>
    29         <div class="box" id="box">
    30              200px<br>
    31             height: 200px<br>
    32             background-color: pink<br>
    33             margin-top:1000px<br>
    34             margin-left:100px<br>
    35             margin-bottom:100px<br>
    36             <h2 class="txt" id="txt" ></h2>
    37         </div>
    38 
    39 </body>
    40 </html>
    41 <script>
    42     /*封装event*/
    43     var eventTool =  {
    44         getEvent : function (event) {
    45             return  event || window.event;
    46         },
    47 
    48         getClienX: function (event) {
    49            return this.getEvent(event).clientX;
    50         },
    51         getClienY: function (event) {
    52             return this.getEvent(event).clientY;
    53         },
    54         getPageY : function () {
    55             // pageY = 页面滚动出去垂直距离 + 事件在当前视口的距离
    56             return (window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop || 0) + this.getClienY(event);
    57         },
    58 
    59         getPageX : function () {
    60             // pageX = 页面滚动出去横向距离 + 事件在当前视口的距离
    61             return (window.pageXOffset || document.body.scrollLeft || document.documentElement.scrollLeft || 0) + this.getClienX(event);
    62         }
    63 
    64     }
    65     var box = document.getElementById('box');
    66     var txt = document.getElementById('txt');
    67     box.onclick = function (event) {
    68         // ie8下event兼容
    69 //        var event = eventTool.getEvent(event);
    70 //        console.log(event);
    71 //        pageY = 页面滚动出去垂直距离 + 事件在当前视口的距离
    72 //        console.log(window.pageYOffset + event.clientY);
    73 //        console.log(window.pageYOffset);
    74 //        console.log(event.pageY);
    75 
    76         console.log(eventTool.getPageY(event));
    77         txt.innerHTML = eventTool.getPageX(event);
    78 //        txt.innerHTML += eventTool.getClienY(event);
    79 //        txt.innerHTML = "pageX:"+event.pageX+"<br> pageY:"+event.pageY;
    80 
    81         // 获取window滚动条滚动的距离window.pageYOffset/scrollY的别名 window.pageXOffset/ scrollX的别名
    82 
    83     }
    84 </script>

    封装写法

    eventTool.js

     1 /*封装eventTool*/
     2 var eventTool =  {
     3     getEvent : function (event) {
     4         return  event || window.event;
     5     },
     6 
     7     getClienX: function (event) {
     8         return this.getEvent(event).clientX;
     9     },
    10     getClienY: function (event) {
    11         return this.getEvent(event).clientY;
    12     },
    13     getPageY : function () {
    14         // pageY = 页面滚动出去垂直距离 + 事件在当前视口的距离
    15         return (window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop || 0) + this.getClienY(event);
    16     },
    17 
    18     getPageX : function () {
    19         // pageX = 页面滚动出去横向距离 + 事件在当前视口的距离
    20         return (window.pageXOffset || document.body.scrollLeft || document.documentElement.scrollLeft || 0) + this.getClienX(event);
    21     }
    22 
    23 }

     封装方法2:

     my.js

     1 function $(id) {return document.getElementById(id);}
     2 function show(obj) { obj.style.display = "block";}
     3 function hide(obj) { obj.style.display = "none";}
     4 function scroll() {
     5     if(window.pageYOffset != null)  //  ie9+ 和其他浏览器
     6     {
     7         return {
     8             left: window.pageXOffset,
     9             top: window.pageYOffset
    10         }
    11     }
    12     else if(document.compatMode == "CSS1Compat")  // 声明的了 DTD
    13     // 检测是不是怪异模式的浏览器 -- 就是没有 声明<!DOCTYPE html>
    14     {
    15         return {
    16             left: document.documentElement.scrollLeft,
    17             top: document.documentElement.scrollTop
    18         }
    19     }
    20     return { //  剩下的肯定是怪异模式的
    21         left: document.body.scrollLeft,
    22         top: document.body.scrollTop
    23     }
    24 }

    使用例子--返回顶部小火箭:

      1 <!DOCTYPE html>
      2 <html lang="en">
      3 <head>
      4     <meta charset="UTF-8">
      5     <title>Title</title>
      6     <style>
      7         body{
      8              2000px;
      9         }
     10         .top{
     11             position: fixed;
     12             right: 50px;
     13             bottom: 100px;
     14             display: none;
     15         }
     16 
     17     </style>
     18     <script src="my.js"></script>
     19     <script>
     20         window.onload = function () {
     21             var goTop = $("gotop");
     22             window.onscroll = function () {
     23                 scroll().top > 0 ?show(goTop) : hide(goTop);
     24                 leader = scroll().top; // 把减去的头部给起始位置
     25                 console.log(scroll().top);
     26             }
     27 
     28             var leader = 0,target = 0 ,timer = null;
     29             goTop.onclick = function () {
     30                 target = 0;
     31                 timer = setInterval(function () {
     32                     leader = leader + (target - leader) / 10;
     33                     window.scrollTo(0,leader); // 去往页面的某个位置
     34                     if(leader == target) {
     35                         clearInterval(timer);
     36                     }
     37                 },20);
     38             }
     39         }
     40     </script>
     41 </head>
     42 <body>
     43     <div id="gotop" class="top">
     44         <img src="images/Top.jpg" alt="">
     45     </div>
     46  <p>我是顶部</p>
     47  <p>我是内容部分</p>
     48  <p>我是内容部分</p>
     49  <p>我是内容部分</p>
     50  <p>我是内容部分</p>
     51  <p>我是内容部分</p>
     52  <p>我是内容部分</p>
     53  <p>我是内容部分</p>
     54  <p>我是内容部分</p>
     55  <p>我是内容部分</p>
     56  <p>我是内容部分</p>
     57  <p>我是内容部分</p>
     58  <p>我是内容部分</p>
     59  <p>我是内容部分</p>
     60  <p>我是内容部分</p>
     61  <p>我是内容部分</p>
     62  <p>我是内容部分</p>
     63  <p>我是内容部分</p>
     64  <p>我是内容部分</p>
     65  <p>我是内容部分</p>
     66  <p>我是内容部分</p>
     67  <p>我是内容部分</p>
     68  <p>我是内容部分</p>
     69  <p>我是内容部分</p>
     70  <p>我是内容部分</p>
     71  <p>我是内容部分</p>
     72  <p>我是内容部分</p>
     73  <p>我是内容部分</p>
     74  <p>我是内容部分</p>
     75  <p>我是内容部分</p>
     76  <p>我是内容部分</p>
     77  <p>我是内容部分</p>
     78  <p>我是内容部分</p>
     79  <p>我是内容部分</p>
     80  <p>我是内容部分</p>
     81  <p>我是内容部分</p>
     82  <p>我是内容部分</p>
     83  <p>我是内容部分</p>
     84  <p>我是内容部分</p>
     85  <p>我是内容部分</p>
     86  <p>我是内容部分</p>
     87  <p>我是内容部分</p>
     88  <p>我是内容部分</p>
     89  <p>我是内容部分</p>
     90  <p>我是内容部分</p>
     91  <p>我是内容部分</p>
     92  <p>我是内容部分</p>
     93  <p>我是内容部分</p>
     94  <p>我是内容部分</p>
     95  <p>我是内容部分</p>
     96  <p>我是内容部分</p>
     97  <p>我是内容部分</p>
     98  <p>我是内容部分</p>
     99  <p>我是内容部分</p>
    100  <p>我是内容部分</p>
    101  <p>我是内容部分</p>
    102  <p>我是内容部分</p>
    103  <p>我是内容部分</p>
    104  <p>我是内容部分</p>
    105  <p>我是内容部分</p>
    106  <p>我是内容部分</p>
    107  <p>我是内容部分</p>
    108  <p>我是内容部分</p>
    109  <p>我是内容部分</p>
    110  <p>我是内容部分</p>
    111  <p>我是内容部分</p>
    112  <p>我是内容部分</p>
    113  <p>我是内容部分</p>
    114  <p>我是内容部分</p>
    115  <p>我是内容部分</p>
    116  <p>我是内容部分</p>
    117  <p>我是内容部分</p>
    118  <p>我是内容部分</p>
    119  <p>我是内容部分</p>
    120  <p>我是内容部分</p>
    121  <p>我是内容部分</p>
    122  <p>我是内容部分</p>
    123  <p>我是内容部分</p>
    124  <p>我是内容部分</p>
    125  <p>我是内容部分</p>
    126  <p>我是内容部分</p>
    127  <p>我是内容部分</p>
    128  <p>我是内容部分</p>
    129  <p>我是内容部分</p>
    130  <p>我是内容部分</p>
    131  <p>我是内容部分</p>
    132  <p>我是内容部分</p>
    133  <p>我是内容部分</p>
    134  <p>我是内容部分</p>
    135  <p>我是内容部分</p>
    136  <p>我是内容部分</p>
    137  <p>我是内容部分</p>
    138  <p>我是内容部分</p>
    139  <p>我是内容部分</p>
    140  <p>我是内容部分</p>
    141  <p>我是内容部分</p>
    142  <p>我是内容部分</p>
    143  <p>我是内容部分</p>
    144  <p>我是内容部分</p>
    145  <p>我是内容部分</p>
    146  <p>我是内容部分</p>
    147  <p>我是内容部分</p>
    148  <p>我是内容部分</p>
    149  <p>我是内容部分</p>
    150  <p>我是内容部分</p>
    151  <p>我是内容部分</p>
    152  <p>我是内容部分</p>
    153  <p>我是内容部分</p>
    154  <p>我是内容部分</p>
    155  <p>我是内容部分</p>
    156  <p>我是内容部分</p>
    157  <p>我是内容部分</p>
    158  <p>我是内容部分</p>
    159  <p>我是内容部分</p>
    160  <p>我是内容部分</p>
    161  <p>我是内容部分</p>
    162  <p>我是内容部分</p>
    163  <p>我是内容部分</p>
    164  <p>我是内容部分</p>
    165  <p>我是内容部分</p>
    166  <p>我是内容部分</p>
    167  <p>我是内容部分</p>
    168  <p>我是内容部分</p>
    169  <p>我是内容部分</p>
    170  <p>我是内容部分</p>
    171  <p>我是内容部分</p>
    172  <p>我是内容部分</p>
    173  <p>我是内容部分</p>
    174  <p>我是内容部分</p>
    175  <p>我是内容部分</p>
    176  <p>我是内容部分</p>
    177  <p>我是内容部分</p>
    178  <p>我是内容部分</p>
    179  <p>我是内容部分</p>
    180  <p>我是内容部分</p>
    181  <p>我是底部</p>
    182 </body>
    183 </html>
    View Code

    目前暂时那么多,遇到就更新!

  • 相关阅读:
    .net core 3.0中可以使用gRPC了
    Java clone() 浅克隆与深度克隆(转)
    CENTOS下搭建SVN服务器(转)
    设置eclipse不同的workspace共享配置
    在Eclipse添加Android兼容包( v4、v7 appcompat )(转)
    【原创】Nginx+PHP-FPM优化技巧总结(转)
    【汇总】PHP-FPM 配置优化(转)
    nginx File not found 错误(转)
    nginx php-fpm安装配置(转)
    nginx优化(转)
  • 原文地址:https://www.cnblogs.com/mrszhou/p/7705654.html
Copyright © 2011-2022 走看看