Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript] ie + innerHTML + pre
nmts
post
Post #1





Grupa: Zarejestrowani
Postów: 283
Pomógł: 34
Dołączył: 21.03.2008

Ostrzeżenie: (0%)
-----


Mam div:
  1. <div class='code'>treść</div>
  2.  
  3. .code {
  4. display: inline-block;
  5. white-space: pre;
  6. }


Chce zmienić treść. Jednak nie mogę zmienić treści za pomocą innerHTML, bo IE gubi wtedy wszystkie białe znaki.

Jakiś pomysł?

Go to the top of the page
+Quote Post
bastard13
post
Post #2





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Rozumiem, ze chodzi ci o wielokrotne spacje, tabulatory i znak nowej lini?
preg_replace i zamieniaj \n na <br>, \t na &# 9; (bez spacji), a spacje na  

Ten post edytował bastard13 27.08.2010, 23:10:58
Go to the top of the page
+Quote Post
nmts
post
Post #3





Grupa: Zarejestrowani
Postów: 283
Pomógł: 34
Dołączył: 21.03.2008

Ostrzeżenie: (0%)
-----


  1. str = this.innerHTML;
  2. str = str.replace(/\r?\n/g, '<br />');
  3. this.innerHTML = str;


Niestety powyższy kod nie działa w IE7. Dlaczego? :|

Ten post edytował nmts 28.08.2010, 09:56:10
Go to the top of the page
+Quote Post
michaJlS
post
Post #4





Grupa: Zarejestrowani
Postów: 83
Pomógł: 9
Dołączył: 21.05.2004
Skąd: Glogau/Breslau

Ostrzeżenie: (0%)
-----


Ja bym tam radził zamiast takiego dziwnego diva dać pre. I zamiast innerHtml spróbować textContent https://developer.mozilla.org/En/DOM/Node.textContent (ale nie wiem czy to zadziała). A jako że w html kilka białych znaków pod rząd to i tak jeden, to pewnie IE sobie je wycina.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 28.08.2025 - 17:16