Chrome - keine relativen Pfade in HTML (../../Ordner/Datei.JPG)

cumulonimbus8

Fleet Admiral
Registriert
Apr. 2012
Beiträge
18.955
Hi allerseits!

Spinne ich oder kann Chrome seit kurzem nicht mehr mit relativen Pfadangaben im HTML-Code umgehen?

z.B. <img="../../Ordner/Datei.JPG"> wird von allen Browsern die mir unter die Finger kommen (auch auf einem SmartPhone) korrekt dargestellt (wie schon ›ewig‹) nur Chrome, auf 3 Maschinen, ohne bewusst manuell upgedatet zu haben, ignoriert das plötzlich.

Googel-Suche (wie überraschend, oder eben gerade nicht) liefert nichts. Was ist da los?

CN8
 
Hi,

wollte ich auch gerade schreiben: das ist kein valides HTML! Poste doch mal den Code, dann kann man das besser nachvollziehen.

VG,
Mad
 
Falls der TE sich nicht nur verschrieben haben sollte und sein Code in Wirklichkeit syntaktisch korrekt ist, würde mich interessieren warum überhaupt ein Browser die Zeile richtig interpretiert.
 
Jaaaa - ich habe mich in der Eile & vor Zorn vertippselt statt Copy-Paste zu nehmen.

Und damit kommts noch viel schlimmer - es ist gar nicht das img-Tag (das scheint offenbar immer noch zu funktionieren, wie eine andere HTML-Datei belegte) sondern:
HTML:
 <tr height="19">
  <td background="..\Ordner1\Medien\Grafik.gif"></td>
 </tr>
Das ebenfalls kopierte Konstrukt mit ‹background› tut überall und die Quelle ist älter. Nun im 26er und 27 Chrome (was ich gerade so fand) wird das nicht [mehr??!] unterstützt.
Muss ich die Zeile ‹td› mit irgendwas füttern, oder im Tag was ergänzen was anderweitig ungefährlich ist damit Chrome die Kurve kriegt?

CN8
 
Hi,

auch das ist meines Wissens keine korrekte Syntax!

Code:
<td style="background-image:url(..\Ordner1\Medien\Grafik.gif);"></td>

mal bitte testen. Dein "background" funktioniert zwar aber valide ist es in meinen Augen nicht! Auch gerade im W3C-Validator getestet: "there is no attribute "BACKGROUND"

VG,
Mad
 
Oh Gott, wie alt sind die Codebeispiele wo ich das her habe… Vermutlich deprecated oder so - Andere Browser vertragen es (IE, Mozilla, Opera…), kann per se so falsch nicht sein.

Ich werde denn mal in alle Quellen den Style-Code einbauen und vermutlich Makros anpassen die den Code verarbeiten.

CN8


…eben irgendwo im www als Anleitung gefunden:
<td width="50" align="center" background="myback.gif">4</td>
 
Zuletzt bearbeitet:
Hi,

ob du das irgendwo findest oder nicht spielt keine Rolle. Gerade bei W3C getestet, nicht valide. Punkt. :)

VG,
Mad
 
Tja… Dann sage das mal Chrome.

Auch mit dem Style-Tag funktioniert es nicht. Und damit es richtig lustig wird: auch die für normale Grafiken gebräuchliche direkte Angabe (WIN-Server) «/Bilder/Grafik.GIF» oder gar «\Bilder\Grafik.GIF» lockt da keine Hund hinterm Ofen vor.

Was nun? Hat Chrom da ein Tabellenproblem?

HTML:
<table cellpadding="0" cellspacing="0" width="100%">
 <tr height="6">
  <td bgcolor="#ffffff"></td>
 </tr>
 <tr height="19">
<!--  <td style="background-image:url(../Ordner1/Medien/Grafik.gif);"></td> -->
  <td style="background-image:url(\Bilder\Grafik.gif);"></td>
 </tr>
</table>
Die Färbung klappt offensichtlich [meine Hintergrundfarbe im System ist ein sehr mildes Beige sodass ich weiße Rechtecke sehen kann!]
M.E. nach tickt Chrome nicht richtig denn dieses von mir aus als depricated definierte Schema wurde mir mal in einem Kurs beigebracht wie ich mich nun erinnere; mit was sonst will ich den Hintergrund einer Tabellenzelle mit einem Muster versehen ohne etwa CSS?

CN8
 
Hi,

bei mir funktioniert es tadellos. Sowohl im Chrome als auch in den anderen Browsern auf dem System. Was genau klappt denn nicht? Wird gar nichts angezeigt? Auch mal den Cache gelöscht und neu geladen?

