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
Seite 1 von 6  1 23     Letzte »    
Delbor

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

Webbroker. PageProducer und transparente HTML-Tags

  Alt 28. Jun 2016, 15: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
Miniaturansicht angehängter Grafiken
findelkind.jpg  
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.186 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Webbroker.PageControl und transparente HTML-Tags

  Alt 28. Jun 2016, 16: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)
Miniaturansicht angehängter Grafiken
findelkind-2.jpg  
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 16:50 Uhr)
  Mit Zitat antworten Zitat
Jumpy

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

AW: Webbroker. PageProducer und transparente HTML-Tags

  Alt 28. Jun 2016, 17: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.186 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Webbroker. PageProducer und transparente HTML-Tags

  Alt 28. Jun 2016, 18: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 18: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, 18: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 18:50 Uhr)
  Mit Zitat antworten Zitat
Delbor

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

AW: Webbroker. PageProducer und transparente HTML-Tags

  Alt 28. Jun 2016, 19: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
Delbor

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

AW: Webbroker. PageProducer und transparente HTML-Tags

  Alt 28. Jun 2016, 19:50
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
Miniaturansicht angehängter Grafiken
tagname1.jpg   tagname2.jpg   tagname3.jpg  
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
Benutzerbild von Sir Rufo
Sir Rufo

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

AW: Webbroker. PageProducer und transparente HTML-Tags

  Alt 28. Jun 2016, 21:07
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 <#TAG> im Template schreibe, dann wird auch der Event passend gefeuert.
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 21:23 Uhr)
  Mit Zitat antworten Zitat
Delbor

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

AW: Webbroker. PageProducer und transparente HTML-Tags

  Alt 28. Jun 2016, 21:50
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
Miniaturansicht angehängter Grafiken
findelkind.jpg  
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
Benutzerbild von Sir Rufo
Sir Rufo

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

AW: Webbroker. PageProducer und transparente HTML-Tags

  Alt 28. Jun 2016, 22:02
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. />--> 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)
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 22:05 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 6  1 23     Letzte »    


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 19:53 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