2012-09-08 2 views
0

저는 ContentEditable을 사용할 리치 텍스트 편집기를 만들고 있습니다. 웹 서버의 브라우저에로드 된 문서는 DOM 변환으로 변경되지 않고 HTML 혼자로 돌아갑니다 (사용자가 변경하지 않았다는 가정하에).HTML에서 DOM으로 변환하고 다시 HTML에서 표준화로 변환합니까?

HTML 문서가 브라우저에서 처음 만들어지고 저장 될 때 수정되지만 나중에 다시 발생해서는 안되며 모든 브라우저가 동일한 HTML을 기반으로 동일한 DOM을 생성하고 HTML 동등한 DOM을 기반으로 한 출력. 내가 의지 할 수있는 뭔가인가?

+0

ContentEditables가 다른 브라우저에서 다른 결과를 생성합니다. 예를 들어 제가 생각할 수있는 첫 번째 것은 웹 스타일 브라우저의 사과 스타일입니다. 그러나 많은 * * 많은 것이있을 것이다. – PeeHaa

+2

"모든 브라우저가 동일한 DOM을 생성합니다", 위험 부담이 있습니다. –

+0

변경 사항이 없을 때 동일한 HTML을 다시 얻지 않습니다. 예 : Firefox는 html에 tbody가 없더라도 DOM에 trs 앞에 tbody 요소를 삽입합니다. – BeniBela

답변

2

innerHTML 또는 outerHTML을 사용하여 직렬화를 수행 할 때 마크 업이 왕복 이동하지 않는다는 것을 쉽게 증명할 수 있습니다.

<div id='mydiv'></div>으로 시작하는 마크 업을 취하십시오. IE9에서는 <div id="mydiv"></div>이됩니다. IE8에서는 <DIV id=mydiv></DIV>