Inserire HTML del document in una variabile

fluctuate

Nuovo Utente
16 Ago 2006
11
0
0
Ciao a tutti!
Non essendo stato capace di trovare nessun precedente post mi
scuso se l'argomento è stato gia' trattato.
Il mio Pb consiste nel fatto che devo fare in modo
di analizzare una pagina web tramite delle espressioni regolari.
Visto che la mia applicazione è scritta in XUL (Firefox) dovrei usare
per forza Javascript (quindi Firefox compliant).
Praticamente pensavo di ritornare l'HTML del document della pagina
ed inserirlo in una var, per poi effettuare la ricerca,
il mio codice è il seguente (non trova mai nulla):

var source_frame = iFrameWin.frames[2].document.createRange();
source_frame.selectNodeContents(iFrameWin.frames[2].document.body);
var str_frame = source_frame.toString();
var espressione = /MVBackButton+_([0-9])/;
if(espressione.test(str_frame)){
alert("Trovata!");
}

Una volta ottenuto il riferimento al frame (iFrame) cerco di
ritornare l'HTML del document del mio frame (frames[2].document.body)
per poi cercare la mia espressione.
Il frame è quello giusto, l'ho appurato (non è qui il pb)
Lo snap della ricerca funziona,l'ho provato già in un altro contesto.
Il problema dovrebbe risiedere nelle funzioni :
- createRange();
- selectNodeContents(...);

che non so usare bene, quindi potrei aver commesso erroracci.
Avete qualche idea?

Grazie
 
<script language="javascript">
var Pagina = parent.frames.parent.location;
var oHTTPReq = new ActiveXObject("Microsoft.XMLHTTP");
oHTTPReq.open("GET", Pagina, false);
oHTTPReq.setRequestHeader("Content-Type", "text");
oHTTPReq.send(null);
var strRc=oHTTPReq.responseText;
alert(strRc);
</script>


Prova questo.
 
Ti ringrazio Daviduccio per i tuoi consigli.
Il mio pb era inserire l'HTML del document dentro una var
in modo da poter effettuare una ricerca mediante espressioni regolari,
ho risolto cosi' :
(Forse innerHTML non fà parte del DOM, ma io chiudo un occhio ;)

var html_frame = document.body.innerHTML;
var str_frame = html_frame.toString();

var espressione = /Button+_([0-9])/;
if(espressione.test(str_frame)){
alert("trovata");
}

Praticamente ho risolto con la prima linea di codice,
era una questione di ignoranza mia personale nell'uso
di javascript.

Comunque, se non abuso della vostra pazienda, vorrei chiedervi
un'altra cosa:
Se, una volta appurato che la mia stringa è presente nel HTML,
volessi recuperare il valore esatto della stringa stessa, come faccio?
Mi spiego meglio, la mia espr. reg. /Button+_([0-9])/ mi dice
che nel HTML è presente una stringa del tipo "Button_5152958",
ma Io in realtà avrei bisogno di recuperare l'esatto valore
della stringa.
Come potrei fare?

Vi ringrazio tanto per l'attenzione !
 
Forse ho capito male io, ma la varibile strRc del codice che ho postato non contiene tutto l'HTML della pagina che vuoi?

Per la seconda domanda....saresti così gentile da spiegare quello che devi fare, perché così lo sai solo tu e ci capisci qualcosa solo tu.

:byebye:
 
Ho risolto daviduccio.

Dovevo solo imparare che esisteva la funzione match().
Era proprio cio' di cui avevo bisogno!

Cmq Grazie 1000!
 

Discussioni simili