以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- CEF浏览器内核设置问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=93726) |
-- 作者:天若千颖 -- 发布时间:2016/12/5 17:28:00 -- CEF浏览器内核设置问题 Foxtable内置的Webbrowser版本太低了,很多功能都无法使用。 CEF内核见:http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=90320 试过webkit和CEF内核,发现这两个内核默认情况下都不能继承IE的代理设置,比如说,我在单位访问外网要通过代理,就不能使用这两个内核。 CEF有很多设置可以使用,见:https://github.com/cefsharp/CefSharp/wiki/CefSharp%E4%B8%AD%E6%96%87%E5%B8%AE%E5%8A%A9%E6%96%87%E6%A1%A3 语言环境进行设置 // 设置语言
比如代理设置,如何把这个代理设置写入Foxtable的窗口中呢? var settings = new CefSettings(); settings.CefCommandLineArgs.Add("no-proxy-server", "1"); settings.CefCommandLineArgs.Add("proxy-server", "ProxyAddress"); Cef.Initialize(settings, true, true); |
-- 作者:有点蓝 -- 发布时间:2016/12/5 17:36:00 -- 一般独立的内核都不会管IE的设置的。应该都会提供自己的设置方法。代码改为vb语法试试 Dim settings As new CefSettings() ‘这里的CefSettings可能要用到完整的命名空间 settings.CefCommandLineArgs.Add("no-proxy-server", "1") settings.CefCommandLineArgs.Add("proxy-server", "ProxyAddress") Cef.Initialize(settings, True, True) |
-- 作者:天若千颖 -- 发布时间:2016/12/5 17:50:00 -- 第一句过不了,有问题,那这里的命名空间怎么定义呢? 引用的dll您以前看到过。 http://foxtable.com/bbs/dispbbs.asp?boardid=2&Id=90320 就两个dll。
|
-- 作者:有点蓝 -- 发布时间:2016/12/5 17:52:00 -- 自己到vs引用这些dll查看完整命名空间 Dim settings As new CefSharp.CefSettings() |
-- 作者:天若千颖 -- 发布时间:2016/12/5 18:01:00 -- 好,谢谢,我明天试试。 |
-- 作者:天若千颖 -- 发布时间:2016/12/5 21:51:00 -- 命名类型是:CefSharp.Settings() 如:Dim settings As new CefSharp.Settings() 但是后面有错误提示,说CefCommandLineArgs不是CefSharp.Settings()的成员. 但是在net中确实是这样写的. 参考:http://www.111cn.net/net/171/91733.htm http://www.cnblogs.com/TianFang/p/4658151.html Dim wv As new CefSharp.WinForms.WebView() Dim settings As new CefSharp.Settings() settings.CefCommandLineArgs.Add("no-proxy-server", "1") settings.CefCommandLineArgs.Add("proxy-server", "ProxyAddress") Cef.Initialize(settings, True, True) wv.Address = "http://baidu.com" wv.Parent = e.Form.baseform wv.Dock = System.Windows.Forms.DockStyle.Fill Dim pnl As WinForm.Panel = e.Form.Controls("Panel1") pnl.basecontrol.controls.add(wv) |
-- 作者:有点蓝 -- 发布时间:2016/12/5 22:06:00 -- 几个dll是否都引用了。你到vs测试通过在把代码搬过去用 |
-- 作者:有点蓝 -- 发布时间:2016/12/6 8:34:00 -- 查了一下,CefCommandLineArgs是wpf版本才有的。winform版本没有这个属性,只有一个AutoDetectProxySettings,可以试试 Dim wv As new CefSharp.WinForms.WebView() Dim settings As new CefSharp.Settings() settings.AutoDetectProxySettings = True CefSharp.CEF.Initialize(settings) wv.Address = "http://www.baidu.com" wv.Parent = e.Form.baseform wv.Dock = System.Windows.Forms.DockStyle.Fill Dim pnl As WinForm.Panel = e.Form.Controls("Panel1") pnl.basecontrol.controls.add(wv) |
-- 作者:天若千颖 -- 发布时间:2016/12/6 9:04:00 -- 我也看到这里,多谢蓝版记着这个事情,但是代理还是不能用,提示:Error -137 when loading url http://www.baidu.com/ 查了一下,还是代理有问题:https://github.com/cefsharp/CefSharp/issues/153 我继续查找一下哪里设置有问题。
|
-- 作者:天若千颖 -- 发布时间:2016/12/6 9:10:00 -- 代理没有起作用,正在查找哪里设置还有问题。 [此贴子已经被作者于2016/12/6 9:15:02编辑过]
|