Un frame di link

« Older   Newer »
 
  Share  
.
  1. Jon Irenecus
     
    .

    User deleted


    Salve a tutti, sono qui per chiedervi di un problema che ho avuto con la creazione di un frame.

    Praticamente ho un sito formato da varie pagine che hanno in comune dei link in alto, uguali per tutte le pagine. Il problema è che quando devo cambiare i link aggiungendone o rimuovendone qualcuno devo cambiare il codice a tutte le pagine. Pensavo di risolvere dividendo la pagina in frame, in modo da caricare nel frame superiore un file HTML contenente i link, lo stile dei link ecc, e un nel frame inferiore la pagina vera e propria. Prima di tutto, secondo voi, devo usare un frame, un frameset o un iframe? Inoltre il problema è che se apro un link la pagina intera a cui è collegato viene aperta nel frame dei link, mentre invece vorrei venisse caricato nel frame inferiore della pagina vera e propria. E' possibile ciò? Se si, come?

    Vi ringrazio anticipatamente dell'aiuto, sperando di essermi spiegato bene^^.
     
    Top
    .
  2. ~Andrey™
     
    .

    User deleted


    CITAZIONE (Jon Irenecus @ 23/5/2010, 20:43)
    devo usare un frame, un frameset o un iframe?

    La mia risposta sarebbe nessuno dei tre. Io creerei un file PHP (ad esempio html.inc.php) con le varie funzioni (magari metodi di una classe) che stampano le parti della pagina quali logo, menu, footer ecc... (Tutte le parti che sono uguali per ogni pagina).
    In ogni pagina (che sarà sempre in PHP) basterà quindi includere "html.inc.php" e richiamare le funzioni nei punti dove servono.
    In questo modo le modifiche andranno fatte soltanto in quel file.

    Se invece vuoi proprio usare i frame, innanzitutto devi sapere che frameset è l'elemento che contiene i vari frame della pagina (come una sorta di tabella), quindi vanno usati entrambi. Esempio:
    HTML
    <html>
    <head>...</head>
    <frameset rows="200,*">
    <frame src="menu.html" />
    <frame src="content.html" name="content" />
    <noframes><h3>Il tuo browser non supporta i frames.</h3></noframes>
    </frameset>
    </html>

    In questo caso hai due frame, dove quello del menu occupa 200 pixel e quello per i contenuti tutto lo spazio restante.
    Ora per fare in modo che i link vengano caricati nel frame sottostante dovranno avere come target il frame "content":
    HTML
    <a href="tuo_link" target="content">Questo link si aprirà nell'altro frame.</a>


    Io continuo però a consigliarti la prima alternativa; i frame sono deprecati da parecchio.
     
    Top
    .
  3. Jon Irenecus
     
    .

    User deleted


    Il comando per aprire un link in un frame diverso mi sarà sicuramente molto utile, e ti ringrazio per questo.

    Purtroppo per quanto riguarda il Php purtroppo non lo conosco minimamente (anche se so programmare in altri linguaggi purtroppo l'anno prossimo lo studierò :S), oltre che dovrei rifare tutte le pagine. Inoltre credo che pure se chiedessi aiuto qui su come realizzare tutto in Php sarebbe veramente troppo complesso. Prendo in considerazione l'idea per quando imparerò il Php (cosi rifaccio il sito per bene).

    Tornando al discorso dei frame, usando il frameset non devo poi duplicare tutte le pagine? Nel senso devo avere la pagina con i link (e vabe quella è in comune a tutti), le varie pagine vere e proprie e, per ognuna di queste ultime, una pagina contenente i 2 frame che richiamano pagina dei link e pagina vera e propria? Sicuro che un Iframe non sarebbe migliore per ottenere una struttura del genere:

    CODICE
    <html>
    <head>...</head>
    <frameset>
    <frame src="link.html" />
    </frameset>
    <body>
    Tutto il codice della pagina vera e propria
    </body>
    </html>


    o perlomeno qualcosa di simile? Grazie in anticipo^^
     
    Top
    .
  4. ~Andrey™
     
    .

    User deleted


    Non capisco che vuoi dire...

    Di pagina contenente i frame ne basta una sola: è il contenuto del secondo frame a cambiare.

    PS: Il tag body non è ammesso insieme al Frameset, quindi è escluso a priori :)
     
    Top
    .
  5. Jon Irenecus
     
    .

    User deleted


    Ah, quindi la pagina che deve contenere i due frame è semplicemente l'homepage (per il fatto che il secondo frame cambia sempre contenuto quindi ci carichi tutte le pagine come dici te)? E' vero, ora ho capito^^.
    Provo con il frameset e ti faccio sapere, grazie dell'aiuto^^, gentilissimo -_°

    Benissimo, ho risolto ed è proprio il risultato che volevo, ma c'è un piccolo problema grafico...appare uno spazio spesso bianco tra i due frame nonostante abbia disabilitato il bordo. Ecco il codice:

    CODICE
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Documento senza titolo</title>
    </head>
    <frameset rows="40%,60%">
    <frame src="Link.html" frameborder="0" scrolling="no" noresize="noresize"/>
    <frame src="homepage.html" name="Pagina" frameborder="0" scrolling="yes" noresize="noresize" />
    <noframes><h3>Il tuo browser non supporta i frames.</h3></noframes>
    </frameset>
    </html>


    Come mai? C'è qualche attributo che ho trascurato che si occupa della distanza tra i frame per caso? (cosi poi basta impostarlo a zero). Inoltre, visto che l'intera pagina nel secondo frame non entra, appare la barra di scorrimento solo sul secondo frame...non si può fare in modo che appaia in tutta la pagina in modo che non si veda a 100 KM che è divisa in due?

    Edited by Jon Irenecus - 25/5/2010, 20:04
     
    Top
    .
  6. ~Andrey™
     
    .

    User deleted


    Innanzitutto non puoi utilizzare la DTD XHTML Transitional, ma devi usare la Frameset.

    Così comunque dovresti risolvere entrambi i problemi:
    CODICE
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "XHTML1-f.dtd" >
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Documento senza titolo</title>
    </head>
    <frameset rows="40%,*" style="border: none;">
    <frame src="Link.html" frameborder="0" scrolling="no" noresize="noresize"/>
    <frame src="homepage.html" name="Pagina" frameborder="0" scrolling="no" noresize="noresize" />
    <noframes><h3>Il tuo browser non supporta i frames.</h3></noframes>
    </frameset>
    </html>
     
    Top
    .
  7. Jon Irenecus
     
    .

    User deleted


    Ho scritto esattamente il tuo codice e la barra di scorrimento a metà è sparita, rimane però la distanza bianca tra i due frame e, purtroppo, non è possibile visualizzare l'intera pagina per il fatto che non entra tutta nel secondo frame :S. Comunque per quanto riguarda la DTD XHTML Transitional non sapevo neanche cosa era, quelle righe le mette automaticamente dreamweawer e pensavo fossero righe di commento XD. Si può fare altro per risolvere i restanti problemi?
     
    Top
    .
  8. ~Andrey™
     
    .

    User deleted


    Postami anche i sorgenti di Link.html e homepage.html, così faccio delle prove e ti dico.

    Anche se temo non sia possibile togliere completamente lo spazio.
     
    Top
    .
  9. Jon Irenecus
     
    .

    User deleted


    Va bene:

    Link.html:
    CODICE
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Documento senza titolo</title>
    </head>
    <body>
    <BODY bgcolor=#8b0000>
    <p align="center"><A href="http://edmarte.altervista.org/index.html" target="Pagina">Homepage</a>
    <body link="#ff8c00"><body vlink="#ff8c00">
    <A href="http://edmarte.altervista.org/imprese_giocatori.html" target="Pagina">Imprese Giocatori</a>
    <body link="#ff8c00"><body vlink="#ff8c00">
    <A href="http://edmarte.altervista.org/elenco_tornei.html" target="Pagina">Elenco Tornei</a>
    <body link="#ff8c00"><body vlink="#ff8c00">

    <p align="center"><IMG src="http://edmarte.altervista.org/WarlordsBattlecry3_WIN_Enlight_205_7f0f1.png"></p>
    </body>
    </html>


    homepage.html:
    CODICE
    <HTML>
    <HEAD>
    <META NAME="GENERATOR" Content="AlterVista - Editor HTML">
    <TITLE></TITLE>
    </HEAD>
    <BODY>
    <BODY bgcolor=#8b0000>

    <P>&nbsp;</P>
    <p align="center"><font size="4"><font color="#ff8c00">Warlords Battlecry III è un ottima fusione tra due tipi di gioco estremamente differenti:lo strategico e il gioco di ruolo/rpg. Lo strategico infatti è,diciamo,più monotono ma più semplice,immediato e più coinvolgente per il gran numero e tipo di unità usate. Il gioco di ruolo invece è più elaborato e difficile, e non a tutti piace, però la storia può avere molte sfumature a seconda delle tue scelte. Inoltre diverte, sopratutto nell'RPG, il fatto di crearsi un personaggio molto potente e che aumenta la sua potenza man mano che si gioca. Ciò stimola a continuare ed andare avanti nel gioco. Warlords Battlecry III prende i vantaggi di entrambi i generi:Semplice, immediato e rigiocabile facilmente come uno strategico,ma con un eroe chè può diventare talmente potente da valere più di un esercito e che si potenzia con le varie battaglie,oltre al fatto che la storia può avere diverse sfumature a seconda delle tue scelte.</font color></font size></p>

    <p align="center"><font size="4"><font color="#ff8c00">Vediamo gli aspetti di questo gioco:la prima cosa che stupisce è la totale libertà di azione:si possono,ad esempio,creare infiniti personaggi ognuno con le proprie caratteristiche, oggetti,progressi nella campagna,la propria classe e razza,e,ovviamente, il proprio livello. Inoltre si possono alternare missioni della campagna con partite libere, o con partite multiplayer, tranquillamente, si possono scegliere quali missioni della campagna fare e quali no(ad es tu elfo oscuro,aiuti i tuoi nemici alti elfi a respingere la tua stessa razza? oppure ti allei con l'impero per razziare i poveri uomini lucertola o aiuti questi ultimi a respingere l'attacco umano? ovviamente ciò dipende dal livello e dal tipo di gioco di ruolo che si vuole fare)si possono completare le missioni in qualsiasi ordine(visto che il computer adatterà,seguendo le impostazioni di difficoltà, i nemici al livello del tuo eroe), le azioni che si possono fare ad ogni area dipendono dalle razze che hai per alleate o per nemiche, molte partite sono rigiocabili all'infinito ecc.</font size></font color></p>

    <p align="center"><font size="4"><font color="#ff8c00">Altri aspetti sono il forziere, in cui puoi depositare i tuoi oggetti preziosi(visto che se muori gli oggetti nella sacca cadono per terra al contrario di quelli che hai addosso),il diario, la possibilità di assoldare fino a due gruppi di mercenari, i maestri che in cambio di soldi ti danno punti esperienza(a seconda di quanto paghi), i vari mercanti con prezzi differenti, la possibilità di arruolare unità nella tua scorta(unità che possono salire fino al livello 20 e che ti accompagnano fino a che non muoiono in battaglia), il poter arrivare oltre il livello 100 col tuo eroe, e gli edifici speciali disponibili casualmente sulle varie mappe:covi, botteghe, templi, santuari e mausolei. Le mappe vengono create casualmente nel caso di partite rigiocabili e partite libere, quindi non vi capiterà mai una mappa uguale. Cominciamo ad analizzarli uno per uno:i covi sono degli edifici neutrali che producono unità. Se distrutti rilasciano un boss con un oggetto magico che può essere anche molto raro. Le botteghe sono dei piccoli mercati a cui si può solo comprare in cambio di risorse. I templi sono edifici neutrali che, se convertiti, producono unità per te. Un altra particolarità sono i titani,unità molto costose e forti che richiedono 15 minuti per la creazione e tanti requisiti, ma sono fortissimi. Attenzione però che è possibile creare un solo titano per volta e se muore genera un esplosione che danneggia fortemente unità amiche e nemiche. Infine ci sono santuari e mausolei in cui si possono prendere ogni tipo di missione che può dare come ricompensa(oggetti,unità di scorta,risorse o altro)oltre dei punti esperienza. Praticamente un gioco sempre diverso e infinito.</font color></font size></p>

    <p align="center"><font size="4"><font color="#ff8c00">Esistono 13 razze, quasi altrettante scuole di magia e classi che si possono scegliere per il proprio avatar. La grafica è semplice ma molto buona, la giocabilità eccellente e il gioco leggerissimo, per quanto riguarda i requisiti. Insomma un ottimo gioco semplice divertente.</font color></font size></p>

    <p align="center"><font size="4"><font color="#ff8c00">Per vedere la recensione completa di questo gioco visitate il <a href="http://mpcommunity.forumfree.net">FORUM</a>.
    </BODY>
    </HTML>


    index.html:

    CODICE
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "XHTML1-f.dtd" >
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Documento senza titolo</title>
    </head>
    <frameset rows="40%,*" style="border: none;">
    <frame src="Link.html" frameborder="0" scrolling="no" noresize="noresize"/>
    <frame src="homepage.html" name="Pagina" frameborder="0" scrolling="no" noresize="noresize" />
    <noframes><h3>Il tuo browser non supporta i frames.</h3></noframes>
    </frameset>
    </html>


    Questi sono i sorgenti interi, cosi vedi pure per il problema della dimensione cosa intendo^^.
     
    Top
    .
  10. ~Andrey™
     
    .

    User deleted


    Oh My Lol, che confusione :D

    Innanzitutto il tag body è uno solo, non puoi metterne quanto ti pare.
    Inoltre per la formattazione bisogna usare i CSS, e i tag vanno scritti in minuscolo.

    Comunque nulla da fare, ti suggerisco l'altra soluzione.
     
    Top
    .
  11. Jon Irenecus
     
    .

    User deleted


    Ah è vero, perchè bgcolor è un attributo di body, non serve doppio. Per i CSS appena imparerò applicherò. Per i tag i minuscolo ci starò attento.

    Provo allora di studiare un po di PHP, nel caso chiedo aiuto nella sezione del PHP. Grazie dell'aiuto e della pazienza -_°. Puoi Chiudere e grazie ancora.

    P.S: Oppure lascia aperto che comunico eventuali soluzioni che ho trovato, o se le ho trovate^^.
     
    Top
    .
10 replies since 23/5/2010, 19:43   189 views
  Share  
.