Monthly Archive for maggio, 2008

Ma il validatore ragiona ogni tanto ?

Questo è l’errore che mi riporta:

You have used the attribute named above in your document, but the document type you are using does not support that attribute for this element. This error is often caused by incorrect use of the “Strict” document type with a document that uses frames (e.g. you must use the “Transitional” document type to get the “target” attribute), or by using vendor proprietary extensions such as “marginheight” (this is usually fixed by using CSS to achieve the desired effect instead).

nessuno dei suggerimenti riportati risolve il problema, più semplicemente onClick va scritto tutto in minuscolo :-P .
Io sono un deficiente perchè ho seminato questo errore su tutte le pagine del blog, insomma a controllare prima non sarebbe successo, però anche il validatore non scherza, insomma potrebbe essere un po’ più intelligente :-P . Ovviamente, non lo correggo, nessun browser credo possa essere così stupido da pretendere il minuscolo per forza :-P .

Pure il K2 ci si mette a duplicare gli ID, bah correggerò.

An “id” is a unique identifier. Each time this attribute is used in a document it must have a different value. If you are using this attribute as a hook for style sheets it may be more appropriate to use classes (which group elements) than id (which are used to identify exactly one element).

Technorati Tags: , , ,

(15)

Come implementare la copia del testo usando Javascript + Flash (cross browser)

AGGIORNAMENTO: con il nuovo aggiornamento a Flash 10 il metodo proposto in questo articolo smette di funzionare. Sono state infatti introdotte delle restrizioni di sicurezza che non permettono più l’attivazione via Javascript di uno script Flash, per farlo funzionare è necessario inserire un pulsante che attivi lo script Flash mediante un’azione diretta dell’utente (ad esempio mediante clic su un pulsante).
Ulteriori info: Quasimondo.com

Ringrazio ssjx per la segnalazione.

Vediamo come è possibile implementare una funzione per la copia automatica in clipboard del contenuto di una stringa, la cosa può tornare utile per far selezionare direttamente all’utente delle parti di testo e copiarlo senza dover usare la combinazione CTRL-C. A me è servita solo per aggiornare il mio userscript che inserisce il codice HTML valido nelle pagine di Youtube, in questo modo basta selezionare il box dove si trova il codice ed incollarlo sul proprio editor HTML :-) , any suggestions about errors in my poor english are greatly appreciated :-D

Usando Javascript la cosa non è possibile, molti browser infatti, impediscono, per ragioni di sicurezza, l’accesso alla clipboard via Javascript. Se ci si limitasse ad IE invece, sarebbe possibile ottenere la cosa utilizzando il solo Javascript, se si vuole invece fare una cosa cross-browser è necessario utilizzare uno script in Flash. Tutto sommato Flash è i plugin più popolare, molto probabilmente la maggioranza degli utenti lo ha installato e quindi non ci dovrebbero essere grossi problemi.

Logo di Adobe Flash

Qui di seguito riporto la tecnica da usare per implementare la funzione copyToClipboard e il metodo di utilizzo, la funzione è leggermente modificata rispetto all’originale, queste sono le modifiche che ho apportato:

  • rimossa la parte di codice relativa a IE (che permette di suo di inviare testo alla clipboard), dovrebbe comunque funzionare se il plugin Flash è installato (io non ho il plugin di Flash in IE, quindi servirebbe verificarlo :-P );
  • l’originale permetteva solo la copia di testo inserito all’interno di tag INPUT (accettava l’oggetto come parametro), la mia versione invece accetta una stringa come input :-) ;

La funzione originale è possibile l’abbiate vista all’opera su Photobucket o su Urltea (prima di capire che sfruttava Flash avevo una mezza idea di aprire un bug su Bugzilla :-P ), quella modificata la potete vedere all’opera su questa pagina selezionando il codice della funzione inserito nel tag PRE (ho preparato una pagina a parte perchè non voglio caricare lo script sulla pagina del post).

