Webbrowserda script çalıştırma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
hido
Üye
Mesajlar: 268
Kayıt: 29 Mar 2014 04:32

Webbrowserda script çalıştırma

Mesaj gönderen hido »

Selam,

Webbrowser navigate içinde script leri nasıl çalıştırabilirim...
Webbrowser1.navigate('+'); gibi benzeri yöntemler denemdim ancak başarısız oldum. :D

script kodu:

Kod: Tümünü seç

<script src="http://mtv.com.lb/Player/485/jwplayer.js" type="text/javascript"></script>
   <script type="text/javascript">
        //<![CDATA[
            jwplayer.key = "OLt0hutFdsI99VbUahuSZ4tiX8eM+DK9W1bqRw==";
        //]]>
        </script>
<br />
<div id="player_7246">
</div>
<script type="text/javascript">
  jwplayer('player_7246').setup({
    file: "rtmp://37.77.2.234:1935/redirect/live",
    width: "100%",
    height: "100%",
    primary: "flash",
    image: "",
    title: " [Giriş Yazısı]",
    abouttext: 'Web TV',
    link: 'http://xxxxxxxx.com/',
    autostart: "false",
      logo: {
        file: "http://xxxxx.png",
        link: "http://xxxxxxx.com"
      }
  });
</script>
Kullanıcı avatarı
AliZairov
Üye
Mesajlar: 341
Kayıt: 06 Nis 2012 03:09
Konum: Azerbaycan, Bakü
İletişim:

Re: Webbrowserda script çalıştırma

Mesaj gönderen AliZairov »

Merhaba. Hiç denemedim dediğinizi amma html kodları çalıştırmak için bu kodlamayı kullanıyordum.

Kod: Tümünü seç


uses OleCtrls, SHDocVw, ActiveX;

procedure WBLoadHTML(WebBrowser: TWebBrowser; HTMLCode: string);
var
  SL: TStringList;
  MS: TMemoryStream;
begin
  WebBrowser.Navigate('about:blank') ;
  while WebBrowser.ReadyState < READYSTATE_INTERACTIVE do
  Application.ProcessMessages;
  if Assigned(WebBrowser.Document) then
  begin
    SL := TStringList.Create;
    try
      MS := TMemoryStream.Create;
      try
        SL.Text := HTMLCode;
        SL.SaveToStream(MS);
        MS.Seek(0, 0);
        (WebBrowser.Document as IPersistStreamInit).Load(TStreamAdapter.Create(MS));
      finally
        MS.Free;
      end;
    finally
      SL.Free;
    end;
  end;
end;
Kullanıcı avatarı
hido
Üye
Mesajlar: 268
Kayıt: 29 Mar 2014 04:32

Re: Webbrowserda script çalıştırma

Mesaj gönderen hido »

Selam...


Script kodlarını nasıl çalıştıracağım?
Kullanıcı avatarı
AliZairov
Üye
Mesajlar: 341
Kayıt: 06 Nis 2012 03:09
Konum: Azerbaycan, Bakü
İletişim:

Re: Webbrowserda script çalıştırma

Mesaj gönderen AliZairov »

Selam. Kullanımı şöyle.

Kod: Tümünü seç

WBLoadHTML(WebBrowser1, '<h1>DelphiTurkiye</h1>');
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Re: Webbrowserda script çalıştırma

Mesaj gönderen Lord_Ares »

Merhaba aşağıdaki şekilde kullanıyorum. Sende bu şekilde bir denermisin.

Kod: Tümünü seç

WebBrowser1.Navigate( WideString('javascript:fonksiyon_adi();') );
Kullanıcı avatarı
hido
Üye
Mesajlar: 268
Kayıt: 29 Mar 2014 04:32

Re: Webbrowserda script çalıştırma

Mesaj gönderen hido »

Lord_Ares yazdı:Merhaba aşağıdaki şekilde kullanıyorum. Sende bu şekilde bir denermisin.

Kod: Tümünü seç

WebBrowser1.Navigate( WideString('javascript:fonksiyon_adi();') );

Hocam WebBrowser1.Navigate(' ') içinde denedim kafam bir türlü almadı rica ettsem kodlamada yardımcı olabilir misiniz...


Resim
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Re: Webbrowserda script çalıştırma

Mesaj gönderen Lord_Ares »

Sayfanın içinde javascriptin çağırıldığı bir yer olmalı(form veya button gibi). orada bunu kullanacaksın aksi aksi takdirde webbrowser ile post etmen gerekir diye düşünüyorum. örneğin buradaki gibi bir scripti çalıştırmak için

