The information in this article applies to:
SYMPTOMSWhen scripting a WebBrowser control that has been embedded in an HTML page, attempts to use any standard WebBrowser Control methods or properties fail with a "Permission Denied" scripting error. CAUSEBecause of cross-frame security restrictions, any attempt to access the WebBrowser control from script automatically fails after the control has been set to browse a page in a different security context from the page hosting the control. RESOLUTIONReplace any references to the WebBrowser control with an IFRAME tag. The IFRAME, for all intents and purposes, functions in the same manner as the WebBrowser control and can be positioned on a page. See the MORE INFORMATION below for an example of how to do this. STATUSThis behavior is by design. MORE INFORMATIONPlease note that this article discusses only the use of the WebBrowser control directly in an HTML page with the <OBJECT> tag and script. Steps to Reproduce BehaviorThe following HTML page reproduces this problem:
When this example page is loaded in Internet Explorer 4.0 (IE4), the
"window_onload" event handler navigates the embedded WebBrowser control to:http://www.microsoft.com. Assuming that this example page is stored on the local system and is accessed via "file://," the embedded WebBrowser control is now hosting a document from a domain and protocol that is different than the parent page. This is analogous to using an IFRAME inside an HTML page, where the IFRAME src property points to a document on another domain. At this point, unlike with an IFRAME, any and all script access to the "WebBrowser1" object fails with the "Permission Denied" message box. With an IFRAME, certain properties and methods are safe to use in a cross-frame security situation. If the "document_onmousedown" event is fired in the above example by clicking the mouse button on the page, Internet Explorer 4.0 displays a "Permission Denied" message box. Here is the preferred substitute HTML page that is roughly equivalent to the example above:
In this example, the event handler for "document_onmousedown" succeeds
because cross-frame security permits setting the src property but not
reading it.
REFERENCES
For additional information about Cross-Frame Security, please see the
following article in the Microsoft Knowledge Base:
© Microsoft Corporation 1999, All Rights Reserved. Additional query words:
Keywords : kbIE400 kbIE401 kbWebBrowser kbIE500 kbIEFAQ |
Last Reviewed: January 27, 2000 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |