SwfUpload IE 10 에 업로드 버튼 이 나타 나 지 않 는 해결 방법

시스템 테스트 과정 에서 SwfUpload 가 구현 한 리 셋 없 는 업로드 기능 을 사용 한 것 을 발 견 했 는데 IE 10 에서 사용 할 수 없다 니 SwfUpload 가 지원 되 지 않 나 요?아니면 실현 방식 을 바 꿔 야 하나 요?마지막 으로 SwfUplad.JS 파일 을 알 아 본 결과 저 희 는 IE 10 을 지원 하도록 수정 할 수 있 습 니 다.구체 적 인 해결 방안 은 다음 과 같 습 니 다.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'줄 을 찾 은 다음 중간 에 다음 코드 로 바 꾸 면 됩 니 다.
 
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.support.imageResize ? this.settings.flash_url : this.settings.flash9_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.support.imageResize ? this.settings.flash_url : this.settings.flash9_url), '" />',
'<param name="quality" value="high" />',
'<param name="allowScriptAccess" value="always" />',
'<param name="flashvars" value="' + this.getFlashVars() + '" />',
'</object>'].join("");
};
저장 하고 실행 하면 효 과 를 볼 수 있 습 니 다.완벽 합 니 다!

좋은 웹페이지 즐겨찾기