IE11正常顯示swfupload上傳附件按鈕,但是IE10不顯示,遇到瀏覽器兼容問題,只需改swfupload.js文件中一些代碼即可。
搜索尋找到
Private: getFlashHTML generates the object tag needed to embed the flash in to the document和Private: getFlashVars builds the parameter string that will be passed,吧這兩行代碼中間的內容替換成下面代碼
SWFUpload.prototype.getFlashHTML = function (flashVersion) {
// Flash Satay object syntax: http://www.alistapart.com/articles/flashsatay
var classid = "";
var Sys = {};
var ua = navigator.userAgent.toLowerCase();
if (window.ActiveXObject) {
Sys.ie = ua.match(/msie ([\d.]+)/)[1];
if (Sys.ie && Sys.ie.substring(0, 1) == "9" || Sys.ie.substring(0, 2) == "10") {
classid = ' classid = "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"';
}
}
return ['<object', classid, ' id="', this.movieName, '" type="application/x-shockwave-flash" data="', (this.settings.flash_url), '" width="', this.settings.button_width, '" height="', this.settings.button_height, '" class="swfupload">',
'<param name="wmode" value="', this.settings.button_window_mode, '" />',
'<param name="movie" value="', (this.settings.flash_url), '" />',
'<param name="quality" value="high" />',
'<param name="allowScriptAccess" value="always" />',
'<param name="flashvars" value="' + this.getFlashVars() + '" />',
'</object>'].join("");
};
頁面引入swfupload.js,保存運行即可解決該問題