• User Attivo

    link html da file txt esterno

    Salve a tutti, vi scrivo per chiedere il vostro aiuto. In una semplice pagina html ho un pulsante con un link, vorrei che questo link fosse determinato da un file di testo (.txt) esterno, come posso fare? ho provato a fare qualche ricerca su google ma non ho trovato nulla che potesse fare al mio caso.
    Ciao e grazie a tutti! 🙂


  • User Attivo

    ...ragazzi un aiuto? 😞


  • User Attivo

    ...mi andrebbe bene anche se il file esterno per determinare il link fosse in xml (e non in txt)


  • ModSenior

    Ti puoi appoggiare ad un linguaggio server?


  • User Attivo

    ...si ma vorrei evitare, si tratta di un sito statico composto da diverse pagine, anche se vado a modificare solo la pagina interessata, poi dovrò intervenire anche sulle altre. Inoltre si tratta di un solo ed unico link presente in una pagina html, mi sembra sprecato. Mi andrebbe bene con qualche script, con ajax, etc, l'importante è che la pagina resti statica (e con estensione ".html").
    Per quanto riguarda il file esterno dove dovrei inserire il link, l'ideale sarebbe un file di testo (.txt), ma andrebbe bene anche un ".xml" o addirittura un'altra pagina ".html", l'importante è che l'incaricato (che non è del mestiere) può aprire il file con il Note Pad (o simili) ed aggiornare il link senza difficoltà...è possibile in qualche modo? Purtroppo sto provando a cercare anche sul web ma non trovo nulla (non credo che non esistano sistemi del genere, forse sto cercando male io)


  • User Attivo

    ...mi date un aiuto per favore? 😞


  • User Attivo

    proprio nulla? 😞


  • ModSenior

    Una cosa del genere magari... solo che invece di metterlo in un div lo metti nel link.
    stackoverflow.com/questions/6470567/jquery-load-txt-file-and-insert-into-div


  • User Attivo

    ...ho provato ma non riesco a personalizzarlo per ciò che serve a me, non sono molto pratico in questo 😞


  • Moderatore

    Vediamo se riesco a risolverti tale problema.
    Ho predisposto che il tuo link a abbia una classe chiamata link: <a class="link" href=""> (ok ? )

    
    jQuery(document).ready(function($) {
        $.ajax({
            url: "tuo_file.txt",
            dataType:"text",
            cache: false,
            success: function(data) {
                $('a.link').attr({ 'href' : data })
            }
        })    
    })
    
    

    Fammi sapere 😉


  • User Attivo

    Ciao "Ultima", ho provato il tuo suggerimento ma (tanto per cambiare 🙂 ) non mi funziona, sicuramente ho sbagliato qualcosa...ecco esattamente come ho fatto, vedi i file allegati (non ho potuto scriverli direttamente sul forum perché mi dava problemi con i link).

    Dove ho sbagliato? 😞 In ogni caso grazie per il tuo intervento! 🙂

    DOWNLOAD ALLEGATO: sitoinprova.netsons.org/prova_link_esterno.rar


  • Moderatore

    Come primo concetto ti dico...
    Ti mancano un po' le basi per fare questo tipo di lavoro. Io ti ho scritto un sistema perfettamente funzionante in jquery, ma il linguaggio jquery richiede che ci sia il framework inserito nella pagina.
    Secondo concetto...
    Tale sistema in AJAX non ti funzionerà mai in locale, per tanto richiede necessariamente che l'ambiente di test sia necessariamente in ambiente remoto (hosting)
    Terzo concetto...
    Ti ho sistemato il codice con l'aggiunta del framework, infatti ora funziona :fumato:

    
    <!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>
    
    <body>
    
    <a class="link" href="">LINK PROVA </a>
    <script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
    <script>
    jQuery(document).ready(function($) {
        $.ajax({
            url: "tuo_file.txt",
            dataType:"text",
            cache: false,
            success: function(data) {
                $('a.link').attr({ 'href' : data })
            }
        })    
    })
    </script>
    </body>
    </html>
    
    

    Se vuoi puoi vedere qui il risultato: http://stefanopascazi.it/test/


  • User Attivo

    Hai ragione Stefano, ma non sono proprio un web-designer, lo faccio più per diletto...comunque ora ho provato e funziona bene! 😉 ...solo una cosa, a me occorrerebbe il target="_blank" ho provato ad inserirlo normalmente ma non va, si blocca tutto! come posso fare? :mmm:


  • Moderatore

    Uhm... mi sembra al quanto strano.
    Ti posto il codice con il target in blank, magari hai scritto qualcosa di sbagliato:

    
    <!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>
    
    <body>
    
    <a class="link" href="" target="_blank">LINK PROVA </a>
    <script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
    <script>
    jQuery(document).ready(function($) {
        $.ajax({
            url: "tuo_file.txt",
            dataType:"text",
            cache: false,
            success: function(data) {
                $('a.link').attr({ 'href' : data })
            }
        })    
    })
    </script>
    </body>
    </html>
    
    
    

  • User Attivo

    ...infatti, ora funziona...non capisco, io ho fatto esattamente allo stesso modo (anche perché il target lo cambia in modo automatico)...bohhh, forse la mancanza di sonno di questi giorni inizia a farsi sentire 🙂

    Stefano, io approfitto della tua esperienza e disponibilità, non mandarmi a quel paese, ma a me esattamente servirebbero due links, come posso fare per metterli entrambi nello stesso file esterno? (cioè in "tuo_file.txt") 😄 ...magari creando nel collegamento vari class="link" (ad es. class="link1" e class="link2"), mentre nello script inserendo vari url: , solo che io onestamente con gli script sono poco ferrato 😞


  • Moderatore

    È fattibile, ma sono costretto a rimandare a domani. Stasera sono fuori e non riesco. Domani creo, testo e poi ti aiuto 🙂


  • Moderatore

    Quella che ti propongo è una soluzione veloce, molto custom. Quindi se vuoi aggiungere ancora un link, bisogna rivedere il codice, altrimenti, bisogna studiare un sistema che cicla i vari link e scriva vari link a, a seconda di quanti siano i link nel file txt. sinceramente non ho optato per tale funzione, perchè farla lato client non ha proprio alcun senso.

    Partiamo con il file, tuo_file.txt . Deve avere questa forma:
    link,
    link

    quindi i link devono necessariamente essere separati da una virgola. Puoi anche non andare a capo è indifferente.
    Ora il codice modificato e funzionante è questo:

    
    <!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>
    
    <body>
    
    <a class="link1" href="" target="_blank">LINK PROVA </a><br />
    <a class="link2" href="" target="_blank">LINK PROVA </a>
    <script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
    <script>
    jQuery(document).ready(function($) {
        $.ajax({
            url: "tuo_file.txt",
            dataType:"text",
            cache: false,
            success: function(data) {
                var content = data.split( ',' );
                $('a.link1').attr({ 'href' : content[0] })
                $('a.link2').attr({ 'href' : content[1] })
            }
        })    
    })
    </script>
    </body>
    </html>
    
    

    Fammi sapere se ti funziona o se hai altre necessità 🙂


  • User Attivo

    ...ho provato e funziona benissimo! 🙂 non ho solo capito bene una cosa, se volessi aggiungere (con lo stesso sistema) un altro link, o anche altri due, lo script non funzionerebbe?


  • Moderatore

    Allora, per fare quello che te chiedi:
    a) quello non va bene
    b) Ti consiglio di utilizzare php
    c) se lo vuoi fare in JS lato client, può anche andar bene, ma ho qualche preoccupazione per i motori di ricerca

    Scegli, io ti aiuto 🙂


  • User Attivo

    Ciao Stefano, per quello che mi serviva è tutto ok (credo mi basti già quello che mi hai aiutato a fare fino ad ora). La mia domanda per altri links era per pura curiosità (e per un'eventuale modifica/miglioria al sito), ti spiego...quello che sto creando è un normale sito in html, mi è stato consegnato un template già fatto (comprato) che è anche responsive. Il mio dubbio è che, anche se semplice, sono previste molte pagine (con relative sotto pagine), magari potrei creare proprio un menù esterno (oltre al menù principale c'è anche un ulteriore piccolo menù nel footer) in modo tale che in caso di modifiche ai links non occorre ogni volta metter mano su tutte le pagine. Il discorso del PHP potrebbe andare bene (in passato mi ricordo ho fatto qualcosa di simile con gli "include") solo che essendo questo template "Responsive" non so se potrebbe incedere negativamente su questo...oltre al discorso dei motori...tu che ne pensi?