【发布时间】:2016-09-10 10:30:42
【问题描述】:
我刚刚了解了壁虎并在我的应用程序中使用了它。我无法使用以前的功能,例如
element.count;
element.Innerhtml;
document.Readystate;
还有许多其他功能。
壁虎浏览器有其他替代功能吗?
我搜索了计数方法,我发现
geckoelemnt.Count<>;
但这不是我想要的,因为它需要一个论点。任何有用的链接都会有所帮助。
提前致谢。
【问题讨论】:
我刚刚了解了壁虎并在我的应用程序中使用了它。我无法使用以前的功能,例如
element.count;
element.Innerhtml;
document.Readystate;
还有许多其他功能。
壁虎浏览器有其他替代功能吗?
我搜索了计数方法,我发现
geckoelemnt.Count<>;
但这不是我想要的,因为它需要一个论点。任何有用的链接都会有所帮助。
提前致谢。
【问题讨论】:
首先你必须初始化浏览器,然后监听一些事件。最重要的是 DocumentComplete (documentReady)。它可以让你在 DOMtree 中导航
if(!Xpcom.IsInitialized) Xpcom.Initialize("Firefox");
_GeckoWebBrowser _brs = new GeckoWebBrowser() { Dock = DockStyle.Fill };
_brs.Navigate("mypage.html");
_brs.AddMessageEventListener("myFunction", recived);
_brs.DomClick += _brs_DomClick;
_brs.DocumentCompleted += _brs_DocumentCompleted;
捕获事件:
void _brs_DocumentCompleted(object sender, Gecko.Events.GeckoDocumentCompletedEventArgs e)
{
var ele = _brs.Document.GetElementsByClassName("myCssClass");
//All found elements
foreach (GeckoHtmlElement elem in ele)
{
elem.InnerHtml = "My value";
elem.InsertAdjacentHTML("beforeend",MyDomString);
//and many other functions
}
}
void _brs_DomClick(object sender, DomMouseEventArgs e)
{
//Capture dom click.
}
void recived(string s)
{
//myfunction from javascript
}
【讨论】: