2010-12-14 6 views
3

에 속성을 설정 : 파이어 폭스와 오페라에서속성이 직접 HTML을 크롬

<select><option>hi</option></select> 

<script type="text/javascript"> 

var select = document.getElementsByTagName("select")[0]; 

select.__proto__.setValue = "foo"; 
select.setValue = "bar"; 

alert(select.setValue); 

</script> 

는, 출력은 "바"하지만, 크롬, 출력은 "foo는"입니다. __proto__ 정의를 건너 뛸 경우 모든 브라우저는 "막대"를 출력합니다.

프로토 타입에 설정된 값 대신 Chrome (8.0)이 속성의 개체 특정 값을 출력하도록하려면 어떻게해야합니까?

+0

Chrome 9 및 10에서 예상대로 작동하므로 버그 일 가능성이 큽니다. 부수적으로 HTMLElements의 경우에도 여전히 내장 객체를 사용하지 마십시오. –

+2

@Ivo : Chrome 8에서 작동하지 않는다는 것을 확인할 수 있습니다. 부수적으로, 여러 브라우저가 동일한 비표준 기능을 구현하려고 할 때 일어나는 현상입니다. 적어도 하나는 잘못 처리해야합니다. :-p –

+1

@AndyE 문제 목록의 어딘가에서 버그를 찾을 수 있다고 확신합니다. 즉, 다음 2 일 동안 검색을하면됩니다. –

답변

1

위의 주석에서 설명한대로 현재 버전의 Chrome에서는이 문제가 해결됩니다.