Microsoft KB Archive/185140

= PRB: Trouble Inserting Non-Displayable HTML into Web Page =

Article ID: 185140

Article Last Modified on 5/11/2006

-

APPLIES TO


 * Microsoft Internet Explorer 4.0 128-Bit Edition
 * Microsoft Internet Explorer 4.01 Service Pack 2
 * Microsoft Internet Explorer 5.0

-



This article was previously published under Q185140



SYMPTOMS
When hosting the WebBrowser control in your applications, inserting non- displayable HTML such as script or comments does not have any affect. This occurs when using any Dynamic HTML (DHTML) function that allows you to insert HTML, such as insertAdjacentHTML, pasteHTML, outerHMTL, and so forth.



CAUSE
When inserting non-displayable HTML, the Web page is not reparsed.



RESOLUTION
You must insert some displayable HTML so that the page will be reparsed. This displayable HTML can be hidden so that it does not actually appear on the page. You may use a SPAN or DIV tag with a display style of none to cause HTML to be hidden.



STATUS
This behavior is by design.



Steps to Reproduce Behavior
 Open a new Standard EXE project. Add the WebBrowser control to your form.  Add a Command Button and the following code. This code inserts an HTML comment into a Web page. For information about inserting script, please refer to the Knowledge Base article in the references section of this article. Option Explicit

Private Sub Command1_Click Dim str As String

' Insert some HTML comments str = ""

WebBrowser1.Document.body.insertAdjacentHTML "BeforeEnd", str End Sub

Private Sub Form_Load WebBrowser1.Navigate "http://example.microsoft.com/WebPage.htm" End Sub   Execute the following code to check to see if the HTML was inserted. Debug.Print WebBrowser1.Document.body.outerHTML 

You'll notice that in this case, the HTML was not inserted.

Resolution
Insert displayable HTML before the non-displayable HTML. Do this by using a SPAN tag with the display style set to none. Option Explicit

Private Sub Command1_Click Dim str As String

' Insert some hidden HTML before the comment str = " h " & _ ""

WebBrowser1.Document.body.insertAdjacentHTML "BeforeEnd", str End Sub

Private Sub Form_Load WebBrowser1.Navigate "http://example.microsoft.com/WebPage.htm" End Sub When you execute the statement in step 4 above, the HTML comment now appears in the document.

<div class="references_section">