模态对话框中的加载页面不起作用

时间:2012-01-20 09:56:59

标签: jquery asp.net-mvc plupload

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

的Index.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 page:

<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();

1 个答案:

答案 0 :(得分:0)

我在使用带有jQuery UI对话框的plupload时遇到了同样的问题,它在某些浏览器中运行,而在其他浏览器中运行。

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

 uploader.refresh();
在打开对话框后立即打开