Js常用逻辑函数

if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
                window.location.href ="https://itunes.apple.com/cn/app/1hao-yao-dian/id727578007?mt=8";
        } else if (/(Android)/i.test(navigator.userAgent)) {
                window.location.href ="https://itunes.apple.com/cn/app/1hao-yao-dian/id727578007?mt=8";
        } else {
                 window.location.href ="http://www.111.com.cn/";
        };

<script type="text/javascript">
// 懒人建站 http://www.51xuediannao.com/
function loadJsCss(filename, filetype){
    if (filetype=="js")
    {
      var fileref=document.createElement('script')//创建标签
      fileref.setAttribute("type","text/javascript")//定义属性type的值为text/javascript
      fileref.setAttribute("src", filename)//文件的地址
    }
    else if (filetype=="css")
    { 
      var fileref=document.createElement("link")
      fileref.setAttribute("rel", "stylesheet")
      fileref.setAttribute("type", "text/css") 
      fileref.setAttribute("href", filename)
    }
    if (typeof fileref!="undefined")
    {
      document.getElementsByTagName("head")[0].appendChild(fileref)
    }
} 

loadJsCss("css/base.js", "js") //打开页面时浏览器动态的加载js文件
loadJsCss("test.php", "js") // 打开页面时浏览器动态的加载"javascript.php" ,
loadJsCss("css/base.css", "css") //打开页面时浏览器动态的加载css 文件
</script> 
复制代码


 

jascript中常见的几个兼容问题


1.获取前一个或后一个元素:

        高级浏览器----------obj.previousElementSibling(前一个)        obj.nextElementSibling (后一个);

        兼容IE6、7、8-----obj.previousElementSibling(前一个)        obj.nextSibling(后一个);

2.获取第一或最后一个元素:

        高级浏览器----------父级.firstElementChild(第一个)        父级.lastElementChild (最后一个);

        兼容IE6、7、8-----父级.firstChild(第一个)                        父级.lastChild(最后一个);

3.获取滚动距离的:

        document.documentElement.scroll+方向---------兼容IE和Firefox

        document.body.scroll+方向------------------------兼容chrome

4.事件对象的兼容:

        ev                        兼容高版本浏览器

        event                        兼容IE和Chrome

5.事件委托:

        oEvent.srcElement                兼容IE和Chrome

        oEvent.target                        兼容Firefox

6.事件绑定:

        添加绑定        obj.addEventListener(sEv,fn,false)        

        删除绑定        obj.removeEventListener(sEv,fn,false)                        兼容高版本浏览器

        添加绑定        obj.attachEvent('on'+sEv,fn)

        删除绑定        obj.detachEvent('on'+sEv,fn)                                兼容Firefox

7.鼠标滚轮:

        onmouseWheel                                兼容Chrome和IE
        oEvent.wheelDelta                        获取方向
                                                        下                -120
                                                        上                120

        DOMMouseScroll                                兼容Firefox

        oEvent.detail                                获取方向
                                                        下                3
                                                        上                -3
8.onmouseover的bug:

        oEvent.fromeElement                        兼容IE和Chrome
        oEvent.releateTarget                        兼容高级浏览器

9.onmouseout的bug:

        oEvent.toElement                        兼容IE和Chrome
        oEvent.releateTarget                        兼容高级浏览器

加载样式表

function loadStyle (url) {
    var flag = true;
    if (flag) {
        var style = document.createElement('style');
        style.rel = 'stylesheet';
        style.type ='text/css';
        style.href = url;
        document.getElementsByTagName('head')[0].appendChild(style);
    };
}

动态加载脚本

function loadScript (url) {
    var flag = true;
    if (flag) {
        var script = document.createElement('script');
script.type = 'text/javascript';
script.src = url;

        document.getElementsByTagName('head')[0].appendChild(script);
    };
}
判断pc、iOSAndroid设备

function checkPhone(){ var u=navigator.userAgent; return { trident:u.indexOf('Trident')>-1, presto:u.indexOf('Presto')>-1, webKit:u.indexOf('AppleWebKit')>-1, gecko:u.indexOf('Gecko')>-1 && u.indexOf('KHTML')==-1, mobile:!!u.match(/AppleWebKit.*Mobile.*/) || !!u.match(/AppleWebKit/), ios:!!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), android:u.indexOf('Android')>-1 || u.indexOf('Linux')>-1, iPhone:u.indexOf("iPod")>-1 || u.indexOf('iPhone')>-1, iPad:u.indexOf('iPad')>-1, webApp:u.indexOf('Safari')==-1 }; } //使用 var nav=checkPhone(); if(nav.iPhone || nav.iPad){ alert("IOS设备"); }else if(nav.android){ alert("安卓设备"); }else{ alert("可以按照PC设备处理了"); }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值