|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2780
|
[JS] Prelevare codice html di un frame esterno al dominio
Forse il titolo non è chiarissimo, quindi spiego più in dettaglio il mio problema.
Ho una pagina web contenente un frameset composto da due frame, uno in alto e l'altro che copre tutto il resto della pagina. Il frame in basso non punta a nulla, quello in alto punta a un'altra pagina web che ho scritto io con un javascript che avendo un vettore di indirizzi li apre nel frame sottostante uno ad uno ad intervalli regolari. Quello che ho bisogno di fare è fermare questo flusso continuo nel caso in cui all'interno del frame di basso ci siano particolari parole o frasi chiave. Per far questo avevo pensato di leggere il codice html di quel frame e poi usare un semplice indexOf per cercare le parole chiave. Quello che non riesco a fare è prelevare il codice html. Come devo fare? Grazie! |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2780
|
Mi è stato detto che non è possibile fare ciò che chiedo, non è che però esiste un qualche trucchetto per aggirare il problema? Io non uso js da tanto e non mi viene in mente nessuna soluzione...
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Trento
Messaggi: 40877
|
php?
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Nov 2003
Messaggi: 980
|
Basandomi su quello che mi dice firebug, ho tirato fuori questo codice
Codice:
var iframes = iframe_in cui_sei.ownerDocument.getElementsByTagName("iframe");
var iframe_che_ti_serve = iframes[1];
if (iframe_che_ti_serve.contentDocument.body.innerHTML.indexOf("parola chiave") != -1)
{
//Trovato
}
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2780
|
Non posso, devo usare solo pagine statiche, devo farle lanciare ad utenti che non usano un webserver.
Quote:
EDIT: ho provato con top.document.getElementsByTagName("frame"); e almeno va avanti, in effetti frames vale 2, però si blocca all'istruzione di ricerca che è quella fondamentale... Ultima modifica di wingman87 : 10-11-2007 alle 14:09. |
|
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
Quote:
|
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2780
|
Ma dove trovo la documentazione ufficiale? Magari si trova qualche scappatoia..
|
|
|
|
|
|
#8 |
|
Member
Iscritto dal: May 2006
Messaggi: 86
|
forse ti conviene dare una ripassata alla cross domain policy di javascript
Nel caso in cui l'iframe sia esterno al dominio dal quale esegui la chiamata, allora non otterrai mai i permessi per leggere l'html della pagina. L'unica cosa che puoi fare, è appoggiarti ad un sito esterno, come può essere www.palary.com, che, una volta passata una query creata a dovere, ti ritorna un oggetto json, che puoi richiamare attraverso uno <script src...> |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2780
|
Mi puoi spiegare di che si tratta? Ad ogni modo più che una ripassata avrei proprio bisogno di un'infarinatura, non ho mai usato javascript quello che ho fatto finora l'ho fatto a logica vedendo un po' di esempi per capire come si usava, solo che non so dove trovare la documentazione ufficiale, ho trovato questo:
http://www.w3schools.com/jsref/default.asp ma di ufficiale non c'è nulla? Il link che hai postato non mi funziona. |
|
|
|
|
|
#10 |
|
Member
Iscritto dal: May 2006
Messaggi: 86
|
si, ho notato ora che palary è stato abbattuto... spero sia una cosa temporanea
Per quanto riguarda invece json e le domain restrictions, prendi come punto di partenza wikipedia e vedi che riesci ad ottenere ( di solito in fondo alla pagina, tra i link, trovi ottime risorse). Ti indirizzerei a qualcosa di più preciso, ma sinceramente non avrei idea di dove trovare risorse decenti a riguardo: personalmente mi sono fatto un collage di roba reperita dalla rete, e me lo sono assimilato col tempo. |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2780
|
Ok, ci proverò, grazie. Comunque mi sembra strano che non ci sia nulla di ufficiale...
|
|
|
|
|
|
#12 |
|
Member
Iscritto dal: May 2006
Messaggi: 86
|
http://www.w3schools.com/js/default.asp
le linee guida qua le puoi trovare, e non credo ci sia nulla di più ufficiale. Ma non mi pare che sia esattamente una "guida"... |
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2780
|
Quello che mi serve in effetti non è una guida, so già programmare in altri linguaggi e non trovo js difficile da imparare, anzi.. è piuttosto un riferimento tipo l'MSDN del .NET o il reference ufficiale del Java che trattano tutto senza tralasciare nulla e in modo approfondito. Ad esempio sta storia del fatto che non si può accedere a un frame con contenuto esterno l'ho scoperta provando e poi leggendo esperienze di altra gente su internet ma non l'ho ancora trovato scritto in modo ufficiale da nessuna parte.
|
|
|
|
|
|
#14 |
|
Member
Iscritto dal: May 2006
Messaggi: 86
|
Il punto è che le restrizioni è il browser a dettarle, quindi difficilmente troverai qualcosa di ufficiale a riguardo nelle guide di js
Piuttosto, se nella pagina caricata nell'iframe puoi inserire del js, allora hai qualche chance di ottenerne i sorgenti. |
|
|
|
|
|
#15 | |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2780
|
Capisco.. però io ho avuto un altro problema tempo fa, non riuscivo a chiudere le schede di firefox con javascript, ma poi ho scoperto che il problema era aggirabile cambiando una proprietà del browser in about:config. Magari c'è un modo per disattivare anche questa restrizione.
Quote:
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:23.




















