Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Webbroker. PageProducer und transparente HTML-Tags (https://www.delphipraxis.net/189600-webbroker-pageproducer-und-transparente-html-tags.html)

Delbor 28. Jun 2016 14:53

Webbroker. PageProducer und transparente HTML-Tags
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi zusammen
In einer meiner Webbroker-Testanwendungen gebe ich pere HTML die Inhalte einer Linkliste an (HTML-Menue):

Delphi-Quellcode:
    <!-- *************************************************************************** <img alt="DelborPunktCH" src="Delbor_9_5.jpg" />-->
              <#NORMALSPURBAHNEN<!
//   <!--            <li><a href="#">Normalspurbahnen</a>
//                <ul class="Flyoutmenue">
//                    <li><a href="#">Gotthardgiganten</a></li>
//                    <li><a href="#">Französischer Dampf am Gotthard</a></li>
//                    <li><a href="html/AufromantischerSpur1.html">AufromantischerSpur1</a></li>
//                </ul>
//              </li>                                                                />-->
    <!-- *************************************************************************** -->
Jetzt auskommentiert ist der ursprünglich in dem HTML-File vorhandene Code, den ich durch ein neues transparentes HTML-Tag ersetzt habe.
Das funktioniert soweit auch - mit einem kleinen "Schönheitsfehler, den das angehängte Jpeg zeigt.
Der erste Menuepunkt ist der statt des Tags eingefügte HTML-Code. Im Pageproducer befindet sich exakt das im obigen Beispiel eingefügte
Schnipsel.
Und unterhalb davon nochmal ein "Menuepunkt" <Normalspurbahnen>, nicht in einem CSS-Block eigeschlossen.
Da dieser String aber nicht aus dem HTML-File stammen kann und sich auch nicht im PageProducer-Property HTMLDOC eingeschlichen hat - woher kommt dann der Schrott?

Gruss
Delbor

Delbor 28. Jun 2016 15:11

AW: Webbroker.PageControl und transparente HTML-Tags
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi zusammen

Wie sagt man so schön? Der grösste Fehler sitzt vor dem Bildschirm?
Ich hätte mir den Code ja im Browser schon vorher ansehen können (diehee Anhang)...

Jetzt muss ich 'nur' noch herausfinden, woher der doppelte Aufruf kommt...
Aber mal sehen, vielleicht habe ich die Antwort schon...

Gruss
Delbor

PS:
Zitat:

Aber mal sehen, vielleicht habe ich die Antwort schon...
Das war leider nicht der Fall. Durchsteppen hat gezeigt, dass offenbar die gesamte Tagliste mehrmals durchlaufen wird (>=4)

Jumpy 28. Jun 2016 16:26

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Muss ein Tag nicht so aussehen: <#NORMALSPURBAHNEN> statt so: <#NORMALSPURBAHNEN<!.

Wie sieht den das original HTML-Dokument aus, das dem PageProducer als Vorlage dient und wie sieht genau deine OnTag-Routine aus?

Delbor 28. Jun 2016 17:25

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Hi Jumpy
Zitat:

Muss ein Tag nicht so aussehen: <#NORMALSPURBAHNEN> statt so: <#NORMALSPURBAHNEN<!.
Ich habe eigentlich beides. Und zwar im Kopf der HTML-Seite:
Delphi-Quellcode:
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
  <head>
   <title>Delbor - Home</title>
    <meta http-equiv="Content-Type" content="text/html">
  <style>
    <#DELBORHOMECSS>
    <#MENUE>

  </style>
  </head>
sowie an der hier gezeigten Position:
Delphi-Quellcode:
    <!-- *************************************************************************** <img alt="DelborPunktCH" src="Delbor_9_5.jpg" />-->
              <#NORMALSPURBAHNEN<!
   <!--            <li><a href="#">Normalspurbahnen</a>
                <ul class="Flyoutmenue">
                    <li><a href="#">Gotthardgiganten</a></li>
                    <li><a href="#">Französischer Dampf am Gotthard</a></li>
                    <li><a href="html/AufromantischerSpur1.html">AufromantischerSpur1</a></li>
                </ul>
              </li>                                                                />-->
    <!-- *************************************************************************** -->
Die Hintergründe sind zum einen, dass Embarcadero die Schreibweise der Tagnamen so wie im 2. Codeschnipsel angibt, und zum andern, dass mir Delpi im ersten gezeigten Schnipsel die Tagnamen als unbekannt unterstrich, wenn ich sie nach der Empfehlung wie im 2. Schnipsel formulierte und umgekehrt wurde im 2. Schnipsel <#NORMALSPURBAHNEN> als unbekannt angemeckert.
Der Unterschied ist offensichtlich der Seitenabschnitt: ersteres Schnipsel befindet sich zwischen <head><style> und </style></head>
und 2. im Bodybbereich, also nicht zwischen weiteren Abschnittstags

Dem Pageproducer.HTMLfile habe ich eine Webseite als Vorlage spendiert:
Delphi-Quellcode:
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
  <head>
   <title>Delbor - Home</title>
    <meta http-equiv="Content-Type" content="text/html">
  <style>
    <#DELBORHOMECSS>
    <#MENUE>

  </style>
  </head>
  <body>
  <div id="Titellogo">&nbsp;,&nbsp;
    <h2>Willkommen auf den Seiten von
  </h2>
  </div> <!--< -->
  <div id="header">&nbsp;<#Image/></div>

    <div id="Leftcol">
      <!--<div id="mainnavigation"> </div> <img alt="DelborPunktCH" src="Delbor_9_5.jpg" /> <>-->
        <ul id="mainmenue">
          <li><a href="#">EisenBahnen</a>
            <ul class="submenue">
    <!-- *************************************************************************** <img alt="DelborPunktCH" src="Delbor_9_5.jpg" />-->
              <#NORMALSPURBAHNEN<!
   <!--            <li><a href="#">Normalspurbahnen</a>
                <ul class="Flyoutmenue">
                    <li><a href="#">Gotthardgiganten</a></li>
                    <li><a href="#">Französischer Dampf am Gotthard</a></li>
                    <li><a href="html/AufromantischerSpur1.html">AufromantischerSpur1</a></li>
                </ul>
              </li>                                                                />-->
    <!-- *************************************************************************** -->
              <li><a href="#">Schmalspurbahnen</a>
                <ul class="Flyoutmenue">
                    <li><a href="#">100 Jahre Säntisbahn</a></li>
                    <li><a href="#">Das Juwel vom Waldenburgertal</a></li>
                </ul>
              </li>
    <!-- *************************************************************************** -->
              <li><a href="#">Berg- und Zahnradbahnen</a>
                <ul class="Flyoutmenue">
                    <li><a href="#">Die Rigibahn</a></li>
                    <li><a href="#">Rosa und die RHB</a></li>
                </ul>
              </li>
    <!-- *************************************************************************** -->
            </ul>
           </li>       <!-- Submenue -UL -->
          <li><a href="#">Programmieren mit Delphi</a></li>
        </ul>           <!-- *Mainmenue - UL* -->
                  <<!-- *Mainnavigation-div* -->
    </div>
                   <!-- H:/Developer/Delbor-Content-Manager V0.001
                     H:/Developer/Delbor-Content-Manager V0.001
                       H:/Developer/Delbor-Content-Manager V0.001
                       H:/Developer/Delbor-Content-Manager V0.001
                  -->

    <div id="Rightcol">
    </div>

  </body>
</html>
Meine OnHTMLLag-Routine:
Delphi-Quellcode:
procedure TWebModule1.PageProducerHomeHTMLTag(Sender: TObject; Tag: TTag;
  const TagString: string; TagParams: TStrings; var ReplaceText: string);
begin
  if TagString = 'DELBORHOMECSS' then
    ReplaceText := PageProducerHomeCSS.Content;
  if Tagstring = 'MENUE' then
    ReplaceText := PageProducerMenueCSS.Content;
  if TagString = 'NORMALSPURBAHNEN' then
    ReplaceText := PageProducerNormalspurbahnen.Content;

end;
Ausserdem:
Delphi-Quellcode:
procedure TWebModule1.WebModule1DefaultHandlerAction(Sender: TObject;
  Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
  var List: TStringList; Refererstr, SourceStr: string; i,x: Integer;
begin
if Request.PathInfo = '/html/AufromantischerSpur1.html' then
begin
  WebModule1WebActRomanticeRoadAction(Self,Request,Response,Handled);
end;

end;

procedure TWebModule1.WebModule1WebActHomeAction(Sender: TObject;
  Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
  var PagePath: WideString;
begin
  Response.Content := PageProducerHome.Content;
  Response.Content := Response.Content + PageProducerLogo.Content;
  Response.Content := Response.Content + 'Request.PathInfo := ' + Request.PathInfo;
  Response.SendResponse;
end;

procedure TWebModule1.WebModule1WebActRomanticeRoadAction(Sender: TObject;
  Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
begin
  if Request.PathInfo = '/html/AufromantischerSpur1.html' then
  begin
  Response.Content := PageProducerRomanticRR.Content;
  Response.Content := Response.Content + PageProducerRomanticCSS.Content;
  Handled := True;
  end;
end;
Der Code stammt grössteteils aus meinen länger zurückliegenden ersten Testversuchen mit Webbroker und ist so natürlich alles andere als vollständig.


Gruss
Delbor

Sir Rufo 28. Jun 2016 17:46

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Es ist ein Fehler in der Dokumentation und es muss
Delphi-Quellcode:
<#TAG>
lauten.

BTW: Jeder HTML Validierer wird dir diese Tags mit der Raute als unbekannt kennzeichnen, weil die eben für HTML unbekannt sind. Nur ist das ja auch keine HTML Datei, sondern ein Template für eine HTML-Datei :stupid:

Delbor 28. Jun 2016 18:22

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Hi Sir Rufo

Genau diesen Eindruck hatte ich auch, als ich seinerzeit die beiden Tags im Header platzierte und gemäs Doku formatierte - aber genau diese Formatierung - die ja eben im Header anstandslos akzeptiert wird, wird im Body angemeckert. Und offenbar wird, wie mein Jpeg im ersten Post zeigt, dieser Tagname auch ausgeführt.

Gruss
Delbor

Delbor 28. Jun 2016 18:50

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Liste der Anhänge anzeigen (Anzahl: 3)
Hi Sir Rufo
Zitat:

BTW: Jeder HTML Validierer wird dir diese Tags mit der Raute als unbekannt kennzeichnen, weil die eben für HTML unbekannt sind. Nur ist das ja auch keine HTML Datei, sondern ein Template für eine HTML-Datei
Das habe ich bislang übersehen. Der Anhang zeigt, wie dasausieht, wenn ich die Tagnamen abändere und wie sich das auf die Webseite auswirkt.
  • Im ersten Jpeg siehst du, was Delphi macht, wenn ich den Tagnamen auf eine abschliessende Dreiecksklammer ändere(Ohne abschliessendes Taf
  • Im zweiten Jpeg siehst du das Tag mit entferntem abschliessenden Tag
  • Und schliess zeigt das 3. Jpeg einen Ausschnitt des Browsers. Der ist übrigens durchgehend Leer den ganzen Browser eines 23-Zoll-Screens anzuzeigen, finde ich etwas übertrieben.

Zitat:

Nur ist das ja auch keine HTML Datei,
Doch, ist es. Im Property Pageproducer.HTMLFile werden andere als HTMLFiles mit der Endung html oder htm nicht akzeptiert. Eine Alternative wäre wohl Pageproduce.HTMLDoc. Wenn mich meine Erinnerung nicht täuscht, stammen diese Inhalte aus .txt-Files. Die Originaldateien waren entweder HTML- oder CSS-Ursprungs.

Gruss
Delbor

Sir Rufo 28. Jun 2016 20:07

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Was ist eine HTML-Datei?
  • Eine Datei mit der Endung .html (egal welcher Inhalt da drin steckt)
  • Eine Datei mit einem Text, der gemäß HTML-Richtlinien strukturiert aufgebaut ist (bekommt bevorzugt die Endung .html/.htm)
BTW: Bei mir funktiniert das mit dem PageProducer nur dann, wenn ich
Delphi-Quellcode:
<#TAG>
im Template schreibe, dann wird auch der Event passend gefeuert.

Delbor 28. Jun 2016 20:50

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi Sir Rufo
Zitat:

BTW: Jeder HTML Validierer wird dir diese Tags mit der Raute als unbekannt kennzeichnen, weil die eben für HTML unbekannt sind.
Natürlich ist HTML ausschliesslich eine Text-Datei und dementsprechend ein HTML-File eine Text-Datei mit der entsprechenden Endung.
Und was ist ein Validierer? Der HTML-Editor, in meinem Fall derjenige von Delphi. Und der reagiert wie beschrieben.

Interessant wäre allerdings das Verhalten anderer Editoren zu testen.

Aber all das gibt mir noch keinen Hinweis darauf, wesshalb das Menue HTML-Seite unter dem erste Menuepunkt mit den Untermenues und den von diesen Aufrufbaren Flyoutmenues den ersten Menuepunkt ein zweites Mak ausgibt, allerdings ohne den CSS-Boxen und Farben. Zur Erinnerung das jpeg nochmal im Anhang; Der zuviel angezeigte Menuepunkt ist das zweite, nicht eingerahmte Untermenue.

Gruss
Delbor

Sir Rufo 28. Jun 2016 21:02

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Eventuell hilft es dir ja, wenn du mal dein HTML-Template von den ganzen Artefakten befreist oder es zunächst mit einem ganz einfachen Template versuchst.

Ausgaben wie z.B.
Delphi-Quellcode:
/>-->
sind eher ein Hinweis, dass dein Template schon mal etwas durcheinander ist.

Wenn der Fehler dann immer noch auftaucht, dann häng doch die erzeugte HTML-Datei als Anhang an, dann sieht man auch wo der Frosch die Locken hat. (Aber bitte erst das Template von dem Unrat befreien)

Delbor 28. Jun 2016 21:17

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Hi Sir Rufo

Zitat:

Bei mir funktiniert das mit dem PageProducer nur dann, wenn ich <#TAG> im Template schreibe, dann wird auch der Event passend gefeuert.
Interessant. Scheint also eine Sache der Optionen zu sein.

Zitat:

Ausgaben wie z.B. />--> sind eher ein Hinweis, dass dein Template schon mal etwas durcheinander ist.
Das sind keine Ausgaben, sondern die HTML-Auskommentierungszeichen. Die brauchte ich eigentlich ausschliesslich bei der Entwicklung. Und da diese noch nicht wirklich abgeschlossen ist, hab ich einge davon stehen lassen (erspart nervende Tipparbeit).


Gruss
Delbor

Sir Rufo 28. Jun 2016 22:14

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Aha, und die sollen beim Rendern auch tatsächlich angezeigt werden?

Öh, Optionen, öh, PageProducer auf die Form geklatscht, das war es mit den Optionen

Delbor 29. Jun 2016 05:57

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Hi Sir Rufo
Zitat:

Aha, und die sollen beim Rendern auch tatsächlich angezeigt werden?
Nein, latürnich nicht - aber mir fällt ein, da war/ist ein einzelnes 'Winkeleisen', das tatsächlich angezeigt wird. Und das muss natürlich weg.
Vergessen ging das, weils momentan wichtigeres gibt, als so ein kleines 'Winkeleisen' das unverschämt frech hinter dem Bühnenvorhang hervorlugt.
Aber Danke für den Hinweis!

Zitat:

Öh, Optionen, öh, PageProducer auf die Form geklatscht, das war es mit den Optionen
Hast recht - Optionsmöglichkeiten gibt es zumindest unter den Projectoptionen nicht sehr viele, und ob es unter <Tools/Optionen> überhaupt sowas für HTML gibt, müsste ich erst nacchsehen, bezweifle das aber (könnte aber auch genau umgekehrt sein...).

Aber manchmal hilfte es, ein Problem zu überschlafen dann könnte einem etwa einfallen, das sämtliche neue Actionitems erst mal Enabled sind und somit abgearbeitet werden. Zumindest glaube ich, die Help so in Erinnerung zu haben. Werde ich austesten, wenn ich wirklich wach bin...

Gruss
Delbor

Sir Rufo 29. Jun 2016 06:42

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Dieses "unwichtige Winkeleisen" sollte eigentlich der Abschluss von einem Kommentar in deiner Html Seite sein
Delphi-Quellcode:
<!-- Kommentar -->
ist er aber nicht mehr (darum wird das beim Rendern ausgegeben).

Ergo passt etwas an deiner Struktur nicht und es befinden sich Teile darin, die eigentlich auskommentiert werden sein sollten, es aber nicht sind.

Du fragst dich, warum da irgendwas doppelt erscheint und tust so einen Hinweis auf einen Strukturfehler (der alles Mögliche bewirken kann) als unwichtig ab. :roll:

Na denn, wenn du bereit bist für einen lösungsorientierten Ansatz dann gib einfach Laut.

Delbor 29. Jun 2016 10:34

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Liste der Anhänge anzeigen (Anzahl: 3)
Hi Sir Rufo
Nachdem ich nun bei den Kommentaren etwas aufgeräumt habe, habe ich auch mal Tests mit der Formatierung des Tagnamens duchgeführt. Dabei öffnete ich die Datei im Explorer.
Das erste Bild zeigt dabei den Quellcode, wie er per <Quellcode anzeigen> angezeigt wird. Das einleitende rote Kommentarzeichen steht so nicht in der Originaldatei, sondern wird offensichtlich durch den falsch formatierten Tagnamen erzeugt (<XXX<!).
Das zweite Jpeg zeigt die Seite, wie sie per Doppelklick im Explorer geöffnet wird, wenn der Tagname mit der abschliessenden Spitzklammer geschrieben wird. Und das dritte Bild zeigt schliesslich das Resultat im Browser.

Zitat:

...das sämtliche neue Actionitems erst mal Enabled sind und somit abgearbeitet werden. Zumindest glaube ich, die Help so in Erinnerung zu haben.
Da hat mir meine Erinnerung einen Streich gespielt.

Gruss
Delbor

Jumpy 29. Jun 2016 10:58

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Also ein Tag für den Page-Producer muss definitiv so aussehen: <#Irgendwas>.
Das ist dann kein HTML-Tag, hat auch nichts mit HTML zu tun, sondern ist nur sowas wie eine "Textmarke" für den PageProducer, wo er irgendwas im Text ersetzen muss/soll. Nur für den Fall, dass das irgendwie noch verwechselt wurde.

Der Page-Producer parst ja denke ich mal das HTML-File, dass er als Vorlage bekommt, und der parser kommt dann schwer durcheinander, wenn da wilde < oder # oder > in Kommentaren oder ausserhalb stehen und produziert seltsame Ergebnisse.

Deswegen wie Sir Rufo sagte: In der HTML-Vorlagen-Datei: Alle Kommentare raus. Nur das minimale was man haben möchte rein, so dass es geht. Dann nach und nach neue Dinge einbauen. Sonst kommt man nur durcheinander und findet vor lauter Tags dem Fehler nicht.

In deinem HTML weiß ich z.B. auch nicht was <#Image/> sein soll. Auch ein Tag für den PageProducer? Soll da der Bildname nur eingesetzt werden, dann vllt. eher: <img <#MyImage>/>. Wobei den Slash brauchst eigentlich auch nur bei XHTML mein ich.

Sir Rufo 29. Jun 2016 11:38

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Nun ja, Kommentare kann man da schon rein machen - wenn man sich die HTML-Struktur nicht zerhaut.
(siehe meine Signatur :stupid:)

Ich hatte nur keine Lust für ihn die Vorlage zu entlausen ;)

Das mit dem Image würde ich eher so lösen:
  • Im Template:
    Delphi-Quellcode:
    <#IMAGE foo>
  • In der Tag-Methode:
    Delphi-Quellcode:
    procedure TFoo.PageProducer1HTMLTag(
      Sender        : TObject;
      Tag           : TTag;
      const TagString: string;
      TagParams     : TStrings;
      var ReplaceText: string );
    begin

      case Tag of
        tgCustom:
          ReplaceText := GetCustomTag( TagString, TagParams );
        tgLink:
          ReplaceText := GetLinkTag( TagParams );
        tgImage:
          ReplaceText := GetImageTag( TagParams );
        tgTable:
          ReplaceText := GetTableTag( TagParams );
        tgImageMap:
          ReplaceText := GetImageMapTag( TagParams );
        tgObject:
          ReplaceText := GetObjectTag( TagParams );
        tgEmbed:
          ReplaceText := GetEmbedTag( TagParams );    
      end;

    end;
Der Aufruf der Methode erfolgt für den Tag mit den Werten
  • Tag: tgImage
  • TagString: IMAGE
  • TagParams: foo
Die Dokumentation könnte einen dazu veranlassen zu glauben, dass die Tags für img, table, etc. automatisch dazugefügt werden: Dem ist nicht so, man muss genau das zurückliefern, was man in der HTML-Datei stehen haben möchte.

Für den Tag oben kann amn also z.B. ein
Delphi-Quellcode:
<img src="./images/foo.jpg"/>
zurückliefern.

Delbor 29. Jun 2016 12:26

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Hi Jumpie
Woher das Image-Tag genau kommt, weiss ich nicht mehr. Wie schon angedeutet, stammen diese Dateien aus meinen ersten Webbroker-Test; ich denke, dieses Tag hat sich damals "eingeschlichen", als ich versuchte, ein Logo im Header einzufügen.

Mit dem Image-Tag, das Delphi vordefiniert, werde ich wohl nicht viel anfangen können, da ich mehrere Bilder in eine Seite einbinden muss.

Die jetzt unmittelbar bevorstehenden Aufgaben sind: Für jede Seite den selben Hintergrund aber mit angepasstem Inhalt sowie die Bilder laden (Logos, Galeriebilder etc.).
Eine Herausforderung dürfte wohl sein, dass Bilder in den Contentstream geladen werden müssen. Zumindest meiner Erinnerung nach funktonieren die noramelen Bildverweise nicht mehr, wenn das HTML via Pageproducer ausgegeben werden. Aber auch da kann mich meine Erinnerung täuschen.

Auf jeden Fall bleibts erstmal spannend...

Gruss
Delbor

PS: Soeben wollte ich abschicken, da sah ich den neuen Beitrag von Sir Rufo, werde darauf aber in einem neuen Beitrag antworten.

Delbor 29. Jun 2016 13:07

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Hi Sir Rufo
Delphi-Quellcode:
    Im Template:
    <#IMAGE foo>
    In der Tag-Methode:
   
    Delphi-Quellcode:
    procedure TFoo.PageProducer1HTMLTag(
      Sender : TObject;
      Tag : TTag;
      const TagString: string;
      TagParams : TStrings;
      var ReplaceText: string );
    begin

      case Tag of
        tgCustom:
          ReplaceText := GetCustomTag( TagString, TagParams );
        tgLink:
          ReplaceText := GetLinkTag( TagParams );
        tgImage:
          ReplaceText := GetImageTag( TagParams );
        tgTable:
          ReplaceText := GetTableTag( TagParams );
        tgImageMap:
          ReplaceText := GetImageMapTag( TagParams );
        tgObject:
          ReplaceText := GetObjectTag( TagParams );
        tgEmbed:
          ReplaceText := GetEmbedTag( TagParams );
      end;

    end;

Der Aufruf der Methode erfolgt für den Tag mit den Werten

    Tag: tgImage
    TagString: IMAGE
    TagParams: foo
Das ewige
Delphi-Quellcode:
if..then..
, wie ichs bislang habe, nervt mich schon llänger. Allerdings habe ich da zurzeit noch ein kleines Verständnisproblem, bzw. die Sache ist noch nicht zu Ende gedacht.
Zum einen sollen die Dateien auf der Festplatte (Später also auch derjenigen des Hosters) gespeichert werden, soweit sie Seiten und Seiteninhalte betreffen; Nur User, Sessions etc sollen in eine DB.
Ziel ist, das ich auf meinem Rechner eine Webseite erstelle, diese und allfällig dazugehörende Dateien (CSS etc) zusammen mit einer String-oder Objectliste hochlade. Das Webmodul lädt dann die Dateien nach Angabe aus der Liste. So sollte die Website beim Hoster eigentlich recht dynamisch erweitert werden können.

Zitat:

Für den Tag oben kann amn also z.B. ein <img src="./images/foo.jpg"/> zurückliefern.
Das heisst also, dass entgegen meiner Erinnerung Bilder auch durch den Pageproducer und die Angabe des Suchpfades ausgegeben werden können.
Aber ich sehe gerade, der obige Case..of-Block weist noch auf eine Reihe anderer Möglichkeiten hin.
Da muss ich mich doch noch kräftig in die Doku vertiefen.
So scheint tgObject darauf hinzuweisen, dass da ein Objekt eingefügt werden soll. Stattdessenkommt da wahrscheinlich nur der vom Objekt geliefert Inhalt rein.

Gruss
Delbor

Jumpy 29. Jun 2016 13:18

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Zitat:

Zitat von Delbor (Beitrag 1341520)
Zumindest meiner Erinnerung nach funktonieren die noramelen Bildverweise nicht mehr, wenn das HTML via Pageproducer ausgegeben werden. Aber auch da kann mich meine Erinnerung täuschen.

Das hängt ja generell von deiner Konstellation ab, wie du alles auf deinem Webserver unterbringst, wie du den IIS konfigurierst usw.

Ich habe noch ein älteres Projekt in der Wartung, mit Delphi-CGI-Exe, wo ich Bilder ganz normal als Tags im HTML habe, die dann automatisch vom Browser nachgeladen werden, wie man das so erwartet. Gleiches gilt auch für die CSS-Dateien. Man muss sich da ggf. Gedanken machen was für Pfade man für die Bilder bzw. CSS angibt (s. Sir Rufos Image-Tag Beispiel), aber das ist sicher einfacher und übersichtlicher, als alle Bilder als Stream da einzubetten. Analog finde ich alle Styles in einer CSS-Datei aufzuheben auch sauberer als sie in Style-Tags im HTML einzubinden.

Sir Rufo 29. Jun 2016 13:19

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Schau in die Dokumentation.

Dieses
Delphi-Quellcode:
tgImage
,
Delphi-Quellcode:
tgLink
,
Delphi-Quellcode:
tgObject
, ... bezieht sich auf HTML und nicht auf Delphi (du sollst bei einem
Delphi-Quellcode:
tgImage
ein
Delphi-Quellcode:
<img src="./images/foo.jpg"/>
als string zurückliefern und das wird dann so in das Template eingebaut anstatt des Tags).

Delbor 29. Jun 2016 14:10

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Hi zusammen

Bei meinen ersten Versuchen hatte ich schnell festgestell, dass das CSS im Header der Seite stand, was mich erstmal etwas angurkte - Ziel sollte es ja sein, so wenig wie möglich zu übertragen.
Zitat:

Ich habe noch ein älteres Projekt in der Wartung, mit Delphi-CGI-Exe, wo ich Bilder ganz normal als Tags im HTML habe, die dann automatisch vom Browser nachgeladen werden, wie man das so erwartet. Gleiches gilt auch für die CSS-Dateien. Man muss sich da ggf. Gedanken machen was für Pfade man für die Bilder bzw. CSS angibt (s. Sir Rufos Image-Tag Beispiel), aber das ist sicher einfacher und übersichtlicher, als alle Bilder als Stream da einzubetten. Analog finde ich alle Styles in einer CSS-Datei aufzuheben auch sauberer als sie in Style-Tags im HTML einzubinden.
Das sehe ich genauso mit den Styles in eigener Datei, habe aber diese in Pageproducer.HtmlDoc kopiert, eben wegen meiner falschen Annahme, dass Suchpfade in eier von einem Pageproducer ausgegeben HTML-Datei nicht funktionieren. Wenn dem nicht so ist, umsobesser.
Zitat:

wie du den IIS konfigurierst usw.
Bei meinen ersten Versuchen machte ich auch welche mit Isapi, scheiterte aber - scheinbar an der Konfiguration des IIS. Wie ich jetzt sehe, waren dafür aber noch viele andere Fehler verantwortlich.
Das derzeitige Projekt ist eine Webroker-Standalone-Anwendung. Früher hiess es mal in der Doku, das sei für Produktiveinsatz bei einem Hoster nicht geeignet, was aber offensichtlich nicht stimmt, da bei Programmstart erstmalein IdWebrokerBridge-Objeckt erzeugt wird, und diese Bridge stammt von IdHTTPServer ab. Und der funktioniert auch ohne IIS.

Zitat:

Dieses tgImage , tgLink , tgObject , ... bezieht sich auf HTML und nicht auf Delphi
Ich hab in die Doku geguckt - allerdings erst, nachdem ich meinen letzten Beitrag abgeschickt hatte. tgObject meint da offensichtlich ein ActivX-Object. Das geht aber nur (meines Wissens), wenn dieses auch per Javascript in die HTML-Seite eingebunden wird.

Gruss
Delbor

Sir Rufo 29. Jun 2016 14:26

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Zitat:

Zitat von Delbor (Beitrag 1341530)
Zitat:

Dieses tgImage , tgLink , tgObject , ... bezieht sich auf HTML und nicht auf Delphi
Ich hab in die Doku geguckt - allerdings erst, nachdem ich meinen letzten Beitrag abgeschickt hatte. tgObject meint da offensichtlich ein ActivX-Object. Das geht aber nur (meines Wissens), wenn dieses auch per Javascript in die HTML-Seite eingebunden wird.

Denk daran, es wird nur eine lapidare Text-Datei erstellt (die den Regeln des HTML folgen muss). Was dann da nachher drin steht muss dann vom Browser irgendwie umgesetzt werden.

Ein <img> Tag veranlasst den Browser die unter src angegebene url anzulaufen und dort die (hoffentlich aucb da liegende) Datei zu laden und als Bild anzuzeigen (so es denn eines ist).
Ein <object> Zag veranlasst den Browser ...
Ein <link> Tag veranlasst den Browser ...
Ein ... Tag veranlasst den Browser ...

Was ich sagen will, wenn diese Text-Datei vom Browser ausgewertet wird, dann ist dein PageProducer schon lange wieder am Schlafen und hat damit nichts mehr am Hut.

Der PageProducer kann dir auch nicht dabei helfen, dass es die Datei xy irgendwo gibt, oder die ActiveX-Komponenten irgendwo (da wo der Browser ist) installiert ist ... der PageProducer ersetzt Text in einer Text-Datei.

Delbor 30. Jun 2016 14:44

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Hi zusammen

Zitat:

Für den Tag oben kann amn also z.B. ein <img src="./images/foo.jpg"/> zurückliefern.
Nach meinen aktuellen Erfahrungen: Schön wärs! Zrzeit versuche ich wiedermal, Bilder anzuzeigen, begonnen bei einem Logo.
Der Code im Kopf der Seite:
Delphi-Quellcode:
  <style>
    <#DELBORHOMECSS>
    <#MENUE>

  </style>
  </head>
  <body>
  <div id="Titellogo">&nbsp;,&nbsp;                  
// <!--<div  id="imglogo">&nbsp;-->
//     <!--<div id="img1">&nbsp;<img alt="DelborPunktCH" src="./Images/jpeg150/DSC_5751.jpg"/></div>-->
    <h2>Willkommen auf den Seiten von
    <img src ="Images/Logo/Delbor_8.jpg" alt="Losggosrc=" /></h2>

  </div> <!-- <#Logo> <div id="img1">&nbsp;<a href= > </a></div>  -->
Um den zu Formatieren, ahtte ich mir Codeschnipsel aus andern Seiten eingefügt und auskommentiert und denen hier im Editor Delphi-Kommentarzeichen verpasst, damit sie besser auffallen. Doch egal, was ich mache, das Bild wird nicht angezeigt. Statt dessen wird der Alternativtext angezeigt.Um sicherzugehen, dass auch genau der von mir definierte Alt-Text ausgegeben wird, hab ich ihn verunstaltet.

Wie ich schon angedeutet habe: Das deutet für mich stark darauf hin, dass Bilder per Pageproducer nichtauf die herkömmliche Art ausgegeben werden können.
Andreseits deutet das aufs genaue Gegenteil hin:
Zitat:

Ich habe noch ein älteres Projekt in der Wartung, mit Delphi-CGI-Exe, wo ich Bilder ganz normal als Tags im HTML habe, die dann automatisch vom Browser nachgeladen werden,
Mein kluges Buch zählt einige Gründe auf, weswegen eine Grafik nicht angezeigt werden könnte, was ich natürlich kontrolliert habe.

Gruss
Delbor

Gruss
Delbor

Sir Rufo 30. Jun 2016 15:45

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Wenn das Bild nicht angezeigt wird, dann passt der Pfad
Delphi-Quellcode:
Images/Logo/Delbor_8.jpg
einfach nicht. Wenn er passen würde, würde das Bild auch angezeigt.

Und das kann man ganz einfach kontrollieren, indem man einfach mal die URL zu diesem Bild im Browser eingibt. Kommt das Bild?

Der PageProducer hat damit NICHTS zu tun!

nahpets 30. Jun 2016 15:52

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Bilder werden nicht über den PageProducer ausgegeben. Der gibt nur eine HTML-Seite aus.

Damit der Browser die Bilder anzeigen kann, muss der im IMG-Tag stehende Bildername über exakt diese Angabe gefunden werden können.

Die einfachste Methode zum Prüfen ist:

Das Bild, über Eingabe seiner Url, zuerst mal im Browser anzeigen lassen.
Dann diese Url nehmen und sicherstellen, dass sie exakt so vom PageProducer in die HTML-Vorlage eingefügt werden kann.

Beim Erstellen von relativen Pfaden für die Vorlage musst Du halt sicherstellen, dass es auch die relativen Pfade sind, die der Browser aus der Url der HTML-Seite ableitet.

Zeig' uns bitte mal die Verzeichnisstruktur, in der die Bilder, ausgehend von der HTML-Seite abgelegt sind.

Jumpy 30. Jun 2016 15:55

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Das Problem ist der Pfad, unter dem du das Bild findest. Und wo/wie der sich relativ zum "root" Verzeichnis deiner Anwendung befindet.

Statt "Images/Logo/Delbor_8.jpg" könnte es sowas sein:

"./Images/Logo/Delbor_8.jpg"
"../Images/Logo/Delbor_8.jpg"
"../../Images/Logo/Delbor_8.jpg"

Als Beispiel von meiner CGI.exe:
So binde ich ein CSS ein, dass im selben Verzeichnis liegt, wie die CGI.exe:
<link rel="stylesheet" href="../CSS1_Muster.css" media="all">
So das Logo, dass sich im Unterordner Images befindet:
<img src="../images/logo.png" width="150" height="80" alt="Logo">

nahpets 30. Jun 2016 16:04

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Einen hätt' ich noch dazu:

Bei meinem (mit Delphi 7 geschriebene Webserver) sieht eine Url für ein Bild, dass sich unterhalb des Rootverzeichnisses des Webservers befindet, so aus:

"/sysimages/bildername.jpeg"

Delbor 30. Jun 2016 16:44

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Liste der Anhänge anzeigen (Anzahl: 3)
Hi zusammen
Im Anhang 1 und 2 mal die Verzeichnisstruktur.
Und dann ist nach meinem schlauen Buch
  • ./Images/... ein Ordner im aktuellen Verzeichnis
  • Images/... eine alternative zu oben (HTML5)
  • ../Images/... ein Unterverzeichnis im Parentverzeichnis
Überlesen habe ich, dss offenbar das Verzeichnis des HTML-Dokuments als Root-Verzeichnis gilt. Und das liegt auf der selben Ebene wie das Imageverzeichnis, ist also ein Unterverzeichnis des Parentverzeichnisses.
So habe ich das denn in ../Images/... geändert, das File gespeichert und geteste. Das Resultat zeigt Anhang 3.

Wenn ich die Beiträge hier und mein schlaues Buch richtig Verstanden habe, dürfte das aber nicht sein.

Gruss
Delbor

PS: Eine Quelle war auch SelfHTML.

Delbor 30. Jun 2016 17:15

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Hi zusamen
Im Browser geöffnet. gibt dieser folgenden Pfad aus:
Zitat:

file:///E:/DelphiXE8%20Corner/DelphiXE8VclCorner/DelborWebserverXE8/DelborDataSnapServer/Images/Logo/Delbor.150_200.jpg
Das Rootverzeichnis der Anwendung ist also DelborDataSnapServer/...,
dasjenige des HTML-Dokuments DelborDataSnapServer/Html/

Gruss
Delbor

nahpets 30. Jun 2016 17:20

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Wenn Du relative Pfade nutzt, dann stell Dir das aus Browsersicht bitte so vor.

Die HTML-Seite ist die Quelle. Wie musst Du nun durch den Verzeichnisbaum navigieren, um vom Pfad der HTML-Datei zu dem gewünschten Bild zu gelangen?

Code:
Startverzeichnis
Startverzeichnis/html
Startverzeichnis/images
Startverzeichnis/images/logo
dann wäre die Url zu einer HTML-Datei:
Code:
http://server/Startverzeichnis/html/htmldatei.html
Zu einem Bild:
Code:
http://server/Startverzeichnis/images/image.jpeg
Zu einem Bild aus dem Verzeichnis logo:
Code:
http://server/Startverzeichnis/images/logo/image.jpeg
Ausgehend von der htmldatei.html musst Du also zuerst ein Verzeichnis "nach oben" und von dort aus dann in das Verzeichnis images.

Meiner Meinung nach müsste ein relativer Pfad daher so aussehen:
Code:
../images/image.jpeg
Für ein Logo sollte der Pfad dann wohl höchstwahrscheinlich so aussehen:
Code:
../images/logo/image.jpeg
Stell' uns doch bitte mal den Quelltext einer generierten HTML-Datei zur Verfügung. Da kann man ein Problem eventuell etwas besser erkennen, als an 'nem Screenshot dessen, was der Browser daraus interpretiert hat.

(Den Quelltext einfach hier zwischen Code-Tags reinkopieren.)

Delbor 30. Jun 2016 18:08

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hi nahpets

Im Anhang ein Jpeg, wie der Browser den Quelltext sieht. Den Gesamten Quelltext legeich als HTML-Datei bei - ich hab das noch nie gemacht, aber zumindest von der Grösse her sollte es gehen.
Fehlanzeige. Auch eine Woorddatei geht nicht, die ist zu gross.

Gruss
Delbor

nahpets 30. Jun 2016 18:26

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Das aktuelle Problem scheint wohl dieser Teil zu sein:
Code:
 <h2>Willkommen auf den Seiten von
 <img src ="/Images/Logo/Delbor_8.jpg
<view-source:http://localhost:8080/Images/Logo/Delbor_8.jpg>" alt="Losggosrc=" /></h2>
Wo bitte kommt dashier her?
Code:
<view-source:http://localhost:8080/Images/Logo/Delbor_8.jpg>
Es ist "alle Nase lang" im Quelltext der Seite zu finden.

Wird das vom Browser beim Speichern des HTML-Quelltextes dazugedaddelt, dann Schwamm drüber, andernfalls könnte das eine Fehlerursache sein.

Aber nutzen wir diese Info trotzdem mal.

Die relative Url zum Bild ist:
Code:
/Images/Logo/Delbor_8.jpg
Bekommst Du das Bild im Browser durch Eingabe dieser Url angezeigt?
Code:
http://localhost:8080/Images/Logo/Delbor_8.jpg
Wenn nein, wie sieht die Url aus, über die Du das Bild, durch händische Eingabe der Url, im Browser angezeigt bekommst?

Delbor 30. Jun 2016 20:52

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Hi nahpets
Eben habe ich mir den Qellcode nochmal anzeigen lassen - da ist nichts von einem Viewsource-Tag. Aber in der TXT kommt das vor, und im erssten vorkommen steht offenbar auch ein Hinweis auf den Ursprung: Kaspersky. Das ist meine Firewall.
Übrigens: Im Angehängten Jpeg siehst du den von dir geposteten Code ohne diesen ViewSource-Zusatz als Screenshot.

Zitat:

Wenn nein, wie sieht die Url aus, über die Du das Bild, durch händische Eingabe der Url, im Browser angezeigt bekommst?
Da komm ich doch etwas ins schwimmen. Welche URL? Wenn ich die Datei im Browser öffne, steht dies in der Adresszeile:
Zitat:

file:///E:/DelphiXE8%20Corner/DelphiXE8VclCorner/DelborWebserverXE8/DelborDataSnapServer/Images/Logo/Delbor_8.jpg
Ich habe jetzt gerade die Localhost-URL wie unten ergänzt:
Zitat:

localhost:8080/DelborDataSnapServer/Images/Logo/Delbor_8.jpg
Resultat war beide Male blanker Bildschirm.

Gruss
Delbor

Sir Rufo 30. Jun 2016 22:42

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Wenn deine Verzeichnis-Struktur so aussieht
Code:
/html
/Images
  /Logo
    Delbor_8.jpg
und die URL zu der Seite
Delphi-Quellcode:
http://localhost:8080
ist, dann kann ich mir schon gut vorstellen, warum du auf die Bilder nicht zugreifen kannst.

Ich wette mal der Root-Pfad für den Webservice verweist auf
Delphi-Quellcode:
/html
. Somit kannst du auf alles zugreifen was sich unterhalb von
Delphi-Quellcode:
/html
befindet.

Wo befindet sich
Delphi-Quellcode:
/Images
? Eben, an einer Stelle die du vom Webservice aus gesehen nicht erreichen kannst, weil eben nicht unterhalb von
Delphi-Quellcode:
/html
.

Und wie lösen wir das Problemchen?

Kopiere den gesamten Ordner Images in den Ordner html
Code:
/html
  /Images
    /Logo
      Delbor_8.jpg
/Images
  /Logo
    Delbor_8.jpg
und du solltest (d)ein Bild sehen, wenn du http://localhost:8080/Images/Logo/Delbor_8.jpg aufrufst.

Falls das nicht klappen sollte, dann ist dein Root-Pfad evtl. auch der html2 Ordner. Welcher konkret, das kannst nur du wissen (solltest du wissen).

Delbor 1. Jul 2016 06:59

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Hi zusammen
Zitat:

Ich wette mal der Root-Pfad für den Webservice verweist auf
Was ist der Root-Pfad der Anwendung? Derjenige, der der in der DefaultAction,Pathinfo angegeben ist? Das ist per Voreinstellung "/". Auf meinem Windowssystem gibts den eigentlich nicht, unter Linux wäre dies.
Davon ausgehend, dass der Root deas html-Verzeichnis ist/sein sollte hab ich das mal entsprechend abgeändert.
Es änderte sich nichts...

Gruss
Delbor

Sir Rufo 1. Jul 2016 07:12

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Ich denke du bist besser beraten erst mal mit einer statischen Website anzufangen, dann ist es einfacher sich mit den Basics eines Bereichs vertraut zu machen.

Zwei Dinge gleichzeitig zu handeln, die man beide nur sehr vage versteht, ist wie jonglieren mit zwei Tigern.

Delbor 1. Jul 2016 08:57

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Hi Sir Rufo
Zitat:

Ich denke du bist besser beraten erst mal mit einer statischen Website anzufangen, dann ist es einfacher sich mit den Basics eines Bereichs vertraut zu machen.

Zwei Dinge gleichzeitig zu handeln, die man beide nur sehr vage versteht, ist wie jonglieren mit zwei Tigern.
Da kannst du recht haben.

Andrerseits habe ich eben in der Help festgestellt, dass die Fragen offenlässt. Wie dem auch sei:

Nachdem ich mal deinen Vorschlag, das Verzeichnis 'Images' in den Ordner 'html' kopiert habe, erneut Durchsteppte uund mir die jeweiligen Werte von Request.Pathinfo notierte, stellte ich fest, dass schon beim zweiten durchsteppen dieser Wert auf mein Imageverzeichnis zeigte - das heisst schlicht und einfach: Ich muss diese Anforderung nun noch bearbeiten. Und wenn ich das dann auch noch richtig mache, werden meine Bilder auch angezeigt.
Bei früherem Durchsteppen ist mir das nicht aufgefallen, aber ich bin sicher, das dieser PathInfo-Wert auch früher schon vorhanden war.
Die Frage, die die Help hier offen lässt, ist schlicht, was das Verzeichnis '/' ist, bzw. sein muss. Enthielte die Help in diesem Fall einen Hinweis darauf, dass dies das Verzeichnis ist, in dem die HTML-Dateien liegen (Und nicht das Wurzelverzeichnis der Anwendung), wäre vieles klarer. Auch wenn mein schlaues Buch darauf hinweist, das das Rootverzeichnis einer HTML-Anwwendung genau dies ist.
Und eines scheint mir nun auch klar zu sein. die Antwort, die schlussendlich abgeschickt wird, muss alle Infos enthalten, die das HTML-Dokument anfordert.

Stark irritiert hat mich auch, dass der Browser, also der Client, die Bilder aufgrund der img-Tags im HTML-Quelltext anfordert. Das widerspricht der Tatsache, dass die Verbindung geschlossen wird, wenn die Antwort abgeschickt ist.

Gruss
Delbor
PS:
Zitat:

Ich denke du bist besser beraten erst mal mit einer statischen Website anzufangen,
Was genau ist denn eine statische Webseite? Ist dies eine Webseite, die so ausgegeben wird, wie sie entworfen wurde, inklusive der in Img-Tags referfenzierten Bildern, oder ist dies eine Webseite, die nur den Text ausgibt, der im HTML-Dokument definiert ist?
Ich hatte auch schon die Idee, einfach mal in einem Verzeichnis einige HTML-Seiten abzulegen, eine davon per Browser/Datei öffnen anzuzeigen und mal zu sehen, ob da Bilder angezeigt würden. Ich denke, das wäre so. Aber einen Test wärs trotzdem Wert.

Jumpy 1. Jul 2016 09:16

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Zitat:

Zitat von Delbor (Beitrag 1341696)
Stark irritiert hat mich auch, dass der Browser, also der Client, die Bilder aufgrund der img-Tags im HTML-Quelltext anfordert. Das widerspricht der Tatsache, dass die Verbindung geschlossen wird, wenn die Antwort abgeschickt ist.

Ich vermute du bringst hier Dinge durcheinander oder missverstehst etwas. Ich versuchs mal zu erklären und bitte die mir mehr Ahnung, das ggf. noch zu ergänzen/korrigieren:

Der Browser schickt einen Request an der Webserver (er fordert eine HTML-Seite an). Das kommt dann an der Server-Maschiene an und da übernimmt dann (im Windows-Fall) z.B. der IIS diese Anfrage und leitet die z.B. an die CGI.exe weiter (über den Port weiß er welche CGI, falls es mal mehrere Webanwendungen auf einem Server gibt). Die bearbeitet das und liefert dann eine HTML-Seite zurück. Diese wurde in der CGI mit Hilfe der PageProducer aus den Vorlagen-HTML-Dateien zusammengebaut. Ist aber eine reine HTML-Text-Datei.
In dieser steht z.B. ein <img>-Tag oder ein <link>-Tag über den Bilder oder CSS-Dateien mit dem HTML-Dokument verknüpft werden (ich versuch das Wort eingebettet hier zu vermeiden). Der Browser erkennt nun diese Tags und sieht, das er was nachladen soll. Er sendet also wieder eine Anforderung an den Webserver (den IIS, nicht die CGI.exe). Der versucht dann das Bild oder die CSS-Datei zu finden und schickt das zurück. Beim versucht das zu finden, steckst du gerade fest.

Deswegen um klein anzufangen: Was tipperst du im Browser ein, um deine Webseite aufzurufen? Sowas hier: http://localhost:8080 ?

DeddyH 1. Jul 2016 09:18

AW: Webbroker. PageProducer und transparente HTML-Tags
 
Eine statische HTML-Seite ist einfach eine Datei (*.htm oder *.html), die einmalig erstellt und auf den Webserver geladen wird. Diese ändert sich ja nicht ständig, deshalb "statisch". Das Gegenteil sind dynamische Webseiten, wie sie z.B. von CMS erstellt werden. Diese bestehen aus einem Template, das bei der Anfrage von einem Script (PHP, Ruby, Perl, Python, etc.) aufbereitet wird.

Das als ultrakurze und unvollständige Erklärung.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:39 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz