Deus Figendi: /ZUR INFO: IE formt Code um

Es ist sicher kein Drama, aber ich denke nützlich zu wissen ^^
Ich habe jüngst einem Bekannten ein kleines PHP-Programm geschrieben und beim Testen hat er mir halt eine Probe-Ausgabe geschickt, indem er die Ausgabe aus dem Browser heraus einfach abspeicherte.
Dabei verwendete er den IE8 (weil dessen Verhalten bzgl. der Tastaturbedienung von Select-Boxen ihm besser gefiel).
Dabei stellte ich fest, dass der IE den Code massiv umformt. Ich kenne es von vielen Browser, dass sie z.B. Verweise anpassen, indem sie das Verweisziel herunter laden und auf die lokale Kopie verweisen, der IE macht aber mehr, er streicht z.B. CSS-Code den er nicht versteht und er schreibt alles groß... er hat sogar Gruppen aufgelöst (siehe label input, label select)
Also ich habe meinem Bekannten z.B. das hier gegeben:

label {  
 display:block;  
 position:relative;  
}  
label input , label select {  
 position:absolute;  
 left:5em;  
}  
  
td {  
 border-style:solid;  
}  
  
.debug li {  
 font-size:x-small;  
}  
  
ol.debug , ul.debug {  
 -moz-column-width: 13em;  
 -webkit-column-width: 13em;  
 -moz-column-gap: 2em;  
 -webkit-column-gap: 2em;  
}  

und wenn er das mit dem IE8 abspeicherte kam dies zurück:

LABEL {  
	POSITION: relative; DISPLAY: block  
}  
LABEL INPUT {  
	POSITION: absolute; LEFT: 5em  
}  
LABEL SELECT {  
	POSITION: absolute; LEFT: 5em  
}  
TD {  
	BORDER-BOTTOM: thin solid; BORDER-LEFT: thin solid; BORDER-TOP: thin solid; BORDER-RIGHT: thin solid  
}  
.debug LI {  
	FONT-SIZE: x-small  
}  

Ähnlich schaut's mit dem HTML-Code aus, aus

<!DOCTYPE html>  
 <html>  
  <head>  
  
 <link rel="stylesheet" type="text/css"  
href="./style.css">  
  
  </head><body>

wird

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  
<!-- saved from url=(0041)http://anonymisiert.url -->  
<HTML><HEAD>  
<META content="text/html; charset=windows-1252" http-equiv=Content-Type><LINK  
rel=stylesheet type=text/css href="auswertung_mitfehlern-Dateien/style.css">  
<META name=GENERATOR content="MSHTML 8.00.7600.16588"></HEAD>  
<BODY>

Naja wie gesagt, nur so zur Info, schon ein äääh interessantes Verhalten.
Immerhin ist er ehrlich genug (siehe "saved from" und "generator = MSHTML") aber... ich find's schon seltsam. Und z.B. den Dokuemtentyp zu ändern ist schon ein starkes Stück, dann müsste er nämlich eigentlich die ganze Seite ordentlich konvertieren.

Wie auch immer, ich fand das bemerkenswert, daher hab ich's mal bemerkt :)

