Загруженная страница в модальном диалоге не работает - PullRequest
1 голос
/ 20 января 2012

Я загружаю страницу Example.ascx в модальное диалоговое окно с кодом ниже, и у меня есть одна проблема в Google Chrome. Когда Example.ascx загружен в модальном диалоге, его функциональность перестает работать, и я не могу просматривать и загружать файлы (страница Example.ascx - это страница загрузки файлов, основанная на plupload). Google Chrome говорит следующее: Ресурс интерпретируется как Другое, но передается с неопределенным типом 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 голосов
/ 24 января 2012

У меня была та же проблема с использованием plupload с диалоговым окном jQuery UI, где он работает в некоторых браузерах, а не в других.

Мне удалось решить эту проблему, вызвав:

 uploader.refresh();

сразу после звонка откроется диалоговое окно.

...