link html da file esterno

AndrewLupin

Utente Attivo
15 Lug 2008
42
0
6
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 esterno (ad es. un ".txt", un ".xml", un ".html", etc l'importante è che si possa aprire con il Note Pad e simili), come posso fare? ho provato a fare qualche ricerca su google ma non ho trovato nulla che potesse fare al mio caso.
Tutto questo mi serve perché il titolare del sito deve aprire il file esterno ed aggiornare il link.
Ciao e grazie a tutti!
 
Ciao narc0x, hai ragione sul discorso dell'architettura, ma il fatto è che il sito è grande ed è interamente statico (in html). Il link su cui agire è solamente uno (un pulsante grafico). Mi sembra troppo rivedere e modificare tutto il sito solo per un singolo link, tutto quà. Comunque grazie per i consigli e l'aiuto, tra i due credo di optare per quello con jquery...ora faccio una prova... :)
 
Ciao Ciao narc0x, ho fatto una prova ma non funziona, forse ho sbagliato qualcosa. Ti spiego come ho fatto:


- Versione jquery: jquery-1.11.2.js


- Pagina principale (Index):

HTML:
<!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>INDEX</title>

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
    $("#elemento").load("link.html");
});
</script>

</head>


<body>

<div id="elemento"><a href="#elemento">aaa</a></div>

</body>
</html>


- Pagina con il link:

HTML:
<!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>Link</title>
</head>

<body>

https://www.google.it

</body>
</html>
 
Se ho capito bene il problema la cosa è molto semplice, basta un file esterno .js (javascript), importato nella pagina per risolvere la cosa.

Non ti posso dare il contenuto del file .js perchè non so come è costruito il pulsante
 
Il pulsante è molto semplice. Ci sono due tipi di collegamente che però alla fine è sempre lo stesso (cioè il link è identico), uno è nella versione testuale:

HTML:
<a href="#" target="_blank">Nome Prodotto</a>

...mentre l'altro è con una immagine:

HTML:
<a href="#" target="_blank"><img class="image-left" src="nome-immagine.jpg" alt="Nome Prodotto" title="Nome Prodotto" /></a>

...tutto quà!


A dire il vero, a me sarebbe andata bene anche la soluzione che mi ha proposto prima "narc0x", solo che forse non ho ben capito come strutturare la cosa (vedi mio precedente messaggio)
 
Ciao "narc0x", scusa ma non avevo visto il tuo messaggio (forse abbiamo scritto contemporaneamente). Sto usando Chrome e quando vado sul link mi apre questo collegamento index.html#elemento (anche se in pratica non mi apre nulla, resta sempre sulla index)
 
"Max 1" se anche tu hai una soluzione il tuo consiglio è ben accetto...detto sinceramente a me o in un modo o in un altro l'importante è che trovo una soluzione. Intanto ringrazio entrambi per l'interesse! :)
 
Con il codice di esempio che hai dato il contenuto del file esterno .js dovrebbe essere così: esempio file esterno pulsanti.js
Codice:
// JavaScript Document
<!-- 
document.writeln(" <a href=\"#\" target=\"_blank\">Nome Prodotto</a> "); 
document.writeln(" <br /><br/> "); 
document.writeln(" <a href=\"#\" target=\"_blank\"><img class=\"image-left\" src=\"nome-immagine.jpg\" alt=\"Nome Prodotto\" title=\"Nome Prodotto\" /></a> ");
 // -->
Questo è il codice che va nella pagina che richiama il file esterno nella posizione dove deve apparire i pulsanti
Codice:
<script type="text/javascript" src="pulsanti.js" language="javascript" ></script>
 
Ciao "Max 1", ho provato il tuo sistema e funziona molto bene, solo che ho solo due dubbi:

1) il primo è che i due pulsanti (anche se uguali) sono lontani tra di loro (uno sta nell'intestazione e l'altro nel footer del sito), quindi con i " <br /><br/> " non risolvo;

2) credo che non sia molto semplice modificare il link (nel js esterno) per chi non è del mestiere, è molto facile cancellare qualche " \ " e non accorgersene (lo dico perché è capitato anche a me).

