Webbrowser control's window.external is ALWAYS null

断了今生、忘了曾经 提交于 2019-12-20 03:09:56

问题


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.


回答1:


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




回答2:


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.



来源:https://stackoverflow.com/questions/499743/webbrowser-controls-window-external-is-always-null

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!