成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

努力加強(qiáng)ie8到ie9 polyfill水平 徹底拋棄老舊瀏覽器ie8

wuyangnju / 1427人閱讀

摘要:不知道大家對(duì)有什么看法很多人在說(shuō)要兼容的理由的時(shí)候總是用百度的調(diào)查指數(shù)其實(shí)有一個(gè)問(wèn)題百度中有很大一部分可能是這類的瀏覽器必須退出歷史舞臺(tái)并且我們還要和設(shè)計(jì)做出表態(tài)不能無(wú)限制搞出新設(shè)計(jì)長(zhǎng)久以來(lái)有展示頁(yè)面也有企業(yè)應(yīng)用頁(yè)面但是都有一個(gè)問(wèn)題被限制了

不知道大家對(duì)ie8有什么看法

很多人在說(shuō)ie8要兼容的理由的時(shí)候總是用百度的調(diào)查指數(shù) 其實(shí)有一個(gè)問(wèn)題 百度中ie8有很大一部分可能是360這類的瀏覽器

ie8必須退出歷史舞臺(tái) 并且我們還要和設(shè)計(jì)做出表態(tài) 不能無(wú)限制搞出新設(shè)計(jì)

長(zhǎng)久以來(lái)web 有 展示頁(yè)面 也有企業(yè)應(yīng)用頁(yè)面 但是都有一個(gè)問(wèn)題 被限制了加載資源總數(shù)
有的時(shí)候我在想web開發(fā)者真牛 用比別人少得資源完成比別人多的功能
不要說(shuō)android swift難

你是說(shuō)那個(gè)不停拖控件 不停加第三方服務(wù) 不用考慮安裝大小的開發(fā)嗎 這個(gè)模板隨時(shí)會(huì)改
    
    
    
    
ie8 js加強(qiáng)的問(wèn)題 es5

es5-shim
es5-sham

必須的

ie8 dom

感謝 webreflection

ie8
dom4

dom4中classlist必須啊

ie8 document.querySelector

ie8 document.querySelector 無(wú)法使用css3 selector
為了提供css :last-of-type 支持 其實(shí)css3大部分都可以改寫方法支持 不過(guò)沒(méi)必要

我寫了個(gè)polyfill 用來(lái)支持 :last-of-type

我可以保證絕對(duì)沒(méi)測(cè)試過(guò) 目前只確保我用的幾個(gè)格式可以 只是提供思路
(function () {
    "use strict";
    var _querySelector = document.querySelector;

    try {
        // Can"t be used with css3 selector in IE < 9
        _querySelector.call(document, "head *:last-child");
    } catch (e) { // Fails in IE < 9
        var preSelector = "";
        var afterSelector = "";
        document.querySelector = function(selector) {
            var par = ":last-of-type";
            if (selector.indexOf(par) > -1) {
                var selRex = new RegExp("([ws.#])+(?="+par+")", "g");
                preSelector = selector.match(selRex);

                if (!preSelector) {
                    return null;
                }
                var allList = document.querySelectorAll(preSelector);
                if (!allList || allList.length < 1) {
                    return null;
                }
                var lastEle = allList.item(allList.length - 1);

                afterSelector = selector.replace(preSelector, "").replace(par, "").trim();
                if (afterSelector != "") {
                    return lastEle.querySelector(afterSelector);
                }
                return lastEle;
            }
            return _querySelector.call(document, selector);
        }
    }
}());
ie8 css加強(qiáng)問(wèn)題

如果你有個(gè)css預(yù)處理器 完全可以在處理的時(shí)候 把內(nèi)容以json字符串的格式統(tǒng)一放到一個(gè)元素的font-family里嗎

postcss 還是實(shí)現(xiàn)簡(jiǎn)單點(diǎn) sass有點(diǎn)玩的花了 然而postcss沒(méi)時(shí)間寫具體實(shí)現(xiàn)

比如我喜歡使用sass

我自己就用這種方案解決了vw vh的問(wèn)題 而且?guī)缀醪挥檬裁吹却?只會(huì)閃一下

$polyfill: () !global;

@mixin set-value($selector, $map: ()) {
    $polyfill: map-deep-set($polyfill, $selector, $map) !global;
    @each $key, $value in $map {
        #{$key}: #{$value}
    }
}

@mixin easy-set($map) {
    @include set-value("#{&}", $map);
}

$setUnit-debug: false !global;

@function setUnit($val, $parentWidth, $unit) {
    @if $setUnit-debug {
        @return $val + px;
    } @else {
        @return ($val / $parentWidth) * 100 + $unit;
    }
}

@function vw($unit) {
    @return setUnit($unit, $designWidth, vw);
}

@function vh($unit) {
    @return setUnit($unit, $designHeight, vh);
}

@mixin polyfill() {
    .item14 {
        .p {
            @include easy-set((
                    padding-left: vw(91),
                    padding-right: vw(91),
                    margin-bottom: vh(69)
            ));
        }
        .intro1 {
            @include easy-set((
                    margin-top: vh(201)
            ));
        }
        input {
            @include easy-set((
                    height: vw(80),
                    line-height: vw(80),
                    font-size: vw(33),
                    padding: vw(20),
                    border-radius: vw(20)
            ));
        }
        textarea {
            @include easy-set((
                    height: vw(220),
                    line-height: vw(60),
                    font-size: vw(33),
                    padding: vw(20),
                    border-radius: vw(20)
            ));
        }
        .btn {
            @include easy-set((
                    width: vw(306),
                    height: vw(83),
                    font-size: vw(40),
                    border-radius: vw(20),
                    margin-top: vh(136)
            ));
        }
    }
}

@include polyfill();

@include json-encode($polyfill);

