首页 > 其他分享 >GeckoFx (5)调用js

GeckoFx (5)调用js

时间:2022-10-28 14:33:14浏览次数:50  
标签:load 调用 void js mytestfun GeckoFx browser


GeckoFx (5)调用js


定义:
browser:Gecko.GeckoWebBrowser 控件;
txtJsFun: textbox 控件;

使用 browser.Navigate("javascript:void(mytestfun())"); 调用页面中的js方法,其中 mytestfun() 是待调用的方法名。


=========== 实例 =================
向任意打开的页面中注入一段 js,然后调用 js 中的方法。
==================================


注册事件:
browser.Load += browser_Load;

注入js:
private bool _load = false;
void browser_Load(object sender, DomEventArgs e)
{
if (!_load)
{
InjectJs(browser.Document);
}
if (!_load) _load = true;
}
/// <summary>
/// 注入脚本
/// </summary>
public void InjectJs(GeckoDomDocument doc)
{
var js = doc.CreateHtmlElement("script");
js.InnerHtml = "//alert(1);";
js.InnerHtml = @"
function mytestfun(d){
alert(d||'参数值为空');
}
";
browser.Document.Head.AppendChild(js);
//browser.Document.Body.AppendChild(js);
}

调用js方法:
private void btnJsInvoke_Click(object sender, EventArgs e)
{
var js ="mytestfun(1)";
browser.Navigate(string.Format("javascript:void({0})",js));
}



标签:load,调用,void,js,mytestfun,GeckoFx,browser
From: https://blog.51cto.com/u_4518216/5804865

相关文章