Windows 窗体应用程序的 Web 浏览器控件不处理表单操作中的相对 URL?
Posted
技术标签:
【中文标题】Windows 窗体应用程序的 Web 浏览器控件不处理表单操作中的相对 URL?【英文标题】:Web Browser Control of Windows Form application not handle relative URL in form action? 【发布时间】:2021-12-02 14:51:39 【问题描述】:我的 html 包含一个表单,该表单在 action
中有一个相对 URL,但它不起作用。
但是当它使用完整的 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"
【问题讨论】:
***.com/questions/2682091/… 【参考方案1】:WinForms WebBrowser 控件依赖于旧版本的 Internet Explorer,问题在于浏览器会很慢,有时无响应,或者不符合标准,因为它已被 Microsoft 杀死以支持新的 Chromium - 基于边缘。
他们有一个适用于 WinForms、WPF 和 UWP 的控件。
它叫做WebView2,很容易上手,你只需要在微软网站上的getting started 和documentation 就可以了。
另一个选项是CefSharp,它也是基于铬的,并且在触摸屏方面提供了更多,但通常两者都是不错的选择。您可以在 Wiki 上找到 here。快速入门指南也很有帮助,可以在 here 找到。
两者也是开源控件。
如果您想使用基于 Gecko 的浏览器(例如 Firefox 的引擎),您可以使用GeckoFx。我找不到它的文档,但我找到了 this 可以帮助您入门的有用指南。有许多教程可供您使用。
如果你想保留当前浏览器,我相信你会遇到比切换到另一个控件更多的问题。
我在 MSDN 上找到了this thread,它谈到了相对图像路径,这与这里的问题几乎相同,只是它是一个网站的 url。这在 WebView2、CefSharp 和 GeckoFx 中已修复,因为它们使用最新标准,您可以修改帖子中的代码,但您不太可能会发现它是简单请求的最佳解决方案。
【讨论】:
以上是关于Windows 窗体应用程序的 Web 浏览器控件不处理表单操作中的相对 URL?的主要内容,如果未能解决你的问题,请参考以下文章
Windows 窗体应用程序中的 HTML 编辑器 [关闭]