zoukankan      html  css  js  c++  java
  • winform WebBrowser控件中,cs后台代码执行动态生成的js

    很多文章都是好介绍C# 后台cs和js如何交互,cs调用js方法(js方法必须是页面上存在的,已经定义好的),js调用cs方法,

    但如果想用cs里面执行动态生成的js代码,如何实现呢?

    思路大致是这样的,cs动态插入js到html上,cs执行html插入的js方法代码。

    封装好的方法:

    /// <summary>
    /// webbrowser执行脚本
    /// </summary>
    /// <param name="web">传入WebBrowser 控件</param>
    /// <param name="javascript">js代码</param>
    public static void ExecuteJavascript(WebBrowser web, string javascript)
    {
    HtmlElement script = web.Document.CreateElement("script");
    script.SetAttribute("type", "text/javascript");
    script.SetAttribute("text", "function _func(){" + javascript + "}");
    HtmlElement head = web.Document.Body.AppendChild(script);//页面插入定义的一个js方法
    web.Document.InvokeScript("_func");//执行js方法
    }

    使用:ExecuteJavascript(web,"alert('1')");

  • 相关阅读:
    LeetCode刷题记录
    开始学习Functional Programming
    明天软软onsite
    Criteo电面二
    Jet.com
    还需要补充很多知识
    重新粗推了一下Master Theorem
    买了第一台mac
    病来如山倒
    Integer.parseInt vs Integer.valueOf
  • 原文地址:https://www.cnblogs.com/y114113/p/7458110.html
Copyright © 2011-2022 走看看