Kod: Tümünü seç

<a onclick="switchLanguage(this.id)" 
Bu şekilde kullanmalısın
WebBrowser1.Navigate( WideString('javascript:switchLanguage(this.id)') );
thelvaci
Kıdemli Üye
Mesajlar: 770
Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:

Re: Webbrowserda script çalıştırma

Mesaj gönderen thelvaci »

Webbrowser vasıtası ile script çalıştırabilirsiniz. Bunun için IHTMLWindow2 arabirimini elde edip, bu arabirimin execScript metodunu kullanabilirsiniz.

Aşağıdaki linklerden malümat elde edebilirsiniz:

IHTMLWindow2 Interface MSDN
Delphi & JavaScript Kardeşliği
Delphi ve Google Maps API

Not: MSDN açıklamasına göre ilgili interface'in execScript isimili metodu Internet Explorer 11'de desteklenmiyormuş, onun yerine eval metodunu kullanmanızı öneriyor Microsoft.
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Re: Webbrowserda script çalıştırma

Mesaj gönderen vkamadan »

thelvaci yazdı: Not: MSDN açıklamasına göre ilgili interface'in execScript isimili metodu Internet Explorer 11'de desteklenmiyormuş, onun yerine eval metodunu kullanmanızı öneriyor Microsoft.
Tuğrul hocam çok önemli bir detaya değinmişsiniz, peki "EVAL" 11 öncesinde çalışıyor mu bilginize var mı?
Volkan KAMADAN
www.polisoft.com.tr
thelvaci
Kıdemli Üye
Mesajlar: 770
Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:

Re: Webbrowserda script çalıştırma

Mesaj gönderen thelvaci »

vkamadan yazdı:
thelvaci yazdı: Not: MSDN açıklamasına göre ilgili interface'in execScript isimili metodu Internet Explorer 11'de desteklenmiyormuş, onun yerine eval metodunu kullanmanızı öneriyor Microsoft.
Tuğrul hocam çok önemli bir detaya değinmişsiniz, peki "EVAL" 11 öncesinde çalışıyor mu bilginize var mı?
Denemediğim için bilmiyorum maalesef. Ben kendi ihtiyaçlarımı da execScript ile karşılıyordum. Microsoft IE11 ile birlikte bazı değişikliklere gitmiş bunları da aşağıdaki linkte sıralamışlar. Webbrowser ve internet programcılığına pek işim düşmüyor ama sizler için faydalı olabilir sanırım.

Compatibility changes in IE11
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Re: Webbrowserda script çalıştırma

Mesaj gönderen vkamadan »

Tuğrul hocam teşekkürler tecrübe edip buradan paylaşırım, şuan sisteminde i.e 11 yüklü ve execScript sorunsuz çalışıyor.
iyi çalışmalar.
Volkan KAMADAN
www.polisoft.com.tr
thelvaci
Kıdemli Üye
Mesajlar: 770
Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:

Re: Webbrowserda script çalıştırma

Mesaj gönderen thelvaci »

vkamadan yazdı:Tuğrul hocam teşekkürler tecrübe edip buradan paylaşırım, şuan sisteminde i.e 11 yüklü ve execScript sorunsuz çalışıyor.
iyi çalışmalar.
Klasik Microsoft işte, önce korkutuyor, ileride kaldıracak ya, elinizi ayağınızı bu metoddan çekin diyor sanırım :)

Muhtemelen IE11'de ilgili metod çağrımını redirect etmişlerdir, binlerce insan etkilenmesin diye; IE12'de redirection'ı silip "eh biz sizi uyarmıştık" derler ;)
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Re: Webbrowserda script çalıştırma

Mesaj gönderen vkamadan »

Haklısınız ama galiba i.e.13 te yapacaklar çünkü merak edip ie12 yükledim yine çalıştı :)
Volkan KAMADAN
www.polisoft.com.tr
thelvaci
Kıdemli Üye
Mesajlar: 770
Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:

Re: Webbrowserda script çalıştırma

Mesaj gönderen thelvaci »

vkamadan yazdı:Haklısınız ama galiba i.e.13 te yapacaklar çünkü merak edip ie12 yükledim yine çalıştı :)
Ben Microsoft'un yalancısıyım ;)
Kullanıcı avatarı
hido
Üye
Mesajlar: 268
Kayıt: 29 Mar 2014 04:32

Re: Webbrowserda script çalıştırma

Mesaj gönderen hido »

Bilgilendirme için herkese teşekkür ederim, bir çok test yaptım ama script çalıştırmayı başaramadım maalesef...
Cevapla