Witam
Mówiąc krótko mam stronę z linkami w postaci:
a href='#' onclick ='open()'
Z tego powodu, aby odczytać adres muszę wywołać zdarzenie i uruchomić javascript:
(doc.links.item(0,0) as IHtmlElement).Click;
Problem w tym, że skrypt open() wykonuje kod "location.href = ...;" przez co otwiera się nowe okno Internet Explorera, ładujące kliknięty link.
Wiem, że używając TWebBrowsera można w zdarzeniu OnBeforeNavigate2 przechwycić to okno, odczytać url i zablokować otwarcie okna.
Tylko, że ja chcę odczytać ten adres w tle, bez użycia interfejsu IE, bez wyświetlania strony i bez zamulania programu. Dlatego użyłem IEParser z zestawu EmbeddedWB, i mam w nim dostęp tylko do IHTMLDocument2, IHTMLWindow2. Przeglądam kody źródłowe i google, ale nie ogarniam jak przechwycić zmianę location.href w dokumencie. Z drugiej strony próbowałem też edytować skrypt, zamieniając location.href na jakąś zmienną i ją potem odczytać. Ale kod znajduje się w zewnętrznych plikach .js i po załadowaniu chyba nie da się go edytować. Będę wdzięczny za pomoc.
http://msdn.microsoft.com/en-us/library/aa752596(v=vs.85).aspx