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 可见程序集,外部对象总是什么都没有。
您是否已将 ObjectForScripting 属性设置为主机窗口?我认为你需要这样做才能让 window.external 工作。
此外,请确保设置为 ObjectForScripting 的对象具有以下属性:
[PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
[ComVisible(true)]
没有它,window.external 始终为 null。