WebBrowser 컨트롤이있는 C# 응용 프로그램을 만들고 웹 페이지의 플래시 내용을 빠져 나오지 않게하는 방법을 알아 내려고합니다. 내 CPU와 메모리의 톤. 나는 페이지에서 <object>
태그를 제거하려고 시도했다. 하나 밖에 없다. browser.Document.GetElementsByTagName ("object")을 통해 가져 와서 outerHtml을 빈 문자열로 설정했다. (Count 속성으로 확인 된) 하나의 요소를 반환하지만 첫 번째 요소 ([0])에 액세스하면 범위를 벗어난 인덱스에 대한 인덱스가 반환됩니다. 나는 foreach 루프를 통해 그것을 시도했지만 아무것도 전혀 일어나지 않으며 에러가 없다. <object>
요소 대신 <div>
요소를 검색하려고하면 foreach 루프가 실행됩니다. 내가 여기서 잘못된 것을하고 있습니까, 아니면 버그가 있습니까? 아니면 플래시 콘텐츠를 제거하는 더 좋은 방법이 있습니까? 어떤 도움이라도 대단히 감사합니다.웹 브라우저 컨트롤에서 플래시 요소를 차단하는 방법
내 코드 : 그런데
HtmlElementCollection flashElements = webBrowser.Document.GetElementsByTagName("object");
foreach (HtmlElement element in flashElements)
{
element.OuterHtml = "";
MessageBox.Show("Deleted");
}
이는 DocumentCompleted 이벤트가 해고 된 후 을 실행하고있다.
EDIT : DocumentCompleted 이벤트가 호출되는 동안 JavaScript가 Flash 내용을 페이지에 삽입하기 전에 호출되고 있다는 것을 알았습니다. 나는 몇 가지 "수면"과 같은 방법을 시도했지만 웹 페이지가 모두 처리되는 것을 막습니다. 웹 페이지가 계속 렌더링되는 동안 더 많은 시간 (5 초 정도)을 기다리는 방법은 없습니까?
webBrowser.Document.All [ "flashobjectID"] 시도해 볼 수 있습니까? getElementbyid와 같은 것입니다. –
응답을 보내 주셔서 감사합니다.하지만 '