.NET webBrowser1.Document.InvokeScript 不执行 无效

1. 问题

最新在使用.NET开发的自助设备程序调用内嵌网页时,发现通过webBrowser1.Document.InvokeScript调用网页js方法有的会失效。

2. 分析

有的可以执行,有的不能执行,必然有问题。仔细考虑了下,不执行的js是否是跟网页加载时间有问题,当调用webBrowser1.Document.InvokeScript方法时如果网页还没加载完毕,肯定js发那个发就没法执行了。

3. 解决

看了下webBrowser控件的事件,有一个DocumentCompleted方法,Visual Studio里面对其描述为在Web浏览器控件中承载的文档全部加载后发生,也就是说网页加载完毕后会回调这个方法,所以将我们的InvokeScript写在这里就OK了。

示例如下:

   private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            webBrowser1.Document.InvokeScript("print", new string[] { "hello world" });
        }

如有问题请扫码联系我
在这里插入图片描述

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页