jquery uiダイアログ内でpluploadウィジェットをロードするという同じ問題について、同様のスレッドをすべて読みましたが、IE9では動作しませんでした(FFとSafariはどちらも正常に動作します)。
問題は、IE9 では html5 ファイル処理がサポートされていないため、plupload の Silverlight バージョンがロードされることです。どういうわけか、[ファイルの追加] ボタンは押せませんが、[アップロードの開始] ボタンは押せます。私がこれまでに読んだことから、これは、UI ダイアログを開く前に非表示になっていることが原因です。何人かの人々は、アップローダ ウィジェットで更新する呼び出しを使用することを提案しましたが、違いはありません。
関連する Javascript コードは次のようになります: $("#upload-widget-container").dialog({ autoOpen: false, show: "blind", hide: "fold", modal: false, width: 660, height: 400 、サイズ変更可能: false });
$("#upload-widget").pluploadQueue({
runtimes : 'html5,silverlight,flash,browserplus',
container: 'upload-widget-container',
url : 'upload.php',
max_file_size : '100mb',
chunk_size : '1mb',
unique_names : true,
filters : [
{title : "Image files", extensions : "jpg,gif,png"},
{title : "Zip files", extensions : "zip"},
{title : "Bin files", extensions : "bin"}
],
flash_swf_url : '/js/plupload/plupload.flash.swf',
silverlight_xap_url : '/js/plupload/plupload.silverlight.xap'
});
$('.upload-button').live('click', function(e)
{
$('#upload-widget-container').dialog("open");
var uploader = $('#upload-widget').pluploadQueue();
uploader.bind('StateChanged', function() {
if (uploader.files.length === (uploader.total.uploaded + uploader.total.failed)) {
// Done uploading
for (var i=0; i < uploader.files.length; i++)
{
if (uploader.files[i].status == plupload.DONE)
{
alert(uploader.files[i].id + ' ' + uploader.files[i].name);
}
}
}
});
}
);
マークアップは次のようになります。
<div id="upload-widget-container">
<div id="upload-widget"></div>
</div>
<a class="upload-button green-button-148" href="#" rel="1234">Upload</a>
IE9/Silverlight でこれを機能させる方法についてのアイデアはありますか? 上記のコードに示されているように、plupload オブジェクトを更新し、.plupload div の z-index を設定しても違いはありませんでした。
更新: FF と Safari で plupload の Silverlight ランタイムを使用すると正常に動作するため、実際には IE9 の問題のように見えます。つまり、plupload、jquery ui ダイアログ、silverlight、IE9 の組み合わせです。
更新 2:そこで、他のマークアップ、css、または js を使用しないプレーンなバニラ テスト ページを作成しました。これにより、他のスクリプト、マークアップ、またはスタイリングがこの動作に干渉する可能性がなくなりました。ただし、IE 9 (バージョン: 9.0.8112.16421) ではまだ機能しません。
ただし、jQuery UI テーマの CSS を含む行を削除すると機能し、[ファイルを追加] ボタンをクリックできるようになります。 この新しい情報で何か新しいアイデアはありますか? UIテーマCSSの表示プロパティなどに関係していると思います。