1

我在模态对话框中使用下面的代码加载了 Example.ascx 页面,并且在 Google Chrome 中存在一个问题。当在模式对话框中加载 Example.ascx 时,它的功能停止工作,我无法浏览和上传文件(Example.ascx 页面是基于 plupload 的文件上传页面)。谷歌浏览器这样说:资源解释为其他,但以未定义的 MIME 类型传输。

索引.aspx:

<script type="text/javascript">
$(function() {
$('#dialog').html("")
    $('#dialog').dialog({
        autoOpen: false,
        width: 400,
        resizable: true,
        title: 'Upload',
        modal: true,
        open: function(event, ui) {

        $(this).load("../Admin/example");
        },
        buttons: {
            "Close": function() {
                $(this).dialog("close");
            }
        }
    });
    $('#my-button').click(function() {

        $('#dialog').dialog('open');
    });

});

 </script>
 <input type="button" id="my-button" name="my-button" value="klikni"/>
 <div id="dialog" title="My dialog" >

Example.ascx 页面:

<div id="container">
<div id="filelist">No runtime found.</div>
<br />
<a id="pickfiles" href="javascript:;">[Select files]</a> 
<a id="uploadfiles" href="javascript:;">[Upload files]</a>
</div>

<script type="text/javascript">

// Custom example logic
function $(id) {
    return document.getElementById(id);
}

var uploader = new plupload.Uploader({
    runtimes: 'gears,html5,flash,silverlight,browserplus',
    browse_button: 'pickfiles',
    container: 'container',
    max_file_size: '10mb',
    url: '../Admin/Upload',
    resize: { width: 320, height: 240, quality: 90 },
    flash_swf_url: '../../Scripts/plupload/plupload.flash.swf',
    silverlight_xap_url: '../../Scripts/plupload/plupload.silverlight.xap',
    filters: [
    { title: "Image files", extensions: "jpg,gif,png" },
    { title: "Zip files", extensions: "zip" }
]
});

uploader.bind('Init', function(up, params) {
    $('filelist').innerHTML = "<div>Current runtime: " + params.runtime + "</div>";
});

uploader.bind('FilesAdded', function(up, files) {
    for (var i in files) {
        $('filelist').innerHTML += '<div id="' + files[i].id + '">' + files[i].name + ' (' + plupload.formatSize(files[i].size) + ') <b></b></div>';
    }
});

uploader.bind('UploadProgress', function(up, file) {
    $(file.id).getElementsByTagName('b')[0].innerHTML = '<span>' + file.percent + "%</span>";
    if (file.percent == 100) window.location.href = "../Admin/Index";
});

$('uploadfiles').onclick = function() {
    uploader.start();
    return false;
};

uploader.init();

4

1 回答 1

0

我在使用带有 jQ​​uery UI 对话框的 plupload 时遇到了同样的问题,它在某些浏览器中工作而不在其他浏览器中工作。

我能够通过调用来解决它:

 uploader.refresh();

通话后立即打开对话框。

于 2012-01-24T17:11:02.573 回答