File 객체를 프로토 타입 할 수 있습니까? 현재 Firefox 7의 File 객체에 fileName
속성이 없지만 name
속성이있는 문제가 있습니다.File 객체 프로토 타입 작성
내 코드는 fileName
에 광범위하게 의존하며 모든 경우를 변경하는 것보다 쉬운 방법을 찾고 싶습니다.
File 객체를 프로토 타입 할 수 있습니까? 현재 Firefox 7의 File 객체에 fileName
속성이 없지만 name
속성이있는 문제가 있습니다.File 객체 프로토 타입 작성
내 코드는 fileName
에 광범위하게 의존하며 모든 경우를 변경하는 것보다 쉬운 방법을 찾고 싶습니다.
이 시도 :
(function(File){
if(!File) {
return;
}
function getFileName(){
return this.name;
}
File.prototype.__defineGetter__("fileName", getFileName);
})(window.File)
그것은 프로토 타입이는 File
인스턴스 오브젝트 자체에서 발견되어 있지 않은 경우에보고 만 있기 때문에 fileName
이 브라우저에 영향을주지해야한다.
jsfiddle가 : http://jsfiddle.net/Sj3B2/2/은 (파이어 폭스에서 테스트, 크롬, 오페라)
가 편집 오페라는 지원하지 않았기 때문에 Object.defineProperty
아마도 File.prototype.fileName 세터와 게터, 그 세트를 생성/이름을 얻을 것이다 당신의 문제를 해결하십시오.
그러나 실제로 작동하는 방식을 모르며 아래 코드가 작동하는지 잘 모릅니다.
if(! ("name" in File.prototype)){
File.prototype.fileName = {
get function(){
return this.name;
},
set function(val){
this.name = val;
}
};
}
프로토 타입에 추가하려고 했습니까? – Asken