Visualizzazione risultati 1 fino 1 di 1

Discussione: Indirizzo e titolo sempre corretti con il cloak

  1. #1
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito Indirizzo e titolo sempre corretti con il cloak

    Questa guida non è più applicabile: il servizio di dominio con redirect (o cloak) non è più offerto da AlterVista.
    È invece adesso offerto un dominio di secondo livello che eroga direttamente i contenuti dello spazio web.


    Introduzione

    La tecnica del cloaking, si sa, crea non pochi problemi in quanto non permette di aggiornare il titolo della pagina e il suo indirizzo (quest'ultimo si può aggiornare sfruttando il path forwarding). Per risolvere questi inconvenienti si può ricorrere alle nuove API messe a disposizione dalle bozze delle specifiche di HTML5, in particolare la soluzione proposta fa uso della comunicazione tra documenti e delle nuove funzioni per manipolare la cronologia di navigazione. Ricordo che queste nuove interfacce non sono disponibili su tutti i browser, in quanto presentate in una specifica ancora in stato di bozza, pertanto questa soluzione potrebbe non funzionare nei browser non di ultima generazione. In questi casi il sito continuerebbe ad essere perfettamente navigabile, non potrà semplicemente trarre guadagno delle funzionalità apportate dallo script.

    Lo script consiste di due parti, una da includere nella pagina che si occupa del cloaking e l'altra in tutte le pagine del sito.

    Avvertenze

    Si informa che questa guida e gli script proposti non sono realizzati da AlterVista, ma da un semplice utente del forum, non è dunque una soluzione ufficiale ed in seguito ad eventuali aggiornamenti della piattaforma potrebbe non essere più compatibile.

    Facendo uso del cloak inoltre vi saranno alcuni problemi come:

    • mancanza di testo ed immagine di anteprima nel caso di condivisione (tramite URL con dominio di secondo livello) sui social network;
    • retribuzione normale (non maggiorata) per i banner pubblicitari inseriti, in quanto visualizzati all'interno di frame;
    • possibile incorretta visualizzazione su alcuni dispositivi mobili;
    • possibile incompatibilità con alcuni applicativi (specialmente nelle pagine sensibili per la sicurezza, come quella di login o nel pannello di amministrazione) di visualizzazione, in quanto per ragioni di sicurezza è proibita la visualizzazione all'interno di frame.


    Caratteristiche

    La soluzione qui descritta permette (nel caso di visite con browser compatibile con Javascript abilitato) di:

    • reindirizzare l'utente sul dominio di secondo livello qualora venga visitato quello di terzo;
    • visualizzare sempre nella barra degli indirizzi l'indirizzo della pagina correntemente visualizzata;
    • visualizzare sempre il titolo (quello indicato mediante l'elemento HTML title) della pagina correntemente visualizzata.


    Configurazione

    Accedere alla sezione Gestione domini del Pannello di controllo e successivamente alla sezione Gestione sottodomini (pulsante Sottodomini/redirect) relativa al dominio da configurare.
    È necessario che solo un dominio abbia il cloak attivato, dunque si consiglia di configurare il dominio di terzo livello www.nomedominio.* con il cloak disattivato e inserire come destinazione l'URL del dominio di secondo livello http://nomedominio.*, quest'ultimo dovrà avere il cloak attivato e avere come destinazione l'URL del dominio di terzo livello http://nomeutente.altervista.org è inoltre necessario inserire nel campo Header personalizzati della sezione Avanzate il seguente codice HTML:
    Codice:
    <script type="text/javascript">
    	//<![CDATA[
    	(function(){
    		var AlterVista_DOMAIN = "";
    		
    		var NEW_DOCUMENT = 0;
    		
    		var protocolhost = location.protocol+"//"+location.host;
    		addEventListener("message", function(e){
    			if(new RegExp("[./]"+AlterVista_DOMAIN+"$").test(e.origin) && e.data.type == NEW_DOCUMENT){
    				document.title = e.data.title;
    				history.replaceState(null, e.data.title, protocolhost+e.data.pathquery);
    			}
    		}, false);
    	})()
    	//]]>
    </script>
    Il codice va personalizzato inserendo nella terza riga, tra le virgolette il dominio di terzo livello nomeutente.altervista.org, tutto minuscolo senza il nome del protocollo (http://) o altro.

    L'altra parte del codice va invece (come già menzionato) inclusa in ogni pagina del sito, la configurazione consigliata è la seguente:
    Inserire il seguente codice Javascript in un nuovo file avente estensione js (e nome ciò che si preferisce) nella cartella principale del sito:
    Codice:
    (function(){
    	var DOMAIN = "";
    	
    	var NEW_DOCUMENT = 0;
    	if(this != parent && name == "XYZZY2"){
    		parent.postMessage({type: NEW_DOCUMENT, title: document.title, pathquery: location.pathname+location.search}, "http://"+DOMAIN);
    	}else if(!window.PL || location.hash.search(/access_token/) == -1){
    		location.replace("//"+DOMAIN+location.pathname+location.search);
    	}
    })()
    Anche questo va personalizzato: nella seconda riga, inserire tra le virgolette il dominio di secondo livello nomedominio.*, tutto minuscolo senza il nome del protocollo (http://) o altro.

    Una volta creato il file, esso va incluso in ciascuna pagina del sito web, all'interno dell'elemento HTML head, dopo l'elemento title, è consigliata la seguente sintassi:
    Codice:
    <script type="text/javascript" src="/nomefile.js"></script>
    Al posto di nomefile, va messo il nome del file Javascript precedentemente creato.

    Infine, tutti i collegamenti devono essere aperti nel frame corrente (non devono avere l'attributo target), ad esclusione dei collegamenti esterni al sito, i quali potrebbero non funzionare se il loro attributo target non è impostato su _NEW o _TOP (si consiglia la prima opzione).

    Se si usa WordPress

    Per chi usa WordPress l'inserimento del secondo script si può effettuare usando appositi plugin come ad esempio Head & Footer Code. In questo caso però è consigliabile inserire lo script direttamente nella pagina e non creando un nuovo file, quindi in definitiva il codice da inserire nella sezione head (dopo aver inserito il dominio tra le virgolette come descritto sopra) è:
    Codice:
    <script type="text/javascript">
    	//<![CDATA[
    	(function(){
    		var DOMAIN = "";
    	
    		var NEW_DOCUMENT = 0;
    		if(this != parent && name == "XYZZY2"){
    			parent.postMessage({type: NEW_DOCUMENT, title: document.title, pathquery: location.pathname+location.search}, "http://"+DOMAIN);
    		}else if(location.pathname.indexOf("/wp-admin/") == -1){
    			location.replace("//"+DOMAIN+location.pathname+location.search);
    		}
    	})()
    	//]]>
    </script>
    L'impostazione URL del blog non va modificata e deve essere lasciata al valore originale predefinito.
    Ultima modifica di karl94 : 19-10-2017 alle ore 20.28.27 Motivo: Guida obsoleta

Regole di scrittura

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