美文网首页
利用css(w3c浏览器)/js(ie)将网站置灰

利用css(w3c浏览器)/js(ie)将网站置灰

作者: jack_rofer | 来源:发表于2020-04-04 20:42 被阅读0次

    导读:

    基本是按照张鑫旭大佬的方法,依葫芦画瓢。

    一.w3c浏览器实现方法(ie9以上不支持)
            -webkit-filter: grayscale(100%);
            -moz-filter: grayscale(100%);
            -ms-filter: grayscale(100%);
            -o-filter: grayscale(100%);
            filter: grayscale(100%);
            filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);
    
    二.ie浏览器实现方法
    <script>
      if(window.ActiveXObject || "ActiveXObject" in window){
           console.log("我是ie浏览器")
        
            var scriptNode = document.createElement("script");
            scriptNode.type = 'text/javascript'
            scriptNode.src = 'http://james.padolsey.com/demos/grayscale/grayscale.js'
            document.body.appendChild(scriptNode);
    
            scriptNode.onload=scriptNode.onreadystatechange=function(){
                if(!this.readyState||this.readyState=='loaded'||this.readyState=='complete'){
                    grayscale(document.getElementsByTagName('body'));
                    console.log('done');
    
                }
    
            }    
      }
    </script>
    
    三.整体代码
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    
    <style>
        body{
            /* filter: grayscale(100%) blur(1px);  */ 
            /* blur 模糊程度 */
            -webkit-filter: grayscale(100%);
            -moz-filter: grayscale(100%);
            -ms-filter: grayscale(100%);
            -o-filter: grayscale(100%);
            filter: grayscale(100%);
            filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);
        }
        .container{
            width: 100px;
            height: 100px;
            background-color: red;
        }
        .container2{
            width: 100px;
            height: 100px;  
        }
        .container2 img{
            width: 100%;
            height: 100%;
        }
    </style>
    <body>
        <div class="container"></div>
        <div class="container2">
            <img src="./851207.jpg"> 
            <!-- 随便插一张图片好了 -->
        </div>
    
    </body>
    
    <script>
      if(window.ActiveXObject || "ActiveXObject" in window){
           console.log("我是ie浏览器")
        
            var scriptNode = document.createElement("script");
            scriptNode.type = 'text/javascript'
            scriptNode.src = 'http://james.padolsey.com/demos/grayscale/grayscale.js'
            document.body.appendChild(scriptNode);
    
            scriptNode.onload=scriptNode.onreadystatechange=function(){
                if(!this.readyState||this.readyState=='loaded'||this.readyState=='complete'){
                    grayscale(document.getElementsByTagName('body'));
                    console.log('done');
    
                }
    
            }    
      }
    </script>
    </html>
    
    四.相关知识参考

    1.各大浏览器对filter的支持
    2.来自张鑫旭大佬的使用CSS将图片转换成黑白的方案
    3.JS判断各种浏览器,根据判断动态引入不同的CSS文件、JS文件
    4.判断引入的js文件是否加载完毕

    相关文章

      网友评论

          本文标题:利用css(w3c浏览器)/js(ie)将网站置灰

          本文链接:https://www.haomeiwen.com/subject/wydsphtx.html