我在模态对话框中使用下面的代码加载了 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();