winform上嵌套WebBrowser控件,可以从c#代码里面调用该控件内html的js方法。
示例代码:
setLocation方法是browser控件内的html上的js方法名称,第二个参数是setLocation方法的入参。
this.browser.Document.InvokeScript("setLocation", new object[] { this._lng, this._lat })如果你用的是 webbrowser 的话,可以执行js脚本,或者出发页面上的html控件的事件来达到目的:我不知道你的应该,我列两个你参考一下吧
webBrowser1.Document.GetElementById("userid").InnerText = Account
webBrowser1.Document.GetElementById("password").InnerText = textBox2.Text
IHTMLDocument2 id2 = webBrowser1.Document.DomDocument as IHTMLDocument2
IHTMLWindow2 win = id2.parentWindow
win.execScript("CheckAndLogin()", "javascript")
或者执行按钮事件
webBrowser1.Document.GetElementById("card_number").InnerText = Account
webBrowser1.Document.GetElementById("card_password").InnerText = textBox2.Text
HtmlElement elemButton = webBrowser1.Document.GetElementById("select_order")
mshtml.HTMLInputElement button = (mshtml.HTMLInputElement)(elemButton.DomElement)
button.click()
在使用C#开发winform程序过程中,经常会碰到嵌入了一个WebBrowser的浏览器控件。很多时候,需要在程序里控制网页的显示方式,或者调用网页当中的某个JS函数,反过来,也有可能网页也需要调用程序当中的函数来实现某些功能。下面讲解下如何互相进行交互。
程序调用JS脚本如下:
<script language=”javascript”>function ShopXG(infor)
{
alert(‘我要开网店、携购独立网店系统,模板最全,最专业的系统!’)
return
}
</script>
C#代码调用如下:
using System.Security.Permissions
注意: 类定义前需要加上下面两行,否则调用失败!
[PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
调用的函数:
webBrowser1.Document.InvokeScript("ShopXG ", new string[] {‘ssss’})
JS中调用C#函数示例:
C#函数如下:
public void ShowMessage(string message)
{
MessageBox.Show(“免费开网店,携购独立网店系统诚邀您的加盟!”)
}
JS里的调用方法:
<script language=”Javascript”>
function InvokeFunc()
{
window.external.ShowMessage(‘呵呵’)
}
</script>