プロジェクトでblueimpファイルアップロードプラグインを使用していますが、IE8でいくつかの問題が発生しています。主に、何も起きていません。
私のセットアップはプラグインのデモ設定に可能な限り近いです-ファイルは同じ順序で含まれています、html構造はごくわずかしか変化しません、cssは同一ですなど。
他のブラウザ+ie9では、すべてが期待どおりに機能しますが、ie8では、画像を追加するためのボタンに何も接続されていないように見えます。
ie9でアップロードし、開発ツールを使用してドキュメントタイプをie8に切り替えると、イメージはサーバーから正常に取得されます。
ドキュメントは残念ながら非常に複雑であるため、完全なコードを表示するのは難しいですが、ページは次の場所にあります: http ://www.yoursplash.co.uk/index.php?route=product/product&product_id=108
これは、ファイルのアップロードに関連するほとんどすべてです。
これらは、プラグインを機能させるためにこの順序で含めているファイルです
<script src="http://blueimp.github.com/JavaScript-Templates/tmpl.min.js"></script>
<script src="http://blueimp.github.com/JavaScript-Load-Image/load-image.min.js"></script>
<script src="http://blueimp.github.com/JavaScript-Canvas-to-Blob/canvas-to-blob.min.js"></script>
<script src="catalog/view/javascript/jquery/blueimp/jquery.iframe-transport.js"></script>
<script src="catalog/view/javascript/jquery/blueimp/jquery.fileupload.js"></script>
<script src="catalog/view/javascript/jquery/blueimp/jquery.fileupload-fp.js"></script>
<script src="catalog/view/javascript/jquery/blueimp/jquery.fileupload-ui.js"></script>
<script src="catalog/view/javascript/jquery/blueimp/jquery.fileupload-jui.js"></script>
これは私自身のプラグインの実装です
'use strict';
$(document).on('ready', function () {
$.ajax({
url: '/index.php?route=product/userimage&usetype=get',
dataType: 'json',
context: $('#fileupload')[0]
}).done(function (result) {
$(this).fileupload('option', 'done').call(this, null, {result: result});
if ($('#filesContainer > .template-download').length > 0)
{
$('a[href="#user-upload"]').removeClass('selected').siblings('a[href="#user-photos"]').addClass('selected');
$('#user-upload').hide().siblings('#user-photos').fadeIn();
};
});
});
$('#fileupload').fileupload(
{
url: '/index.php?route=product/userimage&usetype=put',
type: 'POST',
maxFileSize: 5000000,
fileInput : '#imgUp',
acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i,
process: [
{
action: 'load',
fileTypes: /^image\/(gif|jpeg|png)$/,
maxFileSize: 5000000 // 20MB
}
],
filesContainer: '#filesContainer'
})
.bind('fileuploadadded', function (e, data)
{
$('a[href="#user-upload"]').removeClass('selected').siblings('a[href="#user-photos"]').addClass('selected');
$('#user-upload').hide().siblings('#user-photos').fadeIn();
})
.bind('fileuploadcompleted', function (e, data)
{
return $('#filesContainer .uploadedImage').draggable({ containment : 'document', revert : true, appendTo : 'body', helper: function(e,ui){ return $('<img/>',{ src : $(e.target).data('src')}).css('width','150px'); } }).tooltip({ tooltipClass : 'image-gallery-tooltip' , position : { at: 'bottom center'} });
});
これは私のプラグインの実装のHTMLです
<form id="fileupload" action="//jquery-file-upload.appspot.com/" method="POST" enctype="multipart/form-data">
<!-- Redirect browsers with JavaScript disabled to the origin page -->
<noscript><input type="hidden" name="redirect" value="http://blueimp.github.com/jQuery-File-Upload/"></noscript>
<!-- The fileupload-buttonbar contains buttons to add/delete files and start/cancel the upload -->
<div class="row fileupload-buttonbar">
<div class="span7" style="height:30px;">
<p style="float:left;display:block;width:480px;margin-right:10px;padding:5px;">Select images from your computer and once uploaded you may use them in your design</p>
<!-- The fileinput-button span is used to style the file input field as button -->
<span class="btn btn-success fileinput-button">
<i class="icon-plus icon-white"></i>
<span>Add images..</span>
<input type="file" name="files[]" id="imgUp" multipart>
</span>
</div>
<!-- The global progress information -->
<div class="span5 fileupload-progress fade">
<!-- The global progress bar -->
<div class="progress progress-success progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100">
<div class="bar" style="width:0%;"></div>
</div>
<!-- The extended global progress information -->
<div class="progress-extended"> </div>
</div>
</div>
<!-- The loading indicator is shown during file processing -->
<div class="fileupload-loading"></div>
</form>
どんな援助も大いに受けられるでしょう-それがうまくいかない理由がないように思われるので、私はこれで私の髪を引き裂くところです!