Innanzitutto, bisogna scaricare il file _clipboard.swf, che potete trovare al link inserito a fine post. Il file è distribuito con licenza GPL (non da me ma dall’autore), quindi lo potete usare come meglio credete :-) .

I’ve uploaded the SWF file that you can use in your own webpage.

This software is licensed under the GPL so you can take this solution, change it, whatever, free.

Una volta uploadato il file _clipboard.swf sul vostro spazio Web (non usate quello caricato sul mio server, grazie!) inserite il percorso del file nella variabile clipboardswfpath e richiamate la funzione all’interno della pagina in cui desiderate utilizzarla passandogli come argomento una stringa che verrà copiata nella clipboard del visitatore.

	copyToClipboard(document.getElementById('input_id').value);
	

per un tag PRE (e probabilmente per quasi tutti gli altri):

	oggetto=document.getElementById('id_tag_pre');
	range = document.createRange();
	range.selectNodeContents(oggetto);
	copyToClipboard(range);
	

per IE usate getElementById(‘mypre_id’).innerText.
Ecco la funzione:

	
	function copyToClipboard(texttocopy) 
	{
		  var clipboardswfpath="indirizzo_file_SWF";
		var flashcopier = 'flashcopier';
		if(!document.getElementById(flashcopier)) {
			var divholder = document.createElement('div');
			divholder.id = flashcopier;
				document.body.appendChild(divholder);
	    }
		document.getElementById(flashcopier).innerHTML = '';
		var divinfo = '<embed src="'+clipboardswfpath+'"  FlashVars="clipboard='+encodeURIComponent(texttocopy)+'" width="0" height="0"></embed>';
		document.getElementById(flashcopier).innerHTML = divinfo;
	}
	

Purtroppo non è possibile, come da suggerimento che ho avuto su userscript.org inserire il file SWF come stringa di caratteri usando un data link, al momento i browser non supportano.

Come piccola considerazione finale, vorrei far notare a tutti quanto possa influenzare la “sicurezza” di un browser l’utilizzo di un plugin. Se, escludendo IE, nessun altro browser si fida a dare accesso in scrittura alla clipboard un motivo deve pur esserci, il fatto che avendo il plugin Flash installato si possa “raggirare” questa restrizione dovrebbe far riflettere. Certo, poter accedere alla clipboard permette alle applicazioni Web maggiori funzionalità ma a discapito, forse, della sicurezza. Rassicuro tutti, dicendo che nemmeno Flash dà accesso alla clipboard in lettura :-P .

Ringrazio ssjx/Engelium che mi ha fatto interessare all’argomento :-)

Fonte: Clipboard Copy.

Technorati Tags: , , ,

K2 RC6 e WordPress 2.5.1

AGGIORNAMENTO: per chi stesse cercando una localizzazione in italiano del K2 RC7, leggere questo commento. Al momento non ho tempo di aggiornare il blog con la nuova versione del K2, quindi eventuali feedback sono graditi :-) .

Essendo stata rilasciata la RC6 del tema K2 ho deciso di procedere all’update. Purtroppo c’è stata qualche modifica al tema, spero non ci siano troppi problemi, e comunque credo di avere un po’ di tempo questo week-end per rivedere il layout del blog.

Per chi volesse la mia personale localizzazione del K2 i file li trovate qui:

Purtroppo il file POT distribuito con la RC6 è corrotto (vedi anche questo Topic sul forum di K2) e ho dovuto modificarlo manualmente con un editor di testo per farlo funzionare. Per ora mi sembra non ci siano problemi, però avendolo dovuto modificare a manina, è possibile che qualcosa di sbagliato ci sia :-P . I titoli dei moduli non sono più traducibili, ma resta possibile personalizzarli una volta aggiunti alla sidebar, che tradotto significa: « il titolo del modulo mostrato al lettore lo si può decidere personalizzando il modulo stesso ».

Con un po’ di fortuna, stasera aggiorno anche a WordPress 2.5.1.

Technorati Tags: ,

(34)