1

如果我在Visual Studio -VB.net中使用standart web瀏覽器,最終用戶將使用哪個版本的Internet Explorer,我的(調試)PC上的版本還是他的PC上的版本?有沒有可能改變這種情況?最終用戶將擁有哪個版本的Web瀏覽器?

+0

您在項目中引用的版本。 – Steve

+0

答案可以有不同的含義,這不是一個明確的答案 –

+0

不,這很清楚。在你的項目中,你引用了一個特定版本的DLL(網頁瀏覽器)。如果用戶有一個新版本,向後兼容性基本上將它視爲您的版本,如果他們有一箇舊版本,它將失敗,本質上,使用沒有版本。所以答案是,無論你在項目中引用什麼版本。 – Steve

回答

0

我遇到了瀏覽器版本控制方面的問題,它受到用戶在PC上安裝的瀏覽器的影響。使用IE10/11,您無法在.NET應用程序中正確設置兼容模式。

我的解決辦法是使用Gecko的是火狐for .NET的相對作爲替換對web瀏覽器:

您需要下載和Geckofx-Core and Geckofx-Winforms dll的添加引用。

Imports Gecko 
Imports Gecko.DOM 

... 

'In your form load: 
Gecko.Xpcom.Initialize("xulrunner\") 
.. 

'In a function: 
'Here i used a Tab 
Dim tabA As New TabPage 
Dim browser As New GeckoWebBrowser 
web_br = browser 
browser.Dock = DockStyle.Fill 

tabA.Controls.Add(browser) 
Me.TabControl1.TabPages.Clear() 
Me.TabControl1.TabPages.Add(tabA) 
Me.TabControl1.SelectedTab = tabA 

CType(TabControl1.SelectedTab.Controls.Item(0), GeckoWebBrowser).Navigate(Application.StartupPath & "\PathTo\index.html") 
+0

我使用的是Awesomium,但它沒有x64的支持,所以我切換回IE瀏覽器,但我仍然不確定它是如何工作的。壁虎是我正在考慮的另一種選擇。但我只需要我的應用程序來運行IE10最低限度,所以使用資源管理器會更容易。 –

+0

我必須切換,因爲IE10和更新版本阻止直接從磁盤加載的網站與http:// url的某些功能,我不想將網絡服務器添加到我的應用中。 –

0

在VB/NET和C#總是默認顯示7「文件模式」,這意味着該瀏覽器充當的Internet Explorer 7,無論實際的版本是什麼在IE頁數web瀏覽器控件。

只要用戶的計算機上安裝了該版本或更高版本,就有辦法讓瀏覽器控件像更新版本的IE一樣運行。通常解決方案是使用FEATURE_BROWSER_EMULATION註冊表項;將X-UA-Compatible標題放入要顯示的HTML文件中也應該有所裨益。

另請參閱:Will the IE9 WebBrowser Control Support all of IE9's features, including SVG?

+0

謝謝你的回答,我正在檢查。但我認爲這不會完成這項工作。如果用戶只有IE9,它將最多運行IE9。有沒有辦法以某種方式「編譯IE 10或11」與應用程序一起? –

相關問題