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!
 

narc0x

Utente Attivo
10 Ott 2008
128
2
18
Ciao,

partendo dal presupposto che secondo la mia opinione dovresti rivalutare l'architettura della tua pagina (o della tua applicazione) per includere un file HTML senza l'ausilio di linguaggi di backend puoi utilizzare un iframe:

Codice:
<iframe src="/path/to/file.html"></iframe>

Inutile negarti che questa soluzione e' obsoleta, vecchia e non esente da bug futuri.

Altrimenti puoi utilizzare jquery:

Codice:
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
    $("#elemento").load("/path/to/your/page.html");
});
</script>
<div id="elemento"></div>

Ciao
 

AndrewLupin

Utente Attivo
15 Lug 2008
42
0
6
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... :)
 

AndrewLupin

Utente Attivo
15 Lug 2008
42
0
6
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>
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.397
338
83
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
 

narc0x

Utente Attivo
10 Ott 2008
128
2
18
Cosa ti dice la console di chrome/firefox/internet explorer/oQualsiasiBrowserTuStiaUsando ? :D
 

AndrewLupin

Utente Attivo
15 Lug 2008
42
0
6
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)
 

AndrewLupin

Utente Attivo
15 Lug 2008
42
0
6
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)
 

AndrewLupin

Utente Attivo
15 Lug 2008
42
0
6
...in allegato trovi tutti i file, grazie :D
 

Allegati

  • link_html_da_file_esterno.zip
    82,9 KB · Visite: 169

AndrewLupin

Utente Attivo
15 Lug 2008
42
0
6
"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! :)
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.397
338
83
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>
 

AndrewLupin

Utente Attivo
15 Lug 2008
42
0
6
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? :)
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.397
338
83
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
 

AndrewLupin

Utente Attivo
15 Lug 2008
42
0
6
...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
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.397
338
83
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:

AndrewLupin

Utente Attivo
15 Lug 2008
42
0
6
...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" :)
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.397
338
83
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:

AndrewLupin

Utente Attivo
15 Lug 2008
42
0
6
...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?
 

AndrewLupin

Utente Attivo
15 Lug 2008
42
0
6
...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>
 
Discussioni simili
Autore Titolo Forum Risposte Data
E [HTML] non apre link a file locale ma se lo imposto su barra indirizzi lo apre HTML e CSS 3
A Link ad un file PHP in HTML PHP 0
diamantetredici13 [HTML] link e poi link... HTML e CSS 2
D [HTML] Inviare un link contenente un' immagine HTML e CSS 4
GiErre [PHP] [HTML] Disabilitare un link in funzione della piattaforma PHP 7
G [HTML] estrapolare link da pagina web HTML e CSS 9
G [HTML] mettere link in facebook link invece che su sito web Social Media Marketing 2
R [HTML] Immagini con link, uguali su tutte le pagine del sito HTML e CSS 3
M [Javascript] [HTML] link interno Javascript 1
W [HTML] Link "condividi" nei principali social HTML e CSS 6
Sermatth72 [HTML] creare link con colori Hover diversi, possibile? HTML e CSS 6
S [WordPress] [HTML] Bordo di selezione area - Link di ancoraggio WordPress 3
I [HTML] Crea link dinamicamente HTML e CSS 4
WebDr [HTML] Link non link HTML e CSS 3
A [WordPress] [HTML] Link in div con z-index inferiore WordPress 1
R Javascript e html - estrazione EXIF da jpg con link per geolocalizzazione google maps Javascript 0
Marcolotto [HTML] Email Link HTML e CSS 1
Z restrizione pagine/documenti/link pagine html HTML e CSS 2
G caricare 3 html diversi nello stesso frame, utilizzando 3 link.... HTML e CSS 2
F Generazione codice html per link "tracciabile" HTML e CSS 10
F Link flash da html HTML e CSS 7
G Aggliungere link html Flash 8
A Link html dentro php, problema PHP 3
C Html e i link HTML e CSS 2
L da flash link a un html Flash 7
B link a immagini esterne a wwwroot (era: html) HTML e CSS 7
S Avviare eseguibili da link HTML HTML e CSS 1
X-Zeus Wpl in un link html Javascript 0
A Regex per isolare link interni con rel noopener PHP 0
Shyson Modificare codice e creare link PHP 0
M Come individuare il link sito entrante Google Analytics 1
W Elenco dei link del file presenti in una cartella PHP 2
P modifica colore A Hover link website . WordPress 2
T Offuscare link pagina web PHP 2
D Estrarre database con link esterno Database 10
W Creare link di una dato Classic ASP 0
M Visualizzare file PDF con link preso dal DB PHP 0
G Link Building da aggregatori e nuovo social network SEO e Posizionamento 1
G PHP e Microsoft Teams: generare link videocall PHP 15
Shyson Link social penalizzano il sito? SEO e Posizionamento 14
G Rendere dati di una tabella mysql link PHP 22
Shyson Mascherare link di affiliazione PHP 0
F domanda sul link juice SEO e Posizionamento 2
C Problema tp-link extender cp210 Reti LAN e Wireless 9
M [Wordpress] Slider Revolution automatic link WordPress 0
D [WordPress] Link eliminati ancora presenti nel database, è possibile? WordPress 0
Shyson [PHP] Aggiungere link al codice PHP 0
K [PHP] Link Obfuscator PHP 5
B anomalia router TP Link Reti LAN e Wireless 0
G Inserire "Leggi il resto dell'articolo" con link al post sul sito preso via RSS Email Marketing 0

Discussioni simili