Android Webbrowser EvaluateJavaScript Kullanımı

FireMonkey ve Mobil uygulama (iOS, Android, Windows Phone) ile ilgili sorularınızı bu foruma sorabilirsiniz.
Cevapla
beklentili
Üye
Mesajlar: 86
Kayıt: 21 Ara 2013 09:05
İletişim:

Android Webbrowser EvaluateJavaScript Kullanımı

Mesaj gönderen beklentili »

Merhaba, Android de webbrowser ile açtığım sitenin içerisindeki alanlara veri göndermekle ilgili bir çalışma yapıyorum.

Ancak internette bulduğum dokümanlardan edindiğim bilgiler ile bir sonuca varamadım.

Kod: Tümünü seç

procedure TForm1.Button2Click(Sender: TObject);
const
    cChicagoWinona = 'document.getElementById("vname").value = "Ahmet MEHMET";'
                   + 'document.getElementById("vrequest").value = "Deneme";';

begin


WebBrowser1.EvaluateJavaScript(cChicagoWinona);
end;
Yukarıdaki komutlarla ne kadar denediysem bir sonuca ulaşamadım. Acaba nerede yanlış yapıyorum?
[/size]http://www.componentler.com | Türkçe component sitesi
beklentili
Üye
Mesajlar: 86
Kayıt: 21 Ara 2013 09:05
İletişim:

Re: Android Webbrowser EvaluateJavaScript Kullanımı

Mesaj gönderen beklentili »

Bir bilen yok mu? desem ayıp etmiş olmam umarım. Bir bilen yok mu? :D
[/size]http://www.componentler.com | Türkçe component sitesi
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Android Webbrowser EvaluateJavaScript Kullanımı

Mesaj gönderen mrmarman »

(+) ile birleştirmeden teker teker dener misin.
Hayayı yazmamışsın, delphi yakasında mı html yakasında mı.
Resim
Resim ....Resim
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: Android Webbrowser EvaluateJavaScript Kullanımı

Mesaj gönderen SimaWB »

Yazdığınız kodda bir hata gözükmüyor. Bir ihtimal; vname ve vrequest'i çift tırnak içine değil de 2 tane tek tırnak içine alarak deneyebilirsiniz.

Kod: Tümünü seç

const
    cChicagoWinona = 'document.getElementById(''vname'').value = "Ahmet MEHMET";'
                     + 'document.getElementById(''vrequest'').value = "Deneme";';
Yada sayfada vname ve vrequest ID'li bileşenler yok :)
There's no place like 127.0.0.1
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Re: Android Webbrowser EvaluateJavaScript Kullanımı

Mesaj gönderen sadettinpolat »

SimaWB nin tespiti dogru gibi. asagidaki adreste de tek tirnak kullanilmis

http://blogs.embarcadero.com/nikolay/20 ... delphixe6/
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
ismailkocacan
Üye
Mesajlar: 88
Kayıt: 25 Eyl 2011 06:11
Konum: İstanbul
İletişim:

Re: Android Webbrowser EvaluateJavaScript Kullanımı

Mesaj gönderen ismailkocacan »

Delphi tarafında nasıl implement ettiler bilmiyorum ama, evaluateJavascript() methodu api 19 ile geldi diye biliyorum.

https://developer.android.com/guide/web ... ating.html

https://developer.android.com/reference ... g.String>)
Asynchronously evaluates JavaScript in the context of the currently displayed page. If non-null, |resultCallback| will be invoked with any result returned from that execution. This method must be called on the UI thread and the callback will be made on the UI thread.
evaluateJavascript methodu java tarafında bende de düzgün çalışmamıştı.
O yüzden api 19 desteğini şimdilik kaldırdım.
beklentili
Üye
Mesajlar: 86
Kayıt: 21 Ara 2013 09:05
İletişim:

Re: Android Webbrowser EvaluateJavaScript Kullanımı

Mesaj gönderen beklentili »

Hocam dediğiniz düzeltmeleri yaptım. Hatta daha önce de denemiştim. Bu sefer belki gözden kaçan bir şeyler vardır diye yine denedim ama netice yok. Hata tam olarak şu, komut çalışmıyor. Yani istediğim alana veri gönderemiyorum. Bu komutları kullandığımda uygulama bir hata vermiyor ama verileri de göndermiyor.
[/size]http://www.componentler.com | Türkçe component sitesi
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Android Webbrowser EvaluateJavaScript Kullanımı

Mesaj gönderen mrmarman »

Merhaba.

- Aslında çalışıyordur. Nerene nasıl uyguladığınızı bilmiyorum ama ben şöyle örnekle size ve ihtiyacı olanlara yol göstereyim.
- Öncelikle komutlar büyük / küçük harf duyarlı olduğunu bildireyim.

- Google ile bir örnek vereyim sizler gerisini getirirsiniz.
- Normal bir VCL Win32 uygulamasında bir WebBrowser üzerindeki NAVIGATE edilmiş google.com.tr sayfasına nasıl bir text yollayıp ara butonuna basıyoruz, aşağıdaki gibi...

Kod: Tümünü seç

   WebBrowser1.OleObject.Document.GetElementById('lst-ib').Value := 'DelphiTurkiye';
   WebBrowser1.OleObject.Document.forms.item(0).Submit();
bunu Android altında ise şöyle yapıyoruz...

Kod: Tümünü seç

  WebBrowser1.EvaluateJavaScript( 'document.getElementById("lst-ib").value = "DelphiTurkiye";'
                                + 'document.forms.item(0).submit();' );
Deneyip kendiniz görebilirsiniz. Bir butona http://www.google.com.tr sayfasını tarayacak komutu girin, diğer butona verdiğim CODE tagı içindekini aynen kopyala / yapıştır yapın. :idea:

Başarılar.
Resim
Resim ....Resim
Cevapla