zoukankan      html  css  js  c++  java
  • geckofx执行js转载

    通过GeckoFX如何执行JavaScript命令 +

     

    c# gecko geckofx
    我尝试进行类似警报(通过GeckoFX和C# 但我可以得分。 我尽量不出现与导航和的ExecuteCommand 我的代码

     int i=0; 
     GeckoWebBrowser webBrowser
     webBrowser.Navigate("alert('"+i.ToString()+"');");
     webBrowser.ExecuteCommand("alert('" + i.ToString() + "');");
    

    任何人都可以 +
    本文地址 :CodeGo.net/596638/ 
    ------------------------------------------------------------------------------------------------------------------------- 
    1. 你AutoJSContext率符文用javascript geckofx。 喜欢:

    GeckoWebBrowser browser = ....;
    using (AutoJSContext context = new AutoJSContext(browser.JSContext))
    {        
     string result;
     context.EvaluateScript("3 + 2;", out result)
    }
    

    见EvaluateScript单元测试并举例。 如果一个超级老版本的nettygeckofx的需要得到更高版本-geckofx +
    本文标题 :通过GeckoFX如何执行JavaScript命令 +

     

    GeckoFx (5)调用js

     分类:
     
    GeckoFx (5)调用js


    定义:
    browser:Gecko.GeckoWebBrowser 控件;
    txtJsFun: textbox 控件;


    使用 browser.Navigate("JavaScript:void(mytestfun())"); 调用页面中的js方法,其中 mytestfun() 是待调用的方法名。

    =========== 实例 =================
    向任意打开的页面中注入一段 js,然后调用 js 中的方法。
    ==================================

    [csharp] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. 注册事件:  
    2. browser.Load += browser_Load;  
    3.   
    4. 注入js:  
    5. private bool _load = false;  
    6. void browser_Load(object sender, DomEventArgs e)  
    7. {  
    8.     if (!_load)  
    9.     {  
    10.         InjectJs(browser.Document);  
    11.     }  
    12.     if (!_load) _load = true;  
    13. }  
    14. /// <summary>  
    15. /// 注入脚本  
    16. /// </summary>  
    17. public void InjectJs(GeckoDomDocument doc)  
    18. {  
    19.     var js = doc.CreateHtmlElement("script");  
    20.     js.InnerHtml = "//alert(1);";  
    21.     js.InnerHtml = @"  
    22. function mytestfun(d){  
    23. alert(d||'参数值为空');  
    24. }  
    25. ";  
    26.     browser.Document.Head.AppendChild(js);  
    27.     //browser.Document.Body.AppendChild(js);  
    28. }  
    29.   
    30. 调用js方法:  
    31. private void btnJsInvoke_Click(object sender, EventArgs e)  
    32. {  
    33.     var js ="mytestfun(1)";  
    34.     browser.Navigate(string.Format("javascript:void({0})",js));  
    35. }  
    36.  

      winform版Geckofx(Gecko)如何执行js

      标签: winformfirefoxc#GeckoGeckofx
       

      目录(?)[+]

       

      Geckofx 是Firefox开源的版本,下面我讲的是C#的winform版如何执行jQuery或者js!

      在网上找了很多资料和博客,写的都不怎么对,后来找到官方开源的文档,终于有些了解。

      所以,我建议大家如果是使用一些开源的软件,一定要先看官方的文档,不然真的很浪费时间。

      1 jquery的使用可以到官方论坛查看:

      https://bitbucket.org/geckofx/geckofx-22.0/src/43eb4cb291167a3c21aa0ef63605b18a6862f3f4/GeckofxUnitTests/GeckoWebBrowserTests.cs?at=default&fileviewer=file-view-default#cl-244

      主要使用方式如下:

      var executor = new Gecko.JQuery.JQueryExecutor(browser.Window);  //先获取到jquery对象


      executor.ExecuteJQuery("$('#a')");    //然后执行jquery的代码

      2 原生态js使用

      using (AutoJSContext context = new AutoJSContext(browser.Window.JSContext))
      {
      string result;
      context.EvaluateScript("3 + 2;", out result)
      context.EvaluateScript("'hello' + ' ' + 'world';", out result)
      }

      或者:

      var twoID = browser.Document.GetHtmlElementById("two")

      更多方法还是去上面的官方文档查看,肯定能得到你想要的结果,献给用C#浏览器做一些事情的所有开发者,不用找的那么麻烦。

  • 相关阅读:
    Node.js安装及环境配置之Windows篇
    盘点.NET JIT在Release下由循环体优化所产生的不确定性Bug
    开源!一款功能强大的高性能二进制序列化器Bssom.Net
    开源 , KoobooJson一款高性能且轻量的JSON框架
    通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core?
    .Net Web开发技术栈
    web安全:通俗易懂,以实例讲述破解网站的原理及如何进行防护!如何让网站变得更安全。
    .Net高级进阶,教你如何构建企业模型数据拦截层,动态控制字段验证
    .Net 如何模拟会话级别的信号量,对http接口调用频率进行限制(有demo)
    .Net高级进阶,在复杂的业务逻辑下,如何以最简练的代码,最直观的编写事务代码?
  • 原文地址:https://www.cnblogs.com/browser/p/6445856.html
Copyright © 2011-2022 走看看