• 谷歌浏览器内核Cef js代码整理(一)


    尊重作者原创,未经作者允许不得转载!作者:xtfnpgy,原文地址:

    https://www.cnblogs.com/xtfnpgy/p/9285359.html

    一.js基础知识

    <!--  -->是HTML的注释标签,使用 < 和 > 是符合HTML标签语法规则的。
    //(注释单行)是JS的注释标签

    /* */(注释代码块)是CSS的注释标签  推荐使用!js净化以后不影响

    回车
    等于  ==  
    不等于  !=
    赋值 =
    或且非  ||  && !

    加减乘除 +-*/ 

    类型转换 parseInt(str) parseFloat(str)  str.toString() 

    强制类型转换 Number(str)   String(num) (不适合javascript)

    字符串长度:  str.length
    字符串截取:  str.substr(1,5)
    字符串连接: str1 + str2
    字符串替换: str.replace
    字符串查找: str.indexOf()
    字符串分割: arr = str.split(",")
    字符串固定位置值: str.chatAt(0)  ,类似s[0]
    字符串大小写: str.toLowerCase str.toUpperCase


    Node.childNodes      //获取所有子节点
    Node.firstChild      //返回第一个子节点
    Node.lastChild       //返回最后一个子节点
    Node.parentNode      //返回父节点
    Node.previousSibling //返回前一个节点
    Node.nextSibling     //返回后一个节点
    parentNode.removeChild(childNode);           //移除节点
    parentNode.appendChild(childNode);           //追加节点
    parentNode.insertBefore(newNode, targetNode) //插入节点 
    ele.fireEvent('onchange', oEvent);           //激活事件

    二、登录例子

      var ele_user=document.getElementById('txtUserName');

      var ele_pwd=document.getElementByName('txtPassword')[0];

      var ele_login=document.getElementByClassName('login')[0];

      ele_user.setAttribute('value','admin');                   

      ele_pwd.setAttribute('value','admin');

      function ClickElement(AObj) {
        AObj.target = '_self';

        var e = document.createEvent("MouseEvent");  /*事件名Cef1区分大小写*/

        e.initEvent("click", true, true);                            /*click必须小写!*/

        AObj.dispatchEvent(e);
     } ;                                                                         /*结尾必须加分号";"*/

     ClickElement(ele_login);                                        /*点击登录*/

    三、获取元素及属性

    1.getElementById

    var ele_user=document.getElementById('txtUserName');

    2.getElementsByName  

    var ele_user=document.getElementsByName('userName')[0];  /*取集合的第一个元素*/

    3.getElementsByTagName /*根据元素类型标识元素*/

    /*常用Tag:HTML FRAME FORM TABLE TR TD DIV SPAN A INPUT IMG (不区分大小写)*/

    var ele = document.getElementsByTagName('html')[0];

    alert(ele.innerHTML);

    4.getElementsByClassName /*根据元素class获取元素*/

    var ele = document.getElementsByClassName('form-control')[0];

    alert(ele.innerHTML);

    四、元素常用属性

    1.可以直接用.操作的

    ele.id

    ele.name

    ele.className  /*区分大小写,源代码对应class*/

    ele.type           /*type属性*/

    ele.value         /*输入的值*/

    ele.href

    ele.innerText   /*显示的文本内容,例如标签*/

    ele.innerHTML

    ele.outerHTML

    2.其他属性获取和设置
    style 不能直接.获取,必须通过getAttribute获取

    ele.getAttribute('onClick'); //不存在返回null

    ele.setAttribute('onClick', null);

    五、扩展方法

    1.JavaScript 遍历页面中所有的元素
    function GetAllElements(tag)
    {
      var nodes;
      var s; 
      var temp;
      if((tag=="")  || (tag==null))
     {nodes = document.all;}
      else
     {nodes = document.getElementsByTagName(tag);}
      for(var i=0;i<nodes.length;i++)
      {  
        var o = nodes[i]; 
        temp = i+'  id:'+o.id +',name:' + o.name +',tagName:'+ o.tagName ; 
        if(tag=='A')
       {
        temp = temp + ',innerText:' + o.innerText+ ',href:' + o.href+" "; 
        } 
        else if((tag=='SPAN')||(tag=='DIV'))
       {
        temp = temp + ',innerText:' + o.innerText+ ',className:' + o.className+" ";
        } 
        else if(tag=='IMG')
       {
        temp=temp + ',src:' + o.src+" "; 
        } 
       else
       {
         if((o.innerText=="") || (o.innerText==null))
         {
         if((o.innerHTML=="") || (o.innerHTML==null))
         {temp = temp + ',outerHTML:' + o.outerHTML+" ";}
         else
         {temp = temp + ',innerHTML:' + o.innerHTML+" "; }
          }
          else
         {temp = temp + ',innerText:' + o.innerText+" "; }
        } 
       if(temp.length>100)
       { temp = temp.substr(1,100)+" ";}
       s = s + temp;
      }  
      alert(s);
    };

    /*调用:GetAllElements('');  GetAllElements('A'); */

    2.JavaScript 遍历元素所有的属性
      function GetAllAttributes(obj)
      {
        var s='';
        if(obj!=null)
        {
          for(var i=0;      i<obj.attributes.length;      i++)
          {
            s=s+obj.attributes[i].name+':'+obj.attributes[i].value+' ';        
          }      
        }
        return s;    

      }  ;

    调用:

    var ele = document.getElementById('login');

    alert(GetAllAttributes(ele));

    3.JavaScript 遍历元素所有子节点
      function GetAllChilds(obj)
      {
        var s='';
        if(obj!=null)
        {
          for(var i=0;  i<obj.childNodes.length;      i++)
          {
            s=s+obj.childNodes[i].innerHTML+' ';        
          }      
        }
        return s;    
      } ;

    调用:

    var ele = document.getElementByTagName('HTML')[0];

    alert(GetAllChilds(ele));

    4.根据元素属性获取元素

    function GetElementByTagProperty(tag,str_property,str_value,bl_exact)
    {
      var nodes;
      var s; 
      var temp;
      var attr;
      if((tag=="")  || (tag==null))
     {nodes = document.all;}
      else
     {nodes = document.getElementsByTagName(tag);} 
      
      for(var i=0;i<nodes.length;i++)
      {  
        if(str_property == 'innerText'){
          attr = nodes[i].innerText;} else
        if(str_property == 'class'){
          attr = nodes[i].className;} else
        if(str_property == 'classname'){
          attr = nodes[i].className;} else
        if(str_property == 'className'){
          attr = nodes[i].className;} else {
          attr =nodes[i].getAttribute(str_property);}
         
        if(bl_exact)
       {
         if(attr==str_value)
         {
          temp=nodes[i];
          }
        }
        else 
        {
         if(attr!=null)
         {
           if(attr.indexOf(str_value)>-1){temp=nodes[i];}
          }
        }
      }  
      return temp;
    }
    调用:

    var o=GetElementByTagProperty('A','id','540219887479',false);

    5.某宝搜索动态插入勾选框元素:

    function AddCheckBoxElement()
    {
      var nodes;
      var ele; 
      var temp;
      nodes = document.getElementsByTagName('A');
      var oCheckbox;


      for(var i=0;i<nodes.length;i++)
      {  
       if(nodes[i].getAttribute('id')!=null)
       {
          if(nodes[i].getAttribute('id').indexOf('J_Itemlist_TLink_')>-1)
          {
           ele = nodes[i];
           temp = ele.getAttribute('id');
           temp = temp.replace('J_Itemlist_TLink_','');   

           oCheckbox=document.createElement("input");
           oCheckbox.setAttribute("type","checkbox");  /*勾选框*/
           oCheckbox.setAttribute("id","chk_" + temp);
           oCheckbox.setAttribute("href",ele.href);
           ele.parentNode.insertBefore(oCheckbox,ele);

           var myText=document.createTextNode("选中"+oCheckbox.id);
           ele.parentNode.insertBefore(myText,ele);

          oCheckbox.addEventListener('click', function(){

             alert(document.activeElement.id + document.activeElement.checked);}, false);

            }
        }
      }  
    }

    AddCheckBoxElement();

    六、其他

    1.定时器

    function doTimer(){ window.location.reload();};  
    执行一次:
    var t1 = window.setTimeout('doTimer()',5000);
    执行多次:
    var t2 = window.setInterval('doTimer()',5000); 
    清除定时器:

    window.clearInterval(t1); 

    2.判断是否IE
    function isIE() { 
     if (!!window.ActiveXObject || "ActiveXObject" in window)
      return true;
      else
      return false;

     };

    3.点击勾选框

           if(isIE()){oCheckbox.attachEvent("onclick",ClickCheckbox); }
           else{

           oCheckbox.addEventListener('click',ClickCheckbox, false);}

    function ClickCheckbox(){

        var evtTarget = event.target || event.srcElement;
        evtTarget.focus();
        if(document.activeElement.getAttribute("attrChecked")=="true")
             {document.activeElement.setAttribute("attrChecked",false) }
               else         {document.activeElement.setAttribute("attrChecked",true) };
              alert('Checked='+document.activeElement.getAttribute("attrChecked")+',href='+
              document.activeElement.getAttribute("href")+',');}

    尊重作者原创,未经作者允许不得转载!作者:xtfnpgy,原文地址:

    https://www.cnblogs.com/xtfnpgy/p/9285359.html


  • 相关阅读:
    工厂方法
    简单工厂
    单例模式
    MVC中Cookies的简单读写操作
    windows服务开启(收藏url)
    WCF的三种模式
    SvcUtil.exe导入WCF
    简述wcf应用
    sql的几种常用锁简述
    Lucene.Net和盘古分词应用
  • 原文地址:https://www.cnblogs.com/xtfnpgy/p/9285359.html
Copyright © 2020-2023  润新知