--
sh:( fo:| ch:? rl:( br:& n4:& ie:{ mo:} va:) de:µ_de:] zu:) fl:( ss:| ls:[ js:(
  1. Hi!

    [...] Ausgabe aus dem Browser heraus einfach abspeicherte.
    Dabei verwendete er den IE8 [...]
    Dabei stellte ich fest, dass der IE den Code massiv umformt.

    Jein. Den Code zu ändern ist keine Eigenart des IE8 sondern auch von anderen Browsers. Jedoch machen die das nur, wenn man "Webseite komplett" oder ähnliches wählt, denn dann müssen sie auch alle eingebetteten Dokumente lokal speichern, wofür ein eingenes Unterverzeichnis verwendet wird und wozu mindestens Anpassung der relativen Verweise erforderlich ist.

    Nimmst du hingegen die Funktion "Webseite nur HTML", dann bekommst du den Original-Code.

    Lo!

    1. Bounjoun dedlfix,

      Nimmst du hingegen die Funktion "Webseite nur HTML", dann bekommst du den Original-Code.

      Auch da habe ich, zumindest bei älteren IEs, Wunder erlebt... Besser ist: Quelltext anzeigen[1], speichern als .html

      [1] Defaultmässig ist wohl bei den meisten Usern Notepad eingestellt. Läßt sich aber anpassen.

      Adiou.

      1. Auch da habe ich, zumindest bei älteren IEs, Wunder erlebt... Besser ist: Quelltext anzeigen[1], speichern als .html

        Der Quelltext ist auch etwas anderes als das wieder in HTML zurückgeführte DOM welches der Browser interpretiert hat.

  2. Hallo,

    Es ist sicher kein Drama, aber ich denke nützlich zu wissen ^^

    kommt drauf an ...

    Dabei stellte ich fest, dass der IE den Code massiv umformt. Ich kenne es von vielen Browser, dass sie z.B. Verweise anpassen, indem sie das Verweisziel herunter laden und auf die lokale Kopie verweisen, der IE macht aber mehr, er streicht z.B. CSS-Code den er nicht versteht und er schreibt alles groß... er hat sogar Gruppen aufgelöst (siehe label input, label select)

    Ich weiß, das tut er schon mindstens seit IE4, ältere Versionen kenne ich nicht so.
    Auch die Reihenfolge von Attributen wird bunt durchmischt, Anführungszeichen um Attributwerte sind teils entfernt (aber nicht alle), die Formatierung des Quellcodes ist zum Teufel, und ein meta-Element name="Generator" wird hinzugefügt - und wie du siehst, wird sogar der DOCTYPE komplett durch einen anderen ersetzt.

    Wie auch immer, ich fand das bemerkenswert, daher hab ich's mal bemerkt :)

    Gut - aber die Bemerkung kommt IMHO mehr als 10 Jahre zu spät. ;-)

    So long,
     Martin

    --
    Kopflosigkeit schützt nicht vor Migräne.
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. Hi!

      [IE verändert Quelltext nach Belieben]

      Weils mir grad noch einfällt: Der FF macht das in ähnlicher Weise auch, wenn man die Funktion "Auswahl-Quelltext anzeigen" nimmt. Zuvor muss man einen Teil der angezeigten Seite markiert haben und findet diese Funktion dann im Kontextmenü. Das kommt daher, dass er dann nicht die entsprechende Stelle im Quellcode sucht. Dafür müsste er quasi rückwärts rendern. Damit kommt er aber immer noch nicht exakt auf den Original-Code, weil er beim Rendern ja - wie das die Browser im Allgemeinen machen dürfen - ihm unbekanntes Zeug ignoriert und nicht mit in das DOM aufnehmen muss. Desterwegen nimmt diese Funktion einfach den markierten Teil aus dem DOM und "entrendert" den zu HTML.

      Lo!

      1. Weils mir grad noch einfällt: Der FF macht das in ähnlicher Weise auch, wenn man die Funktion "Auswahl-Quelltext anzeigen" nimmt.

        Oder den Webdeveloper Toolbar und "View generated Source" wählt.

        Oder den "Quelltext" im Firebug, Dragonfly oder sonstwo ansieht.

    2. Gut - aber die Bemerkung kommt IMHO mehr als 10 Jahre zu spät. ;-)

      Naja, ich benutze den Browser halt nie :) Ich hab zwar ca. 5-8 Windows-Browser installiert aber den IE aktiviere ich halt nie.

      Ich muss gestehen, dass ich mir schon dachte dass das allgemein bekannt ist, aber es dennoch im Archiv zu verewigen schien es mir wert :) Denn zumindest wird es nicht viel kommuniziert (sonst hätte ich ja schon davon gehört/gelesen).

      --
      sh:( fo:| ch:? rl:( br:& n4:& ie:{ mo:} va:) de:µ_de:] zu:) fl:( ss:| ls:[ js:(
  3. Hi,

    Es ist sicher kein Drama, aber ich denke nützlich zu wissen ^^

    Diese (Un-)Eigenart belästigt auch seit viiieeelen Jahren die Programmierer & Anwender von Online-Editoren. Da kann der Quelltext noch so schön sein: einmal mit dem IE die Seite online editiert, und der Quelltext ist kaum noch wiederzuerkennen (was an der Funktionalität allerdings wohl nichts ändert).

    Wie auch immer, ich fand das bemerkenswert, daher hab ich's mal bemerkt :)

    Um mich an Der Martin anzuhängen: In 10 Jahren verkündest Du überrascht das Aus der DFB-Elf bei der 2010er WM?

    *SCNR*

    Gruß, Cybaer

    --
    Zweck des Disputs oder der Diskussion soll nicht der Sieg, sondern der Gewinn sein.
    (Joseph Joubert, Schriftsteller)