2009-10-08 9 views
1

스펙에없는 특별한 이유가 있습니까?왜 innerHTML이 w3c 사양에 추가되지 않았습니까?

모든 브라우저에서 지원되는 것 같습니다. (모든 브라우저에서 제대로 작동하지 않는다는 것을 인정합니다 ... 인터넷 익스플로러 덕분에 올바르게 작동하려면 innerXHTML과 같은 라이브러리를 사용해야합니다. 나는이가 치는 걸릴거야 알고 그들은 단지 그것을 이미?

이 커뮤니티 위키를 표시하고있어 추가하지 말아야하지 않으면.

는 innerHTML을은? 브라우저의 차기 버전에서 사라질 위험에 처해 이 일에 대한 내 책임자 ...하지만 방금 왜 궁금해하던가요?

+1

IE가 innerHTML을 개척했다고 생각합니다. –

+0

"Internet Explorer 덕분에 제대로 작동합니까?"라는 것은 무엇을 의미합니까? –

+0

@crescentfresh 다음은 무슨 뜻입니까? ALA (http://www.alistapart.com/articles/javascript-mvc/)에서 Javascript MVC에 대한 기사를 읽은 후 일종의 검색 및 대체 메커니즘을 구현했습니다. 외부에서 숨겨진 템플릿 요소를 가져온 것 외에는 Snook과 같은 방식으로 구현했습니다. 이 방법으로 나는 테이블과 다른 모든 것을 위해 2 개의 뷰 함수를 구현해야했습니다. IE8에서 시도했을 때 텍스트 상자로 바뀌는 라디오 버튼을 추가하기 전까지 모든 브라우저에서 작동했습니다. IE7이 실제로 작동했습니다.이 이유는 innerHTML 속성 ... – leeand00

답변

1

인터넷 익스플로러 덕분에 제대로 작동하려면 innerXHTML과 같은 라이브러리를 사용해야하기 때문에 모든 것이 제대로 작동하지 않는다는 것을 인정합니다.

i innerHTML; 당신은 실제로 그것이 그곳에서하는 것보다 더 잘 작동 할 것이라고 기대할 수는 없습니다.

스펙에없는 특별한 이유가 있습니까?

HTML5의 경우 가치가있는 것으로 제안되었습니다. 앞으로는 사라질 위험이 없습니다. 그러나 '블록'또는 '인라인'요소 컨텐츠를 작성하는 간단한 경우에만 계속 사용해야합니다. 테이블과 셀렉트와 같은 특수한 경우는 계속 골칫거리가 될 것입니다.

+0

IE는 비꼬는 것을 의미하는 innerHTML 주석을 발명 한 것입니까? 그들은 확실히 그것을 발명했지만, 많은 요소들에 그것을 구현하지 못했고, 구현 된 몇몇 요소들에 문제가 있습니다. 이들 중 어느 것도 IE7이나 IE8에서 수정되지 않았으므로 (IE8의 테이블 제외) IE에서보다 더 잘 작동 할 것으로 기대합니다 ... 다른 모든 브라우저에서와 마찬가지로 작동하도록하고 싶습니다. ... 모든 요소에. – scunliffe

+0

@scunliffe 동의 함. 오늘 우리 차를 발명 한 최초의 원시인이 한 것과 같은 유형의 바퀴를 사용하지 않았습니다. – leeand00

2

http://dev.w3.org/html5/spec/Overview.html#innerhtml

위험에 처할 수있는 방법은 절대적으로 없습니다. 수천 개의 응용 프로그램이 그 응용 프로그램에 의존하고 있으므로 끔찍한 생각입니다.

+0

달콤한. 나는 그것을 사용할 수 있다고 생각한다. – leeand00

0

IE는 콘텐츠를 동적으로 수정하는 발명자가되어 모든 방법으로 사라졌습니다. 다른 브라우저는 그렇지 않았습니다.

문자열을 innerHTML로 전달하면 문자열이 정규화 과정을 거쳐 요소로 전달됩니다. 그것이 의미있는 구문을 HTML 파싱 콘텐츠로 변환한다는 것을 의미합니다.

Firefox가 잘못 구현했습니다. html : innerHTML과 html : innerText 및 일반 문자열 : text를 구별하지 않습니다. 차이점은 IE에서는 문자 그대로 분명하지만 FF에서는 그렇지 않습니다. 따라서 마스터에게 돌아갈 때 처리 상황과 FF 코더의 혼란의 차이.

관련 문제