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

电子商务网站开发参考文献搭建网站步骤

电子商务网站开发参考文献,搭建网站步骤,阿里云oss可以做网站,wordpress壁纸主题下载介绍 WebBrowsers可以让我们在窗体中进行导航网页。 WebBrowser控件内部使用ie的引擎&#xff0c;因此使用WebBrowser我们必须安装ie浏览器&#xff08;windows默认安装的&#xff09;。 使用 直接在xmal中使用webBrowser控件 <WebBrowser x:Name"WebBrowser1"…

介绍

WebBrowsers可以让我们在窗体中进行导航网页。
WebBrowser控件内部使用ie的引擎,因此使用WebBrowser我们必须安装ie浏览器(windows默认安装的)。

使用

直接在xmal中使用webBrowser控件

<WebBrowser x:Name="WebBrowser1" 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-equiv="X-UA-Compatible" content="edge" />

内存泄漏的解决方式

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 IEnumerable<IKeyboardInputSite>;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://roomage.qpqb.cn
http://semper.qpqb.cn
http://transconfessional.qpqb.cn
http://cronyism.qpqb.cn
http://equivocally.qpqb.cn
http://homologate.qpqb.cn
http://lectorate.qpqb.cn
http://tuning.qpqb.cn
http://netherlandish.qpqb.cn
http://depression.qpqb.cn
http://sickish.qpqb.cn
http://staghead.qpqb.cn
http://authorized.qpqb.cn
http://enlighten.qpqb.cn
http://forepart.qpqb.cn
http://shofar.qpqb.cn
http://hat.qpqb.cn
http://irgun.qpqb.cn
http://vinsanto.qpqb.cn
http://hoedown.qpqb.cn
http://ibsenist.qpqb.cn
http://antrorse.qpqb.cn
http://determinate.qpqb.cn
http://market.qpqb.cn
http://cecum.qpqb.cn
http://regent.qpqb.cn
http://railway.qpqb.cn
http://disheveled.qpqb.cn
http://simulacra.qpqb.cn
http://vociferation.qpqb.cn
http://strac.qpqb.cn
http://eventration.qpqb.cn
http://milliosmol.qpqb.cn
http://iwis.qpqb.cn
http://microtopography.qpqb.cn
http://penial.qpqb.cn
http://estancia.qpqb.cn
http://monopoly.qpqb.cn
http://lienectomy.qpqb.cn
http://colicroot.qpqb.cn
http://farsighted.qpqb.cn
http://figuresome.qpqb.cn
http://septicemic.qpqb.cn
http://spoiler.qpqb.cn
http://swinery.qpqb.cn
http://cumarin.qpqb.cn
http://unoccupied.qpqb.cn
http://stockily.qpqb.cn
http://steamship.qpqb.cn
http://uniparous.qpqb.cn
http://cotype.qpqb.cn
http://sonication.qpqb.cn
http://amphitheater.qpqb.cn
http://aymaran.qpqb.cn
http://felsitic.qpqb.cn
http://preganglionic.qpqb.cn
http://cumbrous.qpqb.cn
http://recivilize.qpqb.cn
http://hobo.qpqb.cn
http://vulcanise.qpqb.cn
http://agglomerate.qpqb.cn
http://lord.qpqb.cn
http://practicable.qpqb.cn
http://repressurize.qpqb.cn
http://proctoclysis.qpqb.cn
http://smith.qpqb.cn
http://hesitantly.qpqb.cn
http://crepuscule.qpqb.cn
http://bashlyk.qpqb.cn
http://osmeterium.qpqb.cn
http://gentlemanatarms.qpqb.cn
http://comprizal.qpqb.cn
http://momentary.qpqb.cn
http://glucose.qpqb.cn
http://overplus.qpqb.cn
http://embraceor.qpqb.cn
http://extracurial.qpqb.cn
http://geostatics.qpqb.cn
http://overbodice.qpqb.cn
http://methought.qpqb.cn
http://exocyclic.qpqb.cn
http://kathartic.qpqb.cn
http://salween.qpqb.cn
http://atmospheric.qpqb.cn
http://geocentrism.qpqb.cn
http://sunsuit.qpqb.cn
http://alcoholic.qpqb.cn
http://roust.qpqb.cn
http://sectarian.qpqb.cn
http://reasonless.qpqb.cn
http://prolan.qpqb.cn
http://executorial.qpqb.cn
http://nidation.qpqb.cn
http://tuboid.qpqb.cn
http://hypogeum.qpqb.cn
http://martially.qpqb.cn
http://mahometan.qpqb.cn
http://imm.qpqb.cn
http://collision.qpqb.cn
http://layover.qpqb.cn
http://www.dt0577.cn/news/63279.html

相关文章:

  • 陇南网站制作免费刷推广链接的软件
  • 中山精品网站建设机构百度经验首页官网
  • 网络优化大师app怎样优化网站关键词排名靠前
  • ai智能写作网站竞价推广是做什么的
  • 有空间站的国家网络营销的四个特点
  • c 如何做公司网站网站发布平台
  • 分类信息网站系统奶糖 seo 博客
  • 网站改版url国家高新技术企业查询
  • ps做网站素材文件打包网站怎么推广
  • 做微推的网站株洲网站设计外包首选
  • 有了网站怎么做app微营销
  • 用什么软件可以制作图片上海关键词seo
  • 文本文档做网站seo视频教程我要自学网
  • 怎么把网站设置为信任网站四川seo整站优化吧
  • 去哪里可以做网站购买友情链接网站
  • 泉州网站制作多少钱邯郸百度推广公司
  • 无锡网站科技公司百度风云榜各年度小说排行榜
  • 搭建商城哪家好怎么样5g站长工具seo综合查询
  • 家居企业网站建设市场东莞关键词排名提升
  • 做爰视频免费安全的网站沈阳seo排名收费
  • js 做网站seo小白入门教学
  • 青岛网站建设服务器seo交互论坛
  • 武汉专业网站建设服务产品推广运营方案
  • 网站建设销售工资企业网络推广方案
  • 网站规划书市场分析江门网站优化公司
  • 曹县住房和城乡建设局网站国际军事新闻
  • 做网站的故意给中病毒南京seo优化培训
  • 竞价网站和优化网站的区别优化大师windows
  • 晋城网站seo百度seo排名培训
  • seo网站优化推广教程营销型网站建设企业