C#webbrowser控件技巧(取得javascript变量值,禁止显示脚本错误)
C#中的webbrowser控件比较好用. 下面本人搜索整理的几个小技巧.
1. 从C#中取得javascript的变量值.
using mshtml;
using System.Reflection;
IHTMLDocument2 vDocument = webBrowser1.Document.DomDocument as IHTMLDocument2;
IHTMLWindow2 vWindow = vDocument.parentWindow;
Type vWindowType = vWindow.GetType();
object xpt = vWindowType.InvokeMember("_xpt", BindingFlags.GetProperty, null, vWindow, new object[] { });
xpt 就是取得的javascript中的变量"_xpt"的值.
2. 禁止显示脚本错误窗口.
webBrowser1.ScriptErrorsSuppressed = true;
3. 如何取弹出网页的网址
string newUrl = webBrowser_temp.Document.ActiveElement.GetAttribute("href");
4. 禁止打开新窗口, 在本窗口打开.
4.1 设置属性.
void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
//将所有的链接的目标,指向本窗体
foreach (HtmlElement archor in this.webBrowser1.Document.Links)
{
archor.SetAttribute("target", "_self");
}
//将所有的FORM的提交目标,指向本窗体
foreach (HtmlElement form in this.webBrowser1.Document.Forms)
{
form.SetAttribute("target", "_self");
}
}
将 WebBrowser 的 AllowWebBrowserDrop 设为 false
将 WebBrowser 的 WebBrowserShortcutsEnabled 设为 false
将 WebBrowser 的 IsWebBrowserContextMenuEnabled 设为 false
这种方法对于javascript打开的链接无效.
4.2 拦截新窗口, 在另一个webbrowser控件打开.
private void webBrowser_1_NewWindow(object sender, CancelEventArgs e)
{
WebBrowser webBrowser_temp = (WebBrowser)sender;
string newUrl = webBrowser_temp.Document.ActiveElement.GetAttribute("href");
webBrowser_1.Url = new Uri(newUrl);
e.Cancel = true;
}
C#webbrowser控件技巧(取得javascript变量值,禁止显示脚本错误)的更多相关文章
- C#WebBrowser控件使用教程与技巧收集--苏飞收集
C#WebBrowser控件使用教程与技巧收集--苏飞收集 先来看看常用的方法 Navigate(string urlString):浏览urlString表示的网址 Navigate(System. ...
- Webbrowser控件史上最强技巧全集
原文:Webbrowser控件史上最强技巧全集 Webbrowser控件史上最强技巧全集 VB调用webbrowser技巧集 1.获得浏览器信息: Private Sub Command1_Click ...
- C# WebBrowser控件使用教程与技巧收集
常用的方法 Navigate(string urlString):浏览urlString表示的网址 Navigate(System.Uri url):浏览url表示的网址 Navigate(strin ...
- C#WebBrowser控件使用教程与技巧
获取非input控件的值 webBrowser1.Document.All["控件ID"].InnerText;或webBrowser1.Document.GetElementBy ...
- WebBrowser控件使用技巧分享
原文:WebBrowser控件使用技巧分享 在发布“淘宝登货员”时发现不少朋友对WebBrowser控件比较感兴趣,故在此分享一下使用心得. 首先分享一个WebBrowser的扩展类(此类所需的dll ...
- C#通过webbrowser控件与javascript交互
1.C#里调用控件里面网页的js函数 //调用JavaScript的messageBox方法,并传入参数 object[] objects = new object[1]; o ...
- [JavaScript]WebBrowser控件下IE版本的检测
转载请注明原文地址:https://www.cnblogs.com/litou/p/10772272.htm 在客户端检查用户使用的浏览器类型和版本,都是根据navigator.userAgent属性 ...
- C#中的WebBrowser控件的使用
0.常用方法 Navigate(string urlString):浏览urlString表示的网址 Navigate(System.Uri url):浏览url表示的网址 Navigate(st ...
- <总结>delphi WebBrowser控件的使用中出现的bug
Delphi WebBrowser控件的使用中出现的bug: 1.WebBrowser.Visible=false:Visible属性不能使WebBrowser控件不可见,暂时用 WebBrowse ...
随机推荐
- linux的学习系列 1---简介
Linux简介 严格的来讲,Linux 不算是一个操作系统,只是一个 Linux 系统中的内核,即计算机软件与硬件通讯之间的平台:Linux的全称是GNU/Linux,这才算是一个真正意义上的Linu ...
- spring jdbc 源码
类:org.springframework.jdbc.core.JdbcTemplate public <T> T execute(PreparedStatementCreator psc ...
- IE6下整站的bug详解
<1>文字不居中:加一个行高: <2>png文件作为背景不显示: <!--[if IE 6]> <script src="js/DD_belated ...
- URAL 2099 Space Invader题解 (计算几何)
啥也不说了,直接看图吧…… 代码如下: #include<stdio.h> #include<iostream> #include<math.h> using na ...
- Win7下安装配置Java
1 安装JDK java.sun.com 下载 Java SE Development Kit 2 配置环境变量 变量名:JAVA_HOME 变量值:C:\Program Files (x86)\J ...
- CodeForces 670 A. Holidays(模拟)
Description On the planet Mars a year lasts exactly n days (there are no leap years on Mars). But Ma ...
- mybatis generator Date类型时间丢失
开篇 本次项目换用了Oracle数据库,讲真,真的不好用,不太喜欢,比较喜欢轻量级的MySQL但是不得不说从Oracle的严谨中学到不少好东西. <resultMap id="Base ...
- ecb gud
mx gdb不好用,好像是因为用了一个dedicated window,改用mx gud-gdb,好用. http://stackoverflow.com/questions/13560933/how ...
- I2C死锁原因及解决方法(转)
源:http://blog.csdn.net/zyboy2000/article/details/5603091 死锁总线表现为:SCL为高,SDA一直为低 现象:单片机采用硬件i2c读取E2PROM ...
- loadView 再思考
如果使用代码创建view,那么就需要重写loadView方法: 在这个方法中,如果不创建view,就会循环的调用loadView. - (void)loadView { UIView *view = ...