webForumDet fria alternativet

Gecko-problem med innerHTML

4 svar · 336 visningar · startad av @nders

@ndersMedlem sedan juni 200032 969 inlägg
#1

Hej!

Jag har ett problem som är mycket märkligt. I en frame har jag ett <span>-element med id status. När framen laddas ser allt frid och fröjd ut, och koden ser ut något sånt härnt:

<table border="0" cellspacing="0" cellpadding="0" align="right">
	<tr> 
		<td><b>&amp;nbsp;&amp;nbsp;<span id="status">12.07.2004 13:27:28</span></b></td>
		<td><img src="/images/dot_blank.gif" width="10" height="20"></td>
	</tr>
</table>

I en annan frame kör jag följande:

<script>
	top.oldmain.statusframe.document.getElementById('status').innerHTML='12.07.2004 13:29:31';
</script>

När jag gör detta byts innehållet i mitt <span>-element ut mot det jag vill, men någonting gör att efter elementmodifieringen radbryts det mellan mitt datum och min tid. När jag efter modifieringen väljer View selection source i FF ser det ut så här:

<table border="0" cellspacing="0" cellpadding="0" align="right">
	<tr> 
		<td><b>&amp;nbsp;&amp;nbsp;<span id="status">12.07.2004 13:29:31</span></b></td>
		<td><img src="/images/dot_blank.gif" width="10" height="20"></td>
	</tr>
</table>

Alltså:
* Alltid när sidan laddas i framen ser det riktigt ut.
* Alltid när jag använt innerHTML blir innehållet för stort, och Gecko-maskinen slänger dit en radbrytning.

Någon med färsk hjärna som kan förklara hur jag ska göra för att Mozillan och hans bröder ska göra som jag vill? :)

Mvh och tpf,

KoplikMedlem sedan juli 20011 129 inlägg
#2

Det här är ingen direkt lösning på ditt problem, men ta inte illa upp nu.

Om du byter ut mellanslaget mot ett &ampnbsp; så skall den inte radbryta mellan datum och tid, i värsta fall flytta ner det.
Detta är efter IE princip iaf, vet inte hur andra läsare hanterar detta. Om du hämtar tid med JS så kan du väl köra en
nTid.replace(" ","&ampnbsp;")

Bara en tanke

@ndersMedlem sedan juni 200032 969 inlägg
#3

Det är riktigt att ingen radbrytning görs om man ersätter mellanslaget till &nbsp;, men i stället förskjuts tiden till höger och hamnar längst till höger i framen och skjuter iväg det som kommer efter.

Jag ska se om jag kan knyta loss lite html-kod att lägga upp så det går att se vad som händer.

mvh

Peter SMedlem sedan dec. 20025 483 inlägg
#4

Alternativt kanske följande CSS-regel fungerar:

span#status {
    white-space: nowrap;
}

:)

@ndersMedlem sedan juni 200032 969 inlägg
#5

Med käre Ace Venturas ord: Like a glove!

Tusen tack! :D

Mvh
anders

265 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
134 ms — hämta forumlista (db)
128 ms — hämta statistik (db)
130 ms — hämta tråd, inlägg och bilagor (db)