Visualizzazione risultati 1 fino 20 di 20

Discussione: Problemi con iframe

  1. #1
    Guest

    Lightbulb Problemi con iframe

    Ciao a tutti,
    ho un menu generato in php che includo in tutte le pagine e che volevo spostare in un file a parte per evitare che i motori di ricerca ne indicizzassero le parole.
    Ero orientato a usare un iframe: creo un DIV su un lato, e poi un iframe con WIDTH fissa, ma la proprietà HEIGHT (che vorrei fosse 100%) non funziona su alcuni browser (konqueror)...
    da javascript poi con getElementById non riesco a prendere gli ID dentro il frame... infine se ho dei tooltip lunghi questi sono visibili solo nel frame... insomma una tragedia ;-)
    Cosa mi consigliereste? È giusto provare con i frame o devo cercare un'altra strada?

    Un esempio del menu buggato è qui:
    http://dariosky.altervista.org/provamenu.php

  2. #2
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    In JavaScript gli IFRAME si referenziano come i frame normali, l'unica differenza è che non devi risalire alla finestra di livello superiore ("parent" per intenderci). Dovresti quindi cavartela con una sintassi del genere:
    - per scrivere l'IFRAME sulla pagina:
    Codice HTML:
    <IFRAME NAME="myIframe" SRC="..." STYLE="width:...;height:100%">
    Il tuo browser non supporta gli IFRAMEs
    </IFRAME>
    - per identificare un elemento all'interno dell'IFRAME (JavaScript):
    Codice:
    var element = document.myIframe.getElementById ("element_id")
    Un'alternativa valida che gira qui sul forum, però, visto che usi PHP è quella di usare la funzione #include o qualcosa del genere, ma dovresti chiedere a chi è più pratico di me perché in PHP è da un po' che non ci smanetto...

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  3. #3
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    Che io sappia gli Iframe vanno bene con tutti i browser.

  4. #4
    Guest

    Predefinito

    Grazie demential,
    L'include su php è come faccio ora, ma il menù così compare sul codice di ogni pagina (ed è per questo che volevo passare ai frame)...
    Con javascript ora faccio un po' di prove, magari posso fare anche i tooltip in javascript così non dovrebbero venire tagliati...
    Mi rimane invece il problema della proprietà Height, che viene ignorata con Konqueror

  5. #5
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Se guardi il mio sito vedrai le parti di menu scritte completamente in JavaScript, senza uso di frame o codice PHP: ti posso dare qui una strategia indicativa per scrivere un menu (che però funziona solo se metti tutti i file nella stessa cartella).

    1. Scrivi il codice HTML dei collegamenti del menu su un file a parte: molto probabilmente avrai qualcosa tipo
    Codice HTML:
    <A HREF="pag1.htm">Pagina 1</A>
    <A HREF="pag2.htm">Pagina 2</A>
    molto importante: devi scrivere solo il codice della parte comune e non aggiungere header o altri contenuti.

    2. Raddoppia tutti i caratteri \ (back-slash) presenti nel testo (ci puoi riuscire facilmente con la funzione "trova e sostituisci" di svariati editor di testo: ti basta sostituire \ con \\)

    3. Allo stesso modo, sostituisci tutti i caratteri ' (apice) presenti nel testo con la sequenza \' (backslash-apice)

    4. Aggiungi all'inizio di ogni riga
    Codice:
    document.write ('
    (questa è una parte un po' pallosa)

    5. Alla fine di ogni riga aggiungi
    Codice:
    ');
    (parte pallosa anche questa)

    6. Salva il file così modificato con estensione .js (esempio: menu.js). Per inserire il menu nelle varie pagine ti basterà soltanto inserire questa riga di codice:
    Codice HTML:
    <SCRIPT LANGUAGE="JavaScript" SRC="menu.js"></SCRIPT>
    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  6. #6
    Guest

    Cool

    Citazione Originalmente inviato da silverseraph
    Che io sappia gli Iframe vanno bene con tutti i browser.
    No, solo sui + moderni broswer funzionano gli iframe...

  7. #7
    Guest

    Predefinito

    Ciao demential site, per piacere mi puoi spiegare accompagnandomi per la manina quasto ultimo scipt che hai detto?
    Ti prego ti prego ti prego!

  8. #8
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Non è che ci sia molto da spiegare, ho messo apposta la costruzione "meccanica" dello script proprio per evitare pallose spiegazioni... l'unica che posso darti è che la funzione document.write() ha il compito di scrivere delle linee di testo dove viene inserita, quindi anche del codice HTML: il trucchetto poi dell'inclusione dello script dallo stesso file (punto 6) ti consente di avere soltanto un file da modificare, le cui modifiche si ripercuoteranno su tutte le pagine...

    Se qualche punto non ti è chiaro, rispondi qui (magari con dei QUOTE delle spiegazioni)... stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  9. #9
    Guest

    Predefinito

    Allora forse faccio prima a spiegarti tutto,
    io il menù già ce l'ho, sarebbe il seguente:
    Codice:
    <html>
    <style type="text/css">
    
    A:LINK {text-decoration : none}
    
    </style>
    
    <body bgcolor="silver" LINK="blue" ALINK="blue" VLINK="blue">
    <center>
    <UL>
    <LI><a href="home.htm" target="framecentro">home</a><br><br>
    <LI><a href="download.htm" target="framecentro">Area download</a><br><br>
    <LI><a href="http://tools.mrwebmaster.it/work/chat.php?chat_id=4059" target="framecentro">Entra in chat!</a><br><br>
    <LI><a href="contatti.php" target="framecentro">Inviami una mail!</a><br><br>
    <LI><a href="chisei.php" target="framecentro">Chi sei? Già lo so!</a><br><br>
    <LI><a href="upload/index.php" target="framecentro">Inviami i tuoi file</a><br><br>
    </UL>
    
    
    </center>
    </html>
    Questo sarebbe il menù che voglio inserire in una pagina....capito?
    Il menù così scritto va bene oppure lo devo scrivere in qualche altro modo?
    Scusami ma mi sto incasinando!

  10. #10
    Guest

    Predefinito

    Ragazzi scusate per piacere mi potreste dire come si creà un menù in JAvaScript?
    Mettiamo caso ad esempio avrei tre collegamenti da mettere in questo menù:
    index.htm
    contatti.htm
    chisiamo.htm

    Io vorrei crearlo in javascipt per poi richiamarlo in un altra pagina html, solo che non riesco a capire come crearlo!

  11. #11
    L'avatar di ilvecchiofumetto
    ilvecchiofumetto non è connesso Utente attivo
    Data registrazione
    21-06-2005
    Residenza
    Firenze
    Messaggi
    298

    Predefinito

    Marco usa il testo EDIT e non postare consecutivamente.
    Comunque, tornando al tuo problema... Basta che esegui quello che ti ha detto demential nel post precedente; e quindi (non so niente di js) penso che il tuo menù nel file .js debba venire così:
    Codice:
    document.write ('
    <UL>
    <LI><a href=\"home.htm\" target=\"framecentro\">home</a><br><br>
    <LI><a href=\"download.htm\" target=\"framecentro\">Area download</a><br><br>
    <LI><a href=\"http://tools.mrwebmaster.it/work/chat.php?chat_id=4059\" target=\"framecentro\">Entra in chat!</a><br><br>
    <LI><a href=\"contatti.php\" target=\"framecentro\">Inviami una mail!</a><br><br>
    <LI><a href=\"chisei.php\" target=\"framecentro\">Chi sei? Già lo so!</a><br><br>
    <LI><a href=\"upload/index.php\" target=\"framecentro\">Inviami i tuoi file</a><br><br>
    </UL> ');
    E poi per includere il file .js in una pagina HTML:
    Codice HTML:
    <script language="JavaScript" type="text/javascript" src="menu.js"></SCRIPT>
    Ciao!!
    Ultima modifica di ilvecchiofumetto : 22-12-2005 alle ore 23.51.40
    E' OnLine la nuova versione del sito!! Clicca qui

  12. #12
    Guest

    Predefinito

    Vecchio fumetto grazie mille e scusa per l'opzione edit!
    Grazie ancora!

    EDITO:
    Ho provato lo script tale e quale, ma non va!!
    Cercate di darmi altre soluzioni per piacere amici!
    Ultima modifica di marconoviello : 23-12-2005 alle ore 00.03.10

  13. #13
    L'avatar di ilvecchiofumetto
    ilvecchiofumetto non è connesso Utente attivo
    Data registrazione
    21-06-2005
    Residenza
    Firenze
    Messaggi
    298

    Predefinito

    Mmmm.... E' vero non funzia... ho provato anche io... Dreamweaver mi dà solo errori di questo tipo che non so come risolvere: "il nome tag "a" non trovato ".

    Comunque, in alternativa, abbandona js e usa php (il codice lo devi mettere dove vuoi che compaia il file da includere):
    Codice PHP:
    <?
    include ('file_da_includere.htm');
    ?>
    E poi crei una pagina da includere in html nuova e crei il tuo menù vero e proprio con collegamenti etc... NOTA: La pagina da includere deve avere SOLO il codice html del menù, senza i tag <html><body><head><title> e le loro rispettive chiusure.

    Ciao!!
    E' OnLine la nuova versione del sito!! Clicca qui

  14. #14
    Guest

    Predefinito

    Ok grazie mille!
    Una curiosità:
    La pagina dove metto il codice php "include" la devo nominare poi con nomepagina.php vero?
    Non posso più metterla in nomepagina.htm?

  15. #15
    L'avatar di powser
    powser non è connesso Moderatore
    Data registrazione
    29-12-2003
    Residenza
    Ragusa
    Messaggi
    2,917

    Predefinito

    Si, per far leggere il codice php dal server, devi rinominare la pagina .php!
    "I have something to say, it's better to burn out than to fade away..." Victor Kruger/The Kurgan

    My Site

    La risposta alla tua domanda, la trovi su http://forum.altervista.org basta fare una ricerca!

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

    Predefinito

    Sì, devi darle come estensione *.php.
    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

  17. #17
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Citazione Originalmente inviato da ilvecchiofumetto
    ...
    Codice:
    document.write ('
    <UL>
    <LI><a href=\"home.htm\" target=\"framecentro\">home</a><br><br>
    <LI><a href=\"download.htm\" target=\"framecentro\">Area download</a><br><br>
    <LI><a href=\"http://tools.mrwebmaster.it/work/chat.php?chat_id=4059\" target=\"framecentro\">Entra in chat!</a><br><br>
    <LI><a href=\"contatti.php\" target=\"framecentro\">Inviami una mail!</a><br><br>
    <LI><a href=\"chisei.php\" target=\"framecentro\">Chi sei? Già lo so!</a><br><br>
    <LI><a href=\"upload/index.php\" target=\"framecentro\">Inviami i tuoi file</a><br><br>
    </UL> ');
    E poi per includere il file .js in una pagina HTML:
    Codice HTML:
    <script language="JavaScript" type="text/javascript" src="menu.js"></SCRIPT>
    ...
    Il codice document.write(), va inserito IN OGNI RIGA del file di testo, quindi il codice corretto è il seguente:
    Codice:
    document.write ('<UL>');
    document.write ('<LI><a href="home.htm" target="framecentro">home</a><br><br>');
    document.write ('<LI><a href="download.htm" target="framecentro">Area download</a><br><br>');
    document.write ('<LI><a href="http://tools.mrwebmaster.it/work/chat.php?chat_id=4059" target="framecentro">Entra in chat!</a><br><br>');
    document.write ('<LI><a href="contatti.php" target="framecentro">Inviami una mail!</a><br><br>');
    document.write ('<LI><a href="chisei.php" target="framecentro">Chi sei? Già lo so!</a><br><br>');
    document.write ('<LI><a href="upload/index.php" target="framecentro">Inviami i tuoi file</a><br><br>');
    document.write ('</UL>');
    Il resto è giusto, puoi notare inoltre che ho tolto un po' di back-slash inutili: quelli servono soltanto se metti gli apostrofi all'interno della stringa, dato che li usi già per delimitarla non puoi inserirli, se non "criptandoli" con la sequenza \' (back-slash - apice).

    Una cosa però ho notato: sembra che quello che tu voglia fare non è tanto simulare un include di PHP, ma avere un frame laterale in cui pubblichi i link che si apriranno in un altro frame. Allora NON È QUESTO SCRIPT che devi applicare, ma devi costruirti un FRAMESET: cerca un po' come puoi fare...

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  18. #18
    Guest

    Predefinito

    Ciao Demential!
    Io una struttura a frame già l'ho creata!
    Se ho capito bene quello che volevi dire...
    Cmq mi piacerebbe molto fare l'include , che a quanto ho capito è molto utile!
    Te che mi dici? Che mi consigli?

  19. #19
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Quello script l'ho pensato per chi volesse un menu comune, ma senza usare PHP (che a molti risulta ostico, anche se non sarebbe molto difficile da realizzare una cosa del genere come ti hanno già spiegato) ma soprattutto, che non venisse indicizzato dai motori di ricerca (cosa che invece con PHP succede, non so quanto tu abbia interesse a venire cercato sulle voci del menu, non trovi?).
    Il tutto, inoltre, non usa frame in nessun modo: l'unica cosa che devi fare se vuoi tenertelo "laterale" rispetto alla pagina è inserire lo script in questo codice:
    Codice HTML:
    <DIV STYLE="float:left;width:...">
    <!-- qui UNO SOLO tra il codice PHP o la linea di script che ti include il menu -->
    </DIV>
    dove al posto dei puntini devi mettere una larghezza per il DIV (in pixel o percentuale).

    I vantaggi dell'uno e dell'altro te li ho già detti... a te la scelta! Ah, un'altra cosa: adesso che non hai più i frame, gli attributi TARGET non servono più (a meno che tu non voglia aprire pagine in altre finestre...).

    Stammi bene...
    Ultima modifica di dementialsite : 23-12-2005 alle ore 13.13.45
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  20. #20
    Guest

    Predefinito

    Ok demential capito!
    Ora faccio un pò di prove e ci penso un pò su e poi mi butto!
    Grazie a te e agli altri che mi hanno aiutato!
    Alla prox domanda!

    Edit:
    Ho provato quello in JS e mi piace molto, penso che userò quello!!
    Byex!
    Ultima modifica di marconoviello : 23-12-2005 alle ore 15.25.12

Regole di scrittura

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