当前位置: 首页 > news >正文

南京网站设计公司推荐做网站 成都

南京网站设计公司推荐,做网站 成都,上海网站建设 paiky,白云企业网站建设介绍 WebBrowsers可以让我们在窗体中进行导航网页。 WebBrowser控件内部使用ie的引擎#xff0c;因此使用WebBrowser我们必须安装ie浏览器#xff08;windows默认安装的#xff09;。 使用 直接在xmal中使用webBrowser控件 WebBrowser x:NameWebBrowser1因此使用WebBrowser我们必须安装ie浏览器windows默认安装的。 使用 直接在xmal中使用webBrowser控件 WebBrowser x:NameWebBrowser1 Source xxx.com/WebBrowser其中Source熟悉可以将webBrowser控件指向一个网页也可以是本地文件的绝对路径 除了使用Source属性还有以下方法进行导航 问题 js报错 默认情况下webBrowser用的是比较低的ie内核这样如果访问的网页有不支持的脚本或者其他问题就会没有办法正常运行比如报错 javaScript错误。某些情况下使用ie可以打开的网页在webBrowser需要管理员权限才可以正常打开没有管理员权限也会报jabaScript错误。所以一般使用winForm的webBrowser,方便扩展并且资料多。 避免报错不弹提示框。 WebBrowser1.Navigated (sender, args) {SetSilent(wbMain, true)} public static void SetSilent(WebBrowser browser, bool silent) {if (browser null)throw new ArgumentNullException(browser);// get an IWebBrowser2 from the documentIOleServiceProvider sp browser.Document as IOleServiceProvider;if (sp ! null){Guid IID_IWebBrowserApp new Guid(0002DF05-0000-0000-C000-000000000046);Guid IID_IWebBrowser2 new Guid(D30C1661-CDAF-11d0-8A3E-00C04FC9E26E);object webBrowser;sp.QueryService(ref IID_IWebBrowserApp, ref IID_IWebBrowser2, out webBrowser);if (webBrowser ! null){webBrowser.GetType().InvokeMember(Silent, BindingFlags.Instance | BindingFlags.Public | BindingFlags.PutDispProperty, null, webBrowser, new object[] { silent });}} } [ComImport, Guid(6D5140C1-7436-11CE-8034-00AA006009FA), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] private interface IOleServiceProvider {[PreserveSig]int QueryService([In] ref Guid guidService, [In] ref Guid riid, [MarshalAs(UnmanagedType.IDispatch)] out object ppvObject); } 这种只是让它不出现报错窗口不能从根本上解决。 修改注册表使用新的ie内核,下面是代码 static void SetWebBrowserFeatures(int ieVersion){if (LicenseManager.UsageMode ! LicenseUsageMode.Runtime)return;var appName System.IO.Path.GetFileName(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName);UInt32 ieMode GeoEmulationModee(ieVersion);var featureControlRegKey HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\;Registry.SetValue(featureControlRegKey FEATURE_BROWSER_EMULATION,appName, ieMode, RegistryValueKind.DWord);Registry.SetValue(featureControlRegKey FEATURE_ENABLE_CLIPCHILDREN_OPTIMIZATION,appName, 1, RegistryValueKind.DWord);}static UInt32 GeoEmulationModee(int browserVersion){UInt32 mode 11000; // Internet Explorer 11. Webpages containing standards-based !DOCTYPE directives are displayed in IE11 Standards mode. switch (browserVersion){case 7:mode 7000; // Webpages containing standards-based !DOCTYPE directives are displayed in IE7 Standards mode. break;case 8:mode 8000; // Webpages containing standards-based !DOCTYPE directives are displayed in IE8 mode. break;case 9:mode 9000; // Internet Explorer 9. Webpages containing standards-based !DOCTYPE directives are displayed in IE9 mode. break;case 10:mode 10000; // Internet Explorer 10.break;case 11:mode 11000; // Internet Explorer 11break;}return mode;} 比如你想使用最新的IE11 SetWebBrowserFeatures(11);在网页中强制以ie最高级别的可用模式显示内容 meta http-equivX-UA-Compatible contentedge /内存泄漏的解决方式 Memory leak when using WPF WebBrowser control in multiple windows 将WebBrowser放到子进程中每次开关都会重新分配内存删除掉所有引用来清理内存泄漏。关闭窗口时调用下面代码。 public void Dispose(){webBrowser.Dispose();var window GetWindowElement(webBrowser);if (window null)return;var field typeof(Window).GetField(_swh, BindingFlags.NonPublic | BindingFlags.Instance);var valueSwh field.GetValue(window);var valueSourceWindow valueSwh.GetType().GetField(_sourceWindow, BindingFlags.Instance | BindingFlags.NonPublic).GetValue(valueSwh);var valuekeyboardInput valueSourceWindow.GetType().GetField(_keyboardInputSinkChildren, BindingFlags.Instance | BindingFlags.NonPublic).GetValue(valueSourceWindow);var inputSites valuekeyboardInput as IEnumerableIKeyboardInputSite;if (inputSites null)return;var currentSite inputSites.FirstOrDefault(s ReferenceEquals(s.Sink, webBrowser));if (currentSite ! null)currentSite.Unregister();}private static Window GetWindowElement(DependencyObject element){while (element ! null !(element is Window)){element VisualTreeHelper.GetParent(element);}return element as Window;}
http://www.hkea.cn/news/14536251/

相关文章:

  • 西安网站建设价格明细制作收款网站
  • 网站如何设计搜索框襄阳seo培训
  • 网站竞品拦截广告怎么做推荐一下做图文的网站
  • 网站建设开淘宝直通车seo搜索引擎优化总结
  • 湖州网站建设官网东莞工程建设交易中心网
  • 网站设计兼职注册网站查询
  • 石景山网站建设服务襄阳住房和城乡建设局网站首页
  • 2015做微网站多少钱网站页面分析范文
  • 买一个网站多少钱企业融资风险及其防范措施
  • 视频网站怎么做动图织梦cms仿网站教程
  • 鼎城网站建设企业网站优化兴田德润优惠
  • 扬州市市政建设处网站用户权限配置wordpress
  • c2c网站免费建设东莞建设质监网站
  • 住建部证书查询大厅seo研究所
  • 做以个一元购的网站多少钱手机图片网站 模版
  • 注册了域名怎样做网站游戏网站开发毕业设计
  • 域名抢注网站建设定制衣服
  • 网站的内容包括什么冬奥会网页设计代码
  • 钓鱼网站制作的报告wordpress主题软件
  • 湖北专业网站建设质量保障聊城网站托管
  • 西安网站开发公司电话linux系统运行wordpress
  • 做游戏动画外包网站网页设计与制作教程课后答案黑马程序员
  • 做网站傻瓜软件上海买二手房做哪个网站好
  • 天津网站建设哪家设计好linux网站备份
  • 网站开发框架 知乎中铁建设企业门户
  • 毕业设计代做网站都有哪些超市管理系统
  • 福州什么推广网站好室内设计资源网
  • 国网公司网站深圳做网站服务公司
  • 网站建设制作公司 首推万维科技农民工找活平台
  • wp网站做404wordpress 繁简