2009-07-21 11 views
3

Ich habe ein Hintergrundbild mit einer Klammer im Dateinamen:Cloning Hintergrundbild mit Klammern in Dateinamen

<DIV style="BACKGROUND: url('http://site.com/image(8).png');"></DIV> 

Dies ist normalerweise in Ordnung, und es gibt keine Verwirrung, weil es Anführungszeichen um die Dateinamen ein.

In den IE-Entwicklertools jedoch sehe ich, dass der Browser die Zitate aus irgendeinem Grund entfernt.

<DIV style="BACKGROUND: url(http://site.com/image(8).png);"></DIV> 

Trotzdem funktioniert es, also keine große Sache. Das Problem tritt auf, wenn ich versuche, die Klonfunktion von jquery zu verwenden.

Offenbar erkennt die Ausgabe nach Klon() die obige Bild URL nicht als gültig in IE8 und streift es aus (andere Browser, einschließlich IE7, sind in Ordnung). Und so habe ich am Ende:

<DIV></DIV> 

Wer weiß, wie das zu beheben? Klonen Sie ein Hintergrundbild mit Klammern in der URL in IE8.

Danke.

Auch als Addendum muss ich Inline-Styling für die relevanten Elemente verwenden, also empfehlen Sie nicht, ein separates Stylesheet zu verwenden.

Ad2: Beim Escaping, Nach dem Browser-Rendering werden die entwischten Entitäten entkoppelt. Das erneute Klonen erfolgt nach dem Laden der Seite, und das ausgewählte zu klonende Objekt enthält nicht deklarierte Zeichen.

+0

Sie sollten dispinozzi die Punkte geben, um Ihre Frage zu beantworten – MarioRicalde

Antwort

7

Sie die Klammern mit HTML-Entitäten nicht entkommen (der Browser zur Behandlung von Entitäten in Attributen als Literalzeichen äquivalent korrekt ist), entkommen sie mit URL-Einheiten:

(=% 28
) =% 29

+0

Danke. Ja, das hat es getan. – Jourkey

0

Entkommen der Parentesis würde funktionieren, denke ich. TBH, es wäre die Art, wie ich es für eine URL verwenden würde.

+1

Nach dem Browser-Rendering werden die entwichenen Entitäten nicht mehr gecodiert. Das erneute Klonen erfolgt nach dem Laden der Seite, und das ausgewählte zu klonende Objekt enthält nicht deklarierte Zeichen. – Jourkey

2

Sie misssing ein Anführungszeichen: "

<DIV style="BACKGROUND: url('http://site.com/image(8).png');></DIV> 

<DIV style="BACKGROUND: url('http://site.com/image(8).png');"></DIV> 

sein sollte, können Sie hier sehen, dass auch die Stackoverflow Code Formatter formatiert den Code verschiedenen

+0

In Ordnung, sorry behoben. – Jourkey

+0

+1: Das ist der Fehler, glaube ich. Da sollte kein Problem mit Klammern im Namen sein, wenn Sie Anführungszeichen hinzufügen. – MarioRicalde

+0

Danke, aber es ist nicht die Antwort. – Jourkey

0

&#40; für die linke Klammer '(

&#41; für die rechte Klammer ')'

Vielleicht behebt das das Problem?

+0

Ich habe den Top Post mit einer Erklärung über die Flucht bearbeitet. – Jourkey