Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114

    Problema nel riconoscere il nome o l'id di un iframe per poi scriverlo in una A

    Ho il seguente problema:
    ho diversi iframe, tutti con lo stesso nome(frame_princ) ma con id diverso(frame_forum, frame_home, ecc..).. ebbene mi servirebbe poter leggere questo id per poterlo registrare in una stringa che poi mi dovrà servire per registrare in una funzione un indirizzo associato!
    Il tutto, poi, dovrei scriverlo all'interno dei un link A!

    Potete aiutarmi?

    _CODICE JAVASCRIPT ESTERNO
    codice:
    	var tipo = document.frame_princ;
    if (document.frame_princ) {
    if (document.getElementById('frame_home')) var indirizzo = "Home";
    }
    else if (tipo == document.getElementById('frame_forum')) var indirizzo = "Forum";
    else if (tipo == document.getElementById('frame_memo')) var indirizzo = "Memo";
    else if (tipo == document.getElementById('frame_ansa')) var indirizzo = "Ansa";
    // riconoscimento della stringa per riferirsi ad un http o indirizzo 
    function ind_frm(riferimento) {
    	if (indirizzo == "Home") var riferimento ="index.htm";
    	else if (indirizzo == "Forum") var riferimento = "http://www.forumfree.net/?c=26709";
    	else if (indirizzo == "Memo") var riferimento ="memo.html";
    	else if (indirizzo == "Ansa") var riferimento ="http://www.ansa.it";
    }
    _CODICE JAVASCRIPT ESTERNO DEL LINK
    codice:
    if(document.getElementById('key')) document.getElementById('key').innerHTML= ''+ indirizzo +'';
    //QUI PERò MANCA LA RICORSIONE CHE FA IN MODO DI CAMBIARE SIA HREF CHE LA STRINGA INDIRIZZO QUANDO L'IFRAME CAMBIA TRAMITE LINK DELL'INDEX!
    PS. Avrei bisogno anche di un'altro piccolo aiuto: Io utilizzo l'iframe per la visualizzazione dei file interni ed esterni; utilizzo questo metodo perchè ho bisongo dello scorrimento.. però, per quanto riguarda gli indirizzi esterni è sacrosanto, mentre per quelli interni, visto che è possibile fare uso dell'OVERFLOW, potrei fare a meno dell'iframe, in modo da scrivere il div associato tramite il link? In poche parole, per i file interni, mi consigliate di utilizzare un div con Overflow per la loro visualizzazione (naturalmente non saranno più file ma parte di codice da scrivere!!)?

    Grazie ancora e a presto!! CIAO!;D

  2. #2
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114
    Se ho un iframe di questo tipo:

    <iframe name="pippo" id="pluto"></iframe>

    Voglio riconoscere l'iframe:

    if (document.getElementsByTagName("pippo"))

    Così non ho problemi..
    Mentre..

    if (document.getElementById("pluto"))

    Non restituisce nulla!

    Ancora maggiore se io ho diversi iframe e ho bisogno di riconoscerlo per due cicli... cioè ho bisogno che abbiano tutti lo stesso NOME (è possibile vero?) ma ID diverso... faccio un esempio ..sbagliato di cosa vorrei fare:

    if (document.getElementsByTagName("pippo") && document.getElementByID("pluto"))


    Come posso risolvere?
    CIAO!!!

  3. #3
    Utente di HTML.it L'avatar di lake86
    Registrato dal
    Dec 2006
    Messaggi
    705
    document.getElementsByName('nome')

    restituisce un array con tutti gli elementi dello stesso nome, cosi li puoi distinguere anche senza usare l'id....

    var Frame = document.getElementsByName('nome');

    Frame[0]
    Frame[1]

    e sono nell'ordine in cui gli hai scritti nell'html;

    riguardo


    if (document.getElementsByTagName("pippo") && document.getElementByID("pluto"))

    l'id è univoco, quindi anche senza document.getElementsByTagName ti avrebbe trovato l'elemento che volevi , invece il nome puo essere =

  4. #4
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114
    Vediamo..
    Il problema del metodo getElementById è il seguete:
    solitamente una boolena del tipo ..

    if(document.getElementById('pippo'))

    ..non restituisce assolutamente nulla se non è messo in una funzione o sotto qualche evento!
    Mentre, il getElementByTagName, mi riconosce l'elemento anche senza l'apertura della funzione o dell'evento!

    Per farla breve, il secondo messo da solo nello script, mi restituisce un valore (vero o falso), mentre il primo no!

    Come mai?

    Grazie ancora!!

  5. #5
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114
    Il problema è:

    faccio l'esempio con un tag A

    <a id="ciccio" name="pippo"> Prendiamo questo come spunto!

    <a id="ciccia" name="pippo"> Se faccio una copia con diverso ID mi da errore per il nome uguale

    <a id="ciccio" name="puppo"> Se faccio una copia con diverso NAME mi da errore per l'ID uguale

    Inoltre l'ID e il NAME non hanno la possibilità di utilizzare il javascript!

    Insomma, la domanda è:

    Come faccio a fare dei script che riconoscono che sono tutti lo stesso link per una caratteristica quale potrebbe essere il riconoscimento per aprire un qualcosa tramite javascript.. però mi serve diversificarli, perchè devo riconoscerne l'url che naturalmente è diverso!


    Sto provando alcuni modi.. e spero di postarne qualcuno che più o meno funzioni... ma nell'intanto chiedo aiuto, a voi tutti, per qualsiasi cosa abbiate da suggerire!!

    CIAO!!;D

    PS. Inoltre continuo con questa domanda alternativa:
    Voglio riconoscere la presenza di un iframe per associarci una stringa.. quindi if(riconoscimento) var stringa= "...";
    Se metto getElementsByTagName mi restituisce il nome (anzichè la tag.. cioè se metto if(document.getElementsByTagName('f_uno')).. "f_uno" è il nome di un iframe, mi restituisce direttamente il name f_uno... ora non so se mi avrebbe restituito anche la tag "iframe";
    Se metto if(document.getElementById('f_uno')) non mi restituisce nulla... non affettua la lettua della presenza di f_uno
    Se metto if(document.getElementsByName('f_uno')) anche qui non ottengo alcun risultato!

    Forse per questi ultimi due elementi c'è bisogno di un evento?
    Cosa potete dirmi di più in proposito?
    GRAZIE!;P

  6. #6
    Utente di HTML.it L'avatar di lake86
    Registrato dal
    Dec 2006
    Messaggi
    705
    per la prima parte to gia risposto... puoi mettere il nome =.... e con getElemetsByName li puoi differenziare come illustrato sopra.... se come ho capito devi differenziare 3 cose col nome =, va benissimo

    codice:
    per la secondo parte.. prova
    
    var x = document.getElementsByTagName('iframe')); // Restituisce array con tutti gli iframe
    for (var i=0;i<x.length;i++){
        if (x[i].name ='nome frame che vuoi';{
                //Frame trovato
       }
    
    }
    qursto ti permette di verificare se c'è un iframe e selezionarlo.

    Spero di aver capito cosa vuoi e esserti stato utile :P
    Ciao Matteo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.