2010-11-24 3 views
2

Ich wurde gebeten, eine sehr einfache Aufgabe zu erledigen, schreiben Sie einige URLs von Produkten auf, damit wir sie von unserem Ezine auf die Website verlinken können, oder? Nun ja, das ist einfach. Aber wenn ich mir den Link für ein bestimmtes Produkt ansehe, sehe ich, dass die HTML-Seite durcheinander ist. Ok, ich denke, ich gehe rein und repariere es, kann nicht zu schwierig sein, es ist in einem WYSIWYG-Editor ...Was ist dieser seltsame Code, den ich finde?

Diese Website basiert auf PHP/Smarty.

Dies ist, wo es alle Arten von vermasselt bekommt.

Here, in this fiddle ist der Code des Inhalts, generiert durch den WYSIWYG-Editor (Ich habe dies nicht gemacht, ein anderer Affe tat).

Wie Sie sehen können, gibt es ein großes Stück Code, der mit beginnt:

<!--[if gte vml 1]><v:shapetype 

Wenn ich diese entfernen, wird die ganze Sache entscheidet, nicht auf dem static HTML page angezeigt werden, noch in irgendeiner anderen Produktseite dieser Code wird nicht angezeigt. Auch das Layout ist sehr durcheinander, egal was ich tue (sogar das Einfügen der Informationen in Klartext vom Editor) wird keine Probleme beheben.

  1. Was ist das für ein verrückter Code?
  2. Hat jemand jemals eine solche Situation mit einem WYSIWYG-Editor begegnet?
  3. Wenn ja, was kann ich tun, damit diese Seite meine Informationen zusammenhängend darstellt?

Vielen Dank SO.


EDIT

Also habe ich alle unerwünschten HTML gestrippt aus und machte es as shown here super einfach.

Aber wenn ich dies in den HTML-Editor der WYSIWYG-Sache hinzufügen und speichern, wird nichts auf der entsprechenden Seite angezeigt.

Hat noch jemand diese Art von Ärger gehabt?

Danke.

Antwort

4

Dieser proprietäre MS VML-Code. Wahrscheinlich wurde jemand aus Word oder einem anderen Office-Programm kopiert und eingefügt.

Ich habe mich angewöhnt, etwas wie HTMLPurifier auf der Serverseite in Verbindung mit dem Sperren der Editoren zu verwenden, um nur eine strenge Teilmenge von Tags zu erlauben, diese Art von Sache zu verhindern. Wenn Sie FCK/CK verwenden, gibt es auch eine Option, um alle Einfügeoperationen ein einfaches Textfenster zu verwenden, bevor es in den Editor eingefügt wird.

5

Diese sind CSS conditional comments.

In diesem Fall (if gte vml 1) scheint die Bedingung für die Installation von VML (Virtual Modeling Language) Version 1 oder höher zu sein.

Dies wurde wahrscheinlich eingefügt, Sie müssen also den ursprünglichen HTML-Code bearbeiten und löschen.

+0

Ich dachte bedingte Kommentare nur auf IE angewendet? – Kyle

+0

@Downvoter - vorsichtig erklären? – Oded

+0

Ich denke, VML funktioniert nur in IE. –

3

Solche Dinge passieren sehr oft, wenn Benutzer Text aus MS Word oder anderen Rich-Text-Editoren einfügen.

Sie müssen diesen Code vor der Veröffentlichung löschen oder das direkte Einfügen verbieten. TinyMCE WYSIWYG Editor hat einige gute Möglichkeiten dafür.

+0

Danke, ich habe den HTML-Code geändert und eine unternehmensweite E-Mail verschickt, aber es ist ein weiteres Problem aufgetreten. – Kyle