大概思路就是使用sass將需要更改的selector信息組成json字符串放置到head font-family里
這樣可以隨時(shí)保持更新 加快速度 js讀取相關(guān)json 再一個(gè)一個(gè)添加上去 不限定什么selector 目前我使用querySelectorAll 速度還是有點(diǎn)慢 不過(guò)只需要一閃一下就可以轉(zhuǎn)變

        var content = window.getComputedStyle(
                document.querySelector("head")
        ).fontFamily.replace(//g, "").replace(/"/g, "");

        var viewportwidth = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
        var viewportheight = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);

        function rel(propval, unit) {
            return parseFloat(propval.replace(unit, ""));
        }

        function cal(propval) {
            if (typeof propval != "string") {
                return propval;
            }

            if (propval.indexOf("vw") > -1) {
                return viewportwidth * rel(propval, "vw") / 100 + "px";
            } else if (propval.indexOf("vh") > -1) {
                return viewportheight * rel(propval, "vh") / 100 + "px";
            } else {
                return propval;
            }
        }

        function setVwStyle(ele, cssprops) {
            for (var csspropkey in cssprops) {
                ele.style[csspropkey] = cal(cssprops[csspropkey]);
            }
        }

        var parseobj = ( new Function( "return (" + content + ");" ) )();

        for (var key in parseobj) {
            var elements = Array.prototype.slice.call(document.querySelectorAll(key));
            if (elements) {
                for (var i = 0; i < elements.length; i++) {
                    console.dir(elements[i]);
                    setVwStyle(elements[i], parseobj[key]);
                }
            }
        }

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/78270.html

相關(guān)文章

  • Vue 兼容 ie9 的全面解決方案

    摘要:本文將針對(duì)使用生態(tài)開發(fā)完成的網(wǎng)站,以版本為基礎(chǔ)兼容目標(biāo),實(shí)現(xiàn)全功能正常使用的全面兼容解決方案。這樣做的目的,是逐步減少全局性方法,使得語(yǔ)言逐步模塊化。此外,使用這個(gè),一旦頁(yè)面不處于瀏覽器的當(dāng)前標(biāo)簽,就會(huì)自動(dòng)停止刷新。 前言 背景情況 vue - 2.5.11 vue-cli 使用模板 webpack-simple http請(qǐng)求:axios Vue 官方對(duì)于 ie 瀏覽器版本兼容情...

    codeKK 評(píng)論0 收藏0
  • vue2.0 兼容ie9及其以上

    摘要:官方的意思是項(xiàng)目可以在以上的版本中運(yùn)行但其實(shí)使用構(gòu)建的項(xiàng)目也還是不能在以上的版本中運(yùn)行下面就來(lái)講如何在以上版本中運(yùn)行安裝在項(xiàng)目入口文件,如本項(xiàng)目中的文件中引用修改配置文件到此編譯項(xiàng)目之后該項(xiàng)目就可以成功在以上的瀏覽器中打開 showImg(https://segmentfault.com/img/bVbkQJ9?w=662&h=172);vue官方的意思是vue項(xiàng)目可以在ie8以上的i...

    sunny5541 評(píng)論0 收藏0
  • 編寫大型項(xiàng)目web頁(yè)面 樣式基礎(chǔ)搭建

    摘要:文中的一些方法來(lái)源于我的有出售請(qǐng)大家自行拷貝粘貼顏色要使用代詞加數(shù)字大小形式數(shù)字規(guī)格顏色變量不許由或者方法計(jì)算得出項(xiàng)目顏色基于配色基礎(chǔ)色庫(kù)設(shè)計(jì)師都會(huì)配出來(lái)項(xiàng)目色庫(kù)需要項(xiàng)目去改變?cè)O(shè)計(jì)師文字和前端頁(yè)面開發(fā)者文字必須為同一類 文中sass的一些方法 來(lái)源于我的sassstd zhilizhili-mei zhilizhili-ui npm 有出售 請(qǐng)大家自行拷貝粘貼 showImg(ht...

    smartlion 評(píng)論0 收藏0
  • 編寫大型項(xiàng)目web頁(yè)面 樣式基礎(chǔ)搭建

    摘要:文中的一些方法來(lái)源于我的有出售請(qǐng)大家自行拷貝粘貼顏色要使用代詞加數(shù)字大小形式數(shù)字規(guī)格顏色變量不許由或者方法計(jì)算得出項(xiàng)目顏色基于配色基礎(chǔ)色庫(kù)設(shè)計(jì)師都會(huì)配出來(lái)項(xiàng)目色庫(kù)需要項(xiàng)目去改變?cè)O(shè)計(jì)師文字和前端頁(yè)面開發(fā)者文字必須為同一類 文中sass的一些方法 來(lái)源于我的sassstd zhilizhili-mei zhilizhili-ui npm 有出售 請(qǐng)大家自行拷貝粘貼 showImg(ht...

    Dean 評(píng)論0 收藏0
  • 編寫大型項(xiàng)目web頁(yè)面 樣式基礎(chǔ)搭建

    摘要:文中的一些方法來(lái)源于我的有出售請(qǐng)大家自行拷貝粘貼顏色要使用代詞加數(shù)字大小形式數(shù)字規(guī)格顏色變量不許由或者方法計(jì)算得出項(xiàng)目顏色基于配色基礎(chǔ)色庫(kù)設(shè)計(jì)師都會(huì)配出來(lái)項(xiàng)目色庫(kù)需要項(xiàng)目去改變?cè)O(shè)計(jì)師文字和前端頁(yè)面開發(fā)者文字必須為同一類 文中sass的一些方法 來(lái)源于我的sassstd zhilizhili-mei zhilizhili-ui npm 有出售 請(qǐng)大家自行拷貝粘貼 showImg(ht...

    cppprimer 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<