Und nochmal: es ist nicht deprecated! Wer dir das auch immer beigebracht hat spielt keine Rolle, das macht es nicht korrekter! Es ist schlicht falsch! Für so etwas benutzt man das "style" Attribut. Was ist an CSS denn so verkehrt?

Ich zitiere mal SelfHTML:

Das Gleiche ist mit dem Attribut background möglich, um eine Hintergrundgrafik für die Tabelle oder einzelne Zellen einzubinden. Dieses Attribut ist jedoch im Zusammenhang mit Tabellen nicht HTML-Standard-konform und kommt im obigen Beispiel auch nicht vor.

Es ist nicht valide. Wo auch immer das verwendet wird oder wer auch immer es dir beibringt ändert nichts an dieser Tatsache.

Poste doch mal mehr Code, vielleicht ist der Fehler wo anders? Hast du mal in die Entwicklerkonsole geguckt ob du eine Fehlermeldung kriegst?

VG,
Mad
 
Ich bin von einem Tool abhängig (welches dynamsich Webseiten generiert) und werde aus diesen Gründen CSS meiden wie der Teufel das Weihwasser.

Weiterhin kann ich für mich nur wiederholen: das stand im Lehrplan von nicht ganz dummen Leuten drin, andere Browser kommend damit zurecht - also glaube ich nicht an Geistercode den es nach W3C nie gab.

Chrome stellt stellt offenbar auf keine Weise einen Tabellenzellhintergrund als Grafik dar da jeder Codeversuch zu leer geführt hat. Der Platz ist da, das ist erkennbar, aber er wird nicht gefüllt.

An Code wüsste ich keine weiteren Beispiele zu liefern:
HTML:
<TABLE width="100%">
  <TR>
<TD width="0" Nowrap> </TD> <TD>

<table cellpadding="0" cellspacing="0" width="100%">
 <tr bgcolor="#ffffff">
  <td width="70"></td>
  <td align="right">
   <img src="/Bilder/Grafik1.gif">
  </td>
  <td width="70"></td>
 </tr>
</table>

<table cellpadding="0" cellspacing="0" width="100%">
 <tr height="6">
  <td bgcolor="#ffffff"></td>
 </tr>
 <tr height="19">
  <td bgcolor="#ff0000 style="background-image:ur(../Ordner1/Medien/Grafik.gif);">&nbsp;</td>
 </tr>
</table>

…

</TD></TR></TABLE>
Wie gesagt, dieser Rahmencode, die äußere Tabelle, drückt mir eine Tool auf. So was ist nicht aus meiner Feder.

<td bgcolor="#ff0000 style="background-image:ur(../Ordner1/Medien/Grafik.gif);">&nbsp;</td>
hatte ich um die bgcolor ergänzt, das Backgrund-Bild rausgenomme um dann &nbsp; zu brauchen die Zelle zu sehen. Ob dann wieder den Background-Bild-Code reintue (und die bgcolor entferne) - Chrome schert es nicht, andere Browser schaffen das problemlos.



!!! AHA!!!
Ich habe nun nur das &nbsp; in den Zellenkörper gesetzt - und das Bild taucht auf!!
Nun hoffe ich niemals eine Grafik zu brauchen (1px…) die niegriger ist als die kleinste Font die ich dem Browser aufdrücken kann evtl. da wiederum mit Style-Tag (da[bei] wende ich es Notgedrungen an).

Und um den Sack zuzumachen - &nbsp; mitsamt dem verbotenen Backgrund= funktioniert. Ein wirklich komisches Geister-Tag…

Warum aber Chrome eine gefüllte Zelle braucht ist mir ein wenig zu hoch.

CN8
 
Hi,

tut mir wirklich leid, aber da du derartig resistent gegen vernünftige Kritik bist klinke ich mich hier aus und erspare mir weitere Erklärungen. Wer keine Lust hat validen Code zu schreiben sollte sich nicht wundern wenn etwas nicht geht. Schön dass es jetzt klappt.

VG,
Mad
 
Wirklich nett von dir, mit dem Ausklinken. Aber denk mal bitte mit:

Selbst SelfHTML sagt nur, dass es nicht konform wäre, aber Jahre lang wurde es offenbar in der Frühzeit als ältere Konformität akzeptiert.
Da offenbar alle Browser es vertragen kann es nicht so sehr viel mit Lernresistenzen zu tun haben: von nix kütt nix (die verwendeten Mustercodes mit Background stamme von mir, aber bis jetzt hat kein Kollege der da mit draufsah gesagt, dass das Mist wäre).
Und um mal draufloszulügen, Style selbst ist eine ›Neuerfindung‹ die es längst nicht von Anfang an gab und weswegen andere Lösungen nötig erschienen. Theoretisch müsste ich ja selbst auf <b>…</b> verzichten weil Style ja alles besser kann.

