IE7, Javascript, the WebBrowser control and bugs
Problem
Internet Explorer 7 (IE7) has been released. Applications around the world are breaking. … Well at least mine failed.
If you use the WebBrowser control in .NET applications or shdocwv ActiveX control you may hit this issue.
If you load the html by navigating to “about:blank” and then using DocumentText, AND you are including a script (using for example <script src=”somefile.js” language=”Javascript” type=”text/javascript”></script>) your script will effectively not be included. The main symptom is a “Error: Invalid Character” message or simply script failure.
This means that your other scripts and events in the page will fail. Most probably this is a security measure (I have a theory about it but before that .. the solution).
Solution : embed the Javascript in the HTML. You hoped for something better right ?
Anyway embedding the script in the HTML solves the problem and if you are setting DocumentText from your code chances are it’s either generated by an XSLT (in which you can use either a msxsl javascript to include a file or a couple of xsl:include / xsl:apply-template without many side effects) or from your code (in which case.. well you are the programmer who did it, find a clean solution ;)).
Now, why have they introduced this change?
Probably they fear the scenario where a Javascript injects in some way in the DocumentText the include of a local file (along with some copy of itself) and then uses the data which now is in DocumentText in some .. evil way. I’ll try to forge some proof of concept demo.. if that is possible at all of course.
Edit
I’ve found this discussion [forums.microsoft.com] which propose a number of other interesting solutions.
Another interesting page with registry keys (process wide) for IE7 is here [msdn.microsoft.com].
Comments
One Response to “IE7, Javascript, the WebBrowser control and bugs”

Thx for the link, I fixed my problem with FEATURE_BLOCK_LMZ_SCRIPT