• 转:IE7远程客户端本地预览图片的解决办法(兼容IE6)


    转自:http://hi.baidu.com/xiyu_ok/blog/item/9f7af2de2b12ba5ecdbf1a6e.html
    IE7 不再支持本地图片预览?

    如下代码:

    <img src="file:///C:/Documents%20and%20Settings/user/桌面/1.gif">

    是显示客户端桌面上文件名为 1.gif 的图片,在 IE6.0 及以前,可以显示该图片。而 IE7.0 及 FF 中,均不能显示该图片。不过 IE7.0 中有一个例外,就是如果该段代码所处的网页位于本地机上(Web 服务与浏览器为同一机器),则可以显示。

    为了实现在 IE7 中预览本地图片,可使用 AlphaImageLoader,查看解决办法见下:

    ---------------

    在 IE6 中,可以很方便地利用 img 的 src 属性,实现本地图片预览,然而在 IE7 中,这种办法却行不通。需要用 AlphaImageLoader


    AlphaImageLoader

    说明:

    在对象容器边界内,在对象的背景和内容之间显示一张图片。并提供对此图片的剪切和改变尺寸的操作。如果载入的是PNG(Portable Network Graphics)格式,则0%-100%的透明度也被提供。

    语法:

    filter : progid:DXImageTransform.Microsoft.AlphaImageLoader ( enabled=bEnabled , sizingMethod=sSize , src=sURL )

    enabled:可选项。布尔值(Boolean)。设置或检索滤镜是否激活。
    true:默认值。滤镜激活。
    false:滤镜被禁止。

    sizingMethod:可选项。字符串(String)。设置或检索滤镜作用的对象的图片在对象容器边界内的显示方式。
    crop:剪切图片以适应对象尺寸。
    image:默认值。增大或减小对象的尺寸边界以适应图片的尺寸。
    scale:缩放图片以适应对象的尺寸边界。

    src:必选项。字符串(String)。使用绝对或相对 url 地址指定背景图像。假如忽略此参数,滤镜将不会作用。


    具体操作:

    1. 为预览区域(比如要在某个 div 中预览)添加样式:filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);
    2. 为 AlphaImageLoader 设置 src 属性。

    示例代码:

    <?xml version="1.0" encoding="gb2312"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
    http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="
    http://www.w3.org/1999/xhtml">

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>本地图片预览代码(支持 IE6、IE7)</title>
    <style type="text/css">
    #newPreview
    {
        filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);
    }
    </style>
    <script type="text/javascript" language="javascript">
    <!--
    function PreviewImg(imgFile)
    {
        //原来的预览代码,不支持 IE7
        var oldPreview = document.getElementById("oldPreview");
        oldPreview.innerHTML = "<img src=\"
    file:\\\\" + imgFile.value + "\" width=\"80\" height=\"60\" />";
       
        //新的预览代码,支持 IE6、IE7
        var newPreview = document.getElementById("newPreview");
        newPreview.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgFile.value;
        newPreview.style.width = "80px";
        newPreview.style.height = "60px";
    }
    -->
    </script>
    </head>

    <body>

    <p>说明:以下针对的是互联网情况,如果您在本地作测试,比如输入的地址是:http://127.0.0.1/...,则可以看到全部预览。</p>

    <hr />

    <p>如果您使用的是 IE6,则可以看到以下预览;如果您使用的是 IE7,则看不到以下预览。</p>
    <div id="oldPreview"></div>

    <hr />

    <p>不论您使用的是 IE6 还是 IE7,均可以看到以下预览。</p>
    <div id="newPreview"></div>

    <hr />

    <p>请选择一个图片进行预览:<input type="file" size="20" onchange="javascript :PreviewImg(this);" /></p>

    </body>

    </html>

    --------------------------------------------------------------------------------------------

    --------------------------------------------------------------------------------------------

    javascript firefox不显示本地预览图片问题解决

    在Firefox一直不能用js做出图片预览的效果,下面这个即可解决,用替换的方法实现firefox支持得的路径格式

    <img id="img1" src=""/>
    <script>
    function fileChange(obj) {
    var url = obj.value url = "file:///" + url.replace("\\",'/');
    alert(url);
    document.getElementById("img1").src= url;
    }
    </script>
    <input type="file" onchange="fileChange(this);" />


    关键是:url = "file:///" + url.replace("\\",'/');

  • 相关阅读:
    一个好用的网站生成工具
    golang sync.Cond 类
    go语言的一些特性
    git 指令如何撤销一次merge
    k8s学习(二)——etcdctl工具的使用
    python numpy array 的一些问题
    (转) Python Generators(生成器)——yield关键字
    shell 括号学习
    zsh
    vim 常用命令总结
  • 原文地址:https://www.cnblogs.com/wantingqiang/p/1444120.html
Copyright © 2020-2023  润新知