我正在制作一个 Web 应用程序,并且需要一个 .NET 中的 Web 浏览器(包装器)。它将在我的应用程序的本机浏览器之类的包装器中运行。
我目前的目标是使其尺寸尽可能小(最大 30mb)。我需要的唯一功能是 html、css 和 js。没有 opengl、d3d 或其他渲染框架。它将连接到服务器并在此窗口中显示一个页面。我会删除所有浏览器控件,让我的用户在应用程序中导航。
我试过cefsharp。工作完美,但我只设法将它减少到 120MB,包括所有功能(opengl 框架等)。删除未使用的 dll 当然会导致错误。压缩可能只有~90-100mb,但它仍然很大。
还尝试了 open-webkit-sharp 但任何版本都会导致错误。我从来没有设法编译它。仍然会接近 40mb。
DotNetBrowser 是一个不错的选择,但成本约为 1,000 美元,但仍为 60MB。我会避免支付那么多钱,而且肯定会避免为不完全符合我需求的软件支付。
带有 xulrunner 的 gefofx 从来没有在我的应用程序上渲染过所有的 css 和 js,因为它已经过时了。
最好的办法是使用 IE 控件,因为它包含在 .NET Framework 中,但这个东西是…… Internet Explorer。不呈现所有 CSS 和麦芽汁部分会在 javascript 中的版本 < 11 上引发安全错误。
如果我能设法让它看起来像一个原生应用程序,Firefox/Chrome 浏览器将是一个选择。如果它丢失,我会要求我的用户安装它。但是现在谁缺少一个好的浏览器。我尝试编写代码以使用新配置文件等启动新窗口,但无法以多种方式将其作为本机管理。不能轻易使用它,因为它在父 firefox 进程下运行,我不想弄乱用户的日常工作效率。试图以新名称等创建一个新实例,但这在后面很痛苦。
是否可以选择制作 webview (?) 并添加 jscore、html、css 等?或者我唯一的解决方案是用我需要的组件编译cefsharp?我需要很长时间才能做到。