AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi WebBrowser und eigene script language

WebBrowser und eigene script language

Offene Frage von "diabox"
Ein Thema von diabox · begonnen am 25. Dez 2007 · letzter Beitrag vom 30. Dez 2007
Antwort Antwort
Benutzerbild von diabox
diabox

Registriert seit: 13. Sep 2006
61 Beiträge
 
Delphi 2010 Professional
 
#1

WebBrowser und eigene script language

  Alt 25. Dez 2007, 16:04
(Delphi 2007)

hallo Delphi-PRAXIS-Gemeinde und frohe Weihnachten!

Ich benutze die TEmbeddedWB-Komponente (Bsalsa.com: TEmbeddedWB), die sich aber von der Delphi Browser Komponente (und damit vom IE) ableitet.
Ich frage mich jetzt, wie ich einen Teil der Daten eines Dokuments selber interpretieren kann.
Bzw. wie ich einen eigenen Skript-Interpreter ins Spiel bringen kann. Das ganze mal als Beispiel:

Das HTML-Dokument:
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Test-Dokument</title>
<style>
body {
background-color: #333333;
color: #FFFFFF;
margin: 0px 0px 0px 0px;
}
</style>
</head>
<body>
<script language="JavaScript">
alert('Dieser Teil interessiert mich nicht!');
</script>
<script language="MyScriptLang">
alert('Dieser Teil interessiert mich!');
</script>
</body>
</html>
Was bereits richtig läuft ist die Anzeige der MessageBox mit "Dieser Teil interessiert mich nicht!" (verursacht durch den JavaScript-Befehl: alert). Der andere Skriptteil wird einfach ignoriert - was ja eigentlich auch gut ist, denn ist gibt ja keine MyScriptLang. Ich möchte aber nun die Befehle in diesem Script-Block selber interpretieren und das am besten ohne dass das HTML-Dokument zweimal geparst (also dass ich die Datei einmal selber abrufe und sie nach meinen Script-Blöcken durchsuche und dann der Browser nochmal drüber guckt) werden muss.

Kann ich da irgendwelche Nachrichten abfangen, bzw. sowas wie nen Skript-Interpreter "registieren" oder sonst etwas tun um den Teil selbst zu interpretieren?

Im Moment interessiert mich dabei nur eine lokale Lösung, d.h. das muss nur in meinem Programm so passieren, aber wer die Masterlösung parat hat und mit 'ner globalen Lösung kommt: So rein interesse halber würd ich das auch gern wissen

Danke schonmal im voraus
Wer zweifelt, detoniert nicht!'
Dieter Nuhr
  Mit Zitat antworten Zitat
cruso
(Gast)

n/a Beiträge
 
#2

Re: WebBrowser und eigene script language

  Alt 25. Dez 2007, 18:05
Naja also eine Masterlösung für alle Browser wäre folgende: Du müsstest den Interpreter in JavaScript umsetzen und eben mit JavaScript das machen, was du zwischen den <script>-Tags stehen hast.

Das trifft vllt nicht 100%ig das was du möchtest; allerdings ist dies dann Browserunabhängig (und wenn es sich erst einmal etabliert hat, dann wird deine Sprache ja auch in den Browsern zum Standard ).
  Mit Zitat antworten Zitat
Benutzerbild von diabox
diabox

Registriert seit: 13. Sep 2006
61 Beiträge
 
Delphi 2010 Professional
 
#3

Re: WebBrowser und eigene script language

  Alt 25. Dez 2007, 19:01
hmm.. dann gehen wir besser doch über zu einer lokalen lösung
was mir am JavaScript-Interpreter misfällt:

Ich möchte so etwas wie eine eigene Skriptsprache, weil ich das für den ordentlichsten Weg halte mit dem Browser zu kommunizieren: So wie der JavaScript-Befehl alert - vom Browser interpretiert - dazu auffordert eine MessageBox anzuzeigen. Sowas hätte ich auch gerne: eine Möglichkeit mit einem erweiterbaren Befehlssatz über den Browser mit meinem Programm zu kommunizieren.
Wer zweifelt, detoniert nicht!'
Dieter Nuhr
  Mit Zitat antworten Zitat
cruso
(Gast)

n/a Beiträge
 
#4

Re: WebBrowser und eigene script language

  Alt 26. Dez 2007, 00:39
mhm
  Mit Zitat antworten Zitat
Benutzerbild von NikoMitDaMacht
NikoMitDaMacht

Registriert seit: 27. Apr 2004
Ort: Freiburg
298 Beiträge
 
Delphi 6 Enterprise
 
#5

Re: WebBrowser und eigene script language

  Alt 26. Dez 2007, 00:48
Na ich denke da wirst du nicht um ein parsen herrumkommen
Niko
Alles was ein Ende hat, hat auch ein Anfang
  Mit Zitat antworten Zitat
Benutzerbild von diabox
diabox

Registriert seit: 13. Sep 2006
61 Beiträge
 
Delphi 2010 Professional
 
#6

Re: WebBrowser und eigene script language

  Alt 30. Dez 2007, 14:18
Naja gut wär auch zu einfach gewesen ^^ Trotzdem danke

Vielleicht noch ein Lösungsansatz für Leute mit ähnlichem Leiden:
Die TEmbeddedWB Komponente besitzt ein Event namens OnShowMessage.
Dieses Event wird aktiv, wenn der Browser ein Nachrichtfenster anzeigt (also sowas wie JavaScript's alert):
In diesem Event kann man den Text der MessageBox abfragen und danach dann entscheiden, ob man Result auf 0 setzt - die MessageBox wird nicht angezeigt oder ob man Result auf 1 setzt - die MessageBox wird angezeigt.

Bestimmt ein denkbar unsauberer Weg eigene Befehle über eine alert-Box, die nicht angezeigt wird an den Client zu senden, aber immerhin kommt man um das doppelt parsen herum. Für meine Zwecke reicht das eventuell schon.

Guten Rutsch
Wer zweifelt, detoniert nicht!'
Dieter Nuhr
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz