zoukankan      html  css  js  c++  java
  • 在IE7关闭窗口,上传图片无法预览,window.status无效问题解决办法

    遇到了几个在IE7有问题,但在IE6中使用正常的问题,共三个:

    1、js关闭窗口时老提示的问题。
    2、上传图片时无法预览的问题。
    3、window.status 无效的问题。

    关于第一个,以前在IE6下关闭窗口是这样的,window.opener = null;window.close();在IE7中,这样是不行的,仍然会弹出提示,必须在中间加一句,window.open("","_self"); 像下面的形式就行了。
    window.opener = null;
    window.open("","_self");     //这是IE7中必需的
    window.close();

    二、上传图片时的预览

    在IE6中可以这样,非常方便。

    <input type="file" onchange="Preview(this)"/> <img id="imgPreview" />
    <script type="text/javascript">
    function Preview(file){
    document.getElementById("imgPreview").src = this.value;
    }
    </script>

    但是在IE7中,这样无效,那天我这样测试的时候我用的是 GreenBrowser(绿色浏览器),发现竞然也能预览,但在 MS IE7中就不行,我就纳闷了,我去看了百度相册,他的上传相片预览也是使用这种方式,我是用绿色浏览器看百度相册,用MSIE看我的程序,百度相册上传时能预览,我的程序就是不行.结果我一直在怀疑是不是程序哪里搞错了,上网查了好多资料.硬是没搞定,后来我用MS IE 进百度相册,才发现,原来百度相册也不能预览了.原来是绿色浏览器惹的祸,怪吧,这可是个IE内核的浏览器哦,以后大家记住,测试程序时一定要用微软的IE7,用其它IE内核的浏览器可能会有意想来到的问题.
    那在IE7下怎么实现预览呢?答案是:用滤镜,请看下面:

    请选择要上传的相片:<input type="file" onchange="Preview(this);" /><br />
    <div id="imgPreview" style="filter:progid:DXImageTransform.Microsoft.
    AlphaImageLoader(sizingMethod=scale);400px;height:200px;"></div>

    function Preview(imgFile)
    {
    document.getElementById("imgPreview").filters.
    item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgFile.value;
    }

    关于AlphaImageLoader滤镜,我顺便也转过来。

    语法:
    filter: progid: DXImageTransform.Microsoft.AlphaImageLoader( enabled=bEnabled, sizingMethod=sSize, src=sURL)
    属性:
    enabled : 可选项。布尔值(Boolean)。设置或检索滤镜是否激活。true | false
          true : 默认值。滤镜激活。
          false : 滤镜被禁止。

    sizingMethod : 可选项。字符串(String)。设置或检索滤镜作用的对象的图片在对象容器边界内的显示方式。 crop : 剪切图片以适应对象尺寸。
            image : 默认值。增大或减小对象的尺寸边界以适应图片的尺寸。
            scale : 缩放图片以适应对象的尺寸边界。PS:自己的体会是,如果padding 和margin的大小不适中的的话,那么背景图片会被撑大。这个缩放还是挺好用的,就相当于那个background-repeat。       

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

    说明:
    在对象容器边界内,在对象的背景和内容之间显示一张图片,并提供对此图片的剪切和改变尺寸的操作。如果载入的是PNG(Portable Network Graphics)格式,则0%-100%的透明度也被提供。
    PNG(Portable Network Graphics)格式的图片的透明度不妨碍你选择文本。也就是说,你可以选择显示在PNG(Portable Network Graphics)格式的图片完全透明区域后面的内容。


    三、window.status 不显示的问题

    在ie6中,使用window.status =" 欢迎光临我的博客!!!",就能在状态栏显示这么一行字,但在IE7中,
    本机测试的时候很正常,能显示,但传的服务器上去以后就是不显示,程序运行也没有错误,开始我怀疑是服务器的安全设定问题,后来才发现,又是IE7的问题,IE7的安全性设置中,默认是不能许脚本更新状态栏的。真是可惜了,又少了一块可利用的区域。
    如果是自己的电脑的话,可以自己更改设置,使IE7也能显示。
    方法是:工具--》Internet 选项--》安全 -- 选中Internet后 点自定义级别 --》找到“允许状态栏通过脚本更新”,将默认的禁用改为启用就行了。
    我特地截了张图。

    以上三个虽然是小问题,但如果不明白是浏览器引起的话,很多朋友估计会花很多时间调试程序,但程序是没有问题的。
    所以我把它们写在这,希望对大家有所帮助。

  • 相关阅读:
    【转载】ARM与单片机的区别
    关于头文件定义的一点思考
    关于*** WARNING L15: MULTIPLE CALL TO SEGMENT
    【转】单片机中volatile定义的作用详解
    关于单片机位数的思考(8位、16位、32位)
    memcpy函数
    ubuntu下打开windows里的txt文件乱码解决
    linux source filename
    linux环境设置export
    pdf转word工具
  • 原文地址:https://www.cnblogs.com/ymyglhb/p/1324062.html
Copyright © 2011-2022 走看看