Windows窗体应用程序的Web浏览器控件在窗体操作中不处理相对URL



我有一个HTML,它包含一个在action中具有相对URL的表单,但它不起作用。

但当is使用完整的URL时,它可以正常工作。

那么,在Windows应用程序的WebBrowser控件中是否有要设置的属性?

不工作代码:

form method="post" action="/_abc/xyz?re_url=kn" id="formSubmit" 

工作代码:

form method="post" action="https://somesite.local/_abc/xyz?re_url=kn" id="formSubmit" 

WinForms WebBrowser控件依赖于旧版本的Internet Explorer,问题是浏览器速度非常慢,有时没有响应,或者不符合标准,因为它已经被微软淘汰,取而代之的是新的基于Chromium的Edge。

他们有一个既适用于WinForms、WPF又适用于UWP的控件。

它被称为WebView2,入门很简单,你所需要的只是入门和微软网站上的文档。

另一种选择是CefSharp,它也是铬基的,在触摸屏方面提供了更多,但通常两者都是一个不错的选择。你可以在这里找到Wiki。快速入门指南也很有用,可以在这里找到。

两者都是开源控件。

如果你想使用基于壁虎的浏览器(例如Firefox的引擎),你可以使用GeckoFx。我找不到它的文档,但我找到了这个有用的指南,可以让你开始。但是,您可以使用许多教程。

如果你想保留当前的浏览器,我相信你会遇到比切换到另一个控件更多的问题。

我在MSDN上找到了一个关于相对图像路径的帖子,这几乎和这里的问题一样,只是它是一个网站的url。这在WebView2、CefSharp和GeckoFx中得到了修复,因为它们使用了最新的标准,你可以篡改帖子中的代码,但你不太可能发现它是一个简单请求的最佳解决方案。