webbrowserda js confirm yakalama ve Tamam Tıklama

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
mythofatih
Üye
Mesajlar: 25
Kayıt: 22 Ağu 2015 06:18

webbrowserda js confirm yakalama ve Tamam Tıklama

Mesaj gönderen mythofatih »

Herkese Merhaba
Webbrowserda çıkan javascript confirm i yakalayıp Tamam tıklatabilir miyiz?
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Re: webbrowserda js confirm yakalama ve Tamam Tıklama

Mesaj gönderen Lord_Ares »

Aşağıdaki kod ile sayfadaki javascriptleri çalıştırabiliyoruz. Bununla, sayfadaki ilgili java fonksiyonunu çağırarak kapatabilrsin.
Fakat çıkan mesajı nasıl okuruz onu bilmiyorum.

Kod: Tümünü seç

WebBrowser1.Navigate( WideString('javascript:fonksiyon_adi();') );
mythofatih
Üye
Mesajlar: 25
Kayıt: 22 Ağu 2015 06:18

Re: webbrowserda js confirm yakalama ve Tamam Tıklama

Mesaj gönderen mythofatih »

Teşekkür ederim. Fakat confirm mesajının hem içeriği lazım hem de Tamam a tıklatmam gerekiyor
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Re: webbrowserda js confirm yakalama ve Tamam Tıklama

Mesaj gönderen Lord_Ares »

Sanırım bir arkadaşımız forumda bu konuda bir soru sorarken nasıl yapıldığını örneklemişti fakat konuyu bulamadım bulursam paylaşırıım.
Kullanıcı avatarı
adelphiforumz
Üye
Mesajlar: 602
Kayıt: 01 Nis 2008 05:38
Konum: İstanbul

Re: webbrowserda js confirm yakalama ve Tamam Tıklama

Mesaj gönderen adelphiforumz »

Selamlar
Ben TEmbededWB componentini kullanıyorum bu componentin OnShowMessage Ozelliğinde gelen mesajının ne olduğunu ayrıştırabiliyorsun
Gelen mesaja görere aşağıdaki gibi bir kod yazmıştım belki işinizi görür

Kod: Tümünü seç

type
  tMesajIslem = (tMsg_Yok=0, tMsg_Iptal=1, tMsg_Son=2);

type
  tMessajID = (idOK       = 1,
               idCancel   = 2,
               idAbort    = 3,
               idRetry    = 4,
               idIgnore   = 5,
               idYes      = 6,
               idNo       = 7,
               idClose    = 8,
               idHelp     = 9);
....
....
....

procedure TfrmWB.prc_WindowsMsgClick(pMsgBoxCaption:String; pBtnClickID:tMessajID; pMsgIslem:tMesajIslem);
var
  sMsg: string;
  len: integer;
begin
  SetLength(sMsg, 127);
  len := GetWindowText(Application.ActiveFormHandle, PChar(sMsg), 127);
  if len = 0 then Exit;
  SetLength(sMsg, len);
  if pMsgBoxCaption <> '' then
    if sMsg <> pMsgBoxCaption then exit;

  if ( (tSwcMesajIslem = tMsg_Iptal) or
       (tSwcMesajIslem = tMsg_Son) )
  then
  begin
      if pBtnClickID = idOK     then SendMessage(Application.ActiveFormHandle, WM_COMMAND,  ID_OK, 0);
      if pBtnClickID = idCancel then SendMessage(Application.ActiveFormHandle, WM_COMMAND,  ID_CANCEL, 0);
      if pBtnClickID = idAbort  then SendMessage(Application.ActiveFormHandle, WM_COMMAND,  ID_ABORT, 0);
      if pBtnClickID = idRetry  then SendMessage(Application.ActiveFormHandle, WM_COMMAND,  ID_RETRY, 0);
      if pBtnClickID = idIgnore then SendMessage(Application.ActiveFormHandle, WM_COMMAND,  ID_IGNORE, 0);
      if pBtnClickID = idYes    then SendMessage(Application.ActiveFormHandle, WM_COMMAND,  ID_YES, 0);
      if pBtnClickID = idNo     then SendMessage(Application.ActiveFormHandle, WM_COMMAND,  ID_NO, 0);
      if pBtnClickID = idClose  then SendMessage(Application.ActiveFormHandle, WM_COMMAND,  ID_CLOSE, 0);
      if pBtnClickID = idHelp   then SendMessage(Application.ActiveFormHandle, WM_COMMAND,  ID_HELP, 0);
  end;
end;

Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
mythofatih
Üye
Mesajlar: 25
Kayıt: 22 Ağu 2015 06:18

Re: webbrowserda js confirm yakalama ve Tamam Tıklama

Mesaj gönderen mythofatih »

Teşekkür ederim.
Projede bayağı ilerledik. TEmbededWB hakkında bilgim yok. Deneme amaçlı olarak xe7 TEmbededWB componentine nasıl ulaşabilirim
Cevapla