在系統(tǒng)測試過程中,發(fā)現(xiàn)使用了SwfUpload實現(xiàn)的無刷新上傳功能,在IE10上竟然無法使用了,難道SwfUpload不支持嗎?還是需要換一種實現(xiàn)方式呢?最后通過了解SwfUplad.JS文件發(fā)現(xiàn),我們是可以修改的,讓其支持IE10,具體解決方案如下:
打開SwfUpload.js,在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”和這行,然后把中間的用如下代碼替換就OK了
復制代碼 代碼如下:
SWFUpload.prototype.getFlashHTML = function (flashVersion) {
// Flash Satay object syntax:
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, ' type="application/x-shockwave-flash" data="', (this.support.imageResize ? this.settings.flash_url : this.settings.flash9_url), '">',
'<param value="', this.settings.button_window_mode, '" />',
'<param value="', (this.support.imageResize ? this.settings.flash_url : this.settings.flash9_url), '" />',
'<param value="high" />',
'<param value="always" />',
'<param value="' + this.getFlashVars() + '" />',
'</object>'].join("");
};
新聞熱點
疑難解答
圖片精選