我在我的web服務器上有一個aspx頁面,我通過windows窗體上的嵌入式web瀏覽器加載。我可以從javascript window.external過程調用Sub1。這隻有在使用標準的VB控件WebBrowser的時候。我有必要的權限使用window.external.Sub1()從嵌入式GeckoWebBrowser調用VB Sub;
<PermissionSet(SecurityAction.Demand, Name:="FullTrust")> _
<System.Runtime.InteropServices.ComVisibleAttribute(True)> _
這工作得很好。但是,我需要使用GeckoFx,因爲我的JavaScript對於標準的WebBrowser以及我的樣式來說太複雜了。 我都試過,一樣的方法是,剛剛與geckobrowser,但它並沒有在所有的工作,有什麼:
GeckoPrefereces.User("somesetting") = True
,我需要激活才能正常工作,或者有什麼別的我我錯過了?
我只想從嵌入在GeckoBrowserControl中的網頁中調用窗體窗體的「表單關閉」過程。
你是說用geckofx當VB只是平了無法從JS接收消息之前,必須先?因此,如果我們在VB項目中使用geckofx,並且在js中有一堆window.external調用,那我們需要將VB文件轉換爲C#?說它不是這樣! – whyoz 2015-02-26 02:31:10
'=> this.showMessage(s)'的C#轉換,我一直無法在VB中複製,錯誤一直說s不能被賦值。我發現的唯一方法是將C#作爲項目添加到整個VB解決方案中,C#項目必須作爲類編譯,然後添加爲對VB項目的引用。然後可以從VB中調用它來打開C#winform,其中帶有Geckofxbrowser。這個方法解決了我的問題,因爲我放棄了試圖讓它在VB中工作。 – Killua 2015-02-26 08:49:41
@Killua和其他感興趣的人,投票支持geckofx中的ObjectForScripting可以在這裏找到:http://tinyurl.com/pqrkg3y ...似乎這將是geckofx與其他Chrome引擎競爭的一個很好的補充,支持和文檔與.NET的雙向通信 – whyoz 2015-02-26 18:02:31