Visualizzazione risultati 1 fino 20 di 20

Discussione: [Javascript] Leggere iframe variabile

  1. #1
    pokestudio non è connesso Altervistiano Junior
    Data registrazione
    16-01-2004
    Residenza
    127.0.0.1
    Messaggi
    547

    Predefinito [Javascript] Leggere iframe variabile

    Lo volevo fare con php ma non funziona totalmente, perciò ho provato con javascript ma non mi riesce...

    Ho un iframe di una pagina che è variabile, cioè al 30% può uscire "A", al 60% può uscire "B" e al 10% può uscire "C". Praticamente devo parserizzare il codice di questa pagina ma che deve essere di "C", ma non so come fare. Mi dite come?
    Dal server 5 con amore

  2. #2
    Guest

    Predefinito

    Cosa intendi con "può uscire"? A quale proprietà dell'iframe ti riferisci?
    Con "parserizzare" invece intendi dire che quando "esce" C devi agire in un certo modo sull'iframe in questione?
    Spiega meglio.


    Ciaooooo!!!!!

  3. #3
    pokestudio non è connesso Altervistiano Junior
    Data registrazione
    16-01-2004
    Residenza
    127.0.0.1
    Messaggi
    547

    Predefinito

    Beh l'iframe è una mia pagina php dinamica, perciò intendo che quando esce la pagina che voglio io il resto del javascript parte. Va bene?
    Dal server 5 con amore

  4. #4
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Se questa pagina caricata nell'iframe è del tuo sito (interna allo stesso dominio della finestra che lo ospita) allora non avrai problemi nell'accedere tramite javascript al document nell'iframe (così al volo se non ricordo male con document.frames['nomeiframe'].document o simile)

    Se invece stai tentando di parsare una pagina che non è tua ovviamente incappi nelle limitazioni per security.
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  5. #5
    pokestudio non è connesso Altervistiano Junior
    Data registrazione
    16-01-2004
    Residenza
    127.0.0.1
    Messaggi
    547

    Predefinito

    Uhm, si infatti era per un altro sito ma volevo fare una cosa tipo parent.nomeframe.document.documentElement.innerHTM L ma non funziona...
    Dal server 5 con amore

  6. #6
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Citazione Originalmente inviato da pokestudio
    Uhm, si infatti era per un altro sito ma volevo fare una cosa tipo parent.nomeframe.document.documentElement.innerHTM L ma non funziona...
    Visto che si parla di DUE pagine, bisogna vedere che intendi per "infatti era per un altro sito":
    se intendi che una delle due pagine (principale o quella nell'iframe) stanno in due domini diversi allora ti posso assicurare che non c'è modo tramite javascript, per limitazioni di sicurezza.
    Se invece intendi che vuoi fare questa cosa su un altro tuo sito, può funzionare solo se entrambe le pagine risiedono su quel dominio.
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  7. #7
    pokestudio non è connesso Altervistiano Junior
    Data registrazione
    16-01-2004
    Residenza
    127.0.0.1
    Messaggi
    547

    Predefinito

    Adesso sto cercando di fare in un altro modo, però non so come è il codice.

    Metodo 1: Nel codice della pagina dinamica (iframe o meno è accessibile) c'è sempre la frase "Questa volta hai beccato X" dove X sta per A, B o C. Come si fa una specie di equivalente funzione di PHP ereg() dove se mi trova "Questa volta hai beccato C" mi fa il resto del codice?

    Metodo 2: Nel codice della pagina dinamica (iframe o meno è accessibile) la frase in questione è in un tag <p> . Come faccio a vedere il valore del tag interno e che sia "Questa volta hai beccato C"?
    Dal server 5 con amore

  8. #8
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Qui c'è una guida sulle espressioni regolari in JavaScript.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  9. #9
    pokestudio non è connesso Altervistiano Junior
    Data registrazione
    16-01-2004
    Residenza
    127.0.0.1
    Messaggi
    547

    Predefinito

    Citazione Originalmente inviato da funcool
    Qui c'è una guida sulle espressioni regolari in JavaScript.
    So usare le espressioni regolari ma non so quale metodo usare in modo che mi restituisca true o false come fa ereg()
    Dal server 5 con amore

  10. #10
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Scusami però.. non riesco a capire come possa convenire una manovra così alla larga (dicesi "giro de peppe") per capire il risultato di un TUO script.
    Cioè, non so se mi spiego bene, se le pagine sono tue puoi prevedere sempre quale valore verrà pescato tra A, B, C etc.. (capisco che è un esempio).

    Quindi se proprio si vuole usare un iframe, il tuo script che viene eseguito nell'iframe SA benissimo che la pagina che lo include è "interessata" all'esito della scelta (casuale immagino). Dunque puoi fare così:
    nello script caricato nell'iframe appena viene scelto il valore casuale "X" subito dopo puoi prevedere un javascript che notifica alla finestra "madre" questo valore andando a passare "X" ad una function javascript che sta nel document della finestra madre (parent).

    OK? Non ti sembra meglio "notificare direttamente" che andare a "ravanare" tra il codice html alla ricerca di un risultato...
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  11. #11
    pokestudio non è connesso Altervistiano Junior
    Data registrazione
    16-01-2004
    Residenza
    127.0.0.1
    Messaggi
    547

    Predefinito

    Perdonate la mia scarsa comprensibilità. Adesso sono riuscito ad evitare di usare l'iframe e ho il diretto accesso alla pagina in questione. Quindi lo script javascript è incluso nella pagina dinamica. Adesso vorrei sapere il codice per far in modo che mi risulta true "Stavolta hai beccato C" e agli altri 2 false. Capito?

    So che è una mia pagina, ma essendo un esempio è una cosa che va ben oltre. E' l'utente che decide il valore di A, B, o C e quindi sarebbe imprevedibile. Ma al resto ho gia pensato...
    Ultima modifica di pokestudio : 16-12-2006 alle ore 19.46.15
    Dal server 5 con amore

  12. #12
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    «ma essendo un esempio è una cosa che va ben oltre»
    eh però visto che "va ben oltre" dovresti spiegare meglio la meccanica della vicenda...
    cioè voglio dire, all'inizio il valore di X poteva uscire in base a delle percentuali (come scrivi nel primo post)..
    ora invece apprendiamo che è l'utente che deve decidere...
    Prima iframe.. ora non più, forse è meglio che giunti a questo punto (deciso come vuoi farlo) rispieghi bene da capo come si svolge la meccanica, ovvero come l'utente invia la sua scelta al server, cosa dovrebbe fare ora javascript (non dovrebbe più servire -per come la vedevo- visto che ora non c'è più iframe).
    Voglio dire se ormai la cosa -deduco- dovrebbe svolgersi con l'utente che invia al server la sua scelta, lo script ora è unico, PHP da solo ha TUTTE le informazioni che vuole e sà quale valore X l'utente ha scelto, javascript non serve più.

    ( penso si possa notare lo sforzo per capirci qualcosa e seguire la faccenda )
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  13. #13
    pokestudio non è connesso Altervistiano Junior
    Data registrazione
    16-01-2004
    Residenza
    127.0.0.1
    Messaggi
    547

    Predefinito

    Rispiego totalmente. C'è una pagina chiamata result.php ed è l'azione di un form. L'utente sceglie in un menù a tendina una opzione, in cui è riportata in result.php . Perciò nella pagina result.php comparirà "Hai scelto A", "Hai scelto B" ecc...
    So che PHP è capace di fare tutto da solo, ma devo PER FORZA farlo in javascript perchè probabilmente farò uno script greasemonkey. Perciò devo semplicemente vedere tramite le espressioni regolari o qualche altro modo cosa è uscito. Voglio semplicemente sapere, con javascript, come faccio...

    Quindi hera, dimmi soltanto com'è il codice!
    Dal server 5 con amore

  14. #14
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Ok ora mi sembra più chiaro.
    Per quel che posso dedurre javascript saprà nella maniera più semplice al mondo quale valore l'utente ha scelto nella "tendina", ovvero in result.php verrà prodotto un semplice pezzo di javascript nel quale php "passa" il valore scelto dichiarandolo in una variabile javascript.
    Un piccolo esempio di script:
    Codice PHP:
    <?
    $sceltaphp
    = $_REQUEST['scelta'];
    ?>
    <script type="text/javascript">
    var sceltajs = '<?= $sceltaphp ?>';
    </script>
    Ora, il valore scelto qui lo prendo genericamente tramite $_REQUEST se vuoi puoi indicarlo più precisamente in base al method indicato nel tuo form ( $_POST o $_GET ).
    Poi semplicemente, come detto su, php trasferisce il valore scelto in una variabile javascript in modo tale da farne l'uso che vuoi lato client, usando sceltajs.
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  15. #15
    pokestudio non è connesso Altervistiano Junior
    Data registrazione
    16-01-2004
    Residenza
    127.0.0.1
    Messaggi
    547

    Predefinito

    Si era quello, ma sono costretto ad usare javascript, sennò avevo risolto il mio problema non credi? Devi dirmi solo il codice per controllare se c'è quella frase o meno...solo in javascript...
    Dal server 5 con amore

  16. #16
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    ???
    Come.. ti ho scritto anche il pezzo di javascript.
    Poi il confronto solo tu sai come dovrai farlo.. visto che finora sappiamo solo di A, B e C di esempio..

    Cioè forse non ho specificato a sufficienza, ma una volta che ANCHE javascript è al corrente del VALORE selezionato dall'utente, perché è scritto nella variabile "sceltajs", non hai più bisogno di andare a leggere frasi nel documento e altre ravanate del genere
    Dovrai fare solo un confronto o notifica (non so) del valore selezionato..
    Dunque leggendo poco su dicevi:
    Citazione Originalmente inviato da pokestudio
    Adesso vorrei sapere il codice per far in modo che mi risulta true "Stavolta hai beccato C" e agli altri 2 false.
    Seguendo alla lettera questa frase a te interessa -diciamo- che il valore scelto se è C torni true altrimenti false?
    Allora fai una cosa tipo:
    Codice PHP:
    <?
    $sceltaphp
    = $_REQUEST['scelta'];
    ?>
    <script type="text/javascript">
    var sceltajs = '<?= $sceltaphp ?>';
    var result = (sceltajs == "C"); //result = true se la scelta è "C" altrimenti false
    </script>
    (ho solo aggiunto una riga con la var result)
    Poi solo tu sai cosa ci vuoi fare con questo booleano, usa la variabile result come vuoi o come vuole il plugin per firefox che vuoi utilizzare.. non ho approfondito questo greasemonkey (sembra far scegliere all'utente gli stili css per i siti...)
    Davvero non so cosa altro aggiungerti, niente frasi da rintracciare, devi SOLO usare le variabili, confrontarle con quello che ti aspetti...
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  17. #17
    pokestudio non è connesso Altervistiano Junior
    Data registrazione
    16-01-2004
    Residenza
    127.0.0.1
    Messaggi
    547

    Predefinito

    Ma nu! Continui a non capire. Il codice PHP deve essere tagliato fuori completamente come se non fosse supportato, come se fosse semplicemente una pagina HTML. Allora esempio ancora più semplice...TUTTO AVVIENE IN UNA PAGINA HTML:

    <html>
    [...]
    <p>Ciao ti è uscito C</p>
    [...]
    <script ....>
    //Questa è l'aggiunta che fa greasemonkey
    cercami nel documento "Ciao ti è uscito C"
    se lo trovi
    [...]
    se non lo trovi
    errore
    </script>
    [...]
    </html>

    oppure


    <html>
    [...]
    <p>Ciao ti è uscito C</p>
    [...]
    <script ....>
    //Questa è l'aggiunta che fa greasemonkey
    prendimi il primo tag <p>
    vedi il suo contenuto
    se trovi "Ciao ti è uscito C"
    [...]
    se non lo trovi
    errore
    </script>
    [...]
    </html>

    Capito? Niente PHP, niente dati da form, tutto è in una pagina. Variabile o meno javascript cerca la frase usando il primo o nel secondo metodo. Questo è solo un esempio. Anche perchè voglio approfondire sui metodi delle espressioni regolari e di getElementsByTagName
    Dal server 5 con amore

  18. #18
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Boh vabè.. parlavi di result.php quindi non capisco perché si deve tagliare fuori e invece conviene andare a ravanare furtivamente nell'innerHTML come dei ladruncoli

    COMUNQUE, puoi fare così:
    Immagino sia permesso nel tuo esempio indicare un tag come vuoi tu no? diamogli un id.

    Codice HTML:
    <p id="tagid">Ciao ti è uscito C</p>
    
    <script type="text/javascript">
     var pref = document.getElementById('tagid');
     var phtml = pref.innerHTML;
     var result = phtml.charAt(phtml.length-1);
    </script>
    In phtml c'è il contenuto di quel tag <p>, quindi a quel punto puoi trovare quel che ti serve con qualsiasi metodo di "String Handling" (substring, indexOf, charAt ...)
    Per il tuo esempio va benissimo cercare l'ultimo carattere...
    te lo ritrovi come contenuto della variabile result.
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  19. #19
    pokestudio non è connesso Altervistiano Junior
    Data registrazione
    16-01-2004
    Residenza
    127.0.0.1
    Messaggi
    547

    Predefinito

    Benissimo, finalmente ci siamo capiti, ma se il tag in questione non avesse l'id? come farei?
    Dal server 5 con amore

  20. #20
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Eh.. (lo sapevo )
    in quel caso fai come avevi pensato tu con il
    getElementsByTagName :
    http://javascript.html.it/guide/lezi...-gli-elementi/

    Sinceramente non ho mai dovuto ricorrervi (quindi segui gli esempi) visto che il codice è mio preferisco chiamare per id i miei elementi ;)

    ciao!
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •