AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Webbroker. PageProducer und transparente HTML-Tags
Thema durchsuchen
Ansicht
Themen-Optionen

Webbroker. PageProducer und transparente HTML-Tags

Ein Thema von Delbor · begonnen am 28. Jun 2016 · letzter Beitrag vom 4. Jul 2016
Antwort Antwort
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.192 Beiträge
 
Delphi 11 Alexandria
 
#1

Webbroker. PageProducer und transparente HTML-Tags

  Alt 28. Jun 2016, 14:53
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
Angehängte Grafiken
Dateityp: jpg Findelkind.JPG (22,9 KB, 44x aufgerufen)
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.192 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Webbroker.PageControl und transparente HTML-Tags

  Alt 28. Jun 2016, 15:11
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)
Angehängte Grafiken
Dateityp: jpg Findelkind 2.JPG (55,4 KB, 26x aufgerufen)
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch

Geändert von Delbor (28. Jun 2016 um 15:50 Uhr)
  Mit Zitat antworten Zitat
Jumpy
Online

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.739 Beiträge
 
Delphi 6 Enterprise
 
#3

AW: Webbroker. PageProducer und transparente HTML-Tags

  Alt 28. Jun 2016, 16:26
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?
Ralph
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.192 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Webbroker. PageProducer und transparente HTML-Tags

  Alt 28. Jun 2016, 17:25
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 = 'DELBORHOMECSSthen
    ReplaceText := PageProducerHomeCSS.Content;
  if Tagstring = 'MENUEthen
    ReplaceText := PageProducerMenueCSS.Content;
  if TagString = 'NORMALSPURBAHNENthen
    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.htmlthen
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.htmlthen
  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
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch

Geändert von Delbor (28. Jun 2016 um 17:28 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Webbroker. PageProducer und transparente HTML-Tags

  Alt 28. Jun 2016, 17:46
Es ist ein Fehler in der Dokumentation und es muss <#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
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (28. Jun 2016 um 17:50 Uhr)
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.192 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Webbroker. PageProducer und transparente HTML-Tags

  Alt 28. Jun 2016, 18:22
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
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
Antwort Antwort


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 12:37 Uhr.
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