내 Win32 C++ 응용 프로그램의 대화 상자 (예 : MFC, ATL 등)에 웹 브라우저가 포함되어 있으며 초기에 일부 HTML 코드가 포함 된 문자열에서 문서의 내용을 설정했습니다. 이 HTML은 올바르게 렌더링됩니다. "문서 완료"이벤트가 발생하면 DOM을 조작합니다 (예 : 텍스트 노드를 BODY 요소에 추가하여.DOM을 변경 한 후 IWebBrowser2가 새로 고침되지 않는 이유는 무엇입니까?
BODY 요소의 인터페이스에서 IHTMLElement::get_outerHTML
을 호출해도 텍스트 노드가 있음을 나타내지 만 브라우저 내용이 대화 상자에 변경되지 않은 것으로 나타납니다.
나는 IWebBrowser2::Refresh
과 ::InvalidateRect
/::UpdateWindow
을 모두 호출 해 보았지만 어느 것도 도움이되지 않았습니다.
아이디어가 있으십니까? 필요한 경우 내 코드의 일부를 게시 할 수 있습니다.
또한, HTML 문서 일 때 IWebBrowser2::Refresh
말이
- 을 알고 있나요 (또는 자동이어야 함) URL이 아닌 문자열에서로드 됨
이 답변에 대한 답변을 원하십니까?
새로 고침은 자동으로 수행되어야합니다. STA 스레드에서 작업하고 있으며 Windows 메시지를 보내고 있습니까? http://stackoverflow.com/questions/2222365/what-is-a-message-pump –