首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Plupload & jQuery不在IE环境下工作

Plupload & jQuery不在IE环境下工作
EN

Stack Overflow用户
提问于 2012-11-13 16:41:47
回答 3查看 4.8K关注 0票数 1

Plupload在所有浏览器中都能工作,IE除外。文件浏览器在IE中按#photo-upload链接时不会打开。uploader的实例是用Dev工具正确创建的。

非常感谢您的任何解决方案!

--这是我们用来创建上传器的脚本:

代码语言:javascript
复制
        var uploader = new plupload.Uploader({
            runtimes : 'gears,html5,flash,silverlight,html4',
            browse_button : 'photo-upload',
            container : 'img-container',
            url : 'productPhoto.php?id=<?=$_GET["id"];?>',
            max_file_size : '5mb',
            flash_swf_url : '/dev/plupload/js/plupload.flash.swf',
            silverlight_xap_url : '/dev/plupload/js/plupload.silverlight.xap',
            unique_names : true,
            filters : [{title : "Image files", extensions : "jpg,gif,png"}],
            multipart_params: {type:1},

            // Post init events, bound after the internal events
            init : {
                UploadProgress: function(up, file) {
                    // Called while a file is being uploaded
                    $("#bar").css("width",file.percent+"%");
                },
                FilesAdded: function(up, files) {
                    $(".progress").slideDown();
                    uploader.start();
                    up.refresh(); // Reposition Flash/Silverlight
                },
                UploadComplete: function(up, file, info) {
                    // Called when a file has finished uploading
                    setTimeout(function(){
                        $(".progress").slideUp();
                        $("#bar").css("width","0");
                        document.location.reload();
                    },2000);
                },
                Error: function(up, args) {
                    // Called when a error has occured
                    alert(args);
                    up.refresh(); // Reposition Flash/Silverlight
                }
            }
        });
        uploader.init();
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-11-13 18:13:18

一个问题的事实,链接是在一个下拉-隐藏在开始。链接必须是可见的。

票数 3
EN

Stack Overflow用户

发布于 2013-10-04 15:01:39

我可以建议不要将你的上传控件放置在隐藏的容器内。

代码语言:javascript
复制
<div class="container" style="display:none">
    <a id="pickfiles" href="#">[Select files]</a>
    <a id="uploadfiles" href="#">[Upload files]</a>
</div>

在上面的示例中,容器div有一个style元素,它声明display:none属性。这就是它不能在IE中工作的原因。

只需将其更改为display:block或删除style元素,它就会工作。

票数 1
EN

Stack Overflow用户

发布于 2015-07-09 16:45:22

在IE 8中,我在页面加载时隐藏plupload div时也遇到了同样的问题。与其显示:none,我选择将div绝对定位在屏幕上,然后在需要时传入新的上/左坐标:

代码语言:javascript
复制
    #plupload {
        display: block;
        position:absolute;
        top:-999px;
        left:-999px;
        background:#fff;
        border:1px solid #c8c8c8;
        padding:10px;
        z-index: 951;
    }

    $('#some-button-to-open-plupload-widget').button().click(function() {
         var css = {"top":"175px", "left":"175px"};
         $("#plupload").css(css);
    });

    $('#some-button-to-close-plupload-widget').button().click(function() {
         var css = {"top":"-999px", "left":"-999px"};
         $("#plupload").css(css);
    });

    <div id="plupload">
       <a href="" class="ui-icon ui-icon-close" id="close"></a>
       <div id="uploader" style="display:block">
           <p>Your browser doesn't have Flash, Silverlight or HTML5 support.</p>
       </div>    
    </div>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13364837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档