dehideki webbrowser ile bir sayfa açtım, sayfadaki linki tıkladığımda yeni pencerede açtı. İşte bu sayfayı açmadan önce sayfanın adresini yaklayıp labela nasıl atarım.
şöylemi yapmalıyım
procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;
var ppDisp: IDispatch; var Cancel: WordBool);
begin
label1.caption:=webbrowser1.location.url;
end;
bunu denedim sonuç alamadım.
yeni açılan pencere adresi
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: yeni açılan pencere adresi
Basit mantıkla gidelim.
Yeni açılan Explorer penceresinden adres satırı almalıyız. Ama daha önce açık olan explorer pencerelerinden hangisi olduğunu bulmak sıkıntılı.
O zaman ilüzyon yaparak bu işi kendimiz yapıcaz. Nasıl yapıcaz; açılacak explorer penceresini bizim belirleyeceğimiz bir tanesine yönlendiricez. Sonra da o pencereden url alıp kapatıcaz ve asıl ana webbrowser penceremize navigate yaptırıcaz.
Uygulama: Forma ikinci bir tane WebBrowser ekleyerek başlıycaz. Bu ikinci webbrowser'in tek görevi hangi pencere navigate edilecek olursa olsun, cancel ederek ilgili URL'yi WebBrowser1'e yani asıl penceremize geri yönlendirecek. Örneği aşağıda...
başarılar...
Yeni açılan Explorer penceresinden adres satırı almalıyız. Ama daha önce açık olan explorer pencerelerinden hangisi olduğunu bulmak sıkıntılı.
O zaman ilüzyon yaparak bu işi kendimiz yapıcaz. Nasıl yapıcaz; açılacak explorer penceresini bizim belirleyeceğimiz bir tanesine yönlendiricez. Sonra da o pencereden url alıp kapatıcaz ve asıl ana webbrowser penceremize navigate yaptırıcaz.
Uygulama: Forma ikinci bir tane WebBrowser ekleyerek başlıycaz. Bu ikinci webbrowser'in tek görevi hangi pencere navigate edilecek olursa olsun, cancel ederek ilgili URL'yi WebBrowser1'e yani asıl penceremize geri yönlendirecek. Örneği aşağıda...
Kod: Tümünü seç
procedure TForm1.WebBrowser1NewWindow2(ASender: TObject; var ppDisp: IDispatch;
var Cancel: WordBool);
begin
ppDisp := WebBrowser2.Application;
end;
Kod: Tümünü seç
procedure TForm1.WebBrowser2BeforeNavigate2(ASender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
Cancel := True;
WebBrowser1.Navigate( URL );
end;
Re: yeni açılan pencere adresi
hocam harbiden ilüzyon, harika fikir. teşekkürler.
Re: yeni açılan pencere adresi
[quote="mrmarman"][/quote] Peki arkadaşlar aynı sorun bendede var fakat benim sorunumda açılan popup kapanmadan adresi almam lazım yönlendirme ile değil kapattıkta link değişiyor nasıl yaparım bilmiyorum böyle yazdım error çıktı
hata çıktı lütfen yarım edin
Kod: Tümünü seç
procedure TForm1.WebBrowser1NewWindow2(ASender: TObject;
var ppDisp: IDispatch; var Cancel: WordBool);
var url: WideString;
begin
url := ((TWebBrowser(ASender).document as IHTMLDocument2).activeElement as IHTMLElement).getAttribute('href', 0);
Webbrowser2.Navigate(url);
end;
Re: yeni açılan pencere adresi
URL'ye ne geliyor baktın mı ? Ayrıca merak ettim hata ne ki
Hata verdi demek olmaz akıl okumada başarılı değilim.


Re: yeni açılan pencere adresi
mrmarman yazdı:URL'ye ne geliyor baktın mı ? Ayrıca merak ettim hata ne ki![]()
Hata verdi demek olmaz akıl okumada başarılı değilim.
