一、WebBrowser使用步骤
今天做了一下WebBrowser的地图加载的需求,遇到了很多问题,今天把WebBrowser的设置,与C#如何请求网页中JavaScript方法的技巧总结了一下,仅供参考1.设置属性
代码如下(示例):
所需命名空间:
using System.Security.Permissions;
正文:
namespace DemoForm
{
[System.Runtime.InteropServices.ComVisible(true)]
[PermissionSet(SecurityAction.Demand, Name = "FullTrust")]//调用JS代码必要
public partial class Frm_Min : Form
{
public Form_Min()
{
InitializeComponent();
// 这边把脚本错误的压制设置为true.
webBrowser1.ScriptErrorsSuppressed = true;
webBrowser1.DocumentCompleted += webBrowser1_DocumentCompleted;
}
private void Form_Min_Load(object sender, EventArgs e)
{
//写个方法加载WebBrowser
logWeb();
}
private void logWeb()
{
//这样写简单易懂
string strurl = Application.StartupPath + "/网页.html"; //需要带文件格式
webBrowser1.Url = new Uri(strurl);
//webBrowser1.Url = new Uri(Application.StartupPath + "/网页.html"); 简写
webBrowser1.ObjectForScripting = this;
}
//webBrowser中的事件方法
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
// 对WEB浏览器错误的处理
this.webBrowser1.Document.Window.Error += OnWebBrowserDocumentWindowError;
}
private void OnWebBrowserDocumentWindowError(object sender, HtmlElementErrorEventArgs e)
{
e.Handled = true;
}
}
}
//取消滚动条
webBrowser1.ScrollBarsEnabled = false;
2.C# 获取JavaScript方法
代码如下(示例):
//加载网页中的JS方法
webBrowser1.Document.InvokeScript("方法1", new object[] { 参数1,参数2 });
//演示
//js中的方法
function Ces(A,B) {
alert(A+B);
}
//C#中调用JS即可
webBrowser1.Document.InvokeScript("Ces", new object[] { 10,5});
总结
注:1、获取文件路径以后,网页要加上文件格式
2、错误脚本一定要设置,要不每次启动都弹窗