首页新闻找找看学习计划

求救大侠 关于winfrom嵌套html 调用js问题

0
悬赏园豆:20 [已解决问题] 解决于 2014-03-17 11:23

js 代码由于是原型的

调用无法完成

代码:

 

我也把 oGthinkrace赋值给 window.tk=oGthinkrace;

后台也调用不了 

 

后台代码:

 var ele = webBrowser.Document.GetElementById("map_canvas");

            if (ele != null) {
                object ss = ele.InvokeMember("div.Obj.Locate", new object[] { "abcdee1111" });
            }
s_p的主页 s_p | 菜鸟二级 | 园豆:269
提问于:2014-03-07 17:34
< >
分享
最佳答案
0
public static void ExecuteGlobalScript(WebBrowser browser, string script)
        {
            if (string.IsNullOrWhiteSpace(script))
                return;

            if (browser.Document == null
                || browser.Document.Window == null
                || browser.Document.Window.DomWindow == null)
                return;

            try
            {
                var win = (IHTMLWindow2)browser.Document.Window.DomWindow;
                win.execScript(script);
            }
            catch (Exception ex)
            {
                Debug.Print("{0}\t执行脚本时发生错误:{1}", DateTime.Now, ex.Message);
            }
        }

        public static object ExecuteScript(WebBrowser browser, string script, object[] args = null)
        {
            if (string.IsNullOrWhiteSpace(script))
                return null;

            if (browser.Document == null
                || browser.Document.Window == null
                || browser.Document.Window.DomWindow == null)
                return null;

            var win = (IHTMLWindow2)browser.Document.Window.DomWindow;
            var scriptName = string.Format("WebBrowserInjectedMethod{0}", Math.Abs(DateTime.Now.ToBinary()));
            script = string.Format("function {0}(){{{1}}}", scriptName, script);
            try
            {
                win.execScript(script, "javascript");
                var result = browser.Document.InvokeScript(scriptName, args);
                return result;
            }
            catch (Exception ex)
            {
                Debug.Print("{0}\t执行脚本时发生错误:{1}", DateTime.Now, ex.Message);
                return null;
            }
        }
收获园豆:10
沧海一杰 | 初学一级 |园豆:28 | 2014-03-08 12:22

谢谢 用其他的方式解决了 

s_p | 园豆:269 (菜鸟二级) | 2014-03-17 11:20
其他回答(1)
0

http://stackoverflow.com/questions/153748/how-to-inject-javascript-in-webbrowser-control

收获园豆:10
Launcher | 园豆:45030 (高人七级) | 2014-03-07 17:39

谢谢 用其他的方式解决了 

支持(0) 反对(0) s_p | 园豆:269 (菜鸟二级) | 2014-03-17 11:20
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册