Я могу обнаружить ошибки при использовании управления.Net WebBrowser?

Вы должны использовать querySelectorAll() , чтобы получить весь контейнер и пройти через них, чтобы проверить длину внутреннего элемента div:

var container = document.querySelectorAll('.container');
container.forEach(function(el){
  var inner = el.querySelectorAll('.inner').length;
  if(inner > 1) {
    el.classList.add('test');
  }
  else {
    // do nothing
  }
});
.test {
  color: red;
  background-color: lightgray;
}
Test
Test
Test

13
задан tpower 15 December 2008 в 16:42
поделиться

2 ответа

Элемент управления Windows Forms WebBrowser является оберткой вокруг Internet Explorer, и это не выставляет всю функциональность базового элемента управления ActiveX и особенно события NavigateError. Вот обходное решение:

Сначала добавьте ссылку на SHDocVw.dll к Вашему проекту (вкладка COM окна Add Reference). Затем можно сделать следующее для фиксации ошибок:

private void button1_Click(object sender, EventArgs e)
{
    SHDocVw.WebBrowser instance = (SHDocVw.WebBrowser)webBrowser1.ActiveXInstance;
    instance.NavigateError += new SHDocVw.DWebBrowserEvents2_NavigateErrorEventHandler(instance_NavigateError);
    webBrowser1.Navigate("http://www.google.com/foo");
}

void instance_NavigateError(object pDisp, ref object URL, ref object Frame, ref object StatusCode, ref bool Cancel)
{
    // Do whatever you want with the error            
}
20
ответ дан 1 December 2019 в 20:44
поделиться

I found another way to solve this without setting a reference to the SHDocVw dll.

See web browser CreateSink method on MSDN.

9
ответ дан 1 December 2019 в 20:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: