如何为 Awesomium WebBrowser 控件编写 AddressBar
How write an AddressBar for Awesomium WebBrowser control
我为Awesomium WebBrowser控件的AddressBar写了下面的代码。
可以显示悬停的标签 url...
private void webBrowser_extra_MouseMove(object sender, MouseEventArgs e)
{
string js = @"(function foo(val) { return val; })();
document.onmouseover = function(e){
targ = getTarget(e);
targ.style.border = '1px solid #F00';
if(targ.tagName == 'A' || targ.tagName == 'a')
{
//alert('a');
var href = targ.getAttribute('href');
//alert(href);
foo(href);
}
};
document.onmouseout = function(e){
getTarget(e).style.border = 'none';
};
function getTarget(e){
if (e.target) return e.target;
else if (e.srcElement) return e.srcElement;
}";
dynamic link = webBrowser_extra.ExecuteJavascriptWithResult(js);
if (link != null)
{
lbl_hover.Text = "Address : " + link;
toolTip1.SetToolTip(lbl_hover, "Address : " + link);
}
}
但我总是在 lbl_hover 中有 [object][object]!
我怎样才能修复这些代码,或者我怎样才能为我的目的编写更好的代码?
如果您需要知道悬停的 URL,那么为此 Awesomium WebControl 有一个事件 TargetURLChanged。
/// <summary>
/// Occurs when the target URL has changed. This
/// is usually the result of hovering over a link on a page.
/// </summary>
public event UrlEventHandler TargetURLChanged;
我为Awesomium WebBrowser控件的AddressBar写了下面的代码。 可以显示悬停的标签 url...
private void webBrowser_extra_MouseMove(object sender, MouseEventArgs e)
{
string js = @"(function foo(val) { return val; })();
document.onmouseover = function(e){
targ = getTarget(e);
targ.style.border = '1px solid #F00';
if(targ.tagName == 'A' || targ.tagName == 'a')
{
//alert('a');
var href = targ.getAttribute('href');
//alert(href);
foo(href);
}
};
document.onmouseout = function(e){
getTarget(e).style.border = 'none';
};
function getTarget(e){
if (e.target) return e.target;
else if (e.srcElement) return e.srcElement;
}";
dynamic link = webBrowser_extra.ExecuteJavascriptWithResult(js);
if (link != null)
{
lbl_hover.Text = "Address : " + link;
toolTip1.SetToolTip(lbl_hover, "Address : " + link);
}
}
但我总是在 lbl_hover 中有 [object][object]!
我怎样才能修复这些代码,或者我怎样才能为我的目的编写更好的代码?
如果您需要知道悬停的 URL,那么为此 Awesomium WebControl 有一个事件 TargetURLChanged。
/// <summary>
/// Occurs when the target URL has changed. This
/// is usually the result of hovering over a link on a page.
/// </summary>
public event UrlEventHandler TargetURLChanged;