1

以下のコードを使用してモーダル ダイアログに Example.ascx ページをロードしましたが、Google Chrome に 1 つの問題があります。Example.ascx がモーダル ダイアログに読み込まれると、その機能が停止し、ファイルを参照してアップロードできません (Example.ascx ページは、plupload に基づくファイル アップロード ページです)。Google chrome は次のように述べています:リソースはその他として解釈されましたが、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" >

例.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

jQuery UIダイアログでpluploadを使用すると、同じ問題が発生しました。これは、一部のブラウザーでは機能し、他のブラウザーでは機能しません。

次のように呼び出すことで解決できました。

 uploader.refresh();

ダイアログを開く呼び出しの直後。

于 2012-01-24T17:11:02.573 に答える