WebBrowser ile Farklı Pencerede Sayfada Açmak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
Hancet
Üye
Mesajlar: 107
Kayıt: 08 May 2005 01:18
Konum: Burdan...
İletişim:

WebBrowser ile Farklı Pencerede Sayfada Açmak

Mesaj gönderen Hancet »

S.A.
Arkadaşlar aklıma takıldığı için soruyorum.
Delphi'de WebBrowser componenti ile web sayfalarına bağlanabiliyorum.
Sayfada ki herhangi bir linke tıkladığım zaman açılması gereken sayfanın yeni bir explorer ile açılmasını istiyorum.
Örnek olarak
Mesela http://www.delphiturkiye.com sitesine girdiğim zaman forum'u tıklayınca ayrı bi pencerede forum açılıyor ama etkinlikleri tıkladığım zaman aynı yerde açıyor. Ben tüm linklerin ayrı bi pencerede açılmasını istiyorum.

Bana olmaz gibi geliyor çünkü bu sitenin kodları ile alakalı ama Delphi ile yapılabilir mi kafama takıldı

Kolay Gelsin
Varmı Beni İçinizde Tanıyan?
Yaşanmadan Çözülmeyen Sır Benim
Kalmasada Şöhretimi Duymayan,
Kimliğimi Tarif etmek zor Benim.
Kimsesizim hısmım da çok, hasmım da,
Görünmezim cismim de yok, resmim de,
Dil üzmezim, tek hece var ismimde,
Barınağım Delphi denen yer Benim..!
ulu coder
Üye
Mesajlar: 838
Kayıt: 01 Nis 2006 06:46
Konum: Ankara

Mesaj gönderen ulu coder »

A.S.

WebBrowser'ı hiç kullanmadım, fakat aktif sayfanın linkini alabiliyorsan, değişip değişmediğine bakmak çözüm olabilir. Değiştiyse yeni linki explorer'da açar, WebBrowser'a eski linki verirsin.

Kolay gele...
Kullanıcı avatarı
ender_arslanturk
Kıdemli Üye
Mesajlar: 709
Kayıt: 18 Şub 2005 03:38
Konum: İstanbul

Mesaj gönderen ender_arslanturk »

Bunu bende bir türlü çözemedim. Fakat asp sayfasındaki linkleri target="_blank" yapınca oluyor. Yinede web browserda olsa çok iyi olucaktı.
Kullanıcı avatarı
Hancet
Üye
Mesajlar: 107
Kayıt: 08 May 2005 01:18
Konum: Burdan...
İletişim:

Mesaj gönderen Hancet »

S.A.
Arkadaşlar bi internet sitesinde buldum paylaşmak istedim.
uses kısmına Registry,ShellAPI ekliyoruz

//aktif browserde url açmak için gerekli olan fonksiyonumuzu yazıyoruz
function BrowseURL(const URL : string):boolean;
var Browser:string;
begin
Result:=True;
Browser:=’’;
with TRegistry.Create do
try
RootKey:=HKEY_CLASSES_ROOT;
Access:=KEY_QUERY_VALUE;
if OpenKey(’\htmlfile\shell\open\command’,False)then
Browser:=ReadString(’’);
CloseKey;
finally
Free;
end;
if Browser=’’then begin Result:=False;Exit;end;
Browser:=Copy(Browser,Pos(’"’, Browser)+1,Length(Browser));
Browser:=Copy(Browser,1,Pos(’"’, Browser)-1) ;
ShellExecute(0,’open’,PChar(Browser),PChar(URL),nil,SW_SHOW);
end;
Aşağıdakilerde WebBrowser'imizin event'ına yazılıyor
procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
if not (kontrol) then
begin
Cancel := True;
BrowseURL(url)
end
else kontrol := False;
end;

procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;
var ppDisp: IDispatch; var Cancel: WordBool);
begin
ppDisp:=WebBrowser1.DefaultDispatch;
end;
Bunlarda Formun Create event'ına
kontrol := True;
if (Self.Name = ’Form1’) then
WebBrowser1.Navigate(’http://www.google.com.tr’);
Kolay Gelsin
Varmı Beni İçinizde Tanıyan?
Yaşanmadan Çözülmeyen Sır Benim
Kalmasada Şöhretimi Duymayan,
Kimliğimi Tarif etmek zor Benim.
Kimsesizim hısmım da çok, hasmım da,
Görünmezim cismim de yok, resmim de,
Dil üzmezim, tek hece var ismimde,
Barınağım Delphi denen yer Benim..!
Cevapla