zoukankan      html  css  js  c++  java
  • 用JS 判断图片已经加载完成(兼容IE 和 Firefox)

    js 判断图片已经加载完成 是一个很常见的问题,网上也有很多的解决方案。但是运行后很多都不兼容,或者
    说,存在一些奇怪的问题。一种解决方案是都用onload。因为onload 在ie 下有同步方面的问题。
    所以,我用了 onreadystatechange 。 代码和 使用方法如下:
    <script>
    function SImage(callback)
    {
        
    var img = new Image();
        
    this.img = img;
        
    var appname = navigator.appName.toLowerCase();
        
    if (appname.indexOf("netscape"== -1)
        {
           //ie
            img.onreadystatechange 
    = function () {
                
    if (img.readyState == "complete")
                {
                    callback(img);
                }
            };
        } 
    else {
           //firefox
            img.onload 
    = function () {
                
    if (img.complete == true)
                {
                    callback(img);
                }
            }
        }
    }

    SImage.prototype.get 
    = function (url)
    {
        
    this.img.src = url;
    }

    var img = new SImage(icall);
    img.get(
    "http://space.cnblogs.com/images/logo.gif");

    function icall(obj)
    {
        alert(obj.width);
    }
    </script>

    这段代码可以实现 获取一个远程图片的宽度。
  • 相关阅读:
    缓慢变化纬的解决方法
    行转列且有序
    异常处理
    继承
    js的隐式转化
    初步了解微任务
    axios中断请求AbortController
    Vue解决V-HTML指令潜在的XSS攻击('v-html' directive can lead to XSS attack vue/no-v-html)
    axios下载后台传过来的流文件并设置下载文件名(如excel)
    axios异步获取文件流数据
  • 原文地址:https://www.cnblogs.com/niniwzw/p/1555281.html
Copyright © 2011-2022 走看看