Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Webbrowser control's window.external is ALWAYS null

The Web browser's Window.External object is always null!

To reproduce drop a web browser on a new winform and type:

Option Strict Off

Public Class Form1
    Private Sub Form1_Load()
        Handles MyBase.LoadMe.WebBrowser1.Document.Window.DomWindow.External.AddFavorite("http://www.google.com")
    End Sub
End Class

Make certain you go to the Assembly Information dialog and check "Make Assembly COM-Visible." This is necessary.

I am lost as to why with a COM visible assembly the External object is always nothing.


2 Answers

Have you set the ObjectForScripting property to your host window? I think you need to do that for window.external to work.

like image 169
Matt Hamilton Avatar answered Jul 07 '26 20:07

Matt Hamilton


Also, ensure the object you set to ObjectForScripting has the following attributes:

[PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
[ComVisible(true)]

Without it, the window.external was always null.

like image 43
Patrick Avatar answered Jul 07 '26 19:07

Patrick



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!