WPF WebBrowser抑制Suppress 弹出 脚本错误 对话框 但是样式改变 需要继续改善

1.添加引用

using System.Reflection;
using System.Windows.Controls;

2.静态类扩展方法(this)

public static class WebBrowserExtensions
{
public static void SuppressScriptErrors(this WebBrowser webBrowser,bool hide)
{
FieldInfo fInfo = typeof(WebBrowser).GetField("_axIWebBrowser2", BindingFlags.Instance | BindingFlags.NonPublic);
if(fInfo==null)
{
return;
}

object objBrowser = fInfo.GetValue(webBrowser);
if (objBrowser == null)
{
return;
}
objBrowser.GetType().InvokeMember("Silent", BindingFlags.SetProperty, null, objBrowser, new object[] { hide });
}
}

3.调用,

public MainWindow()
{
InitializeComponent();
wb.Navigate("http://www.alibaba.com/");
var browser = wb as WebBrowser;

WebBrowserExtensions.SuppressScriptErrors(browser, true);
}

4.总结。

实现了不弹出脚本错误提示框,但是网页本身的样式也已经改变,需要捕捉异常,处理。

时间: 2024-08-16 11:20:37

WPF WebBrowser抑制Suppress 弹出 脚本错误 对话框 但是样式改变 需要继续改善的相关文章

WPF的WebBrowser屏蔽弹出脚本错误窗体

WPF自带的WebBrowser在訪问一些有问题的网页时常常跳出非常多提示脚本错误的窗体, 可是WPF没有自带屏蔽这些窗体的方法或属性. 所以网上找来一使用反射的方法来屏蔽弹出脚本错误窗体的方法, 非常管用. 代码例如以下: public void SuppressScriptErrors(WebBrowser wb, bool Hide) { FieldInfo fiComWebBrowser = typeof(WebBrowser).GetField("_axIWebBrowser2&quo

经验总结:WebBrowser自动点击弹出提示框alert、弹出对话框confirm、屏蔽弹出框、屏蔽弹出脚本错误的解决办法

经验总结:WebBrowser自动点击弹出提示框alert.弹出对话框confirm.屏蔽弹出框.屏蔽弹出脚本错误的解决办法 网上有好多解决方法,可是不一定好使,本人经过多次试验,针对WebBrowser控件中自动点击弹出框及禁用脚本提示问题得到如下几种实际情况的解决办法,绝对管用. 1.屏蔽弹出错误脚本 将WebBrowser控件ScriptErrorsSuppressed设置为True即可. (参考本篇博客:http://www.cnblogs.com/qqflying/archive/20

Webdriver实现下载功能,屏蔽掉windows弹出的对话框,FireFox下设置浏览器的属性,两种实现方式:

一.使用一个全新的FireFox浏览器打开Web应用,浏览器不带任何插件,也未对浏览器做任何默认配置,但需要对浏览器属性进行配置 // 获取浏览器的所有配置文件 ProfilesIni allProfiles = new ProfilesIni(); // "Selenium" 是之前创建的profile,不带任何插件,也未对浏览器做任何默认配置 FirefoxProfile profile = allProfiles.getProfile("selenium");

ASP.net后台弹出消息对话框的方法!【转】

在winform后台,我们通过MessageBox.show(“消息")的方式来返回后台信息,在webform后台,我们通过Response.write(”消息")来返回后台消息,但这样需要将消息值以字符串形式显示到前台页面,是否有类似于MessageBox.show("消息")的方式弹出信息呢.我们会很快想到javascript的alert方法.通过在后台调用js来实现alert的调用.用法为:Response.write("<script>

Android编程:底部弹出的对话框

本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: 主机:WIN10 开发环境:Android Studio 2.2 Preview 3 说明: 两种方法实现底部弹出的对话框: Dialog DialogFragment 推荐用DialogFragment 效果图: 布局文件dialog_select_call.xml: <?xml version="1.0" encoding="utf-8"?> &l

WPF Popup全屏 弹出方法。解决只显示75%的问题。

WPF Popup全屏 弹出方法.解决只显示75%的问题. WPF 中 Popup 有一个特点.当Popup的高度超过屏幕的75%的时候,只显示75%的高度. 如下代码: <Window x:Class="WpfApplication13.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.micro

MFC 弹出模态对话框

在一个稍微大一点的程序中往往需要多个窗体来进行交换.有些窗体的出现是为了提醒用户注意或是为了实现一项指定功能,不希望用户在关闭这个窗口前对相应程序的其他窗体进行操作,这个时候会用到模式对话框,本文所讲的就是如何在 MFC 中创建一个最为简单的对话框,并在一定条件下以模态弹出该对话框. 第一步:创建对话框,在程序的资源视图中Dialog文件夹处右键->插入对话框 第二步:为对话框添加对应的对话框类,双击相应对话框视图->在弹出的"MFC添加类向导"中填入对话框类名->点

从仿QQ消息提示框来谈弹出式对话框

<代码里的世界> -UI篇 用文字札记描绘自己 android学习之路 转载请保留出处 by Qiao http://blog.csdn.net/qiaoidea/article/details/45896477 [导航] - 自定义弹出式对话框的简单用法 列举各种常见的对话框实现方案 1.概述 android原生控件向来以丑著称(新推出的Material Design当另说),因此几乎所有的应用都会特殊定制自己的UI样式.而其中弹出式提示框的定制尤为常见,本篇我们将从模仿QQ退出提示框来看一

解决每次启动都弹出UAC对话框

1.下载并安装微软官方工具 Microsoft Application Compatibility Toolkit 2.右击“Microsoft Application Compatibility Toolkit 5.5”程序组中的“Compatibility Administrator”,选择“以管理员身份运行”,单击“是”打开该工具. 3.单击工具栏上的“New”按钮,然后右击“Custom Databases”下的“New Database(1)”出现菜单,选择“Create New”下的