Web浏览器控件的window.external始终为null

问题描述 投票:0回答:2

Web 浏览器的 Window.External 对象始终为 null!

要重现,请将网络浏览器放在新的 winform 上并输入:

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

确保转到“程序集信息”对话框并选中“使程序集 COM 可见”。这是必须的。

我不明白为什么对于 COM 可见程序集,外部对象总是什么都没有。

vb.net browser null
2个回答
6
投票

您是否已将 ObjectForScripting 属性设置为主机窗口?我认为你需要这样做才能让 window.external 工作。


6
投票

此外,请确保设置为 ObjectForScripting 的对象具有以下属性:

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

没有它,window.external 始终为 null。

© www.soinside.com 2019 - 2024. All rights reserved.