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变量值,禁止显示脚本错误)的更多相关文章

  1. C#WebBrowser控件使用教程与技巧收集--苏飞收集

    C#WebBrowser控件使用教程与技巧收集--苏飞收集 先来看看常用的方法 Navigate(string urlString):浏览urlString表示的网址 Navigate(System. ...

  2. Webbrowser控件史上最强技巧全集

    原文:Webbrowser控件史上最强技巧全集 Webbrowser控件史上最强技巧全集 VB调用webbrowser技巧集 1.获得浏览器信息: Private Sub Command1_Click ...

  3. C# WebBrowser控件使用教程与技巧收集

    常用的方法 Navigate(string urlString):浏览urlString表示的网址 Navigate(System.Uri url):浏览url表示的网址 Navigate(strin ...

  4. C#WebBrowser控件使用教程与技巧

    获取非input控件的值 webBrowser1.Document.All["控件ID"].InnerText;或webBrowser1.Document.GetElementBy ...

  5. WebBrowser控件使用技巧分享

    原文:WebBrowser控件使用技巧分享 在发布“淘宝登货员”时发现不少朋友对WebBrowser控件比较感兴趣,故在此分享一下使用心得. 首先分享一个WebBrowser的扩展类(此类所需的dll ...

  6. C#通过webbrowser控件与javascript交互

    1.C#里调用控件里面网页的js函数     //调用JavaScript的messageBox方法,并传入参数     object[] objects = new object[1];     o ...

  7. [JavaScript]WebBrowser控件下IE版本的检测

    转载请注明原文地址:https://www.cnblogs.com/litou/p/10772272.htm 在客户端检查用户使用的浏览器类型和版本,都是根据navigator.userAgent属性 ...

  8. C#中的WebBrowser控件的使用

    0.常用方法   Navigate(string urlString):浏览urlString表示的网址 Navigate(System.Uri url):浏览url表示的网址 Navigate(st ...

  9. <总结>delphi WebBrowser控件的使用中出现的bug

    Delphi WebBrowser控件的使用中出现的bug:  1.WebBrowser.Visible=false:Visible属性不能使WebBrowser控件不可见,暂时用 WebBrowse ...

随机推荐

  1. openURL in APP Extension

    var responder = self as UIResponder? while (responder != nil){ if responder!.respondsToSelector(Sele ...

  2. 在WIN7/8下把XP装入VHD (下)

    系统平台:win8.1,安装在C盘 操作目的:在win8.1下装一个VHD  XP. 操作方法: 在http://www.cnblogs.com/mahocon/p/5212914.html里贴了一个 ...

  3. (一)Python之猜数游戏

    猜数游戏由简如深的编码学习过程: 3次机会: print('------------------我爱鱼C工作室------------------')count=0while count < 3 ...

  4. [转]探究java IO之FileInputStream类

    使用FileInputStream类创建的InputStream对象可以用于从文件读取内容.两个常用的构造函数如下所示: ? 1 2 FileInputStream(String filePath) ...

  5. java 方法的重载的语法规则

    class People { float hello(int a,int b) { return a+b; } float hello(long a,int b) { return a-b; } do ...

  6. Python -- OOP高级 -- __slots__、@property

    __slots__属性可以设置 允许被设置的属性 class Student: __slots__ = ("name", "age") >>> ...

  7. P3414 SAC#1 - 组合数

    题目背景 本题由世界上最蒟蒻最辣鸡最撒比的SOL提供. 寂月城网站是完美信息教室的官网.地址:http://191.101.11.174/mgzd . 题目描述 辣鸡蒟蒻SOL是一个傻逼,他居然觉得数 ...

  8. Mysql笔记5之查询

    1查询所有的列 select *from student 2查询指定列 select name,age from student 3查询时候使用别名 select name as 别名,age as ...

  9. 【将txt文本转图片】

    [测试类] public static void main(String[] args) { try { File textFile = new File("F:\\java56班\\ecl ...

  10. cordova 启动界面config.xml配置

    <preference name="SplashScreen" value="screen"/> <preference name=" ...