Non mandarmi a quel paese...non esiste un altro modo (magari sempre con questa tipologia di script) per semplificare le cose? :)
 
Per risolvere il problema della lontananza dei due pulsanti basta fare due file esterni .js e due richiami nei punti giusti.

Per altre tipologie di soluzioni esiste jquery, che lo trovo più complicato e soggetto ad errori, poi un include in PHP, ma bisogna avere a disposizione sul server PHP e relativi servizi.

Non credo che il sistema del file .js sia difficoltoso, basta un minimo di attenzione, almeno quella! Daltronde gli include disponibili sono quelli e non ci sono alternative
 
...leggendo una discussione simile (su un altro forum) ho trovato un utente che dava questo consiglio, ma sinceramente non ci ho capito tanto:

...si può strutturare il file .txt in modo tale che la prima riga contenga il testo (il nome del link) e la seconda l'url

Tramite una chiamata ajax (vedi tu se usare jQuery o vanilla javascript, cambia poco se ti serve solo per quello) leggi le due righe del file e converti quella "struttura" in un link vero e proprio...

http://youmightnotneedjquery.com/#request

Forse voi che siete più esperti capite meglio
 
Come già ho già detto sopra non condivido il metodo di chiamata ajax o jQuery!

Volendo c'è anche un'altro metodo di inclusione di file esterni, con object, che richiama un comunissimo file HTML, l'unico difetto di questo metodo è che i link richiamati non possono aprire una pagina con _self ma solo con _blank.

Comunque cose più semplici degli include che ti ho menzionato non ce ne sono.

Se puoi usare PHP è il più semplice di tutti anche da modificare il file esterno
 
Ultima modifica:
...per usare il PHP poi devo modificare anche tutte le altre pagine (ne sono tante). In ogni caso mi potrebbe andare bene anche il metodo con "object" con il file html perché i link che devo richiamare io dovranno aprirsi solo con "_blank" :)
 
Codice:
<object id="oggetto" type="text/html" height="40" width="120" data="pagina_esterna.htm"></object>

Usare PHP non vuol dire di fare tutte le pagine in php ma basta solo quella con il richiamo
 
Ultima modifica:
...il discorso del php lo so, però poi devo cambiare tutti i link dei menù (e collegamenti vari) di tutte le altre pagine :(

Invece per il sistema "object" che mi hai appena proposto, nella pagina "pagina_esterna.htm" come lo vado ad inserire esattamente il link?
 
...ho fatto in questo modo ma non è che non funziona, non si vede proprio il pulsante:


- INDEX:

HTML:
<!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>

<object id="oggetto" type="text/html" height="40" width="120" border="2" data="pagina_esterna.htm"></object>

</body>
</html>


- PAGINA ESTERNA:

HTML:
<!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 href="https://www.google.it">PROVA</a>

</body>
</html>
 
Ciao "Max 1", finalmente ora ho capito, funziona! :) ...sinceramente non è quello che mi aspettavo (immaginavo si potesse fare diversamente, in un modo un pò più semplice, magari utilizzando qualche script o altro), comunque se non è proprio possibile fare diversamente, va bene così.

In ogni caso, non so come ringraziarti, sei stato molto cortese e disponibile, spero un giorno di poter ricambiare! ;)
 
Mettere un link in un file di testo .txt e importarlo con uno script come intendevi tu, non è possibile perchè pur essendo possibile importare il file di testo .txt non funzionerebbe in quanto verrebbe interpretato come testo e non come codice "link".

Quello dell'object è uno dei metodi possibili ma non il più pratico, come ti ho già detto c'è il metodo, javascript, php, ecc. dei quali non credo tu abbia capito fino in fondo le potenzialità. Con riferimento a PHP sostieni di dover cambiare parti di altre pagine, ma non è così! Si tratta esclusivamente di importare nel punto della pagina che preferisci un file esterno in html che fra l'altro non ha problemi di target come object e questo non influisce assolutamente ne su altre parti della pagina ne su altre pagine del sito.
 

Discussioni simili