(이 포럼이 게시하기에 적합하지 않은 경우 실례합니다.이 항목은 비 네이티브 프로그래밍과 관련이 없으며이 주제와 관련이 없습니다)질문 - Windows Mobile 6.1 - Javascript를 사용하여 동적 HTML을 IE Mobile6으로 설정 - IE Mobile6
동적 인 HTML을 웹 페이지의 iFrame에 설정하려고합니다. 나는 두 가지 일을 시도했지만 그들 중 누구도 일하는 것 같지 않습니다. innerHTML 읽을 수 있지만 그것을 업데이트 할 수 없습니다.
// Able to read using
document.getElementById('iFrameIdentifier').innerHTML;
// On Desktop IE, this code works
document.getElementById('iFrameId').contentWindow.document.open();
document.getElementById('iFrameId').contentWindow.document.write(dynamicHTML);
document.getElementById('iFrameId').contentWindow.document.close();
이상적으로 같은 함수가 DIV의의 작동 방식으로 작동해야하지만 말한다 '(iFrameId') 객체는 "이 속성 또는 메서드를 지원하지 않습니다.
을 나는 또한 document.getElementById를 시도했다 ' .document.body.innerHTML.
이 분명히 페이지의 전체 HTML 만이 아니라 innerHTML을 바꿉니다. 내가 몇 가지를 시도하고 그들이
을 작동하지 않았다5,
- document.getElementById를 ('iFrameId'). body.innerHTML는
- document.frames [0] .document.body.innerHTML
내 목적은 동적 HTML을 포함 할 수있는 컨테이너 요소를 가지고있다 그것은 그것에 설정되어 있습니다.
div의 설정 innerHTML이 동적 HTML의 앵커 및 이미지에 첨부 된 onclicks 또는 다른 JS 메서드 때문에 시간이 많이 걸리는 것을 보았을 때 지금까지 잘 사용 해왔다. JS 방법이 나타나거나 HTML은 일부 제대로 정리하기 어떻게하지
이 또한 논의되고 (메모리 누수?) - http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/Q_26185526.html#a32779090
"HTML에서 이벤트 스텁 (onclick ="return this._onclick() ")을 사용하면 JavaScript에서 이벤트 처리기를 설정해야하는 경우 _onclick에 쓰는 것과 함께 HTML을 다시 만드는 것이 좋습니다 새로운 이벤트 처리기로 (또는 단지 IEMobile에서 작동하지 않는 속성을 설정하려고합니다.) 나는 당신이 내가 무엇을 바꾸라고 요구하는지 정확히 모르겠다. 일반적으로 onClick 속성을 사용하여 태그 또는 이미지를 고정시킵니다. 또한 텍스트 상자 및 텍스트 영역 등의 입력 요소에 onChange()가 있습니다. – Swaroop
내가 말하고자하는 것은 IEMobile에서 JavaScript의 이벤트 처리기 속성을 작성할 수 없다는 것입니다. 'document.getElementById ('x ') .onclick = somefunction'. 'click' 이벤트에 첨부 할 수있는 유일한 방법은 HTML의 실제 인라인 이벤트 핸들러를 사용하는 것입니다 (예 : ). 이것은 일반적으로 두려운 관행이며, HTML을 다시 생성하지 않고 이벤트 핸들러를 변경할 수 없음을 의미합니다 (따라서 메모리 누수). 자바 스크립트에서 쓸 수있는'_onclick' 속성으로 전달하는 스텁'onclick' 속성을 사용하면 문제가 발생하지 않습니다. – bobince
이제 스텁 구현을 이해합니다. 하지만 나는 onClick() 속성뿐만 아니라 전체 HTML (동적)을 매번 대체하고 있습니다. 나는 스텁을 사용하여 포인터를 연결 해제하는 것과 같은 JS 구현에서 사용되는 메모리를 지우는 방법으로 스텁 구현을 지울 수있다. 하지만 동일한 페이지에서 동적 HTML을 사용하는 주된 이유 중 하나는 매번 자바 스크립트를 다시로드하지 않는 것입니다. JS 구현은 한 번로드되고 동적 HTML은 여러 번 사용합니다. – Swaroop