Javascript "neues Fenster" und Tabellendarstellung

  • Webseite, mit der ich Trouble habe:
    http://people.freenet.de/landwirtschaft-borkum/projekt.htm

    Es geht um die Tabelle in der Mitte der Webseite:

    1. Firefox stellt die Tabelle nicht richtig dar ---> Vergleiche mit IE

    2. Firefox öffnet die Javascript-Fenster zwar alle ---> im IE sind jedoch nur die Fenster der Links der rechten Spalte zu öffnen

    Wer kann mir Erklärungen und Hilfestellung geben? Wäre super! Dankeschön,

    Jens.

  • <meta name="GENERATOR" content="Microsoft FrontPage 4.0">

    Hier kann nur der Seitenersteller ran, indem er nicht solche Steinzeitsoftware verwendet, die zudem einen Quelltext ausspuckt der mit HTML selbst nicht mehr viel zu tun hat.

    Helfen können da Seiten wie:

    http://validator.w3.org
    http://www.validome.org/lang/ge
    http://de.selfhtml.org

  • Hallo und willkommen im Forum!

    Zitat von Seenotjens

    1. Firefox stellt die Tabelle nicht richtig dar ---> Vergleiche mit IE


    Nun ja, und wer entscheidet, was "richtig" ist oder nicht? ;) Firefox hält sich jedenfalls an die Webstandards. Ganz im Gegensatz zu Microsoft und deren Software Frontpage.

    Seiten, die mit Frontpage erstellt wurden, sehen nur auf dem Internet Explorer so aus, wie der Autor das erwartet.

    Leider ist der Quellcode aber alles andere als Standardkonform. Schau mal bei Validome

    Der Internet Explorer meldet übrigens als Fehler bei den JavaScript-Links "ungültiges Argument". Sehr hilfreich. :-/

    [edit:] Da war wohl jemand schneller. Selbst um diese Uhrzeit...

  • ... danke ersteinmal für die Mühe. Doch so schrecklich hilfreich sind diese Links nicht. Die Fehler, die angezeigt werden, sind häufig á la "das Attribut "face" kann nicht mit dem Tag "font" benutzt werden". Komischerweise wird dann aber in der Beispiel-Beschreibung genau so eine Kombination verwendet (so gesehen bei Validome). Ich glaube auch nicht, daß das Aussehen der Tabelle mit diesen "Mini-Fehlern" etwas zu tun hat. Ich glaube auch nicht, daß sich FF unbedingt immer an Webstandards hält. Siehe:
    http://www.webstandards.org/files/acid2/test.html Da schneidet FF (1.5.0.7) zwar immer noch besser ab als IE 6, aber ein Browser, der sich an Standards hält, müßte ein besseres Ergebnis erzielen.
    Was das Javascript angeht... so wird dies auch nichts mit Frontpage zu tun haben. Ich habe jetzt schon zig ähnliche Scripte ausprobiert. Je nach Verwendung spinnt irgendetwas. Kommt auch vor, daß Scripte nur mit IE laufen. Oder daß sie mit FF laufen, aber mit IE rumspinnen. Ätzend.

    Jens.

  • Zitat von Seenotjens

    ... danke ersteinmal für die Mühe. Doch so schrecklich hilfreich sind diese Links nicht. Die Fehler, die angezeigt werden, sind häufig á la "das Attribut "face" kann nicht mit dem Tag "font" benutzt werden". Komischerweise wird dann aber in der Beispiel-Beschreibung genau so eine Kombination verwendet (so gesehen bei Validome).


    Du musst auch in die Spalte "HTML-Varianten" schauen. ;)
    HTML Strict (die Variante, die Du derzeit verwendest) ist äußerst restriktiv. Normalerweise verwendet man HTML Transitional

    Zitat von Seenotjens

    Ich glaube auch nicht, daß das Aussehen der Tabelle mit diesen "Mini-Fehlern" etwas zu tun hat.


    Doch, sehr wohl. Das Attribut "height" in "table" wird von Firefox ignoriert.

    Zitat von Seenotjens

    Ich glaube auch nicht, daß sich FF unbedingt immer an Webstandards hält.


    Du hast völlig Recht. Aber deutlich öfter als der IE:
    http://www.webdevout.net/browser_support_css.php

    Zitat von Seenotjens

    Was das Javascript angeht...


    Konkret ist der Fehler hier das/die Leerzeichen im Fenstertitel.
    http://de.selfhtml.org/javascript/objekte/window.htm#open

  • Zitat von Seenotjens

    Ich glaube auch nicht, daß das Aussehen der Tabelle mit diesen "Mini-Fehlern" etwas zu tun hat.


    Du würdest dich wundern was manchmal ein Leerzeichen an der falschen Stelle für grosse Auswirkungen haben kann.

    Zitat von Seenotjens

    Ich glaube auch nicht, daß sich FF unbedingt immer an Webstandards hält. Siehe:
    http://www.webstandards.org/files/acid2/test.html Da schneidet FF (1.5.0.7) zwar immer noch besser ab als IE 6, aber ein Browser, der sich an Standards hält, müßte ein besseres Ergebnis erzielen.


    Dieses Projekt wurde entwickelt, um die Unterstützung von CSS in Browsern zu stärken, da CSS die Königsdiziplin ist, was Webdesign angeht. Deine Seite und deine Probleme haben aber erstaunlich wenig mit CSS zu tun, weswegen du Birnen mit Äpfeln vergleichst und daraus falsche Rückschlüsse ziehst. Was (X)HTML angeht, hat das Herz vom Firefox (Gecko) sogut wie garkeine Fehler. ; )

    Zitat von Seenotjens

    Was das Javascript angeht... [...] Ätzend.


    Bedank dich bei MS (aber auch bei Netscape). Der Internet Explorer kann nämlich eigendlich kein Javascript. Der kann nur JScript. Und nein, das ist nicht das selbe. JScript ist ein Javascript-Clon, bei dem viele Elemente von MS verändert, bzw. eigene Lösungen eingebaut wurden. Mit dem Effekt dass man fast alles doppelt machen darf. Einmal für IE und einmal für den Rest der Browserwelt. Ist schon ein unterschied, ob man einen Fehler in der Umsetzung von Standards hat, oder ob man sie absichtlich untergräbt.

    So. Mal zu Deinem Problem. Das mit den Popups hat dir Pumbaa ja schon erklärt. Die 2. Angabe ist nicht für den Titel einer Seite gedacht, sondern ist die ID des Fensters. Also der INTERNE Name des Fensters zum ansprechen per Script. Und bei der Namensgebung gelten dort die gleichen regeln wie bei anderen Variablen/Objekten/Klassen/usw. Keine sonderzeichen, keine leerzeichen, nur buchstaben und zahlen und es darf auch nicht mit einer zahl begonnen werden. Wer diese Regel missachtet muss auf die Fehlerkorrektur des Browsers hoffen und in diesem speziellen Fall ist der Firefox schlicht gütiger als der IE. Einfach die Namen nach den Regeln erstellen. Der Titel für das Fenster selbst, den der Besucher sehen soll, steht in der geöffneten HTML-Datei zwischen den beiden <title>-Tags.

    Das Problem mit der Tabelle wird auch aber auch kein Validator sagen können, da es hier nicht nur um einen Syntax-Fehler handelt, sondern um einen Logikfehler.
    Alle deine Links bindest Du in den <td>s mit einem <p> zum zentrieren ein. was du aber auch jedesmal schon innerhalb des tds machst, völlig überflüssig noch zusätzlich ein <p> zu erstellen. vor allem wenn dieses dann abstände produziert, wie das eigendlich auch gedacht ist. Ein absatz (<p>) sorgt dafür dass vor und nach ihm platz gehalten wird. Der IE macht das nicht, darum ist die tabelle nicht so hoch. firefox dehnt die zellen aber aufgrund des absatzes aus. Logisch, oder?

    Lösung: entweder du gibst allen <p>'s innerhalb dieser tabelle per css einen margin von 0, oder du nimmst die <p>'s raus, die eh überflüssig sind.

  • ... dankeschön abermals!

    Ich habe http://de.selfhtml.org/javascript/objekte/window.htm#open benutzt und bin nun immerhin soweit, daß sowohl FF als auch IE beide den Inhalt in einem neuen kleinen Fenster anzeigen, ohne Ärger zu machen.

    Was ich jedoch nicht verstehen kann:
    Ich habe den Original-Quelltext von selfhtml benutzt und lediglich in der href-Zeile meine persönlichen Dateipfade eingetragen. Die script-Zeile habe ich vollkommen unangetastet gelassen. Ist das normal, daß das trotzdem funktioniert?
    Der Grund für mein Vorgehen war: Sobald ich meine Pfade in die Klammern und überall wo "Adresse" steht eintrage, öffnet sich kein neues kleines Fenster über dem Alten. Stattdessen ist das Fenster so, wie wenn man unter FrontPage als Zielframe "Standart dieser Seite (Ohne)" wählt. Es wird also ein "komplettes/normales" Fenster mit dem Inhalt ausgefüllt, der eigentlich nur für ein 300x250 Fenster vorgesehen war.
    Außerdem verstehe ich nicht, daß eine Änderung in height, width, left oder top keinerlei Auswirkungen zeigt.

    Jens.

  • Zitat von Pumbaa80

    Das Attribut "height" in "table" wird von Firefox ignoriert.

    Ähm nein, doch nicht. Es liegt, wie Bugcatcher beschrieben hat, an den Abständen in den Zellen.
    Trotzdem sollte man die Angabe "height" in table vermeiden, weil sie absolut unsinnig ist und nicht zum Webstandard gehört. Stattdessen lieber den einzelnen Zellen eine Höhe geben, also <td height="">. Die Höhe der Tabelle ergibt sich dann als Summe der Zellhöhen und der Abstände. :klasse:

    Nachtrag:

    Zitat von Seenotjens

    Ich habe den Original-Quelltext von selfhtml benutzt und lediglich in der href-Zeile meine persönlichen Dateipfade eingetragen. Die script-Zeile habe ich vollkommen unangetastet gelassen. Ist das normal, daß das trotzdem funktioniert?


    Wieso nicht?

    Zitat von Seenotjens

    Stattdessen ist das Fenster so, wie wenn man unter FrontPage als Zielframe "Standart dieser Seite (Ohne)" wählt.


    Die Erläuterung unterhalb des Beispiel-Quelltextes sollte Klarheit bringen:
    http://de.selfhtml.org/javascript/objekte/window.htm#open

    Zitat

    Außerdem verstehe ich nicht, daß eine Änderung in height, width, left oder top keinerlei Auswirkungen zeigt.


    Eventuell hast Du in den Firefox-Optionen bei Inhalt/JavaScript/Erweitert die entsprechende Funktion deaktiviert.

  • Zitat von Seenotjens

    Ist das normal, daß das trotzdem funktioniert?


    Keine Ahnung was Du meinst, aber in jeder deiner Scriptzeilen steht jetzt als Fenstername "Zweitfenster". Dann ist es nur logisch, dass bei jedem aufruf kein neues sonders das bereits bestehende "Zweitfenster" angesprochen wird. Dafür ist der Name ja da. Er hat mit dem Titel nix zu tun.

    Zitat von Seenotjens

    Außerdem verstehe ich nicht, daß eine Änderung in height, width, left oder top keinerlei Auswirkungen zeigt.


    Keine Ahnung worauf du genau anspielst, aber bei einer Tabelle ist es so eingestellt, dass der inhalt einer Zelle vorrang hat und sich den platz nehmen darf den er braucht, falls die grössen-angaben der Tabellenzelle zu klein waren. Der Inhalt darf also bei bedarf die Tabelle ausdehnen. So gesehen sind width/height mehr minimumwerte, als absolutwerte.

    edit: aso. geht wohl eher um die zusätzlichen angaben bei popups. mein fehler. also wie Pumbaa sagt: prüf mal ob dein Firefox das auch erlaubt.

    Aber nachdem Du ja lieber Frontpage arbeiten lässt, wird dir das noch häufig passieren. Ohne zu übertreiben: 70% deines Quelltextes sind sinnloser balast und potentielle fehlerquelle. Dank sei dem Editor.

    Mal eine ganz andere Frage. Ist dieses Popup-Gewirr eigendlich nötigt? Ich find das anstrengend und alles andere als benutzerfreundlich.

  • Das sollte wohl eigentlich hier rein:

    Zitat von <woltlab-metacode-marker data-name=

    Seenotjens" data-link="">

    ... auch für Deine Anmerkungen!

    Ich habe die p´s rausgenommen, ändern tut sich dennoch nix. FF und IE scheinen auch einfach mal die Größen anders zu interpretieren. Es fällt z.B. auch bei den Abständen zwischen Überschrift und dem oberen Bildschirmrand sowie zur nachfolgenden Tabelle auf.

    Oder ist da immer noch ein Fehler?

    Jens.


    @ Seenotjens

    Du kannst den anderen Thread löschen, solange noch niemand drauf geantwortet hat.

    Gruß Coce

    Keine Garantie für Richtigkeit meiner Tipps! Fragen/Antworten nicht per PN/IM/E-Mail!

  • Zitat von Seenotjens

    Ich habe die p´s rausgenommen, ändern tut sich dennoch nix.


    Hatte es eben lokal getestet um sicher zu sein. es liegt GARANTIERT an den p's. Und bei dir steht in jeder der 9 tabellenzellen immernoch das hier drin:


    Und das da ab schluss noch ein </b> zuviel ist, will ich garnicht erst sagen. ; )

  • Zitat von bugcatcher

    Keine Ahnung was Du meinst, aber in jeder deiner Scriptzeilen steht jetzt als Fenstername "Zweitfenster". Dann ist es nur logisch, dass bei jedem aufruf kein neues sonders das bereits bestehende "Zweitfenster" angesprochen wird.

    Ne, genau anders herum: Jetzt wo es so steht, wie es original aus "selfhtml" übernommen steht (mit "Zweitfenster") funktioniert ja alles. Sobald ich irgendwas eigenes drin rumschreibe, dann wird kein neues Fenster mehr aufgemacht.

    Zitat von bugcatcher

    also wie Pumbaa sagt: prüf mal ob dein Firefox das auch erlaubt.

    Ja, ist alles aktiviert. Liegt nicht daran.

    Zitat von bugcatcher

    Aber nachdem Du ja lieber Frontpage arbeiten lässt

    Gibt es einen empfehlenswerten open source html-Editor?

    Zitat von bugcatcher

    Mal eine ganz andere Frage. Ist dieses Popup-Gewirr eigendlich nötigt? Ich find das anstrengend und alles andere als benutzerfreundlich.

    Ich fände es nicht angemessen, wenn zwei Zeilen Text auf einer bildschirmgroßen Seite erscheinen würden. Der Gedanke war, daß sich jeder ansehen kann, wie das Projekt aufgebaut ist. Wenn jemand mehr Informationen zu einem Teilprojekt haben möchte, bekommt er sie kurz und knackig in einem kleinen Fenster serviert. Welche Art von Darstellung fändest Du denn besser?
    Ich hatte mal ein Script, das bei einem "mouseover" über den Link ein kleines Fenster kreirte. Leider nur im IE.

    Jens.

    Einmal editiert, zuletzt von Anonymous (21. Oktober 2006 um 18:11)

  • Was dein Mouseover angeht, sowas kann man wunderbar mit CSS machen, das funktioniert nur leider nicht im IE6, 7 kann ich nicht testen.

    Ein Beispiel sieht man in der Signatur, der Link zu meinen Erweiterungen&Themes. Wird von der Erweiterung Infolister automatisch generiert und hochgeladen.

  • Zitat von Simon1983

    Was dein Mouseover angeht, sowas kann man wunderbar mit CSS machen, das funktioniert nur leider nicht im IE6, 7 kann ich nicht testen.

    Ich glaube nicht, daß Du so verallgemeinern kannst. Ich denke, es kommt auf das Script an. Wie ich es eben sagte: Das Script funktionierte nur im IE (6), leider nicht mit FF 1.5.0.7.

    Jens.

  • Zitat von bugcatcher

    Hatte es eben lokal getestet um sicher zu sein. es liegt GARANTIERT an den p's.

    Da hatte ich die veränderten Dateien noch nicht hochkopiert. Jetzt kannst Du ja noch mal nachsehen. Keine p´s mehr, trotzdem hast Du im Vergleich mit dem IE im FF diesen größeren Absatz in der Höhe der mittleren Tabelle in Bezug auf die beiden Tabellen rechts ("Das Projekt") und links ("Home").

    Jens.

    Einmal editiert, zuletzt von Anonymous (21. Oktober 2006 um 18:13)

  • Zitat von Seenotjens

    Ne, genau anders herum: Jetzt wo es so steht, wie es original aus "selfhtml" übernommen steht (mit "Zweitfenster") funktioniert ja alles. Sobald ich irgendwas eigenes drin rumschreibe, dann wird kein neues Fenster mehr aufgemacht.

    Zitat von bugcatcher

    Die 2. Angabe ist nicht für den Titel einer Seite gedacht, sondern ist die ID des Fensters. Also der INTERNE Name des Fensters zum ansprechen per Script. Und bei der Namensgebung gelten dort die gleichen regeln wie bei anderen Variablen/Objekten/Klassen/usw. Keine sonderzeichen, keine leerzeichen, nur buchstaben und zahlen und es darf auch nicht mit einer zahl begonnen werden. Wer diese Regel missachtet muss auf die Fehlerkorrektur des Browsers hoffen und in diesem speziellen Fall ist der Firefox schlicht gütiger als der IE. Einfach die Namen nach den Regeln erstellen. Der Titel für das Fenster selbst, den der Besucher sehen soll, steht in der geöffneten HTML-Datei zwischen den beiden <title>-Tags.

    Zitat von Seenotjens

    Gibt es einen empfehlenswerten open source html-Editor?


    Ich empfehle garkeite WYSIWYG-Editoren. Ich empfehe höchstens Text-Editoren.

    Zitat von Seenotjens

    Ich hatte mal ein Script, das bei einem "mouseover" über den Link ein kleines Fenster kreirte. Leider nur im IE.


    Ich würde mich auf ganz schlichtes HTML mit Link-Ankern stützen. In keinem deiner Popups ist soviel Inhalt, als dass man das nicht auch geordnet auf einer einzelnen Seite darstellen könnte.

    Wenn du schon unbedingt javascript haben willst verwende innerHTML in verbindung mit getElementById.

    Zitat von Seenotjens

    Jetzt kannst Du ja noch mal nachsehen. Keine p´s mehr, trotzdem hast Du im Vergleich mit dem IE im FF diesen größeren Absatz in der Höhe der mittleren Tabelle in Bezug auf die beiden Tabellen rechts ("Das Projekt") und links ("Home").


    Das liegt zum einen daran, dass wie du sicherlich selbst siehst, die zeilenhöhe bei beiden browsern leicht anders ist, was an unterschiedlichen standardwerten liegt. der webstandard gibt auch keinen vor, weswegen da jeder browserhersteller was eigenes macht, was er für sinnvoll hält, zumal das eh die aufgabe des webdesigners ist diese werte festzulegen, was du mit css auch machen kannst und solltest, wenn du ein identisches bild in allen browsern haben willst.

    Zudem. Deine beiden spalten links und rechts von der inneren tabelle haben ebfalls das absatzproblem wegen des <p>s.

    HTML ist überhaupt nicht dafür gedacht das aussehen festzulegen, dafür ist css da.

    Zitat von Simon1983

    Guck dir doch einfach mal die Seite in meiner Signatur an, da ist nicht ein Fitzel JavaScript.


    IE6 unterstützt die pseudo-klasse hover nur für den <a>-Tag. Ich glaub der IE7 kann das auch als universal-klasse für alle elemente, so wies Standard ist, aber wie gesagt... IE6 nicht. Da kommt man dann um Javascript bzw. Jscrirpt nur schwerlich rum.