Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
hido
Üye
Mesajlar: 268 Kayıt: 29 Mar 2014 04:32
Mesaj
gönderen hido » 19 Nis 2015 02:47
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.
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>
AliZairov
Üye
Mesajlar: 341 Kayıt: 06 Nis 2012 03:09
Konum: Azerbaycan, Bakü
İletişim:
Mesaj
gönderen AliZairov » 19 Nis 2015 09:57
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;
hido
Üye
Mesajlar: 268 Kayıt: 29 Mar 2014 04:32
Mesaj
gönderen hido » 19 Nis 2015 02:07
Selam...
Script kodlarını nasıl çalıştıracağım?
AliZairov
Üye
Mesajlar: 341 Kayıt: 06 Nis 2012 03:09
Konum: Azerbaycan, Bakü
İletişim:
Mesaj
gönderen AliZairov » 19 Nis 2015 02:15
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
Mesaj
gönderen Lord_Ares » 19 Nis 2015 02:45
Merhaba aşağıdaki şekilde kullanıyorum. Sende bu şekilde bir denermisin.
Kod: Tümünü seç
WebBrowser1.Navigate( WideString('javascript:fonksiyon_adi();') );
hido
Üye
Mesajlar: 268 Kayıt: 29 Mar 2014 04:32
Mesaj
gönderen hido » 19 Nis 2015 07:17
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...
Lord_Ares
Üye
Mesajlar: 1070 Kayıt: 15 Eki 2006 04:33
Konum: Çorlu
Mesaj
gönderen Lord_Ares » 19 Nis 2015 09:57
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:
Mesaj
gönderen thelvaci » 20 Nis 2015 12:50
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.
vkamadan
Kıdemli Üye
Mesajlar: 1935 Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:
Mesaj
gönderen vkamadan » 20 Nis 2015 09:22
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ı?
thelvaci
Kıdemli Üye
Mesajlar: 770 Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:
Mesaj
gönderen thelvaci » 20 Nis 2015 10:24
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
vkamadan
Kıdemli Üye
Mesajlar: 1935 Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:
Mesaj
gönderen vkamadan » 20 Nis 2015 10:44
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.
thelvaci
Kıdemli Üye
Mesajlar: 770 Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:
Mesaj
gönderen thelvaci » 20 Nis 2015 10:50
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
vkamadan
Kıdemli Üye
Mesajlar: 1935 Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:
Mesaj
gönderen vkamadan » 20 Nis 2015 11:14
Haklısınız ama galiba i.e.13 te yapacaklar çünkü merak edip ie12 yükledim yine çalıştı
thelvaci
Kıdemli Üye
Mesajlar: 770 Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:
Mesaj
gönderen thelvaci » 20 Nis 2015 11:20
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
hido
Üye
Mesajlar: 268 Kayıt: 29 Mar 2014 04:32
Mesaj
gönderen hido » 20 Nis 2015 02:53
Bilgilendirme için herkese teşekkür ederim, bir çok test yaptım ama script çalıştırmayı başaramadım maalesef...