Autor | Zpráva | ||
---|---|---|---|
Tomtomas Profil |
Pomocí getElementByID...nodeValue vybírám text z HTML stránky, nějakým způsobem si ho upravím (použití fce split() ) a opět ho někam na stránku pomocí getElementByID...nodeValue vložím.
Problém mám při výskytu HTML značek ve zdrojovém textu. Na výstupu dostanu vždy značky jako entity - <a href="...">. I když použiji replace() s < -> '%3C' nebo < -> '<', vždycky na výstupu mám stále <. Tj. prosím, jak dosáhnout, aby se mi vypisoval zejména např. link jako [url=#]odkaz[/url] a nikoliv jako <a href="#">odkaz</a>? Děkuji za pomoc. |
||
Tomtomas Profil |
#2 · Zasláno: 1. 1. 2008, 21:50:40
Editace: ořízl se mi název téma - Jak na převod stringu s <> na string s funkčním HTML.
|
||
Leo Profil |
#3 · Zasláno: 1. 1. 2008, 21:53:14
Pouzijte innerHTML a nekomplikujte si zivot... Leos
|
||
Tomtomas Profil |
#4 · Zasláno: 1. 1. 2008, 23:04:16 · Upravil/a: Tomtomas
Díky za reakci. InnerHTML jsem zkoušel také, ale se stejným výsledkem (< - viditelné na webu jako <neco ...
Mám teď toto: var promenna = JinaPromenna.innerHTML.split('|'); (původně var promenna = JinaPromenna.firstChild.nodeValue.split('|'); document.getElementById('konecny-html-element').innerHTML = 'hodnota je '+promenna[0]; (původně document.getElementById('konecny-html-element').childNodes[0].nodeValu e = 'hodnota je '+promenna[0];) |
||
Tomtomas Profil |
#5 · Zasláno: 1. 1. 2008, 23:08:46 · Upravil/a: Tomtomas
Měl jsem tam nějakou chybu v načítání proměnné, takže to fungovalo, ale chybně - s < atd. Teď je to již bez mojí chyby v zápisu, tj. tak, jak je popsáno v předešlém příspěvku, přes innerHTML, ale výsledné chyby jsou ještě větší. Prostě s jakoukoliv vstupní hodnotou, kde je HTML značka, se skript neprovede (resp. veškeré načtené proměnné s HTML ignoruje). Tedy mimo Firefoxe, tam je to ještě o něco divočejší.
I když jsou s tím problémy i bez použití split(), připadá mě, že je její použití zde taky problémem (myslím ve vztahu k HTML značkám, jinak bezchybné). Prostě jak zacházet s proměnnou(mixem textu a HTML) u getElementByID. Nejspíš budu vděčný za radu nebo nasměrování, jak pokud možno jednoduše a elegantně zakódovat HTML značky na vstupu a především, jak to pak dekódovat, aby byl pomocí JS výsledkem třeba tučný text, klikatelný odkaz atd. Protože alespoň mě jiné řešení nenapadá. |
||
Tomtomas Profil |
#6 · Zasláno: 3. 1. 2008, 15:35:07
Takže nakonec jsem problém úspěšně vyřešil přece jen s použitím innerHTML. Ale na vstupu jsem použil JavaScriptové pole var Array = ['Neco a <a>neco</a>','neco jineho','zase neco jineho'], čímž odpadla nutnost funkce split(). InnerHTML je tak až na výstupu, při vložení do výsledného elementu. Takto není problém s jakýmikoliv HTML značkami a zároveň odpadají problémy s innerHTML na vstupu, kdy zejména ve Firefoxu byly hodně velké problémy. Takže díky, Leo.
|
||
Časová prodleva: 16 let
|
0