![]() |
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:
Jetzt auskommentiert ist der ursprünglich in dem HTML-File vorhandene Code, den ich durch ein neues transparentes HTML-Tag ersetzt habe.
<!-- *************************************************************************** <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> />--> <!-- *************************************************************************** --> 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 |
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:
|
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? |
AW: Webbroker. PageProducer und transparente HTML-Tags
Hi Jumpy
Zitat:
Delphi-Quellcode:
sowie an der hier gezeigten Position:
<!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>
Delphi-Quellcode:
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.
<!-- *************************************************************************** <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> />--> <!-- *************************************************************************** --> 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:
Meine OnHTMLLag-Routine:
<!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"> , <h2>Willkommen auf den Seiten von </h2> </div> <!--< --> <div id="header"> <#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>
Delphi-Quellcode:
Ausserdem:
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;
Delphi-Quellcode:
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.
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; Gruss Delbor |
AW: Webbroker. PageProducer und transparente HTML-Tags
Es ist ein Fehler in der Dokumentation und es muss
Delphi-Quellcode:
lauten.
<#TAG>
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: |
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 |
AW: Webbroker. PageProducer und transparente HTML-Tags
Liste der Anhänge anzeigen (Anzahl: 3)
Hi Sir Rufo
Zitat:
Zitat:
Gruss Delbor |
AW: Webbroker. PageProducer und transparente HTML-Tags
Was ist eine HTML-Datei?
Delphi-Quellcode:
im Template schreibe, dann wird auch der Event passend gefeuert.
<#TAG>
|
AW: Webbroker. PageProducer und transparente HTML-Tags
Liste der Anhänge anzeigen (Anzahl: 1)
Hi Sir Rufo
Zitat:
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 |
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) |
AW: Webbroker. PageProducer und transparente HTML-Tags
Hi Sir Rufo
Zitat:
Zitat:
Gruss Delbor |
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 |
AW: Webbroker. PageProducer und transparente HTML-Tags
Hi Sir Rufo
Zitat:
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:
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 |
AW: Webbroker. PageProducer und transparente HTML-Tags
Dieses "unwichtige Winkeleisen" sollte eigentlich der Abschluss von einem Kommentar in deiner Html Seite sein
Delphi-Quellcode:
ist er aber nicht mehr (darum wird das beim Rendern ausgegeben).
<!-- Kommentar -->
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. |
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:
Gruss Delbor |
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. |
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:
![]() Für den Tag oben kann amn also z.B. ein
Delphi-Quellcode:
zurückliefern.
<img src="./images/foo.jpg"/>
|
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. |
AW: Webbroker. PageProducer und transparente HTML-Tags
Hi Sir Rufo
Delphi-Quellcode:
Das ewige
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
Delphi-Quellcode:
, 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.
if..then..
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:
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 |
AW: Webbroker. PageProducer und transparente HTML-Tags
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. |
AW: Webbroker. PageProducer und transparente HTML-Tags
Schau in die
![]() Dieses
Delphi-Quellcode:
,
tgImage
Delphi-Quellcode:
,
tgLink
Delphi-Quellcode:
, ... bezieht sich auf HTML und nicht auf Delphi (du sollst bei einem
tgObject
Delphi-Quellcode:
ein
tgImage
Delphi-Quellcode:
als string zurückliefern und das wird dann so in das Template eingebaut anstatt des Tags).
<img src="./images/foo.jpg"/>
|
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:
Zitat:
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:
Gruss Delbor |
AW: Webbroker. PageProducer und transparente HTML-Tags
Zitat:
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. |
AW: Webbroker. PageProducer und transparente HTML-Tags
Hi zusammen
Zitat:
Der Code im Kopf der Seite:
Delphi-Quellcode:
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.
<style>
<#DELBORHOMECSS> <#MENUE> </style> </head> <body> <div id="Titellogo"> , // <!--<div id="imglogo"> --> // <!--<div id="img1"> <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"> <a href= > </a></div> --> 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:
Gruss Delbor Gruss Delbor |
AW: Webbroker. PageProducer und transparente HTML-Tags
Wenn das Bild nicht angezeigt wird, dann passt der Pfad
Delphi-Quellcode:
einfach nicht. Wenn er passen würde, würde das Bild auch angezeigt.
Images/Logo/Delbor_8.jpg
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! |
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. |
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"> |
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" |
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
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 ![]() |
AW: Webbroker. PageProducer und transparente HTML-Tags
Hi zusamen
Im Browser geöffnet. gibt dieser folgenden Pfad aus: Zitat:
dasjenige des HTML-Dokuments DelborDataSnapServer/Html/ Gruss Delbor |
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:
dann wäre die Url zu einer HTML-Datei:
Startverzeichnis
Startverzeichnis/html Startverzeichnis/images Startverzeichnis/images/logo
Code:
Zu einem Bild:
http://server/Startverzeichnis/html/htmldatei.html
Code:
Zu einem Bild aus dem Verzeichnis logo:
http://server/Startverzeichnis/images/image.jpeg
Code:
Ausgehend von der htmldatei.html musst Du also zuerst ein Verzeichnis "nach oben" und von dort aus dann in das Verzeichnis images.
http://server/Startverzeichnis/images/logo/image.jpeg
Meiner Meinung nach müsste ein relativer Pfad daher so aussehen:
Code:
Für ein Logo sollte der Pfad dann wohl höchstwahrscheinlich so aussehen:
../images/image.jpeg
Code:
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.
../images/logo/image.jpeg
(Den Quelltext einfach hier zwischen Code-Tags reinkopieren.) |
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 |
AW: Webbroker. PageProducer und transparente HTML-Tags
Das aktuelle Problem scheint wohl dieser Teil zu sein:
Code:
Wo bitte kommt dashier her?
<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>
Code:
Es ist "alle Nase lang" im Quelltext der Seite zu finden.
<view-source:http://localhost:8080/Images/Logo/Delbor_8.jpg>
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:
Bekommst Du das Bild im Browser durch Eingabe dieser Url angezeigt?
/Images/Logo/Delbor_8.jpg
Code:
Wenn nein, wie sieht die Url aus, über die Du das Bild, durch händische Eingabe der Url, im Browser angezeigt bekommst?
http://localhost:8080/Images/Logo/Delbor_8.jpg
|
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:
Zitat:
Zitat:
Gruss Delbor |
AW: Webbroker. PageProducer und transparente HTML-Tags
Wenn deine Verzeichnis-Struktur so aussieht
Code:
und die URL zu der Seite
/html
/Images /Logo Delbor_8.jpg
Delphi-Quellcode:
ist, dann kann ich mir schon gut vorstellen, warum du auf die Bilder nicht zugreifen kannst.
http://localhost:8080
Ich wette mal der Root-Pfad für den Webservice verweist auf
Delphi-Quellcode:
. Somit kannst du auf alles zugreifen was sich unterhalb von
/html
Delphi-Quellcode:
befindet.
/html
Wo befindet sich
Delphi-Quellcode:
? Eben, an einer Stelle die du vom Webservice aus gesehen nicht erreichen kannst, weil eben nicht unterhalb von
/Images
Delphi-Quellcode:
.
/html
Und wie lösen wir das Problemchen? Kopiere den gesamten Ordner Images in den Ordner html
Code:
und du solltest (d)ein Bild sehen, wenn du
/html
/Images /Logo Delbor_8.jpg /Images /Logo Delbor_8.jpg ![]() 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). |
AW: Webbroker. PageProducer und transparente HTML-Tags
Hi zusammen
Zitat:
![]() Davon ausgehend, dass der Root deas html-Verzeichnis ist/sein sollte hab ich das mal entsprechend abgeändert. Es änderte sich nichts... Gruss Delbor |
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. |
AW: Webbroker. PageProducer und transparente HTML-Tags
Hi Sir Rufo
Zitat:
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 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. |
AW: Webbroker. PageProducer und transparente HTML-Tags
Zitat:
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: ![]() |
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. |
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