Warum also will Chrome eine gefüllte Zelle? Ist auch das W3C und leere darf es nicht geben..?

CN8
 
cumulonimbus8 schrieb:
Ich bin von einem Tool abhängig (welches dynamsich Webseiten generiert) und werde aus diesen Gründen CSS meiden wie der Teufel das Weihwasser.
Ähm, jedes CMS generiert HTML-Code dynamisch, TROTZDEM sollte man CSS immer einsetzen. Warum?
1.) Trennung von Inhalt und Darstellung
2.) Wiederverwendbarkeit, genau dafür gibt es Klassen...
3.) Performance
...

Weiterhin kann ich für mich nur wiederholen: das stand im Lehrplan von nicht ganz dummen Leuten drin, andere Browser kommend damit zurecht - also glaube ich nicht an Geistercode den es nach W3C nie gab.
Dann stammt dieser Lehrplan wohl noch aus Zeiten vor HTML 4.0, und selbst 4.0 wäre schon Steinzeit.
Deine Notation ist nicht valide, der Lehrplan ist Schrott und die Leute sind, falls sie diesen Lehrplan weiterhin verbreiten, doch weit dümmer als du glaubst.

Wenn Chrome bei solchen Notationen streikt dann ist das nur GUT UND RICHTIG!

Chrome stellt stellt offenbar auf keine Weise einen Tabellenzellhintergrund als Grafik dar da jeder Codeversuch zu leer geführt hat. Der Platz ist da, das ist erkennbar, aber er wird nicht gefüllt.
Ich arbeite als Webentwickler. Ich arbeite gelegentlich auch mit Tabellen (aber: semantisch korrekt nur bei tabellarischen Daten). Ich geb diesen Tabellen gelegentlich auch mal Hintergründe. Das können HG-Farben, ein Image oder sogar CSS3-Gradients (die effektiv ein Image sind) sein: Es geht perfekt.

Und nein, auch <td bgcolor="..."> ist falsch. Richtig wäre <td style="background-color: #123; background-image("Pfad"); background-repeat: no-repeat; background-position: left top;">

Ich habe nun nur das &nbsp; in den Zellenkörper gesetzt - und das Bild taucht auf!!
Normales Verhalten.... aber genau wegen so etwas nutzt man ja auch keine Tabellen als Layout-Element. Ok, deshalb, und wegen 1000 anderen Gründen.

cumulonimbus8 schrieb:
Da offenbar alle Browser es vertragen kann es nicht so sehr viel mit Lernresistenzen zu tun haben: von nix kütt nix (die verwendeten Mustercodes mit Background stamme von mir, aber bis jetzt hat kein Kollege der da mit draufsah gesagt, dass das Mist wäre).
Dein Code ist Mist. Ich verdien mir wie gesagt meine Brötchen als Webentwickler, und ich sag dir: Dein Code ist Obermist. Den kannst du komplett abreißen und das Klo runter spülen. Mit viel Glück reist er durch die Zeit, kommt im 20. Jh. raus und ist wieder "aktuell".

Und um mal draufloszulügen, Style selbst ist eine ›Neuerfindung‹ die es längst nicht von Anfang an gab und weswegen andere Lösungen nötig erschienen. Theoretisch müsste ich ja selbst auf <b>…</b> verzichten weil Style ja alles besser kann.
<b> hat eine semantische Relevanz.
Und das M in HTML steht für MARKUP. Markup = Auszeichnung. HTML definiert seit jeher nur WAS dargestellt wird und welche logische Struktur es hat.
Dass in der Steinzeit mit gewissen Tricks auch daran herumgepfuscht wurde, WIE etwas dann dargestellt wird, ändert nichts an der Tatsache: Es ist sowas von veraltet, dass die Gemäldegalerie Alter Meister in Dresden schon überlegt, deinen Beispielcode zu kaufen.
 
Du weißt leider nicht was für ein [zensiert] von diesem Tool mit all seinen speziellen Macken geliefert wird.

Mit CSS irgendwas vorzudefinieren ist nicht recht sinnvoll weil wir dann vor lauter CSS-Ausnahmen und Extrawürsten die Orientierung verlören.
Der Rohoutput wird über Excels VBA erst mal in eine Uni-Form gegossen um diversen Nöten zu gehorchen (die wieder weitgehend standardisiert Einzelmaßnamen erfordern) und ein Standard-Layout einzubringen. CSS ist da überdimensioniert da zwar Inhalte dynamisch kommen, wir aber den ›Rahmen‹ stabil halten müssen. Das wenige was CSS könnte brächte keinen Vorteil.
Ob VBA en passant etwas je Datei statisch einflicht und Fertiges auswirft oder dito eingeflochtenes CSS (weil, das muss in den Quellcode ja auch nachträglich eingeimpft werden) immer dynamisch macht kommt auf selbe raus… Ich wünschte auch es wäre so schön einfach. Und fixer Code kann wohl kaum langsamer sein als dauernd nachzuladender?!

«Dann stammt dieser Lehrplan wohl noch aus Zeiten vor HTML 4.0, und selbst 4.0 wäre schon Steinzeit.»
Das kann schon sein ;)

«Wenn Chrome bei solchen Notationen streikt dann ist das nur GUT UND RICHTIG!»
Dann sind alle anderen doof. OK. Du hast mitbekommen, dass es an der in sich leeren Zelle und nicht an dem mit Moos bewachsenen Tag lag?

«Und nein, auch <td bgcolor="..."> ist falsch.»
Höchstens alt.
Dieses verfl. Tool selbst wirft noch solche Brocken aus und ich habe beileibe keine Lust noch alle diese moosbewachsenen Strukturen auf Style umzuändern indem ich jede Zeile auf die Schreibweise mit Style umfriemeln lassen.
Und um vorzugreifen - wenn ich nicht Flash bnräuchte würde ich auch eifach nur HTML 5 anstrengen. Aber was sagt Cheffe? Abwärtskompatibel!

«aber genau wegen so etwas nutzt man ja auch keine Tabellen als Layout-Element»
Sondern was und wie, und so dass es unerfahren Kollegen wenigsten nachvollziehen können? Das Tool zwingt mich regelrecht in diese Käfige, und ich werde da nicht das Rad im Layout neu erfinden.

«Dein Code ist Obermist. Den kannst du komplett abreißen und das Klo runter spülen.»
Was an Standard-HTML ist denn Mist? Ich kann nur in den Grenzen hantieren die das Tool mir lässt. Das sind nicht selbstgebackene Seiten per PHP, das Sind Rohcodes die wir aufbessern und die das Tool in einer 2. Instanz in etwas Darstellendes parst. Ändere ich der Mechanik war geht nichts. Das ist die Falle in der ich sitze. In einer schönen, alten Falle…

CN8
 
Wenn du so einen Aufwand betreiben musst, um kleine Änderungen z.B. an der Gestaltung vorzunehmen, dann wäre es absolut an der Zeit, das gesamte Konstrukt neu zu schreiben und deine Anwendung endlich heulend und jaulend ins Jahrhundert des Flughundes zu bringen.

HTML5 ist übrigens abwärtskompatibel. Einige neue Features, wie z.B. <audio> und <canvas> werden schlicht nicht dargestellt im IE<=8. HTML5 schließt auch Flash nicht aus, kann man wunderbar kombinieren bzw. Flash als Fallback für HTML5 anbieten. Selbst ein IE5 könnte HTML5 grundsätzlich lesen.
Andererseits stirbt Flash selbst. Schau dir eure Nutzerzahlen an, zähle die iOS-Mobile - Devices und ziehe daraus deinen Schluss. Die können alle kein Flash.

Langfristig wird die Wartung der Anwendung signifikant billiger, wenn ihr alles in einer Hau-Ruck - Aktion auf saubere, moderne und erweiterbare Füße stellt.
 
Dem letzten Satz kann ich nur zustimmen.
Was den Vorschlag anginge das Tool zu feuern… Das Zeug war nicht ganz billig, und Cheffe ist sparsam. Ich würde auch eine sinnvollere Oberfläche verlangen die den Zwängen von Heute angemessen ist. Einfach gesagt, wir überdehnen mit JS schon jetzt das was da ab Werk kommt. Nur muss eben der weniger geübte sich da noch durchfinden. Und je weniger ich an dem ändere was das Tool auswirft (damit man vergleichen kann) desto besser.

Mit HTML5 habe ich auch schon rumgebastelt. Und über die Mobile Gefahr will ich gar nicht nachdenken. Nur Flash mit HTML5 in einen Rahmen zu gießen, was theoretisch ja gaaaanz einfach geht, hat in Chrome, IE, FF, Opera 4 Ergebnisse geliefert. Ich muss jetzt mit dem leben was jetzt en vogue ist. c’est la vie…

CN8
 
Zurück
Oben