2010-08-04 12 views
6

Dopo aver impostato la posizione di un controllo su un sito. Come potrei quindi dare uno sguardo all'HTML associato? Ho notato che non appena avrò impostato Location, htmlText diventa nullo e viceversa ... Quindi, come si dovrebbe guardare l'HTML visualizzato nel controllo in forma di TESTO?Equivalente di "Visualizza origine" per <mx:HTML> Componente

risposta

5

Di sicuro non lo rendono facile, ma il trucco è usare il DOM.

mio controllo HTML è denominato 'html'

<mx:HTML id="html" location="http://www.googolflex.com" 
     width="100%" height="100%" /> 

Il DOM è contenuto all'interno di HTMLLoader del componente HTML, che si chiama convenientemente 'htmlLoader'.

var o : Object = html.htmlLoader.window.document.getElementsByTagName("html")[0]; 
trace(o.textContent); 
trace(o.innerText); 
trace(o.innerHTML); 

io non sono un esperto di JavaScript, ma si deve essenzialmente il DOM esposto a voi attraverso html.htmlLoader.window. Oltre ad essere un modo non conveniente per visualizzare la fonte, questo ti permette di fare molte attività JavaScript-esque tramite ActionScript.

Questo documento aiuto mi portano a questa soluzione: Accessing DOM and JavaScript objects from ActionScript

+0

Questo funziona benissimo, ho restituito 'html.htmlLoader.window.document.getElementsByTagName (" html ") [0] .outerHTML' e ho restituito l'intero HTML della pagina. Si dovrebbe tenere presente che HTMLLoader regola il codice di input, quindi non ci sono errori in esso prima di visualizzarlo. Principalmente funziona bene, ma a volte rompe le pagine. – Tox

3

mi dimentico sempre come fare questo, e in realtà ho solo cercato come farlo di nuovo. Trovato questo frammento in un vecchio mio progetto:

HTMLComponent.domWindow.document.documentElement.outerHTML 

anche se non sono sicuro se questo rappresenta le modifiche apportate da JavaScript.

assicuratevi di tracciare questo solo su un evento completo dal componente HTML (a meno che non si sappia che la pagina ha terminato il caricamento).

Problemi correlati