2015-07-03 4 views
1

Я написал коды ниже для управления AddressBar of Awesomium WebBrowser. метку, которая может показать парил URL ...Как написать AddressBar для управления Awesomium WebBrowser

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!
Как я могу исправить эти коды или как написать лучшие коды для своей цели?

+0

это может вам помочь. http://stackoverflow.com/questions/13280727/can-i-call-application-methods-from-javascript-in-awesomium. связать событие jquery hover с вызовом функции jquery hover event C# .net по следующей ссылке. –

ответ

2

Если вам нужно знать наведенный 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;