<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:gd="http://schemas.google.com/g/2005" xmlns:georss="http://www.georss.org/georss" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:thr="http://purl.org/syndication/thread/1.0"><id>tag:blogger.com,1999:blog-5148617246197063026</id><updated>2026-10-03T08:06:46.383+02:00</updated><category term="Android"/><category term="Guide PC"/><category term="Programmi PC"/><category term="iPhone"/><category term="Rete"/><category term="Windows 11"/><category term="Acquisti tecnologia"/><category term="Immagini e Foto"/><category term="Sicurezza"/><category term="Hardware"/><category term="siti internet"/><category term="TV"/><category term="Video"/><category term="Chat"/><category term="IA"/><category term="Windows 10"/><category term="Windows Tool"/><category term="Office"/><category term="Giochi Gratis"/><category term="Browser"/><category term="applicazioni web"/><category term="Audio"/><category term="Cellulari"/><category term="Chrome"/><category term="Facebook"/><category term="Navigaweb App"/><category term="Email"/><category term="Musica"/><category term="Windows Grafica"/><category term="giochi online"/><category term="linux"/><category term="Google"/><category term="Ufficio"/><category term="Firefox"/><category term="Mac"/><category term="Gmail"/><category term="Cultura"/><category term="Google Maps"/><category term="Risparmio"/><category term="Viaggi"/><category term="Alexa"/><category term="Windows 7"/><category term="Amazon"/><category term="USB"/><category term="YouTube"/><category term="Windows 8"/><category term="Domande e Risposte"/><category term="Apple"/><category term="Fare Web"/><category term="PDF"/><category term="Internet Explorer"/><category term="News"/><category term="navigaweb"/><title type="text">Navigaweb.net</title><subtitle type="html">Il sito migliore per navigare su internet veloce, trovare i migliori siti e usare online i migliori programmi da scaricare veloci e free</subtitle><link href="https://www.navigaweb.net/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default" rel="self" type="application/atom+xml"/><link href="https://www.navigaweb.net/" rel="alternate" type="text/html"/><link href="http://pubsubhubbub.appspot.com/" rel="hub"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/><author><name>Claudio Pomes</name><uri>http://www.blogger.com/profile/05867241310817527022</uri><email>noreply@blogger.com</email><gd:image height="32" rel="http://schemas.google.com/g/2005#thumbnail" src="//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnjMmdIWMIcd464SD-u4VsJBXmTf1BTGQAIVPFdzGK2Z3P1ZKbrISt8SdSFSGSzoc4KvmJvACpnL9lE9x7-fXplMVjqdG1IkoB_Jq_kclZtfLmEoSONobAo5j2sFP2wxJHIGZa5_p5KwCURDkifbBQtwrgA_Q52gr-Hnsn9Eg7vVYocYc/s220/pomheybokeh.jpg" width="32"/></author><generator uri="http://www.blogger.com" version="7.00">Blogger</generator><openSearch:totalResults>3918</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><xhtml:meta content="noindex" name="robots" xmlns:xhtml="http://www.w3.org/1999/xhtml"/><entry><id>tag:blogger.com,1999:blog-5148617246197063026.post-5652131670755727275</id><published>2026-10-02T17:20:10.787+02:00</published><updated>2026-10-02T17:20:10.820+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Guide PC"/><title type="text">Trucchi e funzioni del Task Manager in Windows 11</title><content type="html">&lt;img alt="Task manager Windows" height="210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJblf67D0s8qReR8RdHGDN03P6p-BXUzNN-TKfVtNHEoDnFVa0HfdxarMEAj3RTzTMsFTMBDLgllIIRTu0JcYV_CfwzavW3ffc8g1QS8RsrJvJayZIi7-5gTPtAkNWkKGORcBbDQGfCMajlWoHDXdZtWWVsG0BEicHgV4Q8Jc5bE_gm-Iu7f7vuoSB/w400-h210/Task-manager-windows-11.jpg" title="Come usare Gestione attività Windows" width="400" /&gt; Il &lt;b&gt;Task Manager di Windows&lt;/b&gt; rappresenta lo strumento di primo soccorso per la risoluzione dei problemi. &lt;b&gt;&lt;a href="http://www.navigaweb.net/2008/10/sbloccare-windows-se-il-pc-si-blocca-o.html"&gt;Se il PC si blocca o se il computer va lento&lt;/a&gt;&lt;/b&gt;, la prima cosa da fare è aprire il task manager e controllare se c'è un processo o un programma che sta occupando troppa CPU o troppa memoria.&lt;br /&gt;&lt;br /&gt;
 
&lt;p&gt;L'interfaccia di Gestione Attività su Windows 11 è diventata una vera centrale di controllo. Non è più una semplice lista di nomi, ma uno strumento che permette di analizzare i consumi energetici, bloccare l'avvio di software inutili e individuare attività sospette. Saper leggere i dati nascosti tra queste colonne permette di risolvere i rallentamenti del sistema senza dover installare programmi di ottimizzazione di terze parti, che spesso appesantiscono ulteriormente la macchina.&lt;/p&gt;
&lt;a name='more'&gt;&lt;/a&gt;

&lt;p&gt;LEGGI ANCHE: &lt;b&gt;&lt;a href="http://www.navigaweb.net/2015/10/quante-cose-fa-il-task-manager-su-pc.html"&gt;Quante cose fa il task manager su PC Windows&lt;/a&gt;&lt;/b&gt;&lt;/p&gt; 
 
&lt;h2&gt;Accesso rapido e funzioni di emergenza&lt;/h2&gt;
&lt;p&gt;Il primo errore comune riguarda l'apertura dello strumento. Molti usano &lt;em&gt;Ctrl + Alt + Canc&lt;/em&gt;, ma questo comando obbliga il sistema a caricare un menu intermedio che fa perdere tempo prezioso. La combinazione più rapida per far apparire la finestra istantaneamente è &lt;strong&gt;Ctrl + Maiusc + Esc&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Un problema frequente accade quando un videogioco va in crash a schermo intero: il Task Manager si apre, ma rimane intrappolato dietro l'immagine bloccata del gioco. Per evitare di riavviare l'intero PC, bisogna andare nelle impostazioni dello strumento (l'ingranaggio in basso a sinistra) e attivare l'opzione &lt;strong&gt;Sempre in primo piano&lt;/strong&gt;. In questo modo, la finestra di controllo taglierà qualsiasi schermata bloccata, permettendo di chiudere il software guasto senza intoppi.&lt;/p&gt;
&lt;h2&gt;Gestire l'energia e i consumi della CPU&lt;/h2&gt;
&lt;p&gt;La scheda dei processi mostra cosa sta lavorando, ma alcune funzioni recenti cambiano il modo in cui gestiamo l'autonomia del computer, specialmente sui nuovi processori con core ibridi.&lt;/p&gt;
&lt;h3&gt;La Modalità Efficienza&lt;/h3&gt;
&lt;p&gt;Sui portatili, capita di notare un'applicazione in background che consuma troppa CPU. Cliccando col tasto destro sul processo, si può attivare la &lt;strong&gt;Modalità Efficienza&lt;/strong&gt; (contrassegnata da una foglia verde). Il sistema toglierà priorità a quel programma, riducendo le sue richieste energetiche senza chiuderlo. Il processo continuerà a lavorare a bassa intensità, salvando la batteria e abbassando le temperature del processore.&lt;/p&gt;
&lt;h3&gt;Filtrare il caos con la ricerca&lt;/h3&gt;
&lt;p&gt;I computer moderni eseguono centinaia di processi di sistema. Invece di scorrere elenchi infiniti, la barra di ricerca in alto permette di digitare il nome del programma, l'editore o il codice PID (il numero identificativo univoco di ogni operazione). Una volta isolata la voce pesante, basta un clic su &lt;em&gt;Fine attività&lt;/em&gt;. Per una panoramica completa su come fare pulizia, rimandiamo al nostro approfondimento su &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2007/11/chiudere-i-processi-attivi-windows-ed.html"&gt;come chiudere i processi attivi inutili di Windows&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;h2&gt;Analisi della sicurezza e smascheramento malware&lt;/h2&gt;
&lt;p&gt;Spesso si nota un rallentamento causato da un processo generico, come &lt;em&gt;svchost.exe&lt;/em&gt;. Chiuderlo alla cieca può causare il riavvio immediato del sistema. Facendo clic destro sulla riga incriminata e scegliendo &lt;strong&gt;Vai a Servizi&lt;/strong&gt;, il sistema evidenzia esattamente quale servizio è responsabile del consumo, permettendoci di intervenire in modo mirato. Abbiamo spiegato nel dettaglio &lt;strong&gt;&lt;a href="http://www.navigaweb.net/2009/12/svchostexe-se-usa-la-cpu-al-99.html"&gt;che cosa è svchost.exe e come trovare il servizio che usa la CPU&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Se il sospetto è che un programma sia un virus camuffato, entra in gioco la rotta di Navigaweb. Cliccando con il tasto destro sull'intestazione delle colonne (Nome, CPU, Memoria), possiamo aggiungere la colonna &lt;strong&gt;Riga di comando&lt;/strong&gt;. Questa funzione rivela il percorso esatto sul disco fisso da cui è partito il file. Se un processo di sistema punta a una cartella temporanea o a &lt;em&gt;AppData&lt;/em&gt; invece che alla cartella protetta &lt;em&gt;System32&lt;/em&gt;, ci si trova davanti a un elemento sospetto da isolare e scansionare immediatamente.&lt;/p&gt;
&lt;h2&gt;Monitoraggio hardware e nuove unità NPU&lt;/h2&gt;
&lt;p&gt;La scheda &lt;strong&gt;Prestazioni&lt;/strong&gt; non serve solo a guardare i grafici. Contiene dati che spiegano perché il PC si comporta in un certo modo.&lt;/p&gt;
&lt;p&gt;Nei computer di nuova generazione, troverete ora il monitoraggio della &lt;strong&gt;NPU (Neural Processing Unit)&lt;/strong&gt;. È il componente che gestisce l'intelligenza artificiale di sistema. Se l'utilizzo della NPU è basso mentre usate funzioni AI, significa che il carico è stato spostato sulla GPU o sulla CPU, spiegando l'eventuale aumento del calore. Per un'analisi ancora più tecnica, suggeriamo la nostra guida su &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2016/12/come-controllare-le-risorse-di-sistema.html"&gt;come controllare le risorse di sistema su PC Windows in tempo reale&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Un dettaglio fondamentale è il &lt;strong&gt;Tempo di attività&lt;/strong&gt; nella sezione CPU. Se segna diversi giorni nonostante lo spegnimento serale, significa che la funzione di avvio rapido di Windows sta mantenendo il sistema in un letargo profondo. Un riavvio manuale è l'unico modo per azzerare questo contatore, pulire la RAM e ripristinare la fluidità originale.&lt;/p&gt;
&lt;h2&gt;Diagnostica avanzata per problemi ostinati&lt;/h2&gt;
&lt;p&gt;Esistono situazioni in cui sapere che un programma "consuma molta CPU" non è sufficiente per risolvere il problema. Per questi casi, Windows nasconde due strumenti di analisi profonda che separano l'utente comune dall'amministratore di sistema.&lt;/p&gt;
&lt;p&gt;Il primo è l'&lt;strong&gt;Analisi della catena di attesa&lt;/strong&gt;. Quando un software entra in stato di "Non risponde", invece di chiuderlo subito, fate clic con il tasto destro sul processo e selezionate questa voce. Windows vi mostrerà se l'applicazione è bloccata perché sta aspettando una risposta da un altro processo o da un driver. È l'unico modo per capire se il colpevole è il programma stesso o un conflitto tra due software diversi.&lt;/p&gt;
&lt;p&gt;Il secondo è il &lt;strong&gt;Monitoraggio Risorse&lt;/strong&gt;, accessibile tramite il link in basso nella scheda Prestazioni. Mentre il Task Manager vi dà una percentuale generica, questo strumento vi mostra in tempo reale &lt;em&gt;quale file specifico&lt;/em&gt; sul disco rigido viene letto e &lt;em&gt;quale indirizzo IP&lt;/em&gt; sta usando un'app per comunicare con l'esterno. È fondamentale per scovare i cosiddetti "Memory Leak": se notate che la memoria di un programma sale costantemente senza mai scendere, anche quando non state facendo nulla, avete trovato un software scritto male che sta consumando la RAM del PC senza rilasciarla.&lt;/p&gt;
&lt;h2&gt;A chi serve saper usare questo strumento&lt;/h2&gt;
&lt;p&gt;Queste funzioni sono indispensabili per i gamer che vogliono massimizzare i frame al secondo impostando la priorità dei processi su &lt;em&gt;Alta&lt;/em&gt;, per i professionisti che gestiscono software di rendering pesanti e per chiunque desideri mantenere il proprio PC pulito senza installare utility esterne. È l'alleato perfetto per chi vuole capire esattamente dove finiscono le risorse del proprio hardware.&lt;/p&gt;
&lt;h2&gt;Sospetti e risoluzioni comuni&lt;/h2&gt;
&lt;p&gt;Alcuni comportamenti del Task Manager possono sembrare errori, ma hanno una spiegazione logica:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;L'elenco dei processi salta continuamente.&lt;/strong&gt; Basta tenere premuto il tasto &lt;strong&gt;Ctrl&lt;/strong&gt; per congelare i valori a schermo e riuscire a selezionare la riga desiderata senza sbagliare.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;La voce Interrupt di sistema consuma troppa CPU.&lt;/strong&gt; Non è un software impazzito, ma un segnale che un componente hardware (una periferica USB, un driver audio o una scheda di rete) sta inviando errori continui al processore.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Il PC resta lento nonostante l'uso basso della CPU.&lt;/strong&gt; Controllate la colonna &lt;strong&gt;Disco&lt;/strong&gt;. Se è fissa al 100%, il collo di bottiglia è l'hard disk (specialmente se meccanico) che non riesce a leggere i dati alla velocità richiesta dal sistema.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Il Task Manager non si apre.&lt;/strong&gt; Provate a premere &lt;em&gt;Tasto Windows + R&lt;/em&gt;, digitare &lt;em&gt;taskmgr -d&lt;/em&gt; e premere Invio per forzarne l'avvio in modalità diagnostica.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Programmi che rallentano l'accensione.&lt;/strong&gt; Nella scheda &lt;strong&gt;App di avvio&lt;/strong&gt; potete disattivare i software non essenziali. Trovate i passaggi nel tutorial su &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2015/01/disattivare-avvio-programmi-automatico.html"&gt;come disattivare l'avvio automatico dei programmi in Windows&lt;/a&gt;&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Diario di bordo di Navigaweb&lt;/h3&gt;
&lt;p&gt;Vedo troppi computer soffocati da programmi di "ottimizzazione" che promettono miracoli con un clic, ma che in realtà restano residenti in memoria consumando risorse preziose. La verità è che Windows ha già tutto l'arsenale necessario per la manutenzione. Imparare a leggere la riga di comando per smascherare un processo sospetto o usare la Modalità Efficienza per salvare la batteria è molto più soddisfacente di qualsiasi software a pagamento. Non servono bacchette magiche, basta la curiosità di guardare cosa succede dietro le quinte del proprio sistema operativo. Una volta preso il controllo del Task Manager, vi renderete conto che la maggior parte dei problemi di rallentamento si risolve in tre clic, senza installare nulla di superfluo.&lt;/p&gt;

&lt;p&gt;Difficile immaginare di poterlo sostituire ma, se non si fosse soddisfatti del Task manager standard, si può sempre installare uno dei &lt;b&gt;&lt;a href="http://www.navigaweb.net/2009/02/migliorare-le-funzioni-del-task-manager.html"&gt;programmi per gestire processi e attività su Windows in modo potenziato&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt; &lt;p&gt;&lt;font size="3"&gt;Articolo pubblicato su  &lt;a title="Navigaweb.net" href="https://www.navigaweb.net" target="_blank"&gt;&lt;font size="3"&gt;Navigaweb.net&lt;/font&gt;&lt;/a&gt;. Non è consentito ripubblicare senza il consenso dell'autore. Segui anche su &lt;a href="https://www.facebook.com/navigaweb"&gt;Facebook&lt;/a&gt;, &lt;a href="https://twitter.com/pomhey"&gt;Twitter&lt;/a&gt; e &lt;a href="https://news.google.com/publications/CAAqBggKMLPofjD03wk"&gt;Google News&lt;/a&gt; .&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;</content><link href="https://www.navigaweb.net/2012/09/10-modi-per-usare-il-task-manager.html#comment-form" rel="replies" title="0 Commenti" type="text/html"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/5652131670755727275" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/5652131670755727275" rel="self" type="application/atom+xml"/><link href="https://www.navigaweb.net/2012/09/10-modi-per-usare-il-task-manager.html" rel="alternate" title="Trucchi e funzioni del Task Manager in Windows 11" type="text/html"/><author><name>Claudio Pomes</name><uri>http://www.blogger.com/profile/05867241310817527022</uri><email>noreply@blogger.com</email><gd:image height="32" rel="http://schemas.google.com/g/2005#thumbnail" src="//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnjMmdIWMIcd464SD-u4VsJBXmTf1BTGQAIVPFdzGK2Z3P1ZKbrISt8SdSFSGSzoc4KvmJvACpnL9lE9x7-fXplMVjqdG1IkoB_Jq_kclZtfLmEoSONobAo5j2sFP2wxJHIGZa5_p5KwCURDkifbBQtwrgA_Q52gr-Hnsn9Eg7vVYocYc/s220/pomheybokeh.jpg" width="32"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJblf67D0s8qReR8RdHGDN03P6p-BXUzNN-TKfVtNHEoDnFVa0HfdxarMEAj3RTzTMsFTMBDLgllIIRTu0JcYV_CfwzavW3ffc8g1QS8RsrJvJayZIi7-5gTPtAkNWkKGORcBbDQGfCMajlWoHDXdZtWWVsG0BEicHgV4Q8Jc5bE_gm-Iu7f7vuoSB/s72-w400-h210-c/Task-manager-windows-11.jpg" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5148617246197063026.post-6369948839201540502</id><published>2026-10-02T16:42:16.999+02:00</published><updated>2026-10-02T16:42:17.081+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Browser"/><category scheme="http://www.blogger.com/atom/ns#" term="IA"/><title type="text">Migliori browser con AI su PC per integrare schede e chat</title><content type="html">&lt;a href="https://youtu.be/360EHZwiip4" target="_blank"&gt;&lt;img alt="browser top con AI" border="0" width="320" data-original-height="805" data-original-width="1449" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqZcVbYtq3ax_D9cV8RsAeOSdU4k-cOOOzhUT__QvgZhaA1KiIpG0W7iKXXUY_N9JRbSwy8tmyVcmzlh3H53FFB9QjS_r_hchzGJkh9f48KCFk8W2dyH_F3vA6m6Ejqq88mCPzjpqEwrS8vhjbdfXpN8F5kYY84RYcyQiaF9lUUEWF2dUQDRM3RgCkxgqf/s320/browsertop.jpg"/&gt;&lt;/a&gt;  Aprire venti schede sul monitor per mettere a confronto prodotti, documenti di lavoro e articoli di giornale porta spesso a riempire la memoria del computer senza arrivare a una conclusione. Fino a poco tempo fa, per estrarre il succo da un documento interminabile o da un testo in lingua straniera serviva selezionare le righe, aprire una pagina separata e incollare il blocco in una finestra di conversazione remota. Questo continuo passaggio da una finestra all'altra spezza la concentrazione e allunga inutilmente i tempi di ricerca.&lt;br&gt;

&lt;br&gt;
&lt;p&gt;I programmi con cui esploriamo la rete sono cambiati radicalmente. Non si limitano più a visualizzare il codice dei siti, ma integrano assistenti capaci di comprendere la pagina aperta, spiegare passaggi oscuri, stilare riassunti immediati e suggerire risposte alle email direttamente dalla finestra principale. Chi preferisce mantenere un profilo discreto e rifiuta l'invio di dati ai server remoti trova comunque alternative pensate per bloccare ogni forma di tracciamento commerciale senza rinunciare alla produttività.&lt;/p&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;p&gt;LEGGI ANCHE: &lt;b&gt;&lt;a href="https://www.navigaweb.net/2018/08/i-migliori-browser-confronto-chrome.html"&gt;Migliori browser a confronto: Chrome, Firefox, Edge, Safari e Opera&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;

&lt;h2&gt;I giganti del web con assistente a bordo&lt;/h2&gt;
&lt;p&gt;I programmi più diffusi al mondo hanno adottato approcci differenti per gestire queste funzionalità, oscillando tra la comodità d'uso immediata e richieste piuttosto pesanti sull'hardware del computer.&lt;/p&gt;
&lt;h3&gt;Microsoft Edge&lt;/h3&gt;
&lt;p&gt;Presente di fabbrica nei sistemi Windows, &lt;strong&gt;&lt;a href="https://www.microsoft.com/edge/" rel="nofollow" target="_blank"&gt;Microsoft Edge&lt;/a&gt;&lt;/strong&gt; rappresenta l'integrazione più profonda dell'assistente Copilot. Premendo la combinazione da tastiera Ctrl+Shift+. si apre un pannello laterale che legge la pagina web senza ricaricarla. Riesce a sintetizzare video, estrarre tabelle numeriche e confrontare preventivi in pochi secondi.&lt;/p&gt;
&lt;p&gt;Se lavorate con contratti o manuali salvati sul disco fisso, seguendo la rotta di Navigaweb basta trascinare il documento PDF direttamente dentro la finestra di Edge. Anche senza caricare il file su internet, l'assistente leggerà l'intero documento in locale, permettendovi di cercare clausole specifiche e tradurre interi capitoli senza condividere l'archivio all'esterno.&lt;/p&gt;
&lt;h3&gt;Google Chrome&lt;/h3&gt;
&lt;p&gt;Il navigatore più utilizzato al mondo, &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2011/09/scaricare-o-aggiornare-google-chrome.html"&gt;Google Chrome&lt;/a&gt;&lt;/strong&gt;, sfrutta il motore Gemini per gestire la riscrittura dei testi e l'organizzazione automatica delle schede aperte. Facendo clic con il tasto destro dentro un campo di testo, il sistema aiuta a formulare messaggi formali o risposte a email complesse basandosi sul contesto della pagina.&lt;/p&gt;
&lt;p&gt;Questa ricchezza di strumenti si paga sul fronte delle risorse. Il programma assorbe blocchi imponenti di memoria RAM, penalizzando i portatili con schede madri limitate. Inoltre, l'ecosistema di Mountain View continua a registrare le abitudini di navigazione per finalità pubblicitarie, un aspetto da valutare se la riservatezza è una priorità.&lt;/p&gt;
&lt;h3&gt;Opera&lt;/h3&gt;
&lt;p&gt;Conosciuto per la capacità di introdurre novità prima degli altri, &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2015/10/opera-33-torna-col-turbo-ed-e-un.html"&gt;Opera&lt;/a&gt;&lt;/strong&gt; propone l'assistente Aria. Una delle caratteristiche più riuscite è la gestione delle schede raggruppate in isole tematiche indipendenti, che evitano il disordine visivo durante le sessioni di ricerca prolungate.&lt;/p&gt;
&lt;p&gt;Premendo la sequenza Ctrl+/ compare una riga di comando per interrogare l'assistente al volo, senza occupare spazio sui lati dello schermo. Il software include un filtro per la pubblicità e una rete virtuale integrata, sebbene la proprietà societaria suggerisca cautela a chi tratta dati aziendali riservati.&lt;/p&gt;
&lt;h2&gt;Navigatori per la privacy e il controllo del codice&lt;/h2&gt;
&lt;p&gt;Per chi rifiuta l'idea di inviare i propri testi ad algoritmi di profilazione commerciale, esistono progetti indipendenti costruiti per proteggere la navigazione o consentire l'uso di modelli trasparenti.&lt;/p&gt;
&lt;h3&gt;Brave Browser&lt;/h3&gt;
&lt;p&gt;Basato sulla base comune di Chromium, &lt;strong&gt;&lt;a href="https://brave.com/" rel="nofollow" target="_blank"&gt;Brave&lt;/a&gt;&lt;/strong&gt; rimuove alla radice inserzioni pubblicitarie e tracker grazie al suo scudo nativo, velocizzando il caricamento delle pagine pesanti. Il suo assistente interno, denominato Leo, è progettato per riassumere articoli e analizzare codice di programmazione senza memorizzare le conversazioni o riutilizzare i messaggi degli utenti per scopi di addestramento.&lt;/p&gt;
&lt;p&gt;Nelle impostazioni di sicurezza è possibile abilitare la randomizzazione dell'impronta digitale. Questa funzione altera i parametri del dispositivo comunicati ai server web, impedendo alle agenzie pubblicitarie di tracciare la navigazione anche quando i cookie vengono cancellati regolarmente.&lt;/p&gt;
&lt;h3&gt;Mozilla Firefox&lt;/h3&gt;
&lt;p&gt;La bandiera del software libero, &lt;strong&gt;&lt;a href="https://www.mozilla.org/firefox/" rel="nofollow" target="_blank"&gt;Mozilla Firefox&lt;/a&gt;&lt;/strong&gt;, non impone l'assistente artificiale nella schermata principale, lasciando piena libertà all'utente. Si distingue per la protezione avanzata contro i cookie traccianti di terze parti e per il supporto impeccabile a componenti di blocco avanzati come uBlock Origin.&lt;/p&gt;
&lt;p&gt;Chi desidera integrare strumenti intelligenti può farlo tramite i moduli aggiuntivi nella barra laterale, mantenendo il controllo su quali pagine condividere. Attivando il protocollo DNS cifrato nelle preferenze di rete, si rende invisibile al proprio fornitore di connessione la lista dei siti visitati.&lt;/p&gt;
&lt;h3&gt;Vivaldi&lt;/h3&gt;
&lt;p&gt;Pensato per chi desidera personalizzare ogni millimetro dello schermo, &lt;strong&gt;&lt;a href="https://vivaldi.com/" rel="nofollow" target="_blank"&gt;Vivaldi&lt;/a&gt;&lt;/strong&gt; permette di disporre le schede a mosaico e creare barre degli strumenti su misura. Non obbliga all'uso di un assistente predefinito, ma consente di agganciare qualsiasi servizio web in un pannello a comparsa laterale.&lt;/p&gt;
&lt;p&gt;Premendo il tasto F2 si richiama una console di comandi rapidi capace di eseguire operazioni complesse, calcoli matematici e ricerche tra le schede con pochissimi tocchi di tastiera, riducendo a zero l'uso del mouse.&lt;/p&gt;
&lt;h2&gt;L'evoluzione finale: gli Agenti AI che navigano per noi&lt;/h2&gt;
&lt;p&gt;Esiste una categoria di strumenti che va oltre il concetto di browser. Non sono programmi per "visitare" i siti, ma agenti che navigano al posto nostro per costruire la risposta perfetta. Invece di darvi una lista di link, questi strumenti leggono decine di pagine diverse e creano un documento sintetico e strutturato.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.genspark.ai/browser" rel="nofollow" target="_blank"&gt;Genspark&lt;/a&gt;&lt;/strong&gt; è l'esempio più avanzato di questo approccio. Non vi costringe a saltare da un sito all'altro, ma genera delle &lt;em&gt;Sparkpages&lt;/em&gt;: pagine web create in tempo reale che raccolgono le migliori informazioni dal web, confrontano i pro e i contro di un prodotto e scartano i contenuti pubblicitari. È lo strumento ideale per chi deve fare ricerche di mercato o studiare un argomento complesso senza perdere ore a filtrare i risultati di Google.&lt;/p&gt;
&lt;h3&gt;Comet di Perplexity&lt;/h3&gt;

&lt;p&gt;Mentre i concorrenti aggiungono una barra laterale su un programma vecchio di vent'anni, &lt;strong&gt;&lt;a href="https://www.perplexity.ai/comet" rel="nofollow" target="_blank"&gt;Comet&lt;/a&gt;&lt;/strong&gt; rappresenta il primo tentativo di costruire un navigatore nativo attorno all'intelligenza artificiale. Sviluppato da Perplexity sulla base solida di Chromium, funziona come un'applicazione indipendente per il computer.&lt;/p&gt;

&lt;p&gt;La sua caratteristica distintiva rispetto a Edge o Chrome risiede nella capacità di dialogare con più schede contemporaneamente. Se state pianificando un viaggio o confrontando schede hardware, l'assistente non legge soltanto la finestra in primo piano, ma sintetizza i dati sparsi tra tutte le pagine aperte, evidenziando discrepanze e prezzi migliori senza costringervi a passare da un tab all'altro. Integra un blocco delle inserzioni pubblicitarie per mantenere il testo pulito e risponde a comandi vocali immediati per interrogare la cronologia recente.&lt;/p&gt;
&lt;p&gt;Invece di l'indice di link classico, l'agente risponde in modo discorsivo citando ogni singola fonte con un numero, permettendo di verificare l'attendibilità di ogni frase con un solo clic. Questi strumenti non sostituiscono il browser per controllare l'email o i social, ma lo sostituiscono completamente quando l'obiettivo è l'acquisizione di conoscenza.&lt;/p&gt;

&lt;h2&gt;Progetti emergenti e navigazione senza tracce&lt;/h2&gt;
&lt;p&gt;Il panorama del software per computer include soluzioni fuori dagli schemi convenzionali, dedicate a esigenze specifiche di produttività o riservatezza estrema.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://arc.net/" rel="nofollow" target="_blank"&gt;Arc Browser&lt;/a&gt;&lt;/strong&gt;: Ridisegna l'interfaccia eliminando la classica barra superiore a favore di spazi di lavoro tematici. Le sue funzioni automatiche riassumono il contenuto delle pagine passando il puntatore del mouse sopra un link e rinominano in modo ordinato i file scaricati.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.navigaweb.net/2011/05/navigazione-anonima-con-tor-browser-e.html"&gt;Tor Browser&lt;/a&gt;&lt;/strong&gt;: Costruito sulla base di Firefox, fa rimbalzare la connessione attraverso nodi cifrati distribuiti in tutto il mondo. Rende nullo qualsiasi tentativo di tracciamento e blocca gli script invasivi, risultando indispensabile in contesti sensibili.&lt;/li&gt;
&lt;li&gt;Se le risorse hardware a disposizione sono molto limitate, consultate la nostra selezione con &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2009/09/lista-di-browser-portatili-da-usare-su.html"&gt;I migliori browser portatili e leggeri&lt;/a&gt;&lt;/strong&gt;, dove programmi essenziali come &lt;strong&gt;&lt;a href="https://www.falkon.org/" rel="nofollow" target="_blank"&gt;Falkon&lt;/a&gt;&lt;/strong&gt; o &lt;strong&gt;&lt;a href="https://astian.org/midori/" rel="nofollow" target="_blank"&gt;Midori&lt;/a&gt;&lt;/strong&gt; sacrificano le funzioni superflue per garantire fluidità assoluta.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;AI in Cloud vs AI Locale: la differenza che conta&lt;/h2&gt;
&lt;p&gt;La maggior parte degli assistenti che abbiamo visto invia i vostri dati a server remoti per elaborarli. Tuttavia, stiamo entrando nell'era dell'AI locale. Grazie ai nuovi processori dotati di NPU (Neural Processing Units), alcuni browser stanno iniziando a far girare modelli linguistici di piccole dimensioni direttamente sulla memoria del vostro computer.&lt;/p&gt;
&lt;p&gt;Questo significa che il riassunto di una pagina o la traduzione di un testo avviene istantaneamente, funziona anche in assenza di internet e, soprattutto, i vostri dati non lasciano mai l'hardware. Questa tecnologia è la scelta obbligata per chi tratta informazioni sensibili e non vuole che i propri documenti finiscano nei database di addestramento delle grandi aziende tech.&lt;/p&gt;
&lt;h2&gt;Alternative di nicchia e architetture leggere&lt;/h2&gt;
&lt;p&gt;Oltre ai grandi nomi e ai nuovi agenti AI, esistono navigatori nati per scopi molto specifici: l'estrema leggerezza o l'uso di motori di rendering alternativi. Questi programmi non offrono l'integrazione dell'intelligenza artificiale, ma restano validi per chi opera su hardware datati o desidera allontanarsi dai circuiti dei grandi produttori.&lt;/p&gt;
&lt;p&gt;Per chi cerca un'esperienza di navigazione diversa, abbiamo analizzato nel tempo diversi &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2009/09/lista-di-browser-portatili-da-usare-su.html"&gt;browser alternativi e leggeri&lt;/a&gt;&lt;/strong&gt;. Possiamo raggrupparli in base alla loro base tecnica:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Derivati da Firefox:&lt;/strong&gt; Per chi ama l'architettura di Mozilla ma cerca varianti più snelle, rimangono opzioni come &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2014/11/scarica-k-meleon-browser-variante-di.html"&gt;K-Meleon&lt;/a&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;a href="https://www.palemoon.org/" rel="nofollow" target="_blank"&gt;Palemoon&lt;/a&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;a href="https://www.seamonkey-project.org/" rel="nofollow" target="_blank"&gt;SeaMonkey&lt;/a&gt;&lt;/strong&gt; o &lt;strong&gt;&lt;a href="https://www.waterfox.com/" rel="nofollow" target="_blank"&gt;Waterfox&lt;/a&gt;&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Derivati da Chromium:&lt;/strong&gt; Se preferite la compatibilità di Chrome ma volete cambiare gestione dei dati, esistono alternative come &lt;strong&gt;Comodo Dragon&lt;/strong&gt;, &lt;strong&gt;SRWare Iron&lt;/strong&gt; o &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2013/02/browser-leggeri-slimbrowser-e-slimboat.html"&gt;SlimJet&lt;/a&gt;&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sistemi multi-engine:&lt;/strong&gt; Per chi cerca una gestione ibrida della navigazione, l'archivio include soluzioni come &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2012/04/grande-browser-per-internet-maxthon-3.html"&gt;Maxthon&lt;/a&gt;&lt;/strong&gt; o &lt;strong&gt;Avant Browser&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Quale navigatore scegliere in base alle esigenze&lt;/h2&gt;
&lt;p&gt;Per evitare di installare programmi inutili, ecco una sintesi basata sul profilo di utilizzo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Per studio e ricerca complessa:&lt;/strong&gt; e confronto tra fonti: Genspark o Comet sono i più efficaci per elaborare decine di pagine ed estrarre tabelle comparative senza perdere tempo&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Per produttività e ufficio:&lt;/strong&gt; Edge o Arc sono i più efficienti per gestire documenti e organizzare le schede.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Per la massima privacy:&lt;/strong&gt; Brave e Firefox restano le scelte migliori per limitare il tracciamento.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Per chi ha un PC datato:&lt;/strong&gt; Falkon è la scelta più razionale per non saturare la RAM.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Accorgimenti tecnici e rischi dell'intelligenza artificiale&lt;/h2&gt;
&lt;p&gt;Cosa valutare concretamente prima di impostare un nuovo navigatore predefinito per il proprio lavoro:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Impatto sulla memoria di sistema: Gli strumenti che mantengono motori linguistici sempre attivi consumano una quantità rilevante di RAM. Su computer dotati di dotazioni basilari di memoria, conviene disattivare l'avvio automatico degli assistenti laterali.&lt;/li&gt;
&lt;li&gt;Trattamento dei documenti riservati: Evitate di sottoporre all'assistente testi contenenti informazioni bancarie o credenziali di accesso, a meno che il software non garantisca l'elaborazione interamente locale tramite NPU.&lt;/li&gt;
&lt;li&gt;Il rischio di allucinazioni: Ricordate che l'AI non legge nel senso umano, ma calcola probabilità statistiche. Può capitare che l'assistente inventi una data o una citazione con estrema sicurezza. Verificate sempre le informazioni critiche direttamente nella pagina web.&lt;/li&gt;
&lt;li&gt;Funzionamento offline: Se l'AI non è locale (on-device), l'assistente smette di funzionare non appena scompare il segnale Wi-Fi o la linea telefonica.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Diario di bordo di Navigaweb&lt;/h3&gt;
&lt;p&gt;Siamo abituati a usare lo stesso programma per anni, spesso per pura inerzia. Eppure, ogni volta che devo fare una ricerca complessa per scrivere un articolo, mi ritrovo ad aprire Edge o a delegare la prima scansione a un agente come Genspark. L'invadenza di alcune aziende nel piazzare i propri servizi ovunque è irritante, ma la comodità di avere un pannello laterale che legge i PDF e trova esattamente la riga che sto cercando mi fa risparmiare un'ora di lavoro al giorno. Il mio consiglio è di affiancare un navigatore moderno a quello abituale. Usate il vecchio per i social e quello nuovo per studiare o lavorare: il salto di qualità giustifica ampiamente l'uso di due icone diverse sulla barra degli strumenti.&lt;/p&gt;


&lt;p&gt;Altri articoli che possiamo leggere a tema browser sono i seguenti:&lt;a href="https://www.navigaweb.net/2012/07/migliori-8-alternative-firefox-basate.html"&gt; migliori alternative a Firefox&lt;/a&gt;, &lt;a href="https://www.navigaweb.net/2012/07/alternative-chrome-senza-google-i.html"&gt;migliori alternative a Google Chrome&lt;/a&gt;. &lt;/p&gt;&lt;div data-video-id="360EHZwiip4"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt; &lt;p&gt;&lt;font size="3"&gt;Articolo pubblicato su  &lt;a title="Navigaweb.net" href="https://www.navigaweb.net" target="_blank"&gt;&lt;font size="3"&gt;Navigaweb.net&lt;/font&gt;&lt;/a&gt;. Non è consentito ripubblicare senza il consenso dell'autore. Segui anche su &lt;a href="https://www.facebook.com/navigaweb"&gt;Facebook&lt;/a&gt;, &lt;a href="https://twitter.com/pomhey"&gt;Twitter&lt;/a&gt; e &lt;a href="https://news.google.com/publications/CAAqBggKMLPofjD03wk"&gt;Google News&lt;/a&gt; .&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;</content><link href="https://www.navigaweb.net/2012/09/migliori-browser-gratuiti.html#comment-form" rel="replies" title="0 Commenti" type="text/html"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/6369948839201540502" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/6369948839201540502" rel="self" type="application/atom+xml"/><link href="https://www.navigaweb.net/2012/09/migliori-browser-gratuiti.html" rel="alternate" title="Migliori browser con AI su PC per integrare schede e chat" type="text/html"/><author><name>Claudio Pomes</name><uri>http://www.blogger.com/profile/05867241310817527022</uri><email>noreply@blogger.com</email><gd:image height="32" rel="http://schemas.google.com/g/2005#thumbnail" src="//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnjMmdIWMIcd464SD-u4VsJBXmTf1BTGQAIVPFdzGK2Z3P1ZKbrISt8SdSFSGSzoc4KvmJvACpnL9lE9x7-fXplMVjqdG1IkoB_Jq_kclZtfLmEoSONobAo5j2sFP2wxJHIGZa5_p5KwCURDkifbBQtwrgA_Q52gr-Hnsn9Eg7vVYocYc/s220/pomheybokeh.jpg" width="32"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqZcVbYtq3ax_D9cV8RsAeOSdU4k-cOOOzhUT__QvgZhaA1KiIpG0W7iKXXUY_N9JRbSwy8tmyVcmzlh3H53FFB9QjS_r_hchzGJkh9f48KCFk8W2dyH_F3vA6m6Ejqq88mCPzjpqEwrS8vhjbdfXpN8F5kYY84RYcyQiaF9lUUEWF2dUQDRM3RgCkxgqf/s72-c/browsertop.jpg" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5148617246197063026.post-8847159575095635214</id><published>2026-10-02T14:01:49.302+02:00</published><updated>2026-10-02T15:08:42.669+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Navigaweb App"/><category scheme="http://www.blogger.com/atom/ns#" term="Video"/><category scheme="http://www.blogger.com/atom/ns#" term="YouTube"/><title type="text">Video player come VLC nel browser per file e streaming</title><content type="html">&lt;img alt="Lettore video online" border="0" width="400" data-original-height="473" data-original-width="545" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJsd86FOdTd8mxDwzmyHg7hobppooKpX0BCQ5w-pHrFHyue9Cf_3snxOxKL3JotiMIiLpqL4DEc4poJbU3f8ldc1XFXjj-VS6HMq7okWHW71WIJ9SV46SCq52HIAM03H8BTmAaFhxN-tOSCx48886pzaOrngDQb5-S-63v0fk_TxemsxiX7bxMkbzDvk3S/s400/NavigawebPlayer.jpg"/&gt; &lt;p&gt;Ero seduto davanti a un PC aziendale bloccato dall'amministratore di sistema e non potevo installare nulla. Mi avevano inviato la registrazione di una videocall fondamentale, ma l'audio era così basso che, anche con le casse al massimo, si sentiva solo un sussurro incomprensibile. Senza i permessi per &lt;a href="https://www.navigaweb.net/2008/09/vlc-player-092-miglior-programma-per.html"&gt;scaricare VLC Media Player&lt;/a&gt; e usare il suo amplificatore integrato, la riunione era inascoltabile. Ho pensato che serviva uno strumento capace di fare lo stesso lavoro, ma che vivesse direttamente dentro una pagina web.&lt;/p&gt;
&lt;p&gt;Questo strumento, &lt;b&gt;il NavigaWeb Video Player&lt;/b&gt; che funziona tutto online e senza installare nulla, l'abbiamo creato e integrato qui sotto. Penso potrà essere utile non solo su un computer blindato da restrizioni, ma anche quando si ricevono file video pesanti da guardare al volo senza sporcare il sistema operativo con nuovi programmi. È un &lt;b&gt;riproduttore video universale che non richiede estensioni&lt;/b&gt;, non chiede registrazioni e, soprattutto, non invia i vostri file personali a nessun server esterno.&lt;/p&gt;
&lt;a name='more'&gt;&lt;/a&gt;
&lt;div id="vlc-web-pro-wrapper" style="all: initial; display: block; position: relative; z-index: 10; isolation: isolate; width: 100%; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; box-sizing: border-box;"&gt;

    &lt;style&gt;
        .vlc-app-container {
            background: linear-gradient(160deg, #090d16 0%, #172033 100%);
            color: #f8fafc;
            padding: 25px 20px;
            border-radius: 24px;
            box-shadow: 0 25px 55px rgba(0, 0, 0, 0.55);
            max-width: 880px;
            margin: 20px auto;
            text-align: center;
            box-sizing: border-box;
            border: 1px solid rgba(255, 255, 255, 0.1);
            touch-action: manipulation;
            user-select: none;
            position: relative;
        }

        .vlc-app-container:fullscreen, 
        .vlc-app-container:-webkit-full-screen {
            max-width: 100vw !important;
            width: 100vw !important;
            height: 100vh !important;
            border-radius: 0 !important;
            padding: 15px !important;
            background: #000000 !important;
        }

        .vlc-header-bar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 16px;
            flex-wrap: wrap;
            gap: 12px;
        }

        .vlc-title-area {
            text-align: left;
        }

        .vlc-title-area h3 {
            margin: 0 0 4px 0;
            font-size: 24px;
            font-weight: 800;
            color: #ffffff;
            letter-spacing: -0.5px;
        }

        .vlc-title-area h3 span {
            color: #f97316;
        }

        .vlc-title-area p {
            margin: 0;
            font-size: 13px;
            color: #94a3b8;
        }

        .btn-pwa-action {
            background: rgba(249, 115, 22, 0.15);
            color: #f97316;
            border: 1px solid rgba(249, 115, 22, 0.4);
            padding: 8px 14px;
            border-radius: 20px;
            font-size: 11px;
            font-weight: 800;
            cursor: pointer;
            transition: all 0.2s;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .btn-pwa-action:hover {
            background: #f97316;
            color: #ffffff;
        }

        /* Scelta Sorgente */
        .source-selector-tabs {
            display: flex;
            gap: 8px;
            background: rgba(0, 0, 0, 0.35);
            padding: 5px;
            border-radius: 14px;
            margin-bottom: 16px;
            border: 1px solid rgba(255, 255, 255, 0.06);
            flex-wrap: wrap;
        }

        .tab-btn-src {
            flex: 1;
            min-width: 130px;
            padding: 9px;
            background: transparent;
            border: 1px solid transparent;
            color: #94a3b8;
            font-size: 12px;
            font-weight: 700;
            border-radius: 10px;
            cursor: pointer;
            transition: all 0.2s;
        }

        .tab-btn-src.active {
            background: rgba(249, 115, 22, 0.2);
            color: #f97316;
            border-color: rgba(249, 115, 22, 0.4);
        }

        .input-bar-container {
            margin-bottom: 16px;
        }

        .input-row-flex {
            display: none;
            gap: 8px;
        }

        .vlc-text-input {
            flex: 1;
            padding: 12px 14px;
            background: #0f172a;
            border: 1.5px solid rgba(255, 255, 255, 0.15);
            border-radius: 12px;
            color: #ffffff;
            font-size: 14px;
            outline: none;
        }

        .vlc-text-input:focus {
            border-color: #f97316;
        }

        .btn-load-src {
            padding: 12px 20px;
            background: #f97316;
            color: #ffffff;
            border: none;
            border-radius: 12px;
            font-size: 13px;
            font-weight: 800;
            cursor: pointer;
            white-space: nowrap;
        }

        .local-drop-box {
            border: 2px dashed rgba(249, 115, 22, 0.4);
            background: rgba(0, 0, 0, 0.25);
            padding: 18px 14px;
            border-radius: 16px;
            cursor: pointer;
            transition: all 0.2s;
        }

        .local-drop-box:hover {
            background: rgba(249, 115, 22, 0.08);
            border-color: #f97316;
        }

        #avi-warning-banner {
            display: none;
            background: rgba(239, 68, 68, 0.18);
            border: 1.5px solid rgba(239, 68, 68, 0.5);
            color: #fca5a5;
            padding: 12px 16px;
            border-radius: 12px;
            font-size: 13px;
            line-height: 1.4;
            margin-bottom: 16px;
            text-align: left;
        }

        #yt-mode-banner {
            display: none;
            background: rgba(249, 115, 22, 0.15);
            border: 1px solid rgba(249, 115, 22, 0.4);
            color: #fdba74;
            padding: 8px 14px;
            border-radius: 10px;
            font-size: 12px;
            margin-bottom: 16px;
            font-weight: 600;
        }

        /* SCHERMO VIDEO */
        .video-viewport-screen {
            position: relative;
            width: 100%;
            height: 440px;
            background: #000000;
            border-radius: 18px;
            overflow: hidden;
            border: 2px solid rgba(255, 255, 255, 0.1);
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.7);
            display: flex;
            align-items: center;
            justify-content: center;
            box-sizing: border-box;
            cursor: default;
        }

        .video-viewport-screen:fullscreen,
        .video-viewport-screen:-webkit-full-screen {
            width: 100vw !important;
            height: 100vh !important;
            max-width: 100vw !important;
            border-radius: 0 !important;
            border: none !important;
        }

        .video-viewport-screen.hide-cursor {
            cursor: none !important;
        }

        #main-video-el {
            width: 100%;
            height: 100%;
            object-fit: contain;
            outline: none;
        }

        #yt-nocookie-iframe {
            display: none;
            width: 100%;
            height: 100%;
            border: none;
        }

        .screen-idle-watermark {
            color: #64748b;
            font-size: 14px;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 10px;
            position: absolute;
            pointer-events: none;
        }

        .vlc-cone-icon {
            width: 50px;
            height: 50px;
            color: #f97316;
        }

        /* CONTROLLI IN OVERLAY */
        .vlc-overlay-controls-panel {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            background: linear-gradient(to top, rgba(0, 0, 0, 0.94) 0%, rgba(0, 0, 0, 0.6) 70%, transparent 100%);
            padding: 16px 14px 10px 14px;
            box-sizing: border-box;
            display: flex;
            flex-direction: column;
            gap: 6px;
            z-index: 20;
            opacity: 1;
            transition: opacity 0.3s ease;
            pointer-events: auto;
        }

        .vlc-overlay-controls-panel.autohide {
            opacity: 0 !important;
            pointer-events: none !important;
        }

        .scrub-timeline-row {
            display: flex;
            align-items: center;
            gap: 10px;
            width: 100%;
            box-sizing: border-box;
        }

        .time-display {
            font-family: monospace;
            font-size: 11px;
            color: #f8fafc;
            min-width: 75px;
            text-shadow: 0 1px 3px rgba(0,0,0,0.8);
            white-space: nowrap;
        }

        .timeline-slider {
            flex: 1;
            height: 5px;
            -webkit-appearance: none;
            background: rgba(255, 255, 255, 0.3);
            border-radius: 4px;
            outline: none;
            cursor: pointer;
            transition: height 0.15s;
        }

        .timeline-slider:hover {
            height: 7px;
        }

        .timeline-slider::-webkit-slider-thumb {
            -webkit-appearance: none;
            width: 13px;
            height: 13px;
            border-radius: 50%;
            background: #f97316;
            cursor: pointer;
            box-shadow: 0 0 6px #f97316;
        }

        .icons-single-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            width: 100%;
            box-sizing: border-box;
            gap: 6px;
        }

        .icons-left-group {
            display: flex;
            align-items: center;
            gap: 6px;
            flex: 1;
            min-width: 0;
        }

        .btn-overlay-icon {
            width: 34px;
            height: 34px;
            border-radius: 8px;
            background: rgba(255, 255, 255, 0.1);
            border: 1px solid rgba(255, 255, 255, 0.15);
            color: #f8fafc;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.2s;
            padding: 0;
            flex-shrink: 0 !important;
            box-sizing: border-box;
        }

        .btn-overlay-icon:hover {
            background: #f97316;
            color: #ffffff;
            border-color: #f97316;
        }

        .btn-play-orange {
            background: #f97316;
            color: #ffffff;
            border: none;
        }

        .btn-play-orange:hover {
            background: #ea580c;
        }

        .btn-overlay-icon svg {
            width: 16px;
            height: 16px;
            stroke: currentColor;
            fill: none;
            stroke-width: 2;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        /* BOX VOLUME POTENZIATO CON LINEA PIÙ LUNGA E SCALA BICOLORE */
        .overlay-volume-box {
            display: flex;
            align-items: center;
            gap: 6px;
            background: rgba(0, 0, 0, 0.55);
            padding: 3px 10px;
            border-radius: 8px;
            border: 1px solid rgba(255, 255, 255, 0.15);
            flex-shrink: 0;
        }

        /* La prima metà (0-100%) è standard, la seconda metà (100-200%) è arancione BOOST */
        .vol-slider-compact {
            width: 95px;
            height: 5px;
            -webkit-appearance: none;
            background: linear-gradient(to right, rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0.35) 50%, rgba(249, 115, 22, 0.6) 50%, rgba(249, 115, 22, 0.6) 100%);
            border-radius: 4px;
            outline: none;
            cursor: pointer;
            transition: width 0.2s;
        }

        .vol-slider-compact::-webkit-slider-thumb {
            -webkit-appearance: none;
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background: #f97316;
            cursor: pointer;
            box-shadow: 0 0 5px rgba(0, 0, 0, 0.6);
        }

        .vol-pct-txt {
            font-size: 11px;
            font-weight: 800;
            color: #f97316;
            min-width: 36px;
            display: inline-block;
            transition: all 0.2s;
        }

        #btn-fs-toggle {
            flex-shrink: 0 !important;
            margin-left: auto;
        }

        /* Barra Strumenti Secondaria */
        .secondary-tools-panel {
            background: rgba(0, 0, 0, 0.3);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 14px;
            padding: 10px 14px;
            margin-top: 14px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-wrap: wrap;
            gap: 8px;
        }

        .btn-tool-text {
            background: rgba(255, 255, 255, 0.06);
            border: 1px solid rgba(255, 255, 255, 0.12);
            color: #cbd5e1;
            padding: 8px 12px;
            border-radius: 8px;
            font-size: 11px;
            font-weight: 700;
            cursor: pointer;
            transition: all 0.2s;
            display: inline-flex;
            align-items: center;
            gap: 5px;
        }

        .btn-tool-text:hover {
            background: rgba(255, 255, 255, 0.15);
            color: #ffffff;
            border-color: #38bdf8;
        }

        .select-speed-clean {
            background: #0f172a;
            color: #cbd5e1;
            border: 1px solid rgba(255, 255, 255, 0.15);
            padding: 7px 10px;
            border-radius: 8px;
            font-size: 11px;
            font-weight: 700;
            cursor: pointer;
            outline: none;
        }

        .effects-drawer-panel {
            display: none;
            background: rgba(0, 0, 0, 0.35);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 16px;
            padding: 16px;
            margin-top: 14px;
            text-align: left;
        }

        .effects-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 14px;
        }

        .effect-item {
            display: flex;
            flex-direction: column;
            gap: 6px;
        }

        .effect-label-row {
            display: flex;
            justify-content: space-between;
            font-size: 11px;
            font-weight: 700;
            color: #cbd5e1;
            text-transform: uppercase;
        }

        .effect-range {
            width: 100%;
            height: 5px;
            -webkit-appearance: none;
            background: rgba(255, 255, 255, 0.15);
            border-radius: 4px;
            outline: none;
            cursor: pointer;
        }

        .effect-range::-webkit-slider-thumb {
            -webkit-appearance: none;
            width: 14px;
            height: 14px;
            border-radius: 50%;
            background: #38bdf8;
            cursor: pointer;
        }

        .shortcuts-hint-bar {
            margin-top: 12px;
            font-size: 11px;
            color: #64748b;
            display: flex;
            justify-content: center;
            gap: 12px;
            flex-wrap: wrap;
        }

        .shortcuts-hint-bar kbd {
            background: rgba(255, 255, 255, 0.08);
            border: 1px solid rgba(255, 255, 255, 0.15);
            border-radius: 4px;
            padding: 2px 6px;
            font-family: monospace;
            color: #cbd5e1;
        }

        .pwa-modal-overlay {
            display: none;
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(15, 23, 42, 0.96);
            backdrop-filter: blur(8px);
            border-radius: 24px;
            z-index: 50;
            padding: 25px 20px;
            box-sizing: border-box;
            text-align: left;
            overflow-y: auto;
        }

        .pwa-step-card {
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 12px;
            padding: 12px 14px;
            margin-bottom: 10px;
        }

        .pwa-step-card strong {
            display: block;
            color: #f97316;
            font-size: 13px;
            margin-bottom: 4px;
        }

        .pwa-step-card p {
            margin: 0;
            font-size: 12px;
            color: #cbd5e1;
            line-height: 1.4;
        }

        /* Regole Mobile con Linea Volume Allungata */
        @media (max-width: 650px) {
            .vlc-app-container {
                padding: 16px 8px;
            }
            .video-viewport-screen {
                height: 230px;
            }
            .vlc-overlay-controls-panel {
                padding: 10px 8px 8px 8px;
            }
            .scrub-timeline-row {
                gap: 6px;
            }
            .time-display {
                font-size: 10px;
                min-width: auto;
            }
            .icons-left-group {
                gap: 3px;
            }
            .btn-overlay-icon {
                width: 28px;
                height: 28px;
                border-radius: 6px;
            }
            .btn-overlay-icon svg {
                width: 13px;
                height: 13px;
            }
            .overlay-volume-box {
                padding: 1px 5px;
                gap: 3px;
            }
            /* Linea Volume allungata su mobile */
            .vol-slider-compact {
                width: 65px;
            }
            .vol-pct-txt {
                display: inline-block !important;
                font-size: 10px;
                min-width: 32px;
            }
            .effects-grid {
                grid-template-columns: 1fr;
            }
            .secondary-tools-panel {
                gap: 5px;
            }
            .btn-tool-text {
                font-size: 10px;
                padding: 6px 9px;
            }
        }
    &lt;/style&gt;

    &lt;div class="vlc-app-container"&gt;
        
        &lt;div class="vlc-header-bar"&gt;
            &lt;div class="vlc-title-area"&gt;
                &lt;h3&gt;Naviga&lt;span&gt;WebPlayer&lt;/span&gt;&lt;/h3&gt;
            &lt;/div&gt;
            &lt;button id="btn-pwa-vlc-trigger" class="btn-pwa-action" onclick="triggerVlcPwaInstall()"&gt;
                Salva come App
            &lt;/button&gt;
        &lt;/div&gt;

        &lt;!-- Selettore Sorgente --&gt;
        &lt;div class="source-selector-tabs"&gt;
            &lt;button id="tab-src-file" class="tab-btn-src active" onclick="switchVideoSourceTab('file')"&gt;Video Locale&lt;/button&gt;
            &lt;button id="tab-src-stream" class="tab-btn-src" onclick="switchVideoSourceTab('stream')"&gt;Stream Web (M3U8 / MP4)&lt;/button&gt;
            &lt;button id="tab-src-yt" class="tab-btn-src" onclick="switchVideoSourceTab('yt')"&gt;YouTube&lt;/button&gt;
        &lt;/div&gt;

        &lt;div class="input-bar-container"&gt;
            &lt;!-- 1. File Locale --&gt;
            &lt;div id="box-src-file" class="local-drop-box" onclick="document.getElementById('vlc-file-picker').click()"&gt;
                &lt;strong style="color: #f97316; font-size: 14px; display: block; margin-bottom: 4px;"&gt;Scegli o Trascina un file Video&lt;/strong&gt;
                &lt;span id="label-chosen-filename" style="color: #94a3b8; font-size: 12px;"&gt;Supporta MP4, WebM, MKV e MOV&lt;/span&gt;
                &lt;input type="file" id="vlc-file-picker" accept="video/mp4,video/webm,video/quicktime,.mkv,.mp4,.webm,.mov" style="display: none;" onchange="handleLocalVideoSelect(this)"&gt;
            &lt;/div&gt;

            &lt;!-- 2. Stream Diretto M3U8/MP4 --&gt;
            &lt;div id="box-src-stream" class="input-row-flex"&gt;
                &lt;input type="url" id="stream-url-input" class="vlc-text-input" placeholder="Incolla link video diretto o flusso HLS (.m3u8, .mp4)..."&gt;
                &lt;button class="btn-load-src" onclick="loadStreamUrl()"&gt;Riproduci&lt;/button&gt;
            &lt;/div&gt;

            &lt;!-- 3. YouTube No-Cookie --&gt;
            &lt;div id="box-src-yt" class="input-row-flex"&gt;
                &lt;input type="text" id="yt-url-input" class="vlc-text-input" placeholder="Incolla link YouTube (es. youtube.com/watch?v=... o youtu.be/...)"&gt;
                &lt;button class="btn-load-src" onclick="loadYouTubeNoCookie()"&gt;Avvia Privato&lt;/button&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;!-- Avviso Formato AVI --&gt;
        &lt;div id="avi-warning-banner"&gt;
            &lt;strong&gt;Formato non supportato (.avi)&lt;/strong&gt;
            I browser moderni (Chrome, Safari, Edge) non supportano i vecchi codec dei file AVI. Ti consigliamo di convertirlo in formato &lt;b&gt;.mp4&lt;/b&gt; per riprodurlo nel browser.
        &lt;/div&gt;

        &lt;div id="yt-mode-banner"&gt;
            Modalita YouTube Privacy Attiva: riproduzione via &lt;b&gt;youtube-nocookie.com&lt;/b&gt; senza cookie di profilazione e senza video correlati esterni.
        &lt;/div&gt;

        &lt;!-- SCHERMO VIDEO --&gt;
        &lt;div id="vlc-screen-viewport" class="video-viewport-screen"&gt;
            &lt;video id="main-video-el" playsinline="true" webkit-playsinline="true"&gt;&lt;/video&gt;
            &lt;iframe id="yt-nocookie-iframe" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen&gt;&lt;/iframe&gt;
            &lt;track id="subtitles-track" kind="subtitles" default style="display: none;"&gt;

            &lt;div id="idle-screen-placeholder" class="screen-idle-watermark"&gt;
                &lt;svg class="vlc-cone-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;polygon points="12 2 2 22 22 22"&gt;&lt;/polygon&gt;&lt;line x1="6.5" y1="13" x2="17.5" y2="13"&gt;&lt;/line&gt;&lt;line x1="8.5" y1="18" x2="15.5" y2="18"&gt;&lt;/line&gt;&lt;/svg&gt;
                &lt;span&gt;Nessun video in riproduzione&lt;/span&gt;
            &lt;/div&gt;

            &lt;!-- CONTROLLI IN OVERLAY --&gt;
            &lt;div id="vlc-overlay-controls" class="vlc-overlay-controls-panel"&gt;
                
                &lt;div class="scrub-timeline-row"&gt;
                    &lt;span id="time-current-txt" class="time-display"&gt;00:00&lt;/span&gt;
                    &lt;input type="range" id="video-seek-slider" class="timeline-slider" min="0" max="100" value="0" step="0.1" oninput="seekVideo(this.value)"&gt;
                    &lt;span id="time-duration-txt" class="time-display"&gt;00:00&lt;/span&gt;
                &lt;/div&gt;

                &lt;div class="icons-single-row"&gt;
                    &lt;div class="icons-left-group"&gt;
                        &lt;button id="btn-play-pause" class="btn-overlay-icon btn-play-orange" onclick="togglePlayPause()" title="Play/Pausa"&gt;
                            &lt;span id="icon-play-slot"&gt;&lt;/span&gt;
                        &lt;/button&gt;

                        &lt;button class="btn-overlay-icon" onclick="stopVideoPlayback()" title="Stop"&gt;
                            &lt;span id="icon-stop-slot"&gt;&lt;/span&gt;
                        &lt;/button&gt;

                        &lt;button class="btn-overlay-icon" onclick="skipVideoTime(-10)" title="-10 secondi"&gt;
                            &lt;span id="icon-back-slot"&gt;&lt;/span&gt;
                        &lt;/button&gt;

                        &lt;button class="btn-overlay-icon" onclick="skipVideoTime(10)" title="+10 secondi"&gt;
                            &lt;span id="icon-fwd-slot"&gt;&lt;/span&gt;
                        &lt;/button&gt;

                        &lt;!-- Box Volume con Barra Allungata e Zona Boost --&gt;
                        &lt;div class="overlay-volume-box"&gt;
                            &lt;button id="btn-mute-toggle" class="btn-overlay-icon" style="width:24px; height:24px; background:transparent; border:none;" onclick="toggleMuteVideo()" title="Muto"&gt;
                                &lt;span id="icon-vol-slot"&gt;&lt;/span&gt;
                            &lt;/button&gt;
                            &lt;input type="range" id="slider-vol-boost" class="vol-slider-compact" min="0" max="200" value="100" oninput="applyVolumeBoost(this.value)"&gt;
                            &lt;span id="vol-boost-label" class="vol-pct-txt"&gt;100%&lt;/span&gt;
                        &lt;/div&gt;
                    &lt;/div&gt;

                    &lt;button id="btn-fs-toggle" class="btn-overlay-icon" onclick="toggleVlcFullscreen()" title="Schermo Intero"&gt;
                        &lt;span id="icon-fs-slot"&gt;&lt;/span&gt;
                    &lt;/button&gt;
                &lt;/div&gt;

            &lt;/div&gt;

        &lt;/div&gt;

        &lt;!-- BARRA STRUMENTI SECONDARIA --&gt;
        &lt;div id="secondary-tools-bar" class="secondary-tools-panel"&gt;
            &lt;select id="select-playback-speed" class="select-speed-clean" onchange="changePlaybackSpeed(this.value)" title="Velocita di riproduzione"&gt;
                &lt;option value="0.5"&gt;0.5x&lt;/option&gt;
                &lt;option value="0.75"&gt;0.75x&lt;/option&gt;
                &lt;option value="1.0" selected&gt;1.0x (Normale)&lt;/option&gt;
                &lt;option value="1.25"&gt;1.25x&lt;/option&gt;
                &lt;option value="1.5"&gt;1.5x&lt;/option&gt;
                &lt;option value="2.0"&gt;2.0x&lt;/option&gt;
            &lt;/select&gt;

            &lt;button class="btn-tool-text" onclick="document.getElementById('subtitles-file-picker').click()"&gt;
                &lt;span&gt;Sottotitoli (.srt)&lt;/span&gt;
            &lt;/button&gt;
            &lt;input type="file" id="subtitles-file-picker" accept=".srt,.vtt" style="display: none;" onchange="handleSubtitlesUpload(this)"&gt;

            &lt;button class="btn-tool-text" onclick="toggleEffectsDrawer()"&gt;
                &lt;span&gt;Effetti Video&lt;/span&gt;
            &lt;/button&gt;

            &lt;button class="btn-tool-text" onclick="castVideoToScreen()" title="Trasmetti su TV"&gt;
                &lt;span&gt;Trasmetti (Cast)&lt;/span&gt;
            &lt;/button&gt;

            &lt;button class="btn-tool-text" onclick="toggleVideoPip()"&gt;
                &lt;span&gt;Finestra PiP&lt;/span&gt;
            &lt;/button&gt;
        &lt;/div&gt;

        &lt;!-- Promemoria Scorciatoie Tastiera --&gt;
        &lt;div class="shortcuts-hint-bar"&gt;
            &lt;span&gt;&lt;kbd&gt;Spazio&lt;/kbd&gt; Play/Pausa&lt;/span&gt;
            &lt;span&gt;&lt;kbd&gt;&amp;larr;&lt;/kbd&gt; &lt;kbd&gt;&amp;rarr;&lt;/kbd&gt; -10s / +10s&lt;/span&gt;
            &lt;span&gt;&lt;kbd&gt;&amp;uarr;&lt;/kbd&gt; &lt;kbd&gt;&amp;darr;&lt;/kbd&gt; Volume &amp;plusmn;10%&lt;/span&gt;
            &lt;span&gt;&lt;kbd&gt;F&lt;/kbd&gt; Schermo Intero&lt;/span&gt;
            &lt;span&gt;&lt;kbd&gt;M&lt;/kbd&gt; Muto&lt;/span&gt;
        &lt;/div&gt;

        &lt;!-- Effetti Video --&gt;
        &lt;div id="vlc-effects-drawer" class="effects-drawer-panel"&gt;
            &lt;div class="effects-grid"&gt;
                &lt;div class="effect-item"&gt;
                    &lt;div class="effect-label-row"&gt;
                        &lt;span&gt;Luminosita&lt;/span&gt;
                        &lt;span id="label-effect-bright" style="color: #38bdf8;"&gt;100%&lt;/span&gt;
                    &lt;/div&gt;
                    &lt;input type="range" id="slider-fx-bright" class="effect-range" min="50" max="180" value="100" oninput="applyVideoFilters()"&gt;
                &lt;/div&gt;

                &lt;div class="effect-item"&gt;
                    &lt;div class="effect-label-row"&gt;
                        &lt;span&gt;Contrasto&lt;/span&gt;
                        &lt;span id="label-effect-contrast" style="color: #38bdf8;"&gt;100%&lt;/span&gt;
                    &lt;/div&gt;
                    &lt;input type="range" id="slider-fx-contrast" class="effect-range" min="50" max="200" value="100" oninput="applyVideoFilters()"&gt;
                &lt;/div&gt;

                &lt;div class="effect-item"&gt;
                    &lt;div class="effect-label-row"&gt;
                        &lt;span&gt;Saturazione&lt;/span&gt;
                        &lt;span id="label-effect-saturate" style="color: #38bdf8;"&gt;100%&lt;/span&gt;
                    &lt;/div&gt;
                    &lt;input type="range" id="slider-fx-saturate" class="effect-range" min="0" max="220" value="100" oninput="applyVideoFilters()"&gt;
                &lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;!-- Modal PWA --&gt;
        &lt;div id="vlc-pwa-modal" class="pwa-modal-overlay"&gt;
            &lt;div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px;"&gt;
                &lt;h4 style="margin: 0; color: #ffffff; font-size: 18px;"&gt;Salva nei Preferiti ed Installa&lt;/h4&gt;
                &lt;button onclick="toggleVlcPwaModal(false)" style="background: transparent; border: none; color: #94a3b8; font-size: 20px; cursor: pointer; font-weight: bold;"&gt;X&lt;/button&gt;
            &lt;/div&gt;
            
            &lt;div class="pwa-step-card"&gt;
                &lt;strong&gt;Android (Chrome ed Edge)&lt;/strong&gt;
                &lt;p&gt;Premi i tre puntini in alto a destra e tocca &lt;b&gt;'Installa app'&lt;/b&gt; oppure &lt;b&gt;'Aggiungi a schermata Home'&lt;/b&gt;.&lt;/p&gt;
            &lt;/div&gt;

            &lt;div class="pwa-step-card"&gt;
                &lt;strong&gt;iPhone ed iPad (Safari)&lt;/strong&gt;
                &lt;p&gt;Tocca il tasto di Condivisione in basso (quadrato con freccia) e scegli &lt;b&gt;'Aggiungi alla schermata Home'&lt;/b&gt;.&lt;/p&gt;
            &lt;/div&gt;

            &lt;div class="pwa-step-card"&gt;
                &lt;strong&gt;Computer (PC Windows e Mac)&lt;/strong&gt;
                &lt;p&gt;Premi &lt;b&gt;Ctrl + D&lt;/b&gt; (su Windows) o &lt;b&gt;Cmd + D&lt;/b&gt; (su Mac) per aggiungerlo ai tuoi preferiti.&lt;/p&gt;
            &lt;/div&gt;

            &lt;button onclick="toggleVlcPwaModal(false)" class="btn-load-src" style="width: 100%; margin-top: 10px;"&gt;HO CAPITO&lt;/button&gt;
        &lt;/div&gt;

        &lt;!-- Template SVG Protetti --&gt;
        &lt;div id="vlc-svg-templates" style="display: none;"&gt;
            &lt;div id="svg-tpl-play"&gt;&lt;svg viewBox="0 0 24 24"&gt;&lt;polygon points="6 4 20 12 6 20 6 4" fill="currentColor"&gt;&lt;/polygon&gt;&lt;/svg&gt;&lt;/div&gt;
            &lt;div id="svg-tpl-pause"&gt;&lt;svg viewBox="0 0 24 24"&gt;&lt;rect x="6" y="4" width="4" height="16" fill="currentColor"&gt;&lt;/rect&gt;&lt;rect x="14" y="4" width="4" height="16" fill="currentColor"&gt;&lt;/rect&gt;&lt;/svg&gt;&lt;/div&gt;
            &lt;div id="svg-tpl-stop"&gt;&lt;svg viewBox="0 0 24 24"&gt;&lt;rect x="5" y="5" width="14" height="14" fill="currentColor"&gt;&lt;/rect&gt;&lt;/svg&gt;&lt;/div&gt;
            &lt;div id="svg-tpl-back"&gt;&lt;svg viewBox="0 0 24 24"&gt;&lt;polyline points="11 17 6 12 11 7"&gt;&lt;/polyline&gt;&lt;polyline points="18 17 13 12 18 7"&gt;&lt;/polyline&gt;&lt;/svg&gt;&lt;/div&gt;
            &lt;div id="svg-tpl-fwd"&gt;&lt;svg viewBox="0 0 24 24"&gt;&lt;polyline points="13 17 18 12 13 7"&gt;&lt;/polyline&gt;&lt;polyline points="6 17 11 12 6 7"&gt;&lt;/polyline&gt;&lt;/svg&gt;&lt;/div&gt;
            &lt;div id="svg-tpl-vol-on"&gt;&lt;svg viewBox="0 0 24 24"&gt;&lt;polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"&gt;&lt;/polygon&gt;&lt;path d="M15.54 8.46a5 5 0 0 1 0 7.07"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;
            &lt;div id="svg-tpl-vol-off"&gt;&lt;svg viewBox="0 0 24 24"&gt;&lt;polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"&gt;&lt;/polygon&gt;&lt;line x1="23" y1="9" x2="17" y2="15"&gt;&lt;/line&gt;&lt;line x1="17" y1="9" x2="23" y2="15"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/div&gt;
            &lt;div id="svg-tpl-fs"&gt;&lt;svg viewBox="0 0 24 24"&gt;&lt;path d="M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;
            &lt;div id="svg-tpl-exit-fs"&gt;&lt;svg viewBox="0 0 24 24"&gt;&lt;path d="M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;
        &lt;/div&gt;

    &lt;/div&gt;

&lt;/div&gt;

&lt;!-- Libreria Hls.js da CDN --&gt;
&lt;script src="https://cdn.jsdelivr.net/npm/hls.js@1.5.7/dist/hls.min.js"&gt;&lt;/script&gt;

&lt;script&gt;
(function() {
    var video = document.getElementById('main-video-el');
    var screenViewport = document.getElementById('vlc-screen-viewport');
    var overlayControls = document.getElementById('vlc-overlay-controls');
    var ytIframe = document.getElementById('yt-nocookie-iframe');
    var subTrack = document.getElementById('subtitles-track');
    var placeholder = document.getElementById('idle-screen-placeholder');
    var ytBanner = document.getElementById('yt-mode-banner');
    var aviBanner = document.getElementById('avi-warning-banner');

    var tabFile = document.getElementById('tab-src-file');
    var tabStream = document.getElementById('tab-src-stream');
    var tabYt = document.getElementById('tab-src-yt');

    var boxFile = document.getElementById('box-src-file');
    var boxStream = document.getElementById('box-src-stream');
    var boxYt = document.getElementById('box-src-yt');

    var streamInput = document.getElementById('stream-url-input');
    var ytInput = document.getElementById('yt-url-input');
    var chosenNameLabel = document.getElementById('label-chosen-filename');

    var seekSlider = document.getElementById('video-seek-slider');
    var timeCur = document.getElementById('time-current-txt');
    var timeDur = document.getElementById('time-duration-txt');
    var volSlider = document.getElementById('slider-vol-boost');
    var volLabel = document.getElementById('vol-boost-label');
    var speedSelect = document.getElementById('select-playback-speed');
    var effectsDrawer = document.getElementById('vlc-effects-drawer');
    var pwaModal = document.getElementById('vlc-pwa-modal');

    // Slot Icone SVG
    var slotPlay = document.getElementById('icon-play-slot');
    var slotStop = document.getElementById('icon-stop-slot');
    var slotBack = document.getElementById('icon-back-slot');
    var slotFwd = document.getElementById('icon-fwd-slot');
    var slotVol = document.getElementById('icon-vol-slot');
    var slotFs = document.getElementById('icon-fs-slot');

    var tplPlay = document.getElementById('svg-tpl-play').innerHTML;
    var tplPause = document.getElementById('svg-tpl-pause').innerHTML;
    var tplStop = document.getElementById('svg-tpl-stop').innerHTML;
    var tplBack = document.getElementById('svg-tpl-back').innerHTML;
    var tplFwd = document.getElementById('svg-tpl-fwd').innerHTML;
    var tplVolOn = document.getElementById('svg-tpl-vol-on').innerHTML;
    var tplVolOff = document.getElementById('svg-tpl-vol-off').innerHTML;
    var tplFs = document.getElementById('svg-tpl-fs').innerHTML;
    var tplExitFs = document.getElementById('svg-tpl-exit-fs').innerHTML;

    var fxBright = document.getElementById('slider-fx-bright');
    var fxContrast = document.getElementById('slider-fx-contrast');
    var fxSaturate = document.getElementById('slider-fx-saturate');
    var lblBright = document.getElementById('label-effect-bright');
    var lblContrast = document.getElementById('label-effect-contrast');
    var lblSaturate = document.getElementById('label-effect-saturate');

    var audioCtx = null;
    var audioSourceNode = null;
    var gainNode = null;
    var currentGainMultiplier = 1.0;
    var hlsInstance = null;
    var deferredPrompt = null;
    var isCurrentSourceLocal = false;
    var hideControlsTimeout = null;
    var screenWakeLockObj = null;

    slotPlay.innerHTML = tplPlay;
    slotStop.innerHTML = tplStop;
    slotBack.innerHTML = tplBack;
    slotFwd.innerHTML = tplFwd;
    slotVol.innerHTML = tplVolOn;
    slotFs.innerHTML = tplFs;

    // --- SCREEN WAKE LOCK ---
    async function acquireVideoWakeLock() {
        if ('wakeLock' in navigator) {
            try {
                screenWakeLockObj = await navigator.wakeLock.request('screen');
            } catch(e) {}
        }
    }

    function releaseVideoWakeLock() {
        if (screenWakeLockObj) {
            try {
                screenWakeLockObj.release();
            } catch(e) {}
            screenWakeLockObj = null;
        }
    }

    video.addEventListener('play', function() {
        slotPlay.innerHTML = tplPause;
        acquireVideoWakeLock();
        showOverlayControls();
    });

    video.addEventListener('pause', function() {
        slotPlay.innerHTML = tplPlay;
        releaseVideoWakeLock();
        showOverlayControls();
    });

    video.addEventListener('ended', function() {
        slotPlay.innerHTML = tplPlay;
        releaseVideoWakeLock();
        showOverlayControls();
    });

    // --- AUTO-HIDE CONTROLLI ---
    function showOverlayControls() {
        overlayControls.classList.remove('autohide');
        screenViewport.classList.remove('hide-cursor');
        clearTimeout(hideControlsTimeout);

        if (!video.paused) {
            hideControlsTimeout = setTimeout(function() {
                overlayControls.classList.add('autohide');
                screenViewport.classList.add('hide-cursor');
            }, 2500);
        }
    }

    screenViewport.addEventListener('mousemove', showOverlayControls);
    screenViewport.addEventListener('touchstart', showOverlayControls);
    screenViewport.addEventListener('click', function() {
        showOverlayControls();
    });

    screenViewport.addEventListener('dblclick', function(e) {
        if (e.target === video || e.target === screenViewport) {
            window.toggleVlcFullscreen();
        }
    });

    // --- SCORCIATOIE DA TASTIERA ---
    window.addEventListener('keydown', function(e) {
        var targetTag = (e.target &amp;&amp; e.target.tagName) ? e.target.tagName.toUpperCase() : '';
        if (targetTag === 'INPUT' || targetTag === 'TEXTAREA' || targetTag === 'SELECT') {
            return;
        }

        var key = e.key;
        if (key === ' ' || e.code === 'Space') {
            e.preventDefault();
            window.togglePlayPause();
            showOverlayControls();
        } else if (key === 'f' || key === 'F') {
            e.preventDefault();
            window.toggleVlcFullscreen();
        } else if (key === 'm' || key === 'M') {
            e.preventDefault();
            window.toggleMuteVideo();
            showOverlayControls();
        } else if (key === 'ArrowRight') {
            e.preventDefault();
            window.skipVideoTime(10);
            showOverlayControls();
        } else if (key === 'ArrowLeft') {
            e.preventDefault();
            window.skipVideoTime(-10);
            showOverlayControls();
        } else if (key === 'ArrowUp') {
            e.preventDefault();
            adjustVolumeStep(10);
        } else if (key === 'ArrowDown') {
            e.preventDefault();
            adjustVolumeStep(-10);
        }
    });

    function adjustVolumeStep(delta) {
        var currentVol = parseInt(volSlider.value, 10);
        var targetVol = Math.max(0, Math.min(200, currentVol + delta));
        volSlider.value = targetVol;
        window.applyVolumeBoost(targetVol);
        showOverlayControls();
    }

    // PWA Support
    window.addEventListener('beforeinstallprompt', function(e) {
        e.preventDefault();
        deferredPrompt = e;
        var pwaBtn = document.getElementById('btn-pwa-vlc-trigger');
        if (pwaBtn) pwaBtn.innerText = "Installa App";
    });

    window.triggerVlcPwaInstall = function() {
        if (deferredPrompt) {
            deferredPrompt.prompt();
            deferredPrompt.userChoice.then(function() {
                deferredPrompt = null;
            });
        } else {
            window.toggleVlcPwaModal(true);
        }
    };

    window.toggleVlcPwaModal = function(show) {
        pwaModal.style.display = show ? "block" : "none";
    };

    function formatTime(sec) {
        if (isNaN(sec)) return "00:00";
        var m = Math.floor(sec / 60);
        var s = Math.floor(sec % 60);
        var mStr = (Math.sign(m - 10) === -1) ? "0" + m : "" + m;
        var sStr = (Math.sign(s - 10) === -1) ? "0" + s : "" + s;
        return mStr + ":" + sStr;
    }

    function setupAudioContext() {
        if (gainNode) return;
        try {
            var AudioContextClass = window.AudioContext || window.webkitAudioContext;
            audioCtx = new AudioContextClass();
            audioSourceNode = audioCtx.createMediaElementSource(video);
            gainNode = audioCtx.createGain();
            gainNode.gain.value = currentGainMultiplier;
            audioSourceNode.connect(gainNode);
            gainNode.connect(audioCtx.destination);
        } catch(e) {}
    }

    window.switchVideoSourceTab = function(mode) {
        tabFile.classList.remove('active');
        tabStream.classList.remove('active');
        tabYt.classList.remove('active');

        boxFile.style.display = "none";
        boxStream.style.display = "none";
        boxYt.style.display = "none";
        aviBanner.style.display = "none";

        if (mode === 'file') {
            tabFile.classList.add('active');
            boxFile.style.display = "block";
            restoreHtml5Player();
        } else if (mode === 'stream') {
            tabStream.classList.add('active');
            boxStream.style.display = "flex";
            restoreHtml5Player();
        } else if (mode === 'yt') {
            tabYt.classList.add('active');
            boxYt.style.display = "flex";
        }
    };

    function restoreHtml5Player() {
        ytIframe.style.display = "none";
        ytIframe.src = "";
        ytBanner.style.display = "none";
        overlayControls.style.display = "flex";
        video.style.display = "block";
    }

    // 1. File Locale con blocco AVI
    window.handleLocalVideoSelect = function(input) {
        if (!input.files || input.files.length === 0) return;
        var file = input.files[0];
        chosenNameLabel.innerText = file.name;
        aviBanner.style.display = "none";

        var lowerName = file.name.toLowerCase();
        if (lowerName.indexOf('.avi') !== -1) {
            aviBanner.style.display = "block";
            restoreHtml5Player();
            video.src = "";
            placeholder.style.display = "flex";
            slotPlay.innerHTML = tplPlay;
            return;
        }

        restoreHtml5Player();
        isCurrentSourceLocal = true;

        if (hlsInstance) {
            hlsInstance.destroy();
            hlsInstance = null;
        }

        video.src = URL.createObjectURL(file);
        placeholder.style.display = "none";
        video.play().catch(function() {});
        showOverlayControls();
    };

    // 2. Stream Diretto / M3U8
    window.loadStreamUrl = function() {
        var url = streamInput.value.trim();
        if (url.length === 0) return;

        aviBanner.style.display = "none";
        restoreHtml5Player();
        isCurrentSourceLocal = false;

        if (hlsInstance) {
            hlsInstance.destroy();
            hlsInstance = null;
        }

        var isHls = url.indexOf('.m3u8') !== -1;

        if (isHls &amp;&amp; window.Hls &amp;&amp; Hls.isSupported()) {
            hlsInstance = new Hls();
            hlsInstance.loadSource(url);
            hlsInstance.attachMedia(video);
            hlsInstance.on(Hls.Events.MANIFEST_PARSED, function() {
                video.play().catch(function() {});
                showOverlayControls();
            });
        } else {
            video.src = url;
            video.play().catch(function() {});
            showOverlayControls();
        }

        placeholder.style.display = "none";
    };

    // 3. YouTube No-Cookie
    function extractYouTubeVideoId(url) {
        var regExp = /(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&amp;v=|shorts\/))([\w-]{11})/;
        var match = url.match(regExp);
        if (match &amp;&amp; match[1]) {
            return match[1];
        }
        if (url.length === 11) {
            return url;
        }
        return null;
    }

    window.loadYouTubeNoCookie = function() {
        var rawUrl = ytInput.value.trim();
        if (rawUrl.length === 0) return;

        var videoId = extractYouTubeVideoId(rawUrl);
        if (!videoId) {
            alert("Indirizzo YouTube non riconosciuto. Incolla un link valido (es. youtube.com/watch?v=... o youtu.be/...)");
            return;
        }

        aviBanner.style.display = "none";
        video.pause();
        video.style.display = "none";

        if (hlsInstance) {
            hlsInstance.destroy();
            hlsInstance = null;
        }

        var noCookieUrl = "https://www.youtube-nocookie.com/embed/" + videoId + "?autoplay=1&amp;rel=0&amp;modestbranding=1&amp;iv_load_policy=3";

        ytIframe.src = noCookieUrl;
        ytIframe.style.display = "block";
        placeholder.style.display = "none";
        ytBanner.style.display = "block";

        overlayControls.style.display = "none";
        effectsDrawer.style.display = "none";
    };

    // Play / Pausa
    window.togglePlayPause = function() {
        setupAudioContext();
        if (audioCtx &amp;&amp; audioCtx.state === 'suspended') {
            audioCtx.resume();
        }

        if (video.paused) {
            video.play();
        } else {
            video.pause();
        }
    };

    // Stop
    window.stopVideoPlayback = function() {
        video.pause();
        video.currentTime = 0;
        slotPlay.innerHTML = tplPlay;
        releaseVideoWakeLock();
        showOverlayControls();
    };

    window.skipVideoTime = function(deltaSeconds) {
        video.currentTime = Math.max(0, Math.min(video.duration || 0, video.currentTime + deltaSeconds));
        showOverlayControls();
    };

    video.addEventListener('timeupdate', function() {
        if (isNaN(video.duration) || video.duration === 0) return;
        var pct = (video.currentTime / video.duration) * 100;
        seekSlider.value = pct;
        timeCur.innerText = formatTime(video.currentTime);
        timeDur.innerText = formatTime(video.duration);
    });

    window.seekVideo = function(pctVal) {
        if (isNaN(video.duration) || video.duration === 0) return;
        video.currentTime = (parseFloat(pctVal) / 100) * video.duration;
    };

    // --- VOLUME BOOST 200% CON EVIDENZIAZIONE CROMATICA ---
    window.applyVolumeBoost = function(val) {
        setupAudioContext();
        var num = parseInt(val, 10);
        volLabel.innerText = num + "%";
        currentGainMultiplier = num / 100;

        // Se supera il 100% si illumina di colore arancione intenso
        if (Math.sign(num - 100) === 1) {
            volLabel.style.color = "#ef4444";
            volLabel.style.textShadow = "0 0 8px rgba(239, 68, 68, 0.6)";
        } else {
            volLabel.style.color = "#f97316";
            volLabel.style.textShadow = "none";
        }

        if (gainNode) {
            gainNode.gain.value = currentGainMultiplier;
            video.volume = 1.0;
        } else {
            video.volume = Math.min(1.0, currentGainMultiplier);
        }

        if (num === 0) {
            slotVol.innerHTML = tplVolOff;
        } else {
            slotVol.innerHTML = tplVolOn;
        }
    };

    window.toggleMuteVideo = function() {
        video.muted = !video.muted;
        slotVol.innerHTML = video.muted ? tplVolOff : tplVolOn;
    };

    window.changePlaybackSpeed = function(speed) {
        video.playbackRate = parseFloat(speed);
    };

    window.castVideoToScreen = function() {
        if (isCurrentSourceLocal) {
            alert("Nota: per trasmettere file locali del PC su Chromecast, usa la funzione 'Trasmetti scheda' di Chrome.");
        }
        if (video.remote &amp;&amp; video.remote.prompt) {
            video.remote.prompt().catch(function() {});
        } else if (video.webkitShowPlaybackTargetPicker) {
            video.webkitShowPlaybackTargetPicker();
        } else {
            alert("La trasmissione diretta non e supportata dal browser. Usa il menu del browser (Trasmetti).");
        }
    };

    window.handleSubtitlesUpload = function(input) {
        if (!input.files || input.files.length === 0) return;
        var file = input.files[0];
        var reader = new FileReader();

        reader.onload = function(e) {
            var rawText = e.target.result;
            var isSrt = file.name.indexOf('.srt') !== -1;
            var vttReady = isSrt ? "WEBVTT\n\n" + rawText.replace(/(\d{2}:\d{2}:\d{2}),(\d{3})/g, "$1.$2") : rawText;
            var blob = new Blob([vttReady], { type: 'text/vtt' });

            subTrack.src = URL.createObjectURL(blob);
            subTrack.track.mode = "showing";
            alert("Sottotitoli caricati e attivati!");
        };
        reader.readAsText(file);
    };

    window.toggleEffectsDrawer = function() {
        effectsDrawer.style.display = (effectsDrawer.style.display === "block") ? "none" : "block";
    };

    window.applyVideoFilters = function() {
        var b = fxBright.value;
        var c = fxContrast.value;
        var s = fxSaturate.value;

        lblBright.innerText = b + "%";
        lblContrast.innerText = c + "%";
        lblSaturate.innerText = s + "%";

        video.style.filter = "brightness(" + (b / 100) + ") contrast(" + (c / 100) + ") saturate(" + (s / 100) + ")";
    };

    // PiP Cross-Platform (iPhone Safari + Android Chrome)
    window.toggleVideoPip = function() {
        if (!video.src &amp;&amp; !video.currentSrc) {
            alert("Avvia prima la riproduzione di un video per attivare la finestra PiP.");
            return;
        }

        if (video.webkitSupportsPresentationMode &amp;&amp; video.webkitSetPresentationMode) {
            try {
                if (video.webkitPresentationMode === 'picture-in-picture') {
                    video.webkitSetPresentationMode('inline');
                } else {
                    video.webkitSetPresentationMode('picture-in-picture');
                }
                return;
            } catch(e) {}
        }

        if (document.pictureInPictureElement) {
            document.exitPictureInPicture().catch(function() {});
            return;
        }

        if (video.requestPictureInPicture) {
            video.requestPictureInPicture().catch(function(err) {
                alert("Per attivare il PiP su smartphone, avvia prima il video con il tasto Play.");
            });
            return;
        }

        alert("La modalita PiP non e supportata dal browser su questo dispositivo.");
    };

    // Schermo Intero Reale sul Viewport
    window.toggleVlcFullscreen = function() {
        var isFs = document.fullscreenElement || document.webkitFullscreenElement;
        
        if (!isFs) {
            if (screenViewport.requestFullscreen) {
                screenViewport.requestFullscreen();
            } else if (screenViewport.webkitRequestFullscreen) {
                screenViewport.webkitRequestFullscreen();
            }
        } else {
            if (document.exitFullscreen) {
                document.exitFullscreen();
            } else if (document.webkitExitFullscreen) {
                document.webkitExitFullscreen();
            }
        }
    };

    function handleFsChange() {
        var isFs = document.fullscreenElement || document.webkitFullscreenElement;
        if (isFs) {
            slotFs.innerHTML = tplExitFs;
        } else {
            slotFs.innerHTML = tplFs;
        }
    }

    document.addEventListener('fullscreenchange', handleFsChange);
    document.addEventListener('webkitfullscreenchange', handleFsChange);

})();
&lt;/script&gt;

&lt;p&gt;LEGGI ANCHE: &lt;b&gt;&lt;a href="https://www.navigaweb.net/2012/07/migliori-10-media-player-per-vedere.html"&gt;Migliori Programmi per vedere film e video sul PC&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;

&lt;h2&gt;Amplificare l'audio e correggere l'immagine&lt;/h2&gt;
&lt;p&gt;I lettori video integrati nei sistemi operativi si fermano al 100% della traccia audio originale. Se chi parla è lontano dal microfono o la registrazione è di scarsa qualità, il file risulta quasi inutile. Sfruttando le interfacce audio avanzate dei browser moderni, questo lettore integra un pre-amplificatore software che permette di spingere la barra del volume fino al doppio della sua capacità fisica, salvando qualsiasi registrazione silenziosa.&lt;/p&gt;
&lt;p&gt;Oltre al suono, è possibile intervenire sull'immagine. Capita spesso di dover analizzare il filmato di una telecamera di sicurezza o un video registrato di notte in cui non si distingue nulla. Cliccando sui comandi visivi del player è possibile forzare la luminosità, alzare il contrasto o modificare la saturazione in tempo reale, senza dover aprire software di montaggio pesanti.&lt;/p&gt;
&lt;h2&gt;File locali, streaming e massima privacy&lt;/h2&gt;
&lt;p&gt;A differenza dei servizi di conversione online, questo pannello non esegue alcun caricamento (upload). Potete trascinare all'interno del riquadro un vostro video personale: la riproduzione sarà istantanea perché i dati vengono letti direttamente dal disco rigido del computer o dalla memoria del telefono. Nessuno vedrà o archiverà i vostri contenuti.&lt;/p&gt;
&lt;p&gt;Il lettore gestisce anche i flussi provenienti dalla rete in modo intelligente:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;YouTube in modalità privata:&lt;/strong&gt; Incollando il link di un video, il player lo intercetta usando il protocollo ufficiale "Privacy Avanzata" (youtube-nocookie). Il browser non salverà i tracciatori pubblicitari, l'interfaccia rimarrà scura e a fine riproduzione non compariranno i classici suggerimenti di altri canali che distraggono la visione.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dirette e IPTV:&lt;/strong&gt; Aprire un link di trasmissione in formato &lt;em&gt;.m3u8&lt;/em&gt; su un PC è solitamente complicato. Questo strumento include un motore di decodifica aperto che digerisce le dirette web, le webcam pubbliche o i canali legali, avviando lo streaming all'istante.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Sottotitoli, tasti rapidi e formati supportati&lt;/h2&gt;
&lt;p&gt;Per simulare l'esperienza di un programma da scrivania, abbiamo abilitato il supporto ai file esterni. Se avete scaricato una lezione in lingua straniera accompagnata da un file di testo in formato &lt;em&gt;.srt&lt;/em&gt;, basta trascinarlo nel riquadro per sincronizzare i sottotitoli in automatico.&lt;/p&gt;
&lt;p&gt;Lavorando da computer, l'interfaccia risponde alle classiche scorciatoie da tastiera utilizzate dai professionisti dell'editing video:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Tasto Spazio:&lt;/strong&gt; Avvia o mette in pausa la riproduzione.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Frecce Destra / Sinistra:&lt;/strong&gt; Mandano il filmato avanti o indietro di 10 secondi.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Frecce Su / Giù:&lt;/strong&gt; Regolano il volume in modo millimetrico.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tasto F:&lt;/strong&gt; Attiva lo schermo intero (mentre il tasto M azzera l'audio).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Il player legge senza problemi tutti gli standard moderni. I file MP4, WebM e i video MOV registrati dagli iPhone partono senza esitazioni. I file MKV vengono letti regolarmente su Chrome ed Edge. L'unico limite riguarda le vecchie codifiche degli anni Novanta: i file in formato AVI non sono supportati dai navigatori web moderni. Se vi trovate tra le mani un reperto del genere, seguendo la rotta di Navigaweb dovrete prima processarlo tramite un &lt;b&gt;&lt;a href="https://www.navigaweb.net/2019/01/migliori-programmi-per-convertire-video.html"&gt;convertitore mp4 gratuito&lt;/a&gt;&lt;/b&gt; prima di poterlo trascinare all'interno di questo riproduttore.&lt;/p&gt;
&lt;h2&gt;A chi è utile questo strumento&lt;/h2&gt;
&lt;p&gt;Questo lettore è pensato per diverse categorie di utenti: gli studenti che devono guardare lezioni registrate con audio basso, i professionisti che lavorano su PC aziendali con permessi limitati e chiunque voglia guardare un video senza installare software potenzialmente invasivi. È utile anche per chi desidera un'esperienza YouTube pulita, senza pubblicità correlate e senza cookie di profilazione, mantenendo l'attenzione solo sul contenuto.&lt;/p&gt;
&lt;h2&gt;Accorgimenti tecnici per l'uso quotidiano&lt;/h2&gt;
&lt;p&gt;Per ottenere il massimo dal player, tenete a mente questi dettagli:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Salva come App:&lt;/strong&gt; Se usate spesso lo strumento, potete cliccare sul tasto "Salva come App" (PWA). L'icona apparirà sulla schermata Home del vostro smartphone o sul desktop del PC, permettendovi di aprirlo come un programma indipendente.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Picture-in-Picture:&lt;/strong&gt; Se state prendendo appunti mentre guardate un video, usate la funzione PiP per sganciare l'immagine in una finestrella fluttuante nell'angolo dello schermo.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Stabilità della connessione:&lt;/strong&gt; Per i file locali la velocità è massima e se non fosse perchè bisogna caricare questa pagina web, funzionerebbe anche offline. Per i flussi streaming (.m3u8), la fluidità dipende dalla qualità della vostra connessione internet e dal s
&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Diario di bordo di Navigaweb&lt;/h3&gt;
&lt;p&gt;Dopo aver passato ore a cercare di decifrare l'audio di quella riunione aziendale, mi sono reso conto di quanto siamo diventati dipendenti dai permessi di sistema. L'idea di dover chiedere l'autorizzazione a un amministratore IT per installare un banale riproduttore multimediale è anacronistica. Integrare la tecnologia di decodifica direttamente nella pagina web restituisce il controllo all'utente. Non so quante volte userò ancora l'amplificatore al 200%, ma sapere di avere questo strumento salvato tra i preferiti, pronto ad aprirsi in mezzo secondo senza appesantire il sistema operativo, è una piccola soddisfazione tecnica irrinunciabile.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt; &lt;p&gt;&lt;font size="3"&gt;Articolo pubblicato su  &lt;a title="Navigaweb.net" href="https://www.navigaweb.net" target="_blank"&gt;&lt;font size="3"&gt;Navigaweb.net&lt;/font&gt;&lt;/a&gt;. Non è consentito ripubblicare senza il consenso dell'autore. Segui anche su &lt;a href="https://www.facebook.com/navigaweb"&gt;Facebook&lt;/a&gt;, &lt;a href="https://twitter.com/pomhey"&gt;Twitter&lt;/a&gt; e &lt;a href="https://news.google.com/publications/CAAqBggKMLPofjD03wk"&gt;Google News&lt;/a&gt; .&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;</content><link href="https://www.navigaweb.net/2026/10/lettore-video-online-per-file-del-pc-e.html#comment-form" rel="replies" title="0 Commenti" type="text/html"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/8847159575095635214" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/8847159575095635214" rel="self" type="application/atom+xml"/><link href="https://www.navigaweb.net/2026/10/lettore-video-online-per-file-del-pc-e.html" rel="alternate" title="Video player come VLC nel browser per file e streaming" type="text/html"/><author><name>Claudio Pomes</name><uri>http://www.blogger.com/profile/05867241310817527022</uri><email>noreply@blogger.com</email><gd:image height="32" rel="http://schemas.google.com/g/2005#thumbnail" src="//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnjMmdIWMIcd464SD-u4VsJBXmTf1BTGQAIVPFdzGK2Z3P1ZKbrISt8SdSFSGSzoc4KvmJvACpnL9lE9x7-fXplMVjqdG1IkoB_Jq_kclZtfLmEoSONobAo5j2sFP2wxJHIGZa5_p5KwCURDkifbBQtwrgA_Q52gr-Hnsn9Eg7vVYocYc/s220/pomheybokeh.jpg" width="32"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJsd86FOdTd8mxDwzmyHg7hobppooKpX0BCQ5w-pHrFHyue9Cf_3snxOxKL3JotiMIiLpqL4DEc4poJbU3f8ldc1XFXjj-VS6HMq7okWHW71WIJ9SV46SCq52HIAM03H8BTmAaFhxN-tOSCx48886pzaOrngDQb5-S-63v0fk_TxemsxiX7bxMkbzDvk3S/s72-c/NavigawebPlayer.jpg" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5148617246197063026.post-6488962800548475241</id><published>2026-10-01T18:42:12.384+02:00</published><updated>2026-10-01T18:42:12.407+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Browser"/><category scheme="http://www.blogger.com/atom/ns#" term="Video"/><category scheme="http://www.blogger.com/atom/ns#" term="YouTube"/><title type="text">Se i video online non partono, come sbloccare il player</title><content type="html">&lt;img alt="video player error" height="176" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEXneSHyqQaWTUrhm11LQB13pksTuzTE4Ef82nnucg5tJjJqtjM62fCSwia0-o-6VlSItFHWu1pSxK2suCpDd6tkvS-2g-hlqZS2klJ31KjEq6SSYvp6rsUE4L6mAx8JP9C-XuYAcPt0_d/s320/error-play.webp" title="errore caricamento video" width="320" /&gt; &lt;p&gt;Si cerca un film in streaming, si chiudono pazientemente tre o quattro finestre di pubblicità improvvise, si preme finalmente il tasto di riproduzione e il sistema si blocca. Al centro dello schermo compare una rotella infinita che gira a vuoto, oppure un riquadro nero accompagnato da messaggi come "error loading player: no playable sources found". Piattaforme giganti come YouTube o Netflix raramente lasciano l'utente al buio, ma appena si naviga su siti minori o si tenta di guardare dirette sportive su server indipendenti, il codice del riproduttore va in tilt.&lt;/p&gt;
&lt;p&gt;Il mancato caricamento del flusso video non dipende quasi mai dal file in sé, ma da una mancata comunicazione tra il sito web, il navigatore utilizzato e la scheda grafica del computer. I moderni player in HTML5 dipendono da regole rigide per decodificare le immagini in tempo reale. Quando un'estensione blocca una di queste regole, o quando la memoria del browser è satura di vecchi frammenti di codice corrotto, il video si rifiuta di partire.&lt;/p&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
 &lt;h2&gt;Estensioni e filtri di rete&lt;/h2&gt;
&lt;p&gt;La prima barriera che impedisce al codice di funzionare è spesso generata dall'utente stesso nel tentativo di proteggersi dalla pubblicità aggressiva. I riproduttori gratuiti contengono script invisibili che verificano l'avvenuta visualizzazione del banner prima di sbloccare il video. Se un adblocker rigido taglia questa comunicazione, il player rimane paralizzato in attesa di un segnale che non arriverà mai.&lt;/p&gt;
&lt;p&gt;Per capire se la colpa è dell'estensione, conviene aprire la stessa pagina in Modalità Incognito (premendo Ctrl+Shift+N su Chrome o Edge). Questa modalità esclude le estensioni di terze parti. Se il video si avvia regolarmente, il colpevole è il blocco pubblicitario. Piuttosto che disattivarlo del tutto, è preferibile impostare un &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2013/11/bloccare-i-popup-dei-siti-internet-su.html"&gt;blocco di popup e redirect automatici&lt;/a&gt;&lt;/strong&gt; meno invasivo, che elimina le finestre fastidiose ma lascia passare i codici di autorizzazione del player.&lt;/p&gt;
&lt;p&gt;Un discorso simile vale per i servizi di instradamento geografico. In alcuni casi, l'uso di una connessione mascherata è indispensabile per aggirare blocchi regionali. Si può fare un test veloce attivando la &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2016/04/con-opera-si-puo-attivare-una-vpn.html"&gt;VPN del browser Opera&lt;/a&gt;&lt;/strong&gt;. In altri scenari, però, è proprio il server del proxy a rallentare il traffico, portando la velocità sotto i 5 Mbps necessari per l'alta definizione e causando un perenne stato di caricamento.&lt;/p&gt;
&lt;h2&gt;Conflitti hardware e accelerazione grafica&lt;/h2&gt;
&lt;p&gt;Quando il video carica per un secondo per poi restituire uno schermo verde o un errore di rendering (come il codice 101102 su Chrome), il problema risiede nel modo in cui il computer elabora l'immagine. I browser moderni scaricano il lavoro di decodifica del formato video sulla scheda grafica per non affaticare il processore principale.&lt;/p&gt;
&lt;p&gt;Se la scheda ha driver obsoleti o non supporta gli ultimi formati web, il player va in crash. Andando nelle impostazioni del browser, sotto la voce Sistema, si trova l'interruttore "Usa accelerazione hardware quando disponibile". Spegnendo questa opzione e riavviando il programma, il lavoro torna a carico del processore centrale. Spesso questo semplice passaggio &lt;strong&gt;&lt;a href="http://www.navigaweb.net/2011/09/disabilitare-accelerazione-hardware-su.html"&gt;ottimizza lo streaming video su Windows&lt;/a&gt;&lt;/strong&gt; risolvendo la maggior parte delle schermate nere.&lt;/p&gt;
&lt;h2&gt;Errori specifici e formati non supportati&lt;/h2&gt;
&lt;p&gt;Alcuni messaggi a schermo aiutano a identificare subito l'origine del guasto tecnico:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Codice 100013 su Vimeo:&lt;/strong&gt; Indica cookie corrotti specifici di quel dominio. Si risolve cliccando sul lucchetto in alto a sinistra nella barra degli indirizzi e cancellando i dati salvati solo per quella pagina.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HTML5 video file not found:&lt;/strong&gt; Il sito sta cercando di caricare un formato non supportato dal navigatore (ad esempio un vecchio file OGG su un browser Apple). In questo caso il problema è lato server e l'utente può solo provare a cambiare programma, passando ad esempio da Safari a Firefox.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Richiesta di installare Flash Player:&lt;/strong&gt; Se nel 2026 un sito chiede di scaricare Flash, chiudete immediatamente la scheda. La tecnologia è morta e non è più supportata da nessun browser; qualsiasi avviso simile è un tentativo di installare un malware.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Ispezionare il flusso sorgente&lt;/h2&gt;
&lt;p&gt;Se un evento in diretta non si carica, si può verificare se il problema sia il sito web mal programmato o la trasmissione originaria caduta. Cliccando col tasto destro del mouse fuori dal player e scegliendo "Ispeziona", si apre il codice sorgente della pagina. Cercando elementi con estensione &lt;em&gt;.m3u8&lt;/em&gt; o &lt;em&gt;.mp4&lt;/em&gt;, si individua il link diretto alla fonte video.&lt;/p&gt;
&lt;p&gt;Seguendo la rotta di Navigaweb, si può copiare questo link nudo e crudo e incollarlo all'interno di &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2008/09/vlc-player-092-miglior-programma-per.html" target="_blank"&gt;VLC Media Player&lt;/a&gt;&lt;/strong&gt; tramite il menu "Apri flusso di rete". Se il programma riesce a riprodurre le immagini, la colpa del blocco è esclusivamente del player del sito ospitante.&lt;/p&gt;
&lt;h2&gt;Ottimizzare la fluidità su YouTube&lt;/h2&gt;
&lt;p&gt;Anche le piattaforme ottimizzate diventano pesanti su computer non recenti. Google utilizza codec di alta qualità come il VP9 o il nuovo AV1, che comprimono i dati per risparmiare banda ma richiedono uno sforzo di calcolo immenso. &lt;strong&gt;&lt;a href="http://www.navigaweb.net/2016/06/se-youtube-e-lento-come-ottimizzare.html"&gt;Se YouTube risulta lento o a scatti&lt;/a&gt;&lt;/strong&gt;, il computer sta faticando a gestire questi formati.&lt;/p&gt;
&lt;p&gt;L'installazione di una piccola estensione come &lt;strong&gt;&lt;a href="https://chromewebstore.google.com/detail/h264ify/aleakchihdccplidncghkekgioiakgal" rel="nofollow" target="_blank"&gt;h264ify&lt;/a&gt;&lt;/strong&gt; per Chrome ed Edge cambia le regole del gioco. Questo strumento blocca i codec pesanti e costringe i server di Google a inviare il flusso nello standard H.264. La differenza visiva è impercettibile, ma le ventole del PC smettono di fare rumore e i blocchi del riproduttore spariscono.&lt;/p&gt;
&lt;h2&gt;Diagnostica avanzata per blocchi ostinati&lt;/h2&gt;
&lt;p&gt;Quando nessuna delle soluzioni precedenti funziona, il problema risiede in livelli più profondi della connessione o della sicurezza del sistema:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Problemi di DNS e CDN:&lt;/strong&gt; Se il player segnala che la sorgente non è stata trovata nonostante la connessione funzioni, l'instradamento del vostro provider potrebbe essere inefficiente. Cambiare i DNS del computer utilizzando quelli di Google (8.8.8.8) o Cloudflare (1.1.1.1) spesso sblocca i flussi video che i server standard non riescono a localizzare.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Contenuti protetti (DRM):&lt;/strong&gt; Alcuni video richiedono una certificazione di sicurezza per essere riprodotti. Se il video non parte, verificate nelle impostazioni di privacy del browser che sia attiva l'opzione "Consenti la riproduzione di contenuti protetti". Senza questa autorizzazione, il player non potrà decifrare il flusso video.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Stabilità vs Velocità:&lt;/strong&gt; Non fatevi ingannare da uno Speedtest che segna molti Mbps. Lo streaming soffre i "micro-salti" della rete (packet loss). Se il video carica e si blocca a intervalli regolari, provate a collegare il PC con un cavo Ethernet: elimina le interferenze del Wi-Fi che spesso mandano in crash i buffer dei player più moderni.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gestione della RAM:&lt;/strong&gt; Tenere decine di schede aperte satura la memoria disponibile. Quando il browser non ha più spazio per bufferizzare il video, il player restituisce l'errore "sources not found". Chiudere le schede inutilizzate libera risorse immediate.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Diario di bordo di Navigaweb&lt;/h3&gt;
&lt;p&gt;L'abitudine di tenere troppe finestre aperte è il nemico silenzioso di ogni streaming. Ho perso il conto delle volte in cui un lettore mi restituiva un errore di caricamento semplicemente perché la RAM era satura a causa di altri processi in background. Quando ci si scontra con i siti di streaming sportivo o con piattaforme colme di banner ingannevoli, la soluzione più rapida è smettere di combattere con i blocchi pubblicitari. Riavviate il browser pulito, spegnete l'accelerazione hardware e, se il video continua a non partire, usate il trucco dell'estrazione del link verso VLC. Risparmierete minuti di frustrazione e avrete la certezza di non perdere l'azione del match o la scena del film.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt; &lt;p&gt;&lt;font size="3"&gt;Articolo pubblicato su  &lt;a title="Navigaweb.net" href="https://www.navigaweb.net" target="_blank"&gt;&lt;font size="3"&gt;Navigaweb.net&lt;/font&gt;&lt;/a&gt;. Non è consentito ripubblicare senza il consenso dell'autore. Segui anche su &lt;a href="https://www.facebook.com/navigaweb"&gt;Facebook&lt;/a&gt;, &lt;a href="https://twitter.com/pomhey"&gt;Twitter&lt;/a&gt; e &lt;a href="https://news.google.com/publications/CAAqBggKMLPofjD03wk"&gt;Google News&lt;/a&gt; .&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;</content><link href="https://www.navigaweb.net/2012/08/soluzioni-problemi-youtube-flash.html#comment-form" rel="replies" title="0 Commenti" type="text/html"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/6488962800548475241" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/6488962800548475241" rel="self" type="application/atom+xml"/><link href="https://www.navigaweb.net/2012/08/soluzioni-problemi-youtube-flash.html" rel="alternate" title="Se i video online non partono, come sbloccare il player" type="text/html"/><author><name>Claudio Pomes</name><uri>http://www.blogger.com/profile/05867241310817527022</uri><email>noreply@blogger.com</email><gd:image height="32" rel="http://schemas.google.com/g/2005#thumbnail" src="//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnjMmdIWMIcd464SD-u4VsJBXmTf1BTGQAIVPFdzGK2Z3P1ZKbrISt8SdSFSGSzoc4KvmJvACpnL9lE9x7-fXplMVjqdG1IkoB_Jq_kclZtfLmEoSONobAo5j2sFP2wxJHIGZa5_p5KwCURDkifbBQtwrgA_Q52gr-Hnsn9Eg7vVYocYc/s220/pomheybokeh.jpg" width="32"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEXneSHyqQaWTUrhm11LQB13pksTuzTE4Ef82nnucg5tJjJqtjM62fCSwia0-o-6VlSItFHWu1pSxK2suCpDd6tkvS-2g-hlqZS2klJ31KjEq6SSYvp6rsUE4L6mAx8JP9C-XuYAcPt0_d/s72-c/error-play.webp" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5148617246197063026.post-8566108436274630076</id><published>2026-10-01T17:43:03.951+02:00</published><updated>2026-10-01T17:43:03.976+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Google Maps"/><title type="text">Pianificare percorsi su Google Maps tra tappe e pedaggi</title><content type="html">&lt;img alt="Google Maps" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRIBouDzbY3SPEj4Hi46Eusz0qh378bwhyphenhyphenLPDarN28p-Pt0RQxdx6QY6iHp22j7a0L0ZR3ElQmEmfvw9Gq6q4LIKWUezjwIavF4ZmzF62HNmBlseU0BKVN4LE8OhK5pXlMerObCzi4iE4/w400-h228/Trucchi-Google-Maps.jpg" title="Trucchi Google Maps" width="400" /&gt; &lt;p&gt;Salire in macchina, digitare il nome di un ristorante sul telefono e seguire ciecamente la linea blu che compare sullo schermo. È l'abitudine più diffusa, ma è anche il modo più rapido per finire imbottigliati nel traffico, pagare un pedaggio non previsto o arrivare a destinazione scoprendo che non c'è un centimetro di spazio per fermare l'auto. Utilizzare l'applicazione di navigazione limitandosi a inserire un indirizzo significa ignorare il novanta percento del suo potenziale.&lt;/p&gt;
&lt;p&gt;Il sistema di cartografia di Google si è trasformato nel tempo in un motore di ricerca geografico completo. Al suo interno si nascondono strumenti progettati per organizzare gli spostamenti quotidiani, esplorare quartieri sconosciuti prima di visitarli e mantenere i contatti con le persone mentre si è in viaggio. Imparare a usare queste opzioni cambia radicalmente la gestione del tempo passato in strada.&lt;/p&gt;

&lt;a name='more'&gt;&lt;/a&gt;

LEGGI ANCHE: &lt;b&gt;&lt;a href="https://www.navigaweb.net/2013/04/usare-funzioni-nascoste-in-google-maps.html"&gt;Usare funzioni nascoste in Google Maps con piccoli trucchi&lt;/a&gt;&lt;/b&gt;

&lt;h2&gt;Organizzare i percorsi prima di accendere il motore&lt;/h2&gt;
&lt;p&gt;La fretta porta a improvvisare, ma una pianificazione di pochi secondi sul display evita perdite di tempo chilometriche.&lt;/p&gt;
&lt;h3&gt;Impostare i punti fermi e trovare i contatti&lt;/h3&gt;
&lt;p&gt;Il primo passo per un utilizzo intelligente consiste nell'aprire le impostazioni e memorizzare le etichette per l'indirizzo di casa e quello di lavoro. Questa singola operazione permette all'algoritmo di inviare notifiche al mattino o alla sera, indicando in tempo reale quanto tempo servirà per il tragitto e segnalando incidenti sul percorso abituale.&lt;/p&gt;
&lt;p&gt;Se si concede all'applicazione l'accesso alla rubrica del telefono (dal menu &lt;em&gt;Contenuti personali&lt;/em&gt;), il sistema incrocia i dati. Basterà scrivere il nome di un amico nella barra di ricerca e la mappa centrerà automaticamente l'inquadratura sul portone di casa sua, senza dover ricordare l'indirizzo esatto a memoria.&lt;/p&gt;
&lt;h3&gt;Modellare il viaggio su misura&lt;/h3&gt;
&lt;p&gt;L'intelligenza del software tende a suggerire la via più veloce, che quasi sempre coincide con autostrade a pagamento. Dopo aver cercato un luogo, toccando i tre puntini in alto a destra si apre il menu delle &lt;strong&gt;Opzioni percorso&lt;/strong&gt;. Da qui si impone al navigatore di ricalcolare l'intero itinerario escludendo pedaggi o traghetti.&lt;/p&gt;
&lt;p&gt;Dallo stesso menu è possibile &lt;strong&gt;Aggiungere una tappa&lt;/strong&gt;. Invece di impostare destinazioni separate costringendo chi guida a toccare il telefono mentre viaggia, si possono inserire le soste per la benzina o per prelevare contanti. L'applicazione riordinerà il tragitto guidando da un punto all'altro in modo sequenziale.&lt;/p&gt;
&lt;p&gt;Quando si pianifica un lungo itinerario sul monitor grande del PC, seguendo la rotta di Navigaweb non serve ricopiare tutto a mano: cliccando sul pulsante &lt;strong&gt;Invia al telefono&lt;/strong&gt;, le coordinate esatte vengono trasmesse al cellulare connesso con lo stesso account, pronte per avviare la guida.&lt;/p&gt;
&lt;h2&gt;Le funzioni avanzate durante la guida&lt;/h2&gt;
&lt;p&gt;Una volta in movimento, le informazioni aggiornate in tempo reale diventano essenziali per non subire imprevisti.&lt;/p&gt;
&lt;h3&gt;Prevedere il traffico e il parcheggio&lt;/h3&gt;
&lt;p&gt;La mappa standard è utile per orientarsi, ma attivando il livello &lt;strong&gt;Traffico&lt;/strong&gt; (dall'icona a forma di rombo in alto a destra) le strade si colorano. Il rosso scuro indica una colonna d'auto ferma. Questo strumento lavora silenziosamente in background quando il navigatore è attivo, proponendo deviazioni immediate se la situazione peggiora chilometri più avanti.&lt;/p&gt;
&lt;p&gt;Arrivare a destinazione è solo metà del lavoro. Nelle città dense, il sistema calcola la saturazione delle strade. Osservando la scheda riassuntiva prima di partire, se compare una "P" rossa significa che &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2012/11/app-android-ricorda-auto-parcheggiata.html" target="_blank"&gt;trovare parcheggio&lt;/a&gt;&lt;/strong&gt; in quella specifica via sarà un problema. Sapendolo in anticipo, si può cercare un garage a pagamento nelle vicinanze prima di ritrovarsi a girare a vuoto per mezz'ora.&lt;/p&gt;
&lt;h3&gt;Farsi seguire in tempo reale&lt;/h3&gt;
&lt;p&gt;I continui messaggi di testo per chiedere "A che punto sei?" o "Quando arrivi?" sono un rischio per la sicurezza stradale. La funzione per &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2017/03/app-localizzatori-gps-per-trovarsi-e.html" target="_blank"&gt;condividere la posizione in tempo reale&lt;/a&gt;&lt;/strong&gt; chiude la questione alla radice. Si seleziona un contatto e per un lasso di tempo stabilito l'altra persona vedrà un indicatore muoversi sulla sua mappa, seguendo il nostro spostamento metro per metro.&lt;/p&gt;
&lt;h2&gt;Esplorare i luoghi sconosciuti con l'IA&lt;/h2&gt;
&lt;p&gt;La cartografia digitale oggi permette di ispezionare un quartiere o un'attività commerciale in modo chirurgico ancor prima di metterci piede.&lt;/p&gt;
&lt;h3&gt;Viste immersive e "Cosa c'è qui?"&lt;/h3&gt;
&lt;p&gt;Grazie all'integrazione dell'intelligenza artificiale, è ora possibile usare la &lt;strong&gt;Vista Immersiva&lt;/strong&gt;. Non è più solo una foto piatta, ma una ricostruzione 3D che permette di vedere l'aspetto di un luogo a diverse ore del giorno o in diverse condizioni meteo. Se invece si vuole un'analisi veloce, tenendo premuto il dito su un punto indefinito dello schermo compare l'opzione &lt;strong&gt;Cosa c'è qui?&lt;/strong&gt;, che elenca i nomi di bar, monumenti o negozi nascosti in quel preciso fazzoletto di terra.&lt;/p&gt;
&lt;h3&gt;Scendere in strada e chiedere alla community&lt;/h3&gt;
&lt;p&gt;Per togliere ogni dubbio su come affrontare un incrocio complicato, si usa &lt;strong&gt;Street View&lt;/strong&gt;. Dal computer basta trascinare l'omino giallo (Pegman) sulla via interessata; dallo smartphone si tocca la miniatura circolare per entrare nella fotografia a trecentosessanta gradi e camminare virtualmente sull'asfalto.&lt;/p&gt;
&lt;p&gt;Se le immagini non bastano, c'è la componente umana. Entrando nella scheda di un ristorante o di un museo, è possibile scrivere una domanda pubblica. Si può chiedere se il locale ha un menu per celiaci o se l'ingresso permette l'accesso alle sedie a rotelle. Gli utenti della zona o chi ha visitato il luogo di recente risponderanno spesso nel giro di pochi minuti.&lt;/p&gt;
&lt;h2&gt;A chi sono utili queste soluzioni&lt;/h2&gt;
&lt;p&gt;Questi passaggi sono fondamentali per i pendolari che vogliono ottimizzare i tempi di percorrenza ogni giorno, per i viaggiatori che visitano città sconosciute senza voler dipendere da guide cartacee e per chiunque debba gestire spostamenti logistici complessi. È l'ideale per chi cerca di risparmiare carburante evitando i blocchi del traffico o per chi vuole organizzare un itinerario turistico senza stress, includendo tappe intermedie e punti di interesse.&lt;/p&gt;
&lt;h2&gt;Consigli per un utilizzo senza intoppi&lt;/h2&gt;
&lt;p&gt;L'uso intenso del sistema di navigazione comporta alcune dinamiche tecniche da tenere a mente:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;I limiti dei dispositivi datati.&lt;/strong&gt; L'elaborazione della cartografia in 3D e delle viste immersive richiede molta memoria. Chi usa telefoni Android di vecchia generazione con poca RAM noterà rallentamenti. In questi casi, scaricare l'app &lt;strong&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.google.android.apps.mapslite" rel="nofollow" target="_blank"&gt;Google Maps Go&lt;/a&gt;&lt;/strong&gt; garantisce indicazioni essenziali senza bloccare il processore.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Consumo di energia.&lt;/strong&gt; Mantenere il modulo GPS acceso, lo schermo alla massima luminosità e la connessione dati attiva prosciuga la batteria. In viaggi lunghi, il collegamento a una presa USB nell'abitacolo è obbligatorio.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Le mappe di propria creazione.&lt;/strong&gt; Per chi organizza viaggi complessi, esiste lo strumento &lt;em&gt;My Maps&lt;/em&gt;. Permette di &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2008/06/creare-guida-turistica-personalizzata.html" target="_blank"&gt;creare mappe personali&lt;/a&gt;&lt;/strong&gt; aggiungendo percorsi su misura e note, per poi condividerle con un gruppo di amici.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;La navigazione in incognito.&lt;/strong&gt; Se si cerca un indirizzo sensibile e non si vuole che la destinazione venga registrata nella cronologia dell'account, basta attivare la modalità in incognito dalla foto profilo in alto a destra.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Diario di bordo di Navigaweb&lt;/h3&gt;
&lt;p&gt;Non chiediamo più indicazioni ai passanti abbassando il finestrino. Il progresso è innegabile, ma ci ha resi anche estremamente dipendenti da uno schermo luminoso. Il mio consiglio, dopo anni passati a testare sistemi di navigazione, è di fare sempre uno zoom all'indietro prima di premere il tasto "Avvia". Guardate il disegno complessivo del percorso che l'algoritmo ha scelto per voi. Capire se vi sta mandando attraverso il centro città o su una tangenziale esterna vi restituisce il controllo del viaggio, permettendovi di usare la tecnologia come un assistente formidabile e non come un comandante assoluto.&lt;/p&gt;

&lt;p&gt;Se cerchiamo altre funzioni da usare sull'app Maps per telefono o tablet vi consigliamo di leggere anche la nostra guida &lt;b&gt;&lt;a href="https://www.navigaweb.net/2015/06/guida-google-maps-con-trucchi-e-segreti.html"&gt;Trucchi e segreti dell'app Google Maps Navigatore su Android e iPhone&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt; &lt;p&gt;&lt;font size="3"&gt;Articolo pubblicato su  &lt;a title="Navigaweb.net" href="https://www.navigaweb.net" target="_blank"&gt;&lt;font size="3"&gt;Navigaweb.net&lt;/font&gt;&lt;/a&gt;. Non è consentito ripubblicare senza il consenso dell'autore. Segui anche su &lt;a href="https://www.facebook.com/navigaweb"&gt;Facebook&lt;/a&gt;, &lt;a href="https://twitter.com/pomhey"&gt;Twitter&lt;/a&gt; e &lt;a href="https://news.google.com/publications/CAAqBggKMLPofjD03wk"&gt;Google News&lt;/a&gt; .&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;</content><link href="https://www.navigaweb.net/2012/08/trucchi-google-maps-per-cercare-strade.html#comment-form" rel="replies" title="0 Commenti" type="text/html"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/8566108436274630076" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/8566108436274630076" rel="self" type="application/atom+xml"/><link href="https://www.navigaweb.net/2012/08/trucchi-google-maps-per-cercare-strade.html" rel="alternate" title="Pianificare percorsi su Google Maps tra tappe e pedaggi" type="text/html"/><author><name>Claudio Pomes</name><uri>http://www.blogger.com/profile/05867241310817527022</uri><email>noreply@blogger.com</email><gd:image height="32" rel="http://schemas.google.com/g/2005#thumbnail" src="//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnjMmdIWMIcd464SD-u4VsJBXmTf1BTGQAIVPFdzGK2Z3P1ZKbrISt8SdSFSGSzoc4KvmJvACpnL9lE9x7-fXplMVjqdG1IkoB_Jq_kclZtfLmEoSONobAo5j2sFP2wxJHIGZa5_p5KwCURDkifbBQtwrgA_Q52gr-Hnsn9Eg7vVYocYc/s220/pomheybokeh.jpg" width="32"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRIBouDzbY3SPEj4Hi46Eusz0qh378bwhyphenhyphenLPDarN28p-Pt0RQxdx6QY6iHp22j7a0L0ZR3ElQmEmfvw9Gq6q4LIKWUezjwIavF4ZmzF62HNmBlseU0BKVN4LE8OhK5pXlMerObCzi4iE4/s72-w400-h228-c/Trucchi-Google-Maps.jpg" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5148617246197063026.post-205532487963271620</id><published>2026-10-01T17:17:18.678+02:00</published><updated>2026-10-01T17:17:18.734+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Navigaweb App"/><title type="text">Misurare la frequenza cardiaca online con la fotocamera</title><content type="html">&lt;img alt="misura battito iphone" height="186" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEham0uJ_JEWwIJCUQZ_eMSpN1EWnoacf7et-4GgyBr9YF8g3Z86gjb5j36y0K5Mhp9If2C1s7h030fj7kRdGdT1_jl1JUMZAE6dRS2Y2ITfokKRHURsxJXL5UNf-cCcKg85puWHaYp6ae_o/s320/frequenza-cardiaca.webp" title="app frequenza cardiaca android" width="320" /&gt; &lt;p&gt;Di &lt;a href="https://www.navigaweb.net/2013/03/cose-che-si-possono-fare-con-smartphone.html"&gt;tutte le cose che si possono fare con uno smartphone&lt;/a&gt;, un'operazione molto dibattuta è quella di &lt;b&gt;misurare la frequenza cardiaca&lt;/b&gt;. Negli store digitali abbondano applicazioni che promettono diagnosi mediche immediate, e una delle truffe più vecchie in circolazione è quella del telefono in grado di misurare la febbre appoggiando il dito sullo schermo. Dal punto di vista hardware, la stragrande maggioranza dei sensori fotografici non possiede i componenti termici per rilevare i gradi del corpo umano. Eppure, la telecamera dello smartphone nasconde una capacità diagnostica reale e millimetrica: può leggere il ritmo del cuore.&lt;/p&gt;
&lt;p&gt;Sfruttando un principio ottico utilizzato quotidianamente in ambito ospedaliero e incrociandolo con una vecchia regola medica di base, abbiamo realizzato uno &lt;b&gt;strumento gratuito e senza trucchi che è capace di misurare la frequenza cardiaca&lt;/b&gt;. Appoggiando un polpastrello sull'obiettivo luminoso, la lente smette di scattare fotografie e si trasforma in un sensore biometrico capace di contare i battiti al minuto e segnalare un'eventuale alterazione corporea.&lt;/p&gt;
&lt;a name='more'&gt;&lt;/a&gt; 
&lt;div id="heart-rate-pro-wrapper" style="all: initial; display: block; position: relative; z-index: 10; isolation: isolate; width: 100%; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; box-sizing: border-box;"&gt;

    &lt;style&gt;
        .hr-app-container {
            background: linear-gradient(160deg, #090d16 0%, #172033 100%);
            color: #f8fafc;
            padding: 30px 20px;
            border-radius: 24px;
            box-shadow: 0 25px 55px rgba(0, 0, 0, 0.5);
            max-width: 780px;
            margin: 20px auto;
            text-align: center;
            box-sizing: border-box;
            border: 1px solid rgba(255, 255, 255, 0.1);
            touch-action: manipulation;
            user-select: none;
            position: relative;
        }

        .hr-header-bar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 18px;
            flex-wrap: wrap;
            gap: 12px;
        }

        .hr-title-area {
            text-align: left;
        }

        .hr-title-area h3 {
            margin: 0 0 4px 0;
            font-size: 24px;
            font-weight: 800;
            color: #ffffff;
            letter-spacing: -0.5px;
        }

        .hr-title-area p {
            margin: 0;
            font-size: 13px;
            color: #94a3b8;
        }

        .btn-pwa-action {
            background: rgba(56, 189, 248, 0.15);
            color: #38bdf8;
            border: 1px solid rgba(56, 189, 248, 0.4);
            padding: 8px 14px;
            border-radius: 20px;
            font-size: 11px;
            font-weight: 800;
            cursor: pointer;
            transition: all 0.2s;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .btn-pwa-action:hover {
            background: #38bdf8;
            color: #0f172a;
        }

        .disclaimer-pill {
            display: inline-block;
            background: rgba(56, 189, 248, 0.1);
            border: 1px solid rgba(56, 189, 248, 0.3);
            color: #7dd3fc;
            font-size: 11px;
            font-weight: 700;
            padding: 5px 14px;
            border-radius: 12px;
            margin-bottom: 20px;
            line-height: 1.4;
        }

        /* Guida rapida Lente Fotocamera */
        .lens-finder-hint {
            background: rgba(245, 158, 11, 0.12);
            border: 1px solid rgba(245, 158, 11, 0.3);
            border-radius: 14px;
            padding: 10px 14px;
            margin-bottom: 20px;
            font-size: 12px;
            color: #fde68a;
            text-align: left;
            line-height: 1.4;
        }

        .lens-finder-hint strong {
            color: #fbbf24;
        }

        /* Dashboard BPM Principale */
        .bpm-display-panel {
            background: rgba(0, 0, 0, 0.3);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 20px;
            padding: 24px 20px;
            margin-bottom: 20px;
            display: grid;
            grid-template-columns: 1fr 1.1fr;
            gap: 20px;
            align-items: center;
            box-sizing: border-box;
        }

        .bpm-value-box {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 4px;
        }

        .bpm-heart-wrapper {
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .heart-icon-svg {
            width: 38px;
            height: 38px;
            color: #ef4444;
            transition: transform 0.12s cubic-bezier(0.17, 0.67, 0.83, 0.67);
            filter: drop-shadow(0 0 10px rgba(239, 68, 68, 0.4));
        }

        .heart-icon-svg.pulse {
            transform: scale(1.3);
        }

        .bpm-big-number {
            font-family: monospace;
            font-size: 64px;
            font-weight: 900;
            color: #ffffff;
            line-height: 1;
            letter-spacing: -2px;
        }

        .bpm-label-txt {
            font-size: 13px;
            font-weight: 800;
            color: #94a3b8;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .bpm-quality-box {
            display: flex;
            flex-direction: column;
            gap: 8px;
            text-align: left;
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 14px;
            padding: 14px;
            font-size: 12px;
        }

        .quality-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .quality-badge {
            font-size: 11px;
            font-weight: 800;
            padding: 4px 10px;
            border-radius: 6px;
            text-transform: uppercase;
        }

        .badge-waiting { background: rgba(148, 163, 184, 0.2); color: #cbd5e1; }
        .badge-calib { background: rgba(56, 189, 248, 0.25); color: #38bdf8; border: 1px solid rgba(56, 189, 248, 0.5); }
        .badge-optimal { background: rgba(34, 197, 94, 0.2); color: #4ade80; border: 1px solid rgba(34, 197, 94, 0.5); }
        .badge-poor { background: rgba(239, 68, 68, 0.25); color: #f87171; border: 1px solid rgba(239, 68, 68, 0.5); }

        /* Barra di Progresso Test 20s */
        .test-progress-strip {
            margin-bottom: 20px;
            background: rgba(0, 0, 0, 0.3);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 14px;
            padding: 12px 16px;
            text-align: left;
        }

        .progress-header-flex {
            display: flex;
            justify-content: space-between;
            font-size: 11px;
            font-weight: 800;
            color: #cbd5e1;
            text-transform: uppercase;
            margin-bottom: 6px;
        }

        .progress-track {
            width: 100%;
            height: 8px;
            background: rgba(255, 255, 255, 0.1);
            border-radius: 4px;
            overflow: hidden;
        }

        .progress-fill-bar {
            width: 0%;
            height: 100%;
            background: #22c55e;
            transition: width 0.3s ease;
        }

        /* Tracciato Onde ECG */
        .ecg-canvas-container {
            width: 100%;
            height: 140px;
            background: #020617;
            border-radius: 16px;
            border: 1px solid rgba(34, 197, 94, 0.25);
            box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.8), 0 0 15px rgba(34, 197, 94, 0.1);
            overflow: hidden;
            margin-bottom: 20px;
            position: relative;
            box-sizing: border-box;
        }

        #ecg-wave-canvas {
            width: 100%;
            height: 100%;
            display: block;
        }

        .ecg-grid-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
            background-image: 
                linear-gradient(rgba(34, 197, 94, 0.08) 1px, transparent 1px),
                linear-gradient(90deg, rgba(34, 197, 94, 0.08) 1px, transparent 1px);
            background-size: 20px 20px;
        }

        /* Scheda Valutazione Febbre (Liebermeister) */
        .fever-eval-box {
            display: none;
            background: rgba(0, 0, 0, 0.35);
            border: 1.5px solid rgba(56, 189, 248, 0.4);
            border-radius: 18px;
            padding: 18px 20px;
            margin-bottom: 20px;
            text-align: left;
            box-sizing: border-box;
        }

        .fever-header-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 10px;
            flex-wrap: wrap;
            gap: 8px;
        }

        .fever-status-badge {
            font-size: 11px;
            font-weight: 800;
            padding: 4px 10px;
            border-radius: 8px;
            text-transform: uppercase;
        }

        .badge-fever-normal { background: rgba(34, 197, 94, 0.2); color: #4ade80; border: 1px solid rgba(34, 197, 94, 0.4); }
        .badge-fever-warning { background: rgba(245, 158, 11, 0.2); color: #fbbf24; border: 1px solid rgba(245, 158, 11, 0.4); }
        .badge-fever-high { background: rgba(239, 68, 68, 0.25); color: #f87171; border: 1px solid rgba(239, 68, 68, 0.5); }

        .fever-desc-txt {
            font-size: 13px;
            color: #cbd5e1;
            line-height: 1.5;
            margin: 0;
        }

        /* Sensore Fotocamera */
        .camera-sampling-strip {
            display: flex;
            align-items: center;
            justify-content: space-between;
            background: rgba(0, 0, 0, 0.25);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 14px;
            padding: 12px 16px;
            margin-bottom: 20px;
            flex-wrap: wrap;
            gap: 12px;
        }

        .cam-preview-box {
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .cam-mini-circle {
            width: 48px;
            height: 48px;
            border-radius: 50%;
            overflow: hidden;
            border: 3px solid #64748b;
            background: #000000;
            flex-shrink: 0;
            transition: border-color 0.2s ease;
        }

        .cam-mini-circle.finger-detected {
            border-color: #ef4444;
            box-shadow: 0 0 12px rgba(239, 68, 68, 0.6);
        }

        #ppg-video-element {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .cam-hint-text {
            font-size: 12px;
            color: #cbd5e1;
            text-align: left;
            line-height: 1.4;
        }

        /* Pulsanti e Azioni */
        .hr-controls-row {
            display: flex;
            gap: 10px;
            justify-content: center;
            flex-wrap: wrap;
            margin-bottom: 20px;
        }

        .btn-hr-action {
            flex: 1;
            min-width: 180px;
            padding: 16px 20px;
            border-radius: 14px;
            border: none;
            font-size: 14px;
            font-weight: 800;
            letter-spacing: 0.5px;
            cursor: pointer;
            transition: all 0.2s ease;
            -webkit-tap-highlight-color: transparent;
        }

        .btn-start-ppg {
            background: #ef4444;
            color: #ffffff;
            box-shadow: 0 4px 18px rgba(239, 68, 68, 0.35);
        }

        .btn-start-ppg:hover {
            background: #f87171;
            transform: translateY(-1px);
        }

        .btn-stop-ppg {
            background: rgba(255, 255, 255, 0.08);
            color: #cbd5e1;
            border: 1px solid rgba(255, 255, 255, 0.15);
        }

        .btn-aux-tool {
            padding: 10px 16px;
            border-radius: 10px;
            background: rgba(255, 255, 255, 0.06);
            border: 1px solid rgba(255, 255, 255, 0.12);
            color: #cbd5e1;
            font-size: 12px;
            font-weight: 700;
            cursor: pointer;
            transition: all 0.2s;
        }

        .btn-aux-tool:hover {
            background: rgba(255, 255, 255, 0.12);
            color: #ffffff;
        }

        .btn-aux-tool.active {
            background: rgba(245, 158, 11, 0.2);
            color: #fbbf24;
            border-color: rgba(245, 158, 11, 0.4);
        }

        /* Modal PWA */
        .pwa-modal-overlay {
            display: none;
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(15, 23, 42, 0.96);
            backdrop-filter: blur(8px);
            border-radius: 24px;
            z-index: 50;
            padding: 25px 20px;
            box-sizing: border-box;
            text-align: left;
            overflow-y: auto;
        }

        .pwa-step-card {
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 12px;
            padding: 12px 14px;
            margin-bottom: 10px;
        }

        .pwa-step-card strong {
            display: block;
            color: #38bdf8;
            font-size: 13px;
            margin-bottom: 4px;
        }

        .pwa-step-card p {
            margin: 0;
            font-size: 12px;
            color: #cbd5e1;
            line-height: 1.4;
        }

        @media (max-width: 600px) {
            .bpm-display-panel {
                grid-template-columns: 1fr;
            }
            .camera-sampling-strip {
                flex-direction: column;
                align-items: flex-start;
            }
        }
    &lt;/style&gt;

    &lt;div class="hr-app-container"&gt;
        
        &lt;div class="hr-header-bar"&gt;
            &lt;div class="hr-title-area"&gt;
                &lt;h3&gt;Cardiofrequenzimetro Ottico Pro&lt;/h3&gt;
                &lt;p&gt;Misura BPM con la fotocamera e stima cardiaca di rialzo febbrile&lt;/p&gt;
            &lt;/div&gt;
            &lt;button id="btn-pwa-hr-trigger" class="btn-pwa-action" onclick="triggerHrPwaInstall()"&gt;
                Salva come App
            &lt;/button&gt;
        &lt;/div&gt;

        &lt;div class="disclaimer-pill"&gt;
            Nota Scientifica: La fotocamera non e un termometro. La valutazione febbrile si basa sulla correlazione cardiaca medica di Liebermeister.
        &lt;/div&gt;

        &lt;!-- Box Guida Individuazione Lente Corretta --&gt;
        &lt;div class="lens-finder-hint"&gt;
            &lt;strong&gt;Quale fotocamera coprire?&lt;/strong&gt; Molti telefoni hanno 2 o 3 obiettivi posteriori. Guarda il &lt;strong&gt;cerchietto di anteprima in basso&lt;/strong&gt; e tocca una lente alla volta con l'indice: la fotocamera corretta e quella che fa diventare il cerchietto &lt;strong&gt;completamente rosso scuro&lt;/strong&gt; (di solito e la lente principale, piu vicina al flash LED).
        &lt;/div&gt;

        &lt;!-- Dashboard Battiti BPM e Qualità Segnale --&gt;
        &lt;div class="bpm-display-panel"&gt;
            
            &lt;div class="bpm-value-box"&gt;
                &lt;div class="bpm-heart-wrapper"&gt;
                    &lt;svg id="svg-heart-icon" class="heart-icon-svg" viewBox="0 0 24 24" fill="currentColor"&gt;
                        &lt;path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"/&gt;
                    &lt;/svg&gt;
                    &lt;div id="bpm-number-display" class="bpm-big-number"&gt;--&lt;/div&gt;
                &lt;/div&gt;
                &lt;span class="bpm-label-txt"&gt;BPM (Battiti / Minuto)&lt;/span&gt;
            &lt;/div&gt;

            &lt;div class="bpm-quality-box"&gt;
                &lt;div class="quality-row"&gt;
                    &lt;span&gt;Stato Dito:&lt;/span&gt;
                    &lt;span id="badge-finger-status" class="quality-badge badge-waiting"&gt;In Attesa&lt;/span&gt;
                &lt;/div&gt;
                &lt;div class="quality-row"&gt;
                    &lt;span&gt;Flusso Sanguigno:&lt;/span&gt;
                    &lt;span id="badge-pulse-stability" class="quality-badge badge-waiting"&gt;Non Rilevato&lt;/span&gt;
                &lt;/div&gt;
                &lt;div class="quality-row"&gt;
                    &lt;span&gt;Durata Test:&lt;/span&gt;
                    &lt;strong id="measurement-duration-txt" style="color: #38bdf8; font-family: monospace;"&gt;20s&lt;/strong&gt;
                &lt;/div&gt;
            &lt;/div&gt;

        &lt;/div&gt;

        &lt;!-- Barra di Avanzamento Test 20 Secondi --&gt;
        &lt;div class="test-progress-strip"&gt;
            &lt;div class="progress-header-flex"&gt;
                &lt;span id="progress-status-label"&gt;Stato Test: Premi 'Avvia Misurazione'&lt;/span&gt;
                &lt;span id="progress-pct-label"&gt;0%&lt;/span&gt;
            &lt;/div&gt;
            &lt;div class="progress-track"&gt;
                &lt;div id="test-progress-fill" class="progress-fill-bar"&gt;&lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;!-- Tracciato Onde ECG / Fotopletismografia --&gt;
        &lt;div class="ecg-canvas-container"&gt;
            &lt;div class="ecg-grid-overlay"&gt;&lt;/div&gt;
            &lt;canvas id="ecg-wave-canvas" width="700" height="140"&gt;&lt;/canvas&gt;
        &lt;/div&gt;

        &lt;!-- Scheda Valutazione Fisiologica Febbre (Regola di Liebermeister) --&gt;
        &lt;div id="fever-assessment-box" class="fever-eval-box"&gt;
            &lt;div class="fever-header-row"&gt;
                &lt;strong style="color: #ffffff; font-size: 14px;"&gt;Analisi Cardiaca Fisiologica (Liebermeister)&lt;/strong&gt;
                &lt;span id="fever-badge-pill" class="fever-status-badge badge-fever-normal"&gt;BATTITO REGOLARE&lt;/span&gt;
            &lt;/div&gt;
            &lt;p id="fever-assessment-text" class="fever-desc-txt"&gt;&lt;/p&gt;
        &lt;/div&gt;

        &lt;!-- Sensore Fotocamera &amp; Feedback Visivo --&gt;
        &lt;div class="camera-sampling-strip"&gt;
            &lt;div class="cam-preview-box"&gt;
                &lt;div id="cam-lens-circle" class="cam-mini-circle"&gt;
                    &lt;video id="ppg-video-element" autoplay playsinline muted&gt;&lt;/video&gt;
                &lt;/div&gt;
                &lt;div class="cam-hint-text"&gt;
                    &lt;strong id="cam-status-headline" style="color: #ffffff; display: block;"&gt;Sensore in Standby&lt;/strong&gt;
                    &lt;span id="cam-status-detail" style="font-size: 11px; color: #94a3b8;"&gt;Premi 'Avvia Misurazione' per attivare l'obiettivo&lt;/span&gt;
                &lt;/div&gt;
            &lt;/div&gt;

            &lt;div style="display: flex; gap: 8px;"&gt;
                &lt;button id="btn-torch-toggle" class="btn-aux-tool" onclick="toggleTorchFlash()" style="display: none;"&gt;Torcia / Flash&lt;/button&gt;
                &lt;button class="btn-aux-tool" onclick="toggleAudioPulse()"&gt;Audio Battito: ON&lt;/button&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;!-- Pulsanti di Controllo --&gt;
        &lt;div class="hr-controls-row"&gt;
            &lt;button id="btn-master-ppg" class="btn-hr-action btn-start-ppg" onclick="togglePpgSession()"&gt;
                AVVIA MISURAZIONE
            &lt;/button&gt;
        &lt;/div&gt;

        &lt;!-- Modal PWA --&gt;
        &lt;div id="hr-pwa-modal" class="pwa-modal-overlay"&gt;
            &lt;div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px;"&gt;
                &lt;h4 style="margin: 0; color: #ffffff; font-size: 18px;"&gt;Salva nei Preferiti ed Installa&lt;/h4&gt;
                &lt;button onclick="toggleHrPwaModal(false)" style="background: transparent; border: none; color: #94a3b8; font-size: 20px; cursor: pointer; font-weight: bold;"&gt;X&lt;/button&gt;
            &lt;/div&gt;
            
            &lt;div class="pwa-step-card"&gt;
                &lt;strong&gt;Android (Chrome ed Edge)&lt;/strong&gt;
                &lt;p&gt;Premi i tre puntini in alto a destra e tocca &lt;b&gt;'Installa app'&lt;/b&gt; oppure &lt;b&gt;'Aggiungi a schermata Home'&lt;/b&gt;.&lt;/p&gt;
            &lt;/div&gt;

            &lt;div class="pwa-step-card"&gt;
                &lt;strong&gt;iPhone ed iPad (Safari)&lt;/strong&gt;
                &lt;p&gt;Tocca il tasto di Condivisione in basso (quadrato con freccia) e scegli &lt;b&gt;'Aggiungi alla schermata Home'&lt;/b&gt;.&lt;/p&gt;
            &lt;/div&gt;

            &lt;div class="pwa-step-card"&gt;
                &lt;strong&gt;Computer (PC Windows e Mac)&lt;/strong&gt;
                &lt;p&gt;Premi &lt;b&gt;Ctrl + D&lt;/b&gt; (su Windows) o &lt;b&gt;Cmd + D&lt;/b&gt; (su Mac) per aggiungerlo ai tuoi preferiti.&lt;/p&gt;
            &lt;/div&gt;

            &lt;button onclick="toggleHrPwaModal(false)" class="btn-hr-action btn-start-ppg" style="width: 100%; margin-top: 10px;"&gt;HO CAPITO&lt;/button&gt;
        &lt;/div&gt;

    &lt;/div&gt;

&lt;/div&gt;

&lt;script&gt;
(function() {
    var isCameraActive = false;
    var isTestCounting = false;
    var mediaStream = null;
    var videoTrack = null;
    var torchActive = false;
    var audioPulseEnabled = true;
    var deferredPrompt = null;

    var sampleInterval = null;
    var durationInterval = null;
    var audioCtx = null;

    var testTotalSeconds = 20;
    var elapsedSeconds = 0;
    var stableFingerFrames = 0; // Contatore frame di stabilizzazione dito

    var waveBuffer = [];
    var maxWavePoints = 180;
    var baseline = 0;
    var smoothSignal = 0;

    var lastPeakTime = 0;
    var recentBpms = [];
    var allValidBpms = [];
    var peakThreshold = 1.2;

    var videoEl = document.getElementById('ppg-video-element');
    var lensCircle = document.getElementById('cam-lens-circle');
    var bpmDisplay = document.getElementById('bpm-number-display');
    var heartIcon = document.getElementById('svg-heart-icon');
    var ecgCanvas = document.getElementById('ecg-wave-canvas');
    var ecgCtx = ecgCanvas.getContext('2d');

    var fingerBadge = document.getElementById('badge-finger-status');
    var stabilityBadge = document.getElementById('badge-pulse-stability');
    var durationTxt = document.getElementById('measurement-duration-txt');
    var statusHeadline = document.getElementById('cam-status-headline');
    var statusDetail = document.getElementById('cam-status-detail');

    var progressFill = document.getElementById('test-progress-fill');
    var progressStatus = document.getElementById('progress-status-label');
    var progressPct = document.getElementById('progress-pct-label');

    var feverBox = document.getElementById('fever-assessment-box');
    var feverBadge = document.getElementById('fever-badge-pill');
    var feverText = document.getElementById('fever-assessment-text');

    var masterBtn = document.getElementById('btn-master-ppg');
    var torchBtn = document.getElementById('btn-torch-toggle');
    var pwaModal = document.getElementById('hr-pwa-modal');

    var sampleCanvas = document.createElement('canvas');
    sampleCanvas.width = 30;
    sampleCanvas.height = 30;
    var sampleCtx = sampleCanvas.getContext('2d');

    var initIdx = 0;
    while (initIdx !== maxWavePoints) {
        waveBuffer.push(0);
        initIdx++;
    }

    // PWA Support
    window.addEventListener('beforeinstallprompt', function(e) {
        e.preventDefault();
        deferredPrompt = e;
        var pwaBtn = document.getElementById('btn-pwa-hr-trigger');
        if (pwaBtn) pwaBtn.innerText = "Installa App";
    });

    window.triggerHrPwaInstall = function() {
        if (deferredPrompt) {
            deferredPrompt.prompt();
            deferredPrompt.userChoice.then(function() {
                deferredPrompt = null;
            });
        } else {
            window.toggleHrPwaModal(true);
        }
    };

    window.toggleHrPwaModal = function(show) {
        pwaModal.style.display = show ? "block" : "none";
    };

    // Suono di aggancio e battito
    function playChimeConfirmation() {
        try {
            if (!audioCtx) {
                var AudioContextClass = window.AudioContext || window.webkitAudioContext;
                audioCtx = new AudioContextClass();
            }
            if (audioCtx.state === 'suspended') {
                audioCtx.resume();
            }
            var now = audioCtx.currentTime;
            var osc = audioCtx.createOscillator();
            var gain = audioCtx.createGain();
            osc.type = 'sine';
            osc.frequency.setValueAtTime(520, now);
            osc.frequency.setValueAtTime(740, now + 0.1);
            gain.gain.setValueAtTime(0.2, now);
            gain.gain.exponentialRampToValueAtTime(0.001, now + 0.3);
            osc.connect(gain);
            gain.connect(audioCtx.destination);
            osc.start(now);
            osc.stop(now + 0.32);
        } catch(e) {}
    }

    function playHeartbeatSound() {
        if (!audioPulseEnabled) return;
        try {
            if (!audioCtx) {
                var AudioContextClass = window.AudioContext || window.webkitAudioContext;
                audioCtx = new AudioContextClass();
            }
            if (audioCtx.state === 'suspended') {
                audioCtx.resume();
            }
            var now = audioCtx.currentTime;
            var osc = audioCtx.createOscillator();
            var gain = audioCtx.createGain();
            osc.type = 'sine';
            osc.frequency.setValueAtTime(80, now);
            osc.frequency.exponentialRampToValueAtTime(35, now + 0.08);
            gain.gain.setValueAtTime(0.3, now);
            gain.gain.exponentialRampToValueAtTime(0.001, now + 0.09);
            osc.connect(gain);
            gain.connect(audioCtx.destination);
            osc.start(now);
            osc.stop(now + 0.1);
        } catch(e) {}
    }

    window.toggleAudioPulse = function() {
        audioPulseEnabled = !audioPulseEnabled;
        var btn = event.target;
        btn.innerText = "Audio Battito: " + (audioPulseEnabled ? "ON" : "OFF");
    };

    window.toggleTorchFlash = function() {
        if (!videoTrack) return;
        torchActive = !torchActive;
        videoTrack.applyConstraints({
            advanced: [{ torch: torchActive }]
        }).then(function() {
            torchBtn.classList.toggle('active', torchActive);
        }).catch(function(e) {});
    };

    // --- AVVIO E ARRESTO MISURAZIONE ---
    window.togglePpgSession = function() {
        if (!isCameraActive) {
            startCameraPreview();
        } else {
            stopPpgSession(false);
        }
    };

    function startCameraPreview() {
        if (!navigator.mediaDevices || !navigator.mediaDevices.getUserMedia) {
            alert("Il tuo browser non supporta l'accesso alla fotocamera.");
            return;
        }

        var constraints = {
            audio: false,
            video: {
                facingMode: "environment",
                width: { ideal: 640 },
                height: { ideal: 480 }
            }
        };

        navigator.mediaDevices.getUserMedia(constraints)
            .then(function(stream) {
                mediaStream = stream;
                videoTrack = stream.getVideoTracks()[0];
                videoEl.srcObject = stream;

                var capabilities = videoTrack.getCapabilities ? videoTrack.getCapabilities() : {};
                if (capabilities.torch) {
                    torchBtn.style.display = "inline-block";
                    videoTrack.applyConstraints({ advanced: [{ torch: true }] }).then(function() {
                        torchActive = true;
                        torchBtn.classList.add('active');
                    }).catch(function(){});
                } else {
                    torchBtn.style.display = "none";
                }

                isCameraActive = true;
                isTestCounting = false;
                stableFingerFrames = 0;
                elapsedSeconds = 0;
                recentBpms = [];
                allValidBpms = [];
                lastPeakTime = 0;
                baseline = 0;
                smoothSignal = 0;

                masterBtn.innerText = "FERMA MISURAZIONE";
                masterBtn.className = "btn-hr-action btn-stop-ppg";

                // Fase 1: In attesa del dito corretto
                statusHeadline.innerText = "Fotocamera Attiva";
                statusDetail.innerText = "Copri l'obiettivo finche il cerchietto non diventa rosso";
                fingerBadge.innerText = "In Attesa";
                fingerBadge.className = "quality-badge badge-waiting";
                stabilityBadge.innerText = "In Attesa del Dito";
                stabilityBadge.className = "quality-badge badge-waiting";

                feverBox.style.display = "none";
                progressStatus.innerText = "In attesa: posiziona il dito sulla lente corretta...";
                progressFill.style.width = "0%";
                progressPct.innerText = "0%";
                durationTxt.innerText = "20s";

                sampleInterval = setInterval(processPpgFrame, 33);
            })
            .catch(function(err) {
                console.error(err);
                alert("Impossibile accedere alla fotocamera. Verifica di navigare su HTTPS e di aver concesso i permessi.");
            });
    }

    // Avvio effettivo del conteggio solo dopo che il dito è agganciato
    function beginCountdownTest() {
        if (isTestCounting) return;
        isTestCounting = true;
        playChimeConfirmation();

        progressStatus.innerText = "Dito agganciato! Test in corso: resta immobile...";
        progressStatus.style.color = "#4ade80";

        clearInterval(durationInterval);
        durationInterval = setInterval(function() {
            elapsedSeconds++;
            var remaining = testTotalSeconds - elapsedSeconds;
            durationTxt.innerText = remaining + "s";

            var pct = Math.round((elapsedSeconds / testTotalSeconds) * 100);
            progressFill.style.width = pct + "%";
            progressPct.innerText = pct + "%";

            if (elapsedSeconds === testTotalSeconds) {
                stopPpgSession(true);
            }
        }, 1000);
    }

    function stopPpgSession(completedNormally) {
        if (mediaStream) {
            mediaStream.getTracks().forEach(function(t) { t.stop(); });
            mediaStream = null;
            videoTrack = null;
        }
        clearInterval(sampleInterval);
        clearInterval(durationInterval);

        isCameraActive = false;
        isTestCounting = false;
        torchActive = false;
        torchBtn.classList.remove('active');
        lensCircle.classList.remove('finger-detected');

        masterBtn.innerText = "AVVIA NUOVA MISURAZIONE";
        masterBtn.className = "btn-hr-action btn-start-ppg";

        statusHeadline.innerText = "Sensore in Standby";
        statusDetail.innerText = "Premi 'Avvia Misurazione'";

        if (completedNormally) {
            progressStatus.innerText = "Test completato con successo!";
            progressStatus.style.color = "#38bdf8";
            progressFill.style.width = "100%";
            progressPct.innerText = "100%";
            evaluateFeverAndReport();
        } else {
            progressStatus.innerText = "Misurazione interrotta.";
            progressStatus.style.color = "#cbd5e1";
        }
    }

    // --- ELABORAZIONE FRAME &amp; RICONOSCIMENTO DITO ---
    function processPpgFrame() {
        if (!isCameraActive || !videoEl.videoWidth) return;

        sampleCtx.drawImage(videoEl, 0, 0, 30, 30);
        var frameData = sampleCtx.getImageData(0, 0, 30, 30).data;

        var sumR = 0;
        var sumG = 0;
        var totalPixels = 900;
        var pIdx = 0;
        var dataLen = frameData.length;

        while (pIdx !== dataLen) {
            sumR = sumR + frameData[pIdx];
            sumG = sumG + frameData[pIdx + 1];
            pIdx = pIdx + 4;
        }

        var avgR = sumR / totalPixels;
        var avgG = sumG / totalPixels;

        // Riconoscimento Dito sulla fotocamera corretta
        var isRedDominant = Math.sign(avgR - 75) === 1;
        var isFingerOn = isRedDominant &amp;&amp; (Math.sign(avgR - (avgG * 1.25)) === 1);

        if (!isFingerOn) {
            stableFingerFrames = 0;
            lensCircle.classList.remove('finger-detected');
            fingerBadge.innerText = "Lente Non Coperta";
            fingerBadge.className = "quality-badge badge-poor";

            if (isTestCounting) {
                // Se il dito scivola via durante il test, avvisa l'utente
                statusHeadline.innerText = "Dito Rimosso!";
                statusDetail.innerText = "Riposiziona l'indice sull'obiettivo per continuare";
                stabilityBadge.innerText = "In Pausa";
                stabilityBadge.className = "quality-badge badge-poor";
            } else {
                statusHeadline.innerText = "Cerca l'Obiettivo Giusto";
                statusDetail.innerText = "Sfiora le lenti finche il cerchietto diventa rosso";
                stabilityBadge.innerText = "In Attesa";
                stabilityBadge.className = "quality-badge badge-waiting";
            }

            drawEcgWaveform(0);
            return;
        }

        // Il dito è posizionato correttamente
        lensCircle.classList.add('finger-detected');
        fingerBadge.innerText = "Ottimale";
        fingerBadge.className = "quality-badge badge-optimal";

        // Se non abbiamo ancora avviato il conteggio dei 20s, verifichiamo la stabilizzazione (~1 secondo)
        if (!isTestCounting) {
            stableFingerFrames++;
            statusHeadline.innerText = "Calibrazione In Corso...";
            statusDetail.innerText = "Non muovere il dito, avvio imminente";
            stabilityBadge.innerText = "Calibrazione...";
            stabilityBadge.className = "quality-badge badge-calib";

            // Circa 30 frame a 30 FPS = ~1 secondo di stabilità
            if (Math.sign(stableFingerFrames - 30) === 1) {
                beginCountdownTest();
            }
        } else {
            statusHeadline.innerText = "Misurazione In Corso";
            statusDetail.innerText = "Dito agganciato. Rimani immobile...";
        }

        // Estrazione Segnale
        var rawSignal = (avgR * 0.4) + (avgG * 0.6);

        if (baseline === 0) {
            baseline = rawSignal;
        }

        baseline = (baseline * 0.96) + (rawSignal * 0.04);
        var acSignal = rawSignal - baseline;
        smoothSignal = (smoothSignal * 0.65) + (acSignal * 0.35);

        // Rilevamento Picchi
        var nowMs = Date.now();
        var timeSinceLast = nowMs - lastPeakTime;

        var isAfterMinCooldown = Math.sign(timeSinceLast - 330) === 1;
        var isPeakAmplitude = Math.sign(smoothSignal - peakThreshold) === 1;

        if (isAfterMinCooldown &amp;&amp; isPeakAmplitude) {
            var isBeforeMaxTimeout = Math.sign(timeSinceLast - 1400) === -1;

            if (isBeforeMaxTimeout &amp;&amp; lastPeakTime !== 0) {
                var instantBpm = Math.round(60000 / timeSinceLast);
                var isBpmValid = (Math.sign(instantBpm - 45) !== -1) &amp;&amp; (Math.sign(instantBpm - 175) !== 1);

                if (isBpmValid) {
                    recentBpms.push(instantBpm);
                    allValidBpms.push(instantBpm);

                    if (Math.sign(recentBpms.length - 6) === 1) {
                        recentBpms.shift();
                    }

                    var bpmSum = 0;
                    recentBpms.forEach(function(b) { bpmSum = bpmSum + b; });
                    var finalBpm = Math.round(bpmSum / recentBpms.length);

                    bpmDisplay.innerText = finalBpm;
                    stabilityBadge.innerText = "Polso Regolare";
                    stabilityBadge.className = "quality-badge badge-optimal";
                }
            }

            lastPeakTime = nowMs;

            heartIcon.classList.add('pulse');
            setTimeout(function() {
                heartIcon.classList.remove('pulse');
            }, 120);

            playHeartbeatSound();
        }

        drawEcgWaveform(smoothSignal);
    }

    // --- DISEGNO ONDA ECG ---
    function drawEcgWaveform(pointVal) {
        waveBuffer.shift();
        waveBuffer.push(pointVal);

        var w = ecgCanvas.width;
        var h = ecgCanvas.height;
        var midY = h / 2;

        ecgCtx.clearRect(0, 0, w, h);

        ecgCtx.beginPath();
        ecgCtx.lineWidth = 2.5;
        ecgCtx.strokeStyle = '#22c55e';
        ecgCtx.shadowColor = 'rgba(34, 197, 94, 0.6)';
        ecgCtx.shadowBlur = 8;

        var stepX = w / maxWavePoints;
        var i = 0;

        while (i !== maxWavePoints) {
            var x = i * stepX;
            var y = midY - (waveBuffer[i] * 9);
            y = Math.max(10, Math.min(h - 10, y));

            if (i === 0) {
                ecgCtx.moveTo(x, y);
            } else {
                ecgCtx.lineTo(x, y);
            }
            i++;
        }

        ecgCtx.stroke();
    }

    // --- REFERTO FINALE LIEBERMEISTER ---
    function evaluateFeverAndReport() {
        feverBox.style.display = "block";

        if (allValidBpms.length === 0) {
            feverBadge.className = "fever-status-badge badge-fever-warning";
            feverBadge.innerText = "DATI INSUFFICIENTI";
            feverText.innerText = "Non sono stati registrati abbastanza battiti stabili durante i 20 secondi. Assicurati di coprire bene la fotocamera senza muovere il dito e ripeti il test.";
            return;
        }

        var sum = 0;
        allValidBpms.forEach(function(v) { sum = sum + v; });
        var avgBpm = Math.round(sum / allValidBpms.length);

        bpmDisplay.innerText = avgBpm;

        if (Math.sign(avgBpm - 85) !== 1) {
            feverBadge.className = "fever-status-badge badge-fever-normal";
            feverBadge.innerText = "BATTITO REGOLARE A RIPOSO";
            feverText.innerText = "Media rilevata: " + avgBpm + " BPM. La frequenza e pienamente nella norma a riposo. Dal punto di vista cardiovascolare non emergono segnali tipici di rialzo termico febbrile o infezione in corso.";
        } 
        else if (Math.sign(avgBpm - 85) === 1 &amp;&amp; Math.sign(avgBpm - 99) !== 1) {
            feverBadge.className = "fever-status-badge badge-fever-warning";
            feverBadge.innerText = "FREQUENZA LIEVEMENTE RIALZATA";
            feverText.innerText = "Media rilevata: " + avgBpm + " BPM. Il battito e leggermente superiore alla media a riposo. Se non hai fatto sforzi o assunto caffeina, potrebbe correlarsi a stress, lieve alterazione o inizio di febbre. Se avverti malessere, controlla la temperatura con un termometro reale.";
        } 
        else {
            feverBadge.className = "fever-status-badge badge-fever-high";
            feverBadge.innerText = "SOSPETTO RIALZO TERMICO / TACHICARDIA";
            feverText.innerText = "Media rilevata: " + avgBpm + " BPM (Tachicardia a riposo). Secondo la regola medica di Liebermeister, il corpo aumenta il battito di circa 8-10 BPM per ogni grado di febbre. Se sei fermo e a riposo, questo valore potrebbe indicare uno stato febbrile o infiammatorio in atto. Misura la temperatura con un termometro medico.";
        }
    }

})();
&lt;/script&gt;
&lt;p&gt;LEGGI ANCHE: &lt;b&gt;&lt;a href="https://www.navigaweb.net/2020/11/migliori-app-e-siti-per-fitness-e-yoga.html"&gt;Apps per allenamenti, sport, corsa e fitness (Android - iPhone)&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;

&lt;h2&gt;Come usarelo strumento di misurazione online&lt;/h2&gt;
&lt;p&gt;Per far funzionare la misurazione è fondamentale coprire col dito il sensore della fotocamera posteriore giusto e toccarlo delicatamente.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Trovare la lente attiva:&lt;/strong&gt; Avviate la misurazione. Seguendo la rotta di Navigaweb per non impazzire, guardate il piccolo riquadro di anteprima a schermo e sfiorate con l'indice gli obiettivi posteriori uno per volta. Quello giusto farà diventare il riquadro completamente rosso scuro. Di norma è la lente fisicamente più vicina al flash LED.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Il tocco piuma:&lt;/strong&gt; Questo è il passaggio fondamentale. Non schiacciate il dito contro il vetro. Una pressione forte ostruisce il flusso sanguigno nei capillari: il sensore vedrà solo una macchia rossa immobile e il grafico rimarrà piatto. Il polpastrello deve solo appoggiarsi delicatamente.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Attesa e stabilità:&lt;/strong&gt; Il software è progettato per non partire subito. Attende che il dito sia posizionato correttamente e aspetta il doppio segnale acustico del cuore. Una volta partito il conto alla rovescia di 20 secondi, evitate di parlare e respirate in modo naturale.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Accorgimenti tecnici e risoluzione dei problemi&lt;/h3&gt;
&lt;p&gt;Le anomalie durante il calcolo dipendono sempre da fattori fisici esterni. Ecco le cause più comuni di una misurazione fallita:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Valori oscillanti o sballati:&lt;/strong&gt; Il sensore ottico è sensibilissimo. Se muovete la mano, camminate o spostate il telefono durante il conto alla rovescia, la luce ambientale entrerà ai lati del dito falsando l'onda. Appoggiate il gomito su un tavolo per rimanere immobili.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mancanza di segnale o cerchietto nero:&lt;/strong&gt; Se state usando un computer portatile o un tablet sprovvisto di torcia posteriore, la luce naturale potrebbe non bastare ad attraversare la pelle. Mettetevi sotto una lampada da scrivania o rivolti verso una finestra soleggiata.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Difficoltà di lettura a riposo:&lt;/strong&gt; Avere le mani molto fredde provoca vasocostrizione periferica. I capillari si restringono e il sangue fatica a passare. Sfregatevi le mani per qualche decina di secondi per riattivare la circolazione prima di iniziare.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Avvertenza medica: Lo strumento ha finalità didattiche, di ricerca e di benessere personale. La frequenza cardiaca varia per decine di motivi come stress, ansia, digestione in corso o allenamento. I dati forniti non sostituiscono in alcun modo il parere di un medico o la misurazione effettuata con strumenti sanitari certificati.&lt;/em&gt;&lt;/p&gt;


&lt;h2&gt;Come fa una fotocamera a leggere il sangue&lt;/h2&gt;
&lt;p&gt;Il sistema che alimenta lo strumento integrato qui sopra si basa sulla &lt;b&gt;Fotopletismografia (PPG)&lt;/b&gt;. È lo stesso identico meccanismo che fa lampeggiare di verde il fondo degli smartwatch moderni o che fa funzionare i saturimetri a pinza che i medici mettono al dito dei pazienti.&lt;/p&gt;
&lt;p&gt;Quando si appoggia il polpastrello sulla lente accesa, la luce del flash penetra nei primi strati della cute e illumina la fitta rete di capillari. A ogni contrazione, il ventricolo sinistro pompa un'ondata di sangue carico di ossigeno ed emoglobina nelle arterie. Poiché l'emoglobina possiede la proprietà fisica di assorbire la luce, a ogni pulsazione la quantità di luminosità che riesce a rimbalzare indietro verso il sensore fotografico subisce una minuscola variazione.&lt;/p&gt;
&lt;p&gt;L'occhio umano non percepisce questo sfarfallio ritmico. Il software, invece, analizzando trenta fotogrammi al secondo, estrapola le differenze di luminosità, ripulisce il segnale dal rumore di fondo e disegna a schermo la curva esatta del polso arterioso.&lt;/p&gt;


&lt;h2&gt;La correlazione tra battiti e stati febbrili&lt;/h2&gt;
&lt;p&gt;Per chi non possiede un Pixel Pro, l'unico modo per intercettare la febbre tramite smartphone è la via indiretta. L'hardware del telefono monta infatti dei filtri in vetro progettati per bloccare i raggi infrarossi termici, rendendo impossibile leggere i gradi centigradi a distanza.&lt;/p&gt;
&lt;p&gt;Tuttavia, il corpo umano risponde alle infezioni seguendo schemi precisi. Nell'Ottocento, il medico tedesco Carl von Liebermeister codificò una reazione fisiologica automatica: a riposo, per ogni aumento di un grado della temperatura corporea causato dalla febbre, la frequenza cardiaca aumenta di circa otto o dieci battiti al minuto. È il modo in cui l'organismo accelera il metabolismo per combattere l'infiammazione.&lt;/p&gt;
&lt;p&gt;Se una persona è seduta tranquilla da almeno cinque minuti, non ha assunto caffeina e registra un battito insolitamente alto (sopra i 95 battiti al minuto), si trova in uno stato di tachicardia a riposo. Il nostro strumento calcola questa media e, basandosi sulla &lt;b&gt;Regola di Liebermeister&lt;/b&gt;, avvisa l'utente di un possibile stato febbrile, suggerendo di effettuare un controllo con un vero termometro clinico.&lt;/p&gt;
&lt;h3&gt;L'eccezione dei termometri dei Google Pixel&lt;/h3&gt;
&lt;p&gt;Prima di procedere, è doveroso fare una distinzione tecnica fondamentale. Sebbene quasi tutti i telefoni usino la fotocamera per "stimare" la febbre tramite il battito, esiste un'unica serie di dispositivi commerciali che monta un vero termometro clinico: i &lt;strong&gt;Google Pixel 8 Pro, 9 Pro e 9 Pro XL&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;In questi modelli, subito sotto il flash LED, è presente un piccolo cerchietto opaco che non è un obiettivo, ma un &lt;strong&gt;sensore a infrarossi lontani (modello Melexis)&lt;/strong&gt;. Questo hardware non legge la luce, ma l'emissione termica dell'arteria temporale. Seguendo la procedura dell'app ufficiale, l'utente scorre il sensore sulla tempia per circa quattro secondi, ottenendo una misura con uno scarto clinico minimo di appena ±0,3 °C. In questo caso specifico, non siamo di fronte a una stima basata sul battito, ma a una misurazione termica certificata FDA.&lt;/p&gt;


&lt;h2&gt;Analisi avanzate e precisione&lt;/h2&gt;
&lt;p&gt;L'uso della fotocamera è un ottimo punto di partenza per l'autoconsapevolezza, ma chi desidera un monitoraggio più approfondito deve spostarsi su strumenti dedicati.&lt;/p&gt;
&lt;p&gt;Se l'obiettivo è analizzare lo stress o il recupero fisico, l'alternativa più seria è l'uso di software come &lt;strong&gt;&lt;a href="https://welltory.com/" rel="nofollow" target="_blank"&gt;Welltory&lt;/a&gt;&lt;/strong&gt;. Questa applicazione non si limita a contare i battiti, ma calcola la variabilità della frequenza cardiaca (HRV), ovvero la differenza di millisecondi tra un battito e l'altro, parametro fondamentale per valutare lo stato del sistema nervoso autonomo.&lt;/p&gt;
&lt;p&gt;Tuttavia, è fondamentale ricordare che nessun algoritmo di computer vision può sostituire la diagnostica fisica. Se la precisione è prioritaria, l'unico strumento economico e affidabile resta il &lt;strong&gt;saturimetro da dito&lt;/strong&gt;. A differenza della fotocamera, il saturimetro usa LED rossi e infrarossi per misurare non solo i BPM ma anche l'ossigenazione del sangue (SpO2), dato che nessun smartphone commerciale può fornire con accuratezza.&lt;/p&gt;

&lt;h3&gt;Diario di bordo di Navigaweb&lt;/h3&gt;
&lt;p&gt;È affascinante notare quanta potenza di calcolo teniamo in tasca senza sfruttarla. Usiamo lenti fotografiche da decine di megapixel per scattare foto ai piatti del ristorante, ignorando che quegli stessi sensori catturano dati sufficienti a mappare la nostra fisiologia in tempo reale. Questo strumento web dimostra che non serve sempre comprare l'ultimo gadget di moda o scaricare applicazioni piene di banner pubblicitari per monitorare il proprio stato di forma. Smettere di credere alle promesse magiche di app che "leggono la temperatura" e iniziare a usare la scienza ottica reale è l'unico modo per non farsi ingannare dal marketing tecnologico.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt; &lt;p&gt;&lt;font size="3"&gt;Articolo pubblicato su  &lt;a title="Navigaweb.net" href="https://www.navigaweb.net" target="_blank"&gt;&lt;font size="3"&gt;Navigaweb.net&lt;/font&gt;&lt;/a&gt;. Non è consentito ripubblicare senza il consenso dell'autore. Segui anche su &lt;a href="https://www.facebook.com/navigaweb"&gt;Facebook&lt;/a&gt;, &lt;a href="https://twitter.com/pomhey"&gt;Twitter&lt;/a&gt; e &lt;a href="https://news.google.com/publications/CAAqBggKMLPofjD03wk"&gt;Google News&lt;/a&gt; .&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;</content><link href="https://www.navigaweb.net/2013/12/misura-la-frequenza-cardiaca-app.html#comment-form" rel="replies" title="1 Commenti" type="text/html"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/205532487963271620" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/205532487963271620" rel="self" type="application/atom+xml"/><link href="https://www.navigaweb.net/2013/12/misura-la-frequenza-cardiaca-app.html" rel="alternate" title="Misurare la frequenza cardiaca online con la fotocamera" type="text/html"/><author><name>Claudio Pomes</name><uri>http://www.blogger.com/profile/05867241310817527022</uri><email>noreply@blogger.com</email><gd:image height="32" rel="http://schemas.google.com/g/2005#thumbnail" src="//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnjMmdIWMIcd464SD-u4VsJBXmTf1BTGQAIVPFdzGK2Z3P1ZKbrISt8SdSFSGSzoc4KvmJvACpnL9lE9x7-fXplMVjqdG1IkoB_Jq_kclZtfLmEoSONobAo5j2sFP2wxJHIGZa5_p5KwCURDkifbBQtwrgA_Q52gr-Hnsn9Eg7vVYocYc/s220/pomheybokeh.jpg" width="32"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEham0uJ_JEWwIJCUQZ_eMSpN1EWnoacf7et-4GgyBr9YF8g3Z86gjb5j36y0K5Mhp9If2C1s7h030fj7kRdGdT1_jl1JUMZAE6dRS2Y2ITfokKRHURsxJXL5UNf-cCcKg85puWHaYp6ae_o/s72-c/frequenza-cardiaca.webp" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5148617246197063026.post-3403124325966444758</id><published>2026-09-30T12:32:02.034+02:00</published><updated>2026-10-01T00:00:38.641+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Navigaweb App"/><title type="text">Inviare file tra PC Android e iPhone senza app né limiti</title><content type="html"> &lt;img alt="navigaweb dropshare" border="0" width="400" data-original-height="590" data-original-width="799" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2m2LHhTLPvSNRWMkdtgUqbc9aCLqt-fYZP3-MXL7J9jrx1bQGM6_WYuBSMEh_slhy7qaZlfpm5EvmgKNzsKaLkZGBXpg90aPAMmtxadI75tMTG7dS29U-NzCRA-eKS-le6b37q7SHdnxnlFqtbwznVzc6RnKUH09lzXMxQjW9qMM8XMDg9gFGhS6tcgJm/s400/inviop2p.jpg"/&gt;  &lt;p&gt;Ieri mattina dovevo spostare una registrazione video di tre minuti dall'iPhone al computer Windows. Il cavetto non si trovava e l'invio a me stesso tramite messaggio avrebbe distrutto la qualità dell'immagine comprimendola. Caricare l'intero file su uno spazio cloud significava attendere l'upload dal telefono per poi rimettersi ad aspettare il download sul monitor del PC. Chi utilizza un ecosistema chiuso conosce la comodità degli strumenti di fabbrica, ma appena si cerca di far comunicare sistemi operativi diversi, l'operazione più banale diventa un ostacolo fastidioso.&lt;/p&gt;
&lt;p&gt;Le applicazioni esterne risolvono in parte il fastidio, ma impongono l'installazione di software aggiuntivi e spesso richiedono la creazione di un account. Per tagliare fuori i server di mezzo e le attese inutili, lo strumento me lo sono fatto da solo e l'ho integrato proprio in questa pagina. Il nostro &lt;b&gt;&lt;a href="#dropshare-p2p-wrapper"&gt;Navigaweb DropShare&lt;/a&gt;&lt;/b&gt; sfrutta il protocollo WebRTC per scambiare i dati, eliminando del tutto il passaggio attraverso la rete esterna. Ci tengo a dire che nessun file trasferito passa su internet o su un server esterno, quindi è completamente privato per tutti.&lt;/p&gt;

&lt;a name='more'&gt;&lt;/a&gt;
&lt;p&gt;LEGGI ANCHE: &lt;b&gt;&lt;a href="https://www.navigaweb.net/2012/08/10-modi-veloci-per-condividere-file.html"&gt;Inviare File Pesanti Subito: 20 Siti Senza Registrazione P2P e Cloud&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;

&lt;div id="dropshare-p2p-wrapper" style="all: initial; display: block; position: relative; z-index: 10; isolation: isolate; width: 100%; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; box-sizing: border-box;"&gt;

    &lt;style&gt;
        .p2p-app-container {
            background: linear-gradient(160deg, #090d16 0%, #172033 100%);
            color: #f8fafc;
            padding: 30px 20px;
            border-radius: 24px;
            box-shadow: 0 25px 55px rgba(0, 0, 0, 0.5);
            max-width: 800px;
            margin: 20px auto;
            text-align: center;
            box-sizing: border-box;
            border: 1px solid rgba(255, 255, 255, 0.1);
            touch-action: manipulation;
            user-select: none;
            position: relative;
        }

        .p2p-header-bar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 18px;
            flex-wrap: wrap;
            gap: 12px;
        }

        .p2p-title-area {
            text-align: left;
        }

        .p2p-title-area h3 {
            margin: 0 0 4px 0;
            font-size: 24px;
            font-weight: 800;
            color: #ffffff;
            letter-spacing: -0.5px;
        }

        .p2p-title-area p {
            margin: 0;
            font-size: 13px;
            color: #94a3b8;
        }

        .btn-pwa-action {
            background: rgba(56, 189, 248, 0.15);
            color: #38bdf8;
            border: 1px solid rgba(56, 189, 248, 0.4);
            padding: 8px 14px;
            border-radius: 20px;
            font-size: 11px;
            font-weight: 800;
            cursor: pointer;
            transition: all 0.2s;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .btn-pwa-action:hover {
            background: #38bdf8;
            color: #0f172a;
        }

        .privacy-pill {
            display: inline-block;
            background: rgba(34, 197, 94, 0.12);
            border: 1px solid rgba(34, 197, 94, 0.3);
            color: #4ade80;
            font-size: 11px;
            font-weight: 700;
            padding: 5px 14px;
            border-radius: 12px;
            margin-bottom: 20px;
        }

        /* Dashboard Abbinamento */
        .pairing-dashboard {
            background: rgba(0, 0, 0, 0.3);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 20px;
            padding: 20px;
            margin-bottom: 25px;
            display: grid;
            grid-template-columns: 1fr 1.1fr;
            gap: 20px;
            align-items: center;
            text-align: left;
            box-sizing: border-box;
        }

        .my-id-card {
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        .pairing-title {
            font-size: 11px;
            font-weight: 800;
            color: #94a3b8;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .my-code-display {
            font-family: monospace;
            font-size: 36px;
            font-weight: 900;
            color: #38bdf8;
            letter-spacing: 4px;
            text-shadow: 0 0 14px rgba(56, 189, 248, 0.45);
            line-height: 1;
        }

        .qr-row-flex {
            display: flex;
            align-items: center;
            gap: 12px;
            flex-wrap: wrap;
            margin-top: 4px;
        }

        .qr-holder-box {
            background: #ffffff;
            padding: 5px;
            border-radius: 12px;
            width: 115px;
            height: 115px;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            flex-shrink: 0;
            box-shadow: 0 4px 15px rgba(0,0,0,0.3);
            box-sizing: border-box;
            overflow: hidden !important;
        }

        #qr-pairing-canvas {
            width: 100% !important;
            height: 100% !important;
        }

        .btn-copy-link {
            padding: 8px 14px;
            background: rgba(56, 189, 248, 0.15);
            border: 1px solid rgba(56, 189, 248, 0.35);
            color: #38bdf8;
            border-radius: 10px;
            font-size: 11px;
            font-weight: 800;
            cursor: pointer;
            transition: all 0.2s;
        }

        .btn-copy-link:hover {
            background: #38bdf8;
            color: #0f172a;
        }

        .connect-input-col {
            display: flex;
            flex-direction: column;
            gap: 10px;
        }

        .guide-steps-box {
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 12px;
            padding: 10px 14px;
            font-size: 12px;
            color: #cbd5e1;
            line-height: 1.5;
        }

        .guide-steps-box strong {
            color: #38bdf8;
        }

        .connect-field-row {
            display: flex;
            gap: 8px;
            width: 100%;
            box-sizing: border-box;
        }

        .p2p-input {
            flex: 1;
            min-width: 0;
            padding: 12px 14px;
            background: #0f172a;
            border: 1.5px solid rgba(255, 255, 255, 0.15);
            border-radius: 12px;
            font-size: 18px;
            color: #ffffff;
            font-family: monospace;
            letter-spacing: 3px;
            text-align: center;
            box-sizing: border-box;
            outline: none;
            transition: border-color 0.2s;
        }

        .p2p-input:focus {
            border-color: #38bdf8;
            box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.2);
        }

        .btn-connect-peer {
            padding: 12px 20px;
            background: #38bdf8;
            color: #0f172a;
            border: none;
            border-radius: 12px;
            font-size: 13px;
            font-weight: 800;
            cursor: pointer;
            transition: all 0.2s;
            white-space: nowrap;
            flex-shrink: 0;
        }

        .btn-connect-peer:hover {
            background: #7dd3fc;
        }

        /* Radar Status */
        .radar-status-box {
            background: rgba(0, 0, 0, 0.2);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 20px;
            padding: 24px 20px;
            margin-bottom: 25px;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 15px;
        }

        .peer-indicator {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            font-size: 13px;
            font-weight: 700;
            color: #cbd5e1;
            max-width: 100%;
            text-align: center;
        }

        .peer-dot {
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background: #64748b;
            flex-shrink: 0;
        }

        .peer-dot.connected {
            background: #22c55e;
            box-shadow: 0 0 10px #22c55e;
        }

        .transfer-active-panel {
            display: none;
            width: 100%;
            max-width: 520px;
            flex-direction: column;
            gap: 14px;
        }

        .btn-drop-file {
            width: 100%;
            padding: 30px 20px;
            border: 2px dashed #38bdf8;
            background: rgba(56, 189, 248, 0.08);
            border-radius: 18px;
            color: #ffffff;
            cursor: pointer;
            transition: all 0.2s;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 8px;
            box-sizing: border-box;
        }

        .btn-drop-file:hover {
            background: rgba(56, 189, 248, 0.16);
            border-color: #7dd3fc;
            transform: translateY(-2px);
        }

        .btn-drop-file.drag-active {
            border-color: #22c55e !important;
            background: rgba(34, 197, 94, 0.2) !important;
            box-shadow: 0 0 25px rgba(34, 197, 94, 0.4) !important;
            transform: scale(1.02);
        }

        .progress-box {
            display: none;
            width: 100%;
            background: rgba(0, 0, 0, 0.4);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 12px;
            padding: 12px 16px;
            box-sizing: border-box;
            text-align: left;
        }

        .progress-label-row {
            display: flex;
            justify-content: space-between;
            font-size: 11px;
            font-weight: 700;
            color: #cbd5e1;
            margin-bottom: 6px;
        }

        .progress-track-bar {
            width: 100%;
            height: 8px;
            background: rgba(255, 255, 255, 0.1);
            border-radius: 4px;
            overflow: hidden;
        }

        .progress-fill-bar {
            width: 0%;
            height: 100%;
            background: #38bdf8;
            transition: width 0.1s linear;
        }

        .chat-row-flex {
            display: flex;
            gap: 8px;
            width: 100%;
            box-sizing: border-box;
        }

        .chat-input {
            flex: 1;
            min-width: 0;
            padding: 11px 14px;
            background: #0f172a;
            border: 1.5px solid rgba(255, 255, 255, 0.15);
            border-radius: 10px;
            color: #ffffff;
            font-size: 13px;
            outline: none;
            box-sizing: border-box;
        }

        .btn-send-msg {
            padding: 11px 18px;
            background: rgba(255, 255, 255, 0.08);
            border: 1px solid rgba(255, 255, 255, 0.15);
            color: #f8fafc;
            border-radius: 10px;
            font-size: 12px;
            font-weight: 700;
            cursor: pointer;
            white-space: nowrap;
            flex-shrink: 0;
        }

        .btn-send-msg:hover {
            background: #38bdf8;
            color: #0f172a;
        }

        /* Registro File con Anteprime */
        .transfers-history-section {
            background: rgba(0, 0, 0, 0.2);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 18px;
            padding: 18px;
            text-align: left;
        }

        .transfers-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 12px;
        }

        .transfers-header h4 {
            margin: 0;
            font-size: 13px;
            font-weight: 800;
            color: #ffffff;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .received-files-list {
            display: flex;
            flex-direction: column;
            gap: 14px;
        }

        .transfer-item-card {
            background: #0f172a;
            border: 1.5px solid rgba(34, 197, 94, 0.4);
            border-radius: 16px;
            padding: 16px;
            display: flex;
            flex-direction: column;
            gap: 12px;
            box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
            box-sizing: border-box;
        }

        .t-top-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            flex-wrap: wrap;
        }

        .t-file-info {
            flex: 1;
            min-width: 160px;
        }

        .t-file-name {
            display: block;
            color: #f8fafc;
            font-size: 15px;
            font-weight: 800;
            word-break: break-all;
            margin-bottom: 2px;
        }

        .t-file-sub {
            font-size: 11px;
            color: #4ade80;
            font-weight: 600;
        }

        .t-actions-group {
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }

        .media-preview-container {
            width: 100%;
            background: #020617;
            border-radius: 12px;
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
            border: 1px solid rgba(255, 255, 255, 0.1);
            box-sizing: border-box;
        }

        .preview-img {
            max-width: 100%;
            max-height: 220px;
            object-fit: contain;
            display: block;
        }

        .preview-video {
            max-width: 100%;
            max-height: 240px;
            width: 100%;
            outline: none;
            display: block;
        }

        .preview-audio {
            width: 100%;
            outline: none;
            padding: 8px;
        }

        /* TASTO POP-OUT (PiP) */
        #dropshare-p2p-wrapper .btn-pip-video {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            gap: 6px !important;
            background: rgba(56, 189, 248, 0.15) !important;
            border: 1.5px solid rgba(56, 189, 248, 0.45) !important;
            color: #38bdf8 !important;
            border-radius: 12px !important;
            padding: 12px 18px !important;
            font-size: 12px !important;
            font-weight: 900 !important;
            letter-spacing: 0.5px !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            box-sizing: border-box !important;
            white-space: nowrap !important;
        }

        #dropshare-p2p-wrapper .btn-pip-video:hover {
            background: #38bdf8 !important;
            color: #0f172a !important;
            box-shadow: 0 4px 14px rgba(56, 189, 248, 0.4) !important;
            transform: translateY(-2px) !important;
        }

        #dropshare-p2p-wrapper .btn-pip-video svg {
            width: 16px !important;
            height: 16px !important;
            stroke: currentColor !important;
            fill: none !important;
            stroke-width: 2 !important;
            stroke-linecap: round !important;
            stroke-linejoin: round !important;
        }

        /* TASTO SCARICA FILE BLINDATO */
        #dropshare-p2p-wrapper .btn-download-rec {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            gap: 8px !important;
            background: linear-gradient(135deg, #22c55e, #16a34a) !important;
            color: #ffffff !important;
            border: none !important;
            border-radius: 12px !important;
            padding: 13px 22px !important;
            font-size: 13px !important;
            font-weight: 900 !important;
            letter-spacing: 0.5px !important;
            text-decoration: none !important;
            cursor: pointer !important;
            box-shadow: 0 4px 15px rgba(34, 197, 94, 0.45) !important;
            transition: all 0.2s ease !important;
            box-sizing: border-box !important;
            white-space: nowrap !important;
        }

        #dropshare-p2p-wrapper .btn-download-rec:hover {
            background: linear-gradient(135deg, #4ade80, #22c55e) !important;
            box-shadow: 0 6px 20px rgba(34, 197, 94, 0.65) !important;
            transform: translateY(-2px) !important;
            color: #ffffff !important;
            text-decoration: none !important;
        }

        #dropshare-p2p-wrapper .btn-download-rec svg {
            width: 16px !important;
            height: 16px !important;
            stroke: #ffffff !important;
            fill: none !important;
            stroke-width: 2.5 !important;
            stroke-linecap: round !important;
            stroke-linejoin: round !important;
        }

        /* Modal PWA */
        .pwa-modal-overlay {
            display: none;
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(15, 23, 42, 0.96);
            backdrop-filter: blur(8px);
            border-radius: 24px;
            z-index: 50;
            padding: 25px 20px;
            box-sizing: border-box;
            text-align: left;
            overflow-y: auto;
        }

        .pwa-step-card {
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 12px;
            padding: 12px 14px;
            margin-bottom: 10px;
        }

        .pwa-step-card strong {
            display: block;
            color: #38bdf8;
            font-size: 13px;
            margin-bottom: 4px;
        }

        .pwa-step-card p {
            margin: 0;
            font-size: 12px;
            color: #cbd5e1;
            line-height: 1.4;
        }

        @media (max-width: 650px) {
            .pairing-dashboard {
                grid-template-columns: 1fr;
            }
            .connect-field-row {
                flex-direction: column;
            }
            .btn-connect-peer {
                width: 100%;
            }
            .chat-row-flex {
                flex-direction: column;
            }
            .btn-send-msg {
                width: 100%;
            }
            .t-actions-group {
                width: 100%;
            }
            #dropshare-p2p-wrapper .btn-download-rec, 
            #dropshare-p2p-wrapper .btn-pip-video {
                width: 100% !important;
            }
        }
    &lt;/style&gt;

    &lt;div class="p2p-app-container"&gt;
        
        &lt;div class="p2p-header-bar"&gt;
            &lt;div class="p2p-title-area"&gt;
                &lt;h3&gt;Navigaweb DropShare P2P&lt;/h3&gt;
                &lt;p&gt;Invia file e foto direttamente tra smartphone e PC (AirDrop web)&lt;/p&gt;
            &lt;/div&gt;
            &lt;button id="btn-pwa-dropshare-trigger" class="btn-pwa-action" onclick="triggerDropSharePwaInstall()"&gt;
                Salva come App
            &lt;/button&gt;
        &lt;/div&gt;

        &lt;div class="privacy-pill"&gt;
            WebRTC Diretto: nessun file viene salvato su server cloud, il passaggio avviene da dispositivo a dispositivo
        &lt;/div&gt;

        &lt;!-- Dashboard Abbinamento --&gt;
        &lt;div class="pairing-dashboard"&gt;
            
            &lt;div class="my-id-card"&gt;
                &lt;span class="pairing-title"&gt;Questo Dispositivo:&lt;/span&gt;
                &lt;div id="my-peer-code" class="my-code-display"&gt;---&lt;/div&gt;
                
                &lt;div class="qr-row-flex"&gt;
                    &lt;div class="qr-holder-box"&gt;
                        &lt;div id="qr-pairing-canvas"&gt;&lt;/div&gt;
                    &lt;/div&gt;
                    &lt;button class="btn-copy-link" onclick="copy1ClickLink()"&gt;Copia Link 1-Click&lt;/button&gt;
                &lt;/div&gt;
            &lt;/div&gt;

            &lt;div class="connect-input-col"&gt;
                &lt;span class="pairing-title"&gt;Come Connetterti:&lt;/span&gt;
                
                &lt;div class="guide-steps-box"&gt;
                    1. Apri questa pagina sull'altro dispositivo&lt;br&gt;
                    2. Stessa rete Wi-Fi (&lt;strong&gt;consigliato&lt;/strong&gt;) o dati 4G/5G&lt;br&gt;
                    3. Digita il codice mostrato o inquadra il QR:
                &lt;/div&gt;
                
                &lt;div class="connect-field-row"&gt;
                    &lt;input type="text" id="target-peer-input" class="p2p-input" placeholder="742" maxlength="5"&gt;
                    &lt;button class="btn-connect-peer" onclick="connectToEnteredPeer()"&gt;CONNETTI&lt;/button&gt;
                &lt;/div&gt;

                &lt;div id="connection-feedback-msg" style="font-size: 12px; color: #38bdf8; min-height: 18px;"&gt;&lt;/div&gt;
            &lt;/div&gt;

        &lt;/div&gt;

        &lt;!-- Area Radar e Trasferimento --&gt;
        &lt;div class="radar-status-box"&gt;
            
            &lt;div class="peer-indicator"&gt;
                &lt;div id="peer-status-dot" class="peer-dot"&gt;&lt;/div&gt;
                &lt;span id="peer-status-text"&gt;In attesa... Apri questa pagina sull'altro dispositivo (stesso Wi-Fi consigliato)&lt;/span&gt;
            &lt;/div&gt;

            &lt;!-- Pannello con Drag &amp; Drop e Invio Multiplo --&gt;
            &lt;div id="transfer-panel" class="transfer-active-panel"&gt;
                
                &lt;div id="p2p-drop-zone" class="btn-drop-file" onclick="document.getElementById('p2p-file-input').click()"&gt;
                    &lt;svg style="width: 34px; height: 34px; color: #38bdf8;" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"&gt;&lt;/path&gt;&lt;polyline points="17 8 12 3 7 8"&gt;&lt;/polyline&gt;&lt;line x1="12" y1="3" x2="12" y2="15"&gt;&lt;/line&gt;&lt;/svg&gt;
                    &lt;span id="drop-zone-main-text" style="font-size: 15px; font-weight: 800; color: #ffffff;"&gt;Trascina uno o piu file qui oppure Clicca per selezionarli&lt;/span&gt;
                    &lt;span style="font-size: 12px; color: #94a3b8;"&gt;Supporta invio multiplo di foto/video e incolla con Ctrl + V&lt;/span&gt;
                &lt;/div&gt;
                &lt;!-- Supporto a file multipli --&gt;
                &lt;input type="file" id="p2p-file-input" multiple style="display: none;" onchange="handleP2PFileSelect(this)"&gt;

                &lt;!-- Barra di Progresso Sequenziale --&gt;
                &lt;div id="transfer-progress-box" class="progress-box"&gt;
                    &lt;div class="progress-label-row"&gt;
                        &lt;span id="progress-action-title"&gt;Trasferimento in corso...&lt;/span&gt;
                        &lt;span id="progress-pct-txt"&gt;0%&lt;/span&gt;
                    &lt;/div&gt;
                    &lt;div class="progress-track-bar"&gt;
                        &lt;div id="progress-fill" class="progress-fill-bar"&gt;&lt;/div&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;!-- Invio Testo Rapido --&gt;
                &lt;div class="chat-row-flex"&gt;
                    &lt;input type="text" id="quick-msg-input" class="chat-input" placeholder="Scrivi un appunto o link da inviare..."&gt;
                    &lt;button class="btn-send-msg" onclick="sendQuickTextMsg()"&gt;Invia Testo&lt;/button&gt;
                &lt;/div&gt;

            &lt;/div&gt;

        &lt;/div&gt;

        &lt;!-- Registro File Ricevuti --&gt;
        &lt;div class="transfers-history-section"&gt;
            &lt;div class="transfers-header"&gt;
                &lt;h4&gt;File e Messaggi Ricevuti (&lt;span id="received-count-badge"&gt;0&lt;/span&gt;)&lt;/h4&gt;
            &lt;/div&gt;
            &lt;div id="received-files-container" class="received-files-list"&gt;
                &lt;div id="no-transfers-hint" style="color: #64748b; font-size: 12px; padding: 6px 0;"&gt;
                    Nessun file ricevuto in questa sessione.
                &lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;!-- Modal PWA --&gt;
        &lt;div id="dropshare-pwa-modal" class="pwa-modal-overlay"&gt;
            &lt;div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px;"&gt;
                &lt;h4 style="margin: 0; color: #ffffff; font-size: 18px;"&gt;Salva nei Preferiti ed Installa&lt;/h4&gt;
                &lt;button onclick="toggleDropSharePwaModal(false)" style="background: transparent; border: none; color: #94a3b8; font-size: 20px; cursor: pointer; font-weight: bold;"&gt;X&lt;/button&gt;
            &lt;/div&gt;
            
            &lt;div class="pwa-step-card"&gt;
                &lt;strong&gt;Android (Chrome ed Edge)&lt;/strong&gt;
                &lt;p&gt;Premi i tre puntini in alto a destra e tocca &lt;b&gt;'Installa app'&lt;/b&gt; oppure &lt;b&gt;'Aggiungi a schermata Home'&lt;/b&gt;.&lt;/p&gt;
            &lt;/div&gt;

            &lt;div class="pwa-step-card"&gt;
                &lt;strong&gt;iPhone ed iPad (Safari)&lt;/strong&gt;
                &lt;p&gt;Tocca il tasto di Condivisione in basso (quadrato con freccia) e scegli &lt;b&gt;'Aggiungi alla schermata Home'&lt;/b&gt;.&lt;/p&gt;
            &lt;/div&gt;

            &lt;div class="pwa-step-card"&gt;
                &lt;strong&gt;Computer (PC Windows e Mac)&lt;/strong&gt;
                &lt;p&gt;Premi &lt;b&gt;Ctrl + D&lt;/b&gt; (su Windows) o &lt;b&gt;Cmd + D&lt;/b&gt; (su Mac) per aggiungerlo ai tuoi preferiti.&lt;/p&gt;
            &lt;/div&gt;

            &lt;button onclick="toggleDropSharePwaModal(false)" class="btn-connect-peer" style="width: 100%; margin-top: 10px;"&gt;HO CAPITO&lt;/button&gt;
        &lt;/div&gt;

        &lt;!-- Template SVG --&gt;
        &lt;div id="dropshare-svg-download" style="display: none;"&gt;
            &lt;svg viewBox="0 0 24 24"&gt;&lt;path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"&gt;&lt;/path&gt;&lt;polyline points="7 10 12 15 17 10"&gt;&lt;/polyline&gt;&lt;line x1="12" y1="15" x2="12" y2="3"&gt;&lt;/line&gt;&lt;/svg&gt;
        &lt;/div&gt;

        &lt;div id="dropshare-svg-pip" style="display: none;"&gt;
            &lt;svg viewBox="0 0 24 24"&gt;&lt;rect x="2" y="3" width="20" height="14" rx="2" ry="2"&gt;&lt;/rect&gt;&lt;rect x="11" y="9" width="9" height="6" rx="1" ry="1" fill="currentColor"&gt;&lt;/rect&gt;&lt;/svg&gt;
        &lt;/div&gt;

    &lt;/div&gt;

&lt;/div&gt;

&lt;!-- Librerie da CDN: PeerJS e QRCode.js --&gt;
&lt;script src="https://unpkg.com/peerjs@1.5.4/dist/peerjs.min.js"&gt;&lt;/script&gt;
&lt;script src="https://cdnjs.cloudflare.com/ajax/libs/qrcodejs/1.0.0/qrcode.min.js"&gt;&lt;/script&gt;

&lt;script&gt;
(function() {
    var peer = null;
    var activeConnection = null;
    var myRandomCode = '';
    var peerPrefix = 'dropshare-v7-';
    var deferredPrompt = null;
    var wakeLockObj = null;

    // Coda Invio File Multipli
    var sendQueue = [];
    var isSendingQueueActive = false;
    var totalBatchCount = 0;
    var currentBatchNumber = 0;

    // Buffer Ricezione
    var incomingFileMeta = null;
    var incomingChunks = [];
    var receivedCount = 0;

    var codeDisplay = document.getElementById('my-peer-code');
    var qrBox = document.getElementById('qr-pairing-canvas');
    var targetInput = document.getElementById('target-peer-input');
    var feedbackMsg = document.getElementById('connection-feedback-msg');

    var statusDot = document.getElementById('peer-status-dot');
    var statusText = document.getElementById('peer-status-text');
    var transferPanel = document.getElementById('transfer-panel');
    var dropZone = document.getElementById('p2p-drop-zone');
    var dropZoneTxt = document.getElementById('drop-zone-main-text');

    var progressBox = document.getElementById('transfer-progress-box');
    var progressTitle = document.getElementById('progress-action-title');
    var progressPct = document.getElementById('progress-pct-txt');
    var progressFill = document.getElementById('progress-fill');

    var msgInput = document.getElementById('quick-msg-input');
    var receivedList = document.getElementById('received-files-container');
    var receivedBadge = document.getElementById('received-count-badge');
    var noTransfersHint = document.getElementById('no-transfers-hint');
    var pwaModal = document.getElementById('dropshare-pwa-modal');

    var dldSvgContent = document.getElementById('dropshare-svg-download').innerHTML;
    var pipSvgContent = document.getElementById('dropshare-svg-pip').innerHTML;

    // PWA Support
    window.addEventListener('beforeinstallprompt', function(e) {
        e.preventDefault();
        deferredPrompt = e;
        var pwaBtn = document.getElementById('btn-pwa-dropshare-trigger');
        if (pwaBtn) pwaBtn.innerText = "Installa App";
    });

    window.triggerDropSharePwaInstall = function() {
        if (deferredPrompt) {
            deferredPrompt.prompt();
            deferredPrompt.userChoice.then(function() {
                deferredPrompt = null;
            });
        } else {
            window.toggleDropSharePwaModal(true);
        }
    };

    window.toggleDropSharePwaModal = function(show) {
        pwaModal.style.display = show ? "block" : "none";
    };

    function formatBytes(bytes) {
        if (bytes === 0) return '0 Bytes';
        var k = 1024;
        var sizes = ['Bytes', 'KB', 'MB', 'GB'];
        var i = Math.floor(Math.log(bytes) / Math.log(k));
        i = Math.min(i, 3);
        return parseFloat((bytes / Math.pow(k, i)).toFixed(1)) + ' ' + sizes[i];
    }

    function detectFileCategory(name, mime) {
        var n = name.toLowerCase();
        var m = (mime || '').toLowerCase();

        if (m.indexOf('image/') !== -1 || n.indexOf('.jpg') !== -1 || n.indexOf('.jpeg') !== -1 || n.indexOf('.png') !== -1 || n.indexOf('.webp') !== -1 || n.indexOf('.gif') !== -1 || n.indexOf('.svg') !== -1) {
            return 'image';
        }
        if (m.indexOf('audio/') !== -1 || n.indexOf('.mp3') !== -1 || n.indexOf('.wav') !== -1 || n.indexOf('.ogg') !== -1 || n.indexOf('.m4a') !== -1 || n.indexOf('.aac') !== -1) {
            return 'audio';
        }
        if (m.indexOf('video/') !== -1 || n.indexOf('.mp4') !== -1 || n.indexOf('.webm') !== -1 || n.indexOf('.mov') !== -1) {
            return 'video';
        }
        return 'other';
    }

    // --- SCREEN WAKE LOCK (BLOCCO SPEGNIMENTO SCHERMO) ---
    async function acquireScreenWakeLock() {
        if ('wakeLock' in navigator) {
            try {
                wakeLockObj = await navigator.wakeLock.request('screen');
            } catch(err) {}
        }
    }

    function releaseScreenWakeLock() {
        if (wakeLockObj) {
            try {
                wakeLockObj.release();
            } catch(err) {}
            wakeLockObj = null;
        }
    }

    // --- POP-OUT PICTURE-IN-PICTURE ---
    function activatePipVideo(video) {
        if (document.pictureInPictureEnabled) {
            video.requestPictureInPicture().catch(function() {
                alert("Impossibile attivare la finestra fluttuante in questo momento.");
            });
        } else if (video.webkitSetPresentationMode) {
            video.webkitSetPresentationMode('picture-in-picture');
        } else {
            alert("La modalita finestra fluttuante (PiP) non e supportata da questo browser.");
        }
    }

    // --- INIZIALIZZAZIONE PEERJS ---
    function initP2PSystem() {
        myRandomCode = Math.floor(100 + Math.random() * 900).toString();
        codeDisplay.innerText = myRandomCode;

        var currentUrl = window.location.href.split('#')[0];
        var pairingUrl = currentUrl + '#pair=' + myRandomCode;

        qrBox.innerHTML = '';
        new QRCode(qrBox, {
            text: pairingUrl,
            width: 105,
            height: 105,
            colorDark: "#0f172a",
            colorLight: "#ffffff",
            correctLevel: QRCode.CorrectLevel.M
        });

        var fullPeerId = peerPrefix + myRandomCode;
        peer = new Peer(fullPeerId, { debug: 1 });

        peer.on('open', function() {
            feedbackMsg.innerText = "Pronto per la connessione.";
            checkUrlAutoPairing();
        });

        peer.on('connection', function(conn) {
            setupConnectionEvents(conn);
        });

        peer.on('error', function(err) {
            console.error(err);
            if (err.type === 'unavailable-id') {
                setTimeout(initP2PSystem, 200);
            } else {
                feedbackMsg.innerText = "Errore di rete. Ricarica la pagina.";
            }
        });
    }

    window.copy1ClickLink = function() {
        var currentUrl = window.location.href.split('#')[0];
        var pairingUrl = currentUrl + '#pair=' + myRandomCode;
        if (navigator.clipboard) {
            navigator.clipboard.writeText(pairingUrl).then(function() {
                feedbackMsg.innerText = "Link 1-Click copiato! Invialo su WhatsApp o email.";
            });
        } else {
            prompt("Copia questo link 1-Click:", pairingUrl);
        }
    };

    function checkUrlAutoPairing() {
        var hash = window.location.hash;
        if (hash.indexOf('#pair=') !== -1) {
            var targetCode = hash.replace('#pair=', '').trim();
            if (targetCode !== myRandomCode) {
                targetInput.value = targetCode;
                window.connectToEnteredPeer();
            }
        }
    }

    window.connectToEnteredPeer = function() {
        var targetCode = targetInput.value.trim();
        if (targetCode.length === 0) {
            feedbackMsg.innerText = "Inserisci un codice valido.";
            return;
        }

        if (targetCode === myRandomCode) {
            feedbackMsg.innerText = "Non puoi connetterti a te stesso!";
            return;
        }

        feedbackMsg.innerText = "Connessione in corso a " + targetCode + "...";
        var fullTargetId = peerPrefix + targetCode;
        var conn = peer.connect(fullTargetId, { reliable: true });

        setupConnectionEvents(conn);
    };

    function setupConnectionEvents(conn) {
        activeConnection = conn;

        conn.on('open', function() {
            statusDot.className = "peer-dot connected";
            statusText.innerText = "Dispositivo Connesso! (Schermo Attivo: Blocco Sospensione)";
            transferPanel.style.display = "flex";
            feedbackMsg.innerText = "Connesso con successo!";
            
            // AVVIO SCREEN WAKE LOCK ESATTAMENTE AL MOMENTO DELLA CONNESSIONE
            acquireScreenWakeLock();
        });

        conn.on('data', function(data) {
            handleIncomingP2PData(data);
        });

        conn.on('close', function() {
            statusDot.className = "peer-dot";
            statusText.innerText = "In attesa... Apri questa pagina sull'altro dispositivo (stesso Wi-Fi consigliato)";
            transferPanel.style.display = "none";
            feedbackMsg.innerText = "La connessione si e interrotta.";
            activeConnection = null;

            // RILASCIO SCREEN WAKE LOCK QUANDO SI DISCONNETTE
            releaseScreenWakeLock();
        });

        conn.on('error', function(err) {
            console.error(err);
            feedbackMsg.innerText = "Errore durante la connessione.";
        });
    }

    // --- CODA DI INVIO MULTIPLO (BATCH QUEUE) ---
    function enqueueFilesToSend(fileList) {
        if (!activeConnection) {
            alert("Nessun dispositivo connesso.");
            return;
        }

        var files = Array.from(fileList);
        if (files.length === 0) return;

        totalBatchCount = files.length;
        currentBatchNumber = 1;

        files.forEach(function(f) {
            sendQueue.push(f);
        });

        if (!isSendingQueueActive) {
            processNextQueueFile();
        }
    }

    function processNextQueueFile() {
        if (sendQueue.length === 0) {
            isSendingQueueActive = false;
            progressTitle.innerText = "Tutti i file sono stati inviati con successo!";
            progressPct.innerText = "100%";
            progressFill.style.width = "100%";
            setTimeout(function() {
                progressBox.style.display = "none";
            }, 2500);
            return;
        }

        isSendingQueueActive = true;
        var currentFile = sendQueue.shift();

        var chunkSize = 32768;
        var totalChunks = Math.ceil(currentFile.size / chunkSize);
        var currentChunkIndex = 0;

        progressBox.style.display = "block";
        progressTitle.innerText = "Invio (" + currentBatchNumber + "/" + totalBatchCount + "): " + currentFile.name;
        progressPct.innerText = "0%";
        progressFill.style.width = "0%";

        activeConnection.send({
            t: 'start',
            name: currentFile.name,
            size: currentFile.size,
            mime: currentFile.type || 'application/octet-stream',
            totalChunks: totalChunks
        });

        function sendNextSlice() {
            if (currentChunkIndex === totalChunks) {
                activeConnection.send({ t: 'end' });
                currentBatchNumber++;
                // Pausa breve tra un file e l'altro per stabilizzare il canale
                setTimeout(processNextQueueFile, 200);
                return;
            }

            var startByte = currentChunkIndex * chunkSize;
            var endByte = Math.min(currentFile.size, startByte + chunkSize);
            var sliceBlob = currentFile.slice(startByte, endByte);

            var reader = new FileReader();
            reader.onload = function(e) {
                activeConnection.send({
                    t: 'chunk',
                    d: e.target.result
                });

                currentChunkIndex++;
                var pctVal = Math.round((currentChunkIndex / totalChunks) * 100);
                progressPct.innerText = pctVal + "%";
                progressFill.style.width = pctVal + "%";

                setTimeout(sendNextSlice, 5);
            };
            reader.readAsArrayBuffer(sliceBlob);
        }

        sendNextSlice();
    }

    // --- SELEZIONE FILE E DRAG &amp; DROP MULTIPLO ---
    window.handleP2PFileSelect = function(input) {
        if (!input.files || input.files.length === 0) return;
        enqueueFilesToSend(input.files);
        input.value = '';
    };

    dropZone.addEventListener('dragover', function(e) {
        e.preventDefault();
        dropZone.classList.add('drag-active');
        dropZoneTxt.innerText = "Rilascia i file per inviarli adesso!";
    });

    dropZone.addEventListener('dragleave', function(e) {
        e.preventDefault();
        dropZone.classList.remove('drag-active');
        dropZoneTxt.innerText = "Trascina uno o piu file qui oppure Clicca per selezionarli";
    });

    dropZone.addEventListener('drop', function(e) {
        e.preventDefault();
        dropZone.classList.remove('drag-active');
        dropZoneTxt.innerText = "Trascina uno o piu file qui oppure Clicca per selezionarli";
        if (e.dataTransfer &amp;&amp; e.dataTransfer.files &amp;&amp; e.dataTransfer.files.length !== 0) {
            enqueueFilesToSend(e.dataTransfer.files);
        }
    });

    // --- INCOLLA DIRETTO DA APPUNTI (CTRL + V) ---
    window.addEventListener('paste', function(e) {
        if (!activeConnection || !e.clipboardData) return;
        var items = e.clipboardData.items;
        if (!items) return;

        var pastedFiles = [];
        Array.from(items).forEach(function(item) {
            if (item.kind === 'file') {
                var f = item.getAsFile();
                if (f) {
                    pastedFiles.push(f);
                }
            }
        });

        if (pastedFiles.length !== 0) {
            enqueueFilesToSend(pastedFiles);
        }
    });

    // --- RICEZIONE DATI ---
    function handleIncomingP2PData(data) {
        if (data.t === 'start') {
            incomingFileMeta = data;
            incomingChunks = [];
            progressBox.style.display = "block";
            progressTitle.innerText = "Ricezione: " + data.name;
            progressPct.innerText = "0%";
            progressFill.style.width = "0%";
        } 
        else if (data.t === 'chunk') {
            incomingChunks.push(data.d);
            if (incomingFileMeta) {
                var pctVal = Math.round((incomingChunks.length / incomingFileMeta.totalChunks) * 100);
                progressPct.innerText = pctVal + "%";
                progressFill.style.width = pctVal + "%";
            }
        } 
        else if (data.t === 'end') {
            if (incomingFileMeta) {
                var finalBlob = new Blob(incomingChunks, { type: incomingFileMeta.mime });
                addReceivedFileItem(incomingFileMeta.name, incomingFileMeta.size, incomingFileMeta.mime, finalBlob);
                progressTitle.innerText = "Ricevuto con successo!";
                progressPct.innerText = "100%";
                progressFill.style.width = "100%";
                setTimeout(function() {
                    progressBox.style.display = "none";
                }, 2000);
            }
            incomingFileMeta = null;
            incomingChunks = [];
        } 
        else if (data.t === 'text') {
            addReceivedTextItem(data.val);
        }
    }

    // --- SCHEDA FILE RICEVUTO CON ANTEPRIME E TASTI PROTETTI ---
    function addReceivedFileItem(name, size, mime, blob) {
        noTransfersHint.style.display = "none";
        receivedCount++;
        receivedBadge.innerText = receivedCount;

        var card = document.createElement('div');
        card.className = "transfer-item-card";

        var topRow = document.createElement('div');
        topRow.className = "t-top-row";

        var info = document.createElement('div');
        info.className = "t-file-info";

        var nameSpan = document.createElement('span');
        nameSpan.className = "t-file-name";
        nameSpan.innerText = name;

        var subSpan = document.createElement('span');
        subSpan.className = "t-file-sub";
        subSpan.innerText = formatBytes(size) + " - Ricevuto in P2P";

        info.appendChild(nameSpan);
        info.appendChild(subSpan);

        var actionsGroup = document.createElement('div');
        actionsGroup.className = "t-actions-group";

        var dldBtn = document.createElement('button');
        dldBtn.type = "button";
        dldBtn.className = "btn-download-rec";
        dldBtn.innerHTML = dldSvgContent + '&lt;span&gt;SCARICA FILE&lt;/span&gt;';
        dldBtn.onclick = function() {
            var tempLink = document.createElement('a');
            tempLink.href = URL.createObjectURL(blob);
            tempLink.download = name;
            document.body.appendChild(tempLink);
            tempLink.click();
            document.body.removeChild(tempLink);
        };

        var category = detectFileCategory(name, mime);
        var mediaUrl = URL.createObjectURL(blob);
        var createdVideoEl = null;

        if (category === 'video') {
            var pipBtn = document.createElement('button');
            pipBtn.type = "button";
            pipBtn.className = "btn-pip-video";
            pipBtn.innerHTML = pipSvgContent + '&lt;span&gt;POP-OUT (PiP)&lt;/span&gt;';
            pipBtn.onclick = function() {
                if (createdVideoEl) {
                    activatePipVideo(createdVideoEl);
                }
            };
            actionsGroup.appendChild(pipBtn);
        }

        actionsGroup.appendChild(dldBtn);
        topRow.appendChild(info);
        topRow.appendChild(actionsGroup);
        card.appendChild(topRow);

        if (category === 'image') {
            var imgContainer = document.createElement('div');
            imgContainer.className = "media-preview-container";
            var img = document.createElement('img');
            img.className = "preview-img";
            img.src = mediaUrl;
            imgContainer.appendChild(img);
            card.insertBefore(imgContainer, topRow.nextSibling);
        } 
        else if (category === 'audio') {
            var audioContainer = document.createElement('div');
            audioContainer.className = "media-preview-container";
            var audio = document.createElement('audio');
            audio.className = "preview-audio";
            audio.controls = true;
            audio.src = mediaUrl;
            audioContainer.appendChild(audio);
            card.insertBefore(audioContainer, topRow.nextSibling);
        } 
        else if (category === 'video') {
            var videoContainer = document.createElement('div');
            videoContainer.className = "media-preview-container";
            var video = document.createElement('video');
            video.className = "preview-video";
            video.controls = true;
            video.playsinline = true;
            video.src = mediaUrl;
            createdVideoEl = video;
            videoContainer.appendChild(video);
            card.insertBefore(videoContainer, topRow.nextSibling);
        }

        receivedList.insertBefore(card, receivedList.firstChild);
    }

    function addReceivedTextItem(textVal) {
        noTransfersHint.style.display = "none";
        receivedCount++;
        receivedBadge.innerText = receivedCount;

        var card = document.createElement('div');
        card.className = "transfer-item-card";

        var topRow = document.createElement('div');
        topRow.className = "t-top-row";

        var info = document.createElement('div');
        info.className = "t-file-info";

        var nameSpan = document.createElement('span');
        nameSpan.className = "t-file-name";
        nameSpan.innerText = textVal;

        var subSpan = document.createElement('span');
        subSpan.className = "t-file-sub";
        subSpan.innerText = "Messaggio di testo ricevuto";

        info.appendChild(nameSpan);
        info.appendChild(subSpan);

        var copyBtn = document.createElement('button');
        copyBtn.type = "button";
        copyBtn.className = "btn-download-rec";
        copyBtn.style.background = "#38bdf8";
        copyBtn.style.color = "#0f172a";
        copyBtn.innerText = "Copia Testo";
        copyBtn.onclick = function() {
            navigator.clipboard.writeText(textVal).then(function() {
                alert("Testo copiato negli appunti!");
            });
        };

        topRow.appendChild(info);
        topRow.appendChild(copyBtn);
        card.appendChild(topRow);
        receivedList.insertBefore(card, receivedList.firstChild);
    }

    window.sendQuickTextMsg = function() {
        if (!activeConnection) return;
        var text = msgInput.value.trim();
        if (text.length === 0) return;

        activeConnection.send({
            t: 'text',
            val: text
        });

        addReceivedTextItem("Tu: " + text);
        msgInput.value = '';
    };

    setTimeout(initP2PSystem, 300);

})();
&lt;/script&gt;
&lt;h2&gt;Il meccanismo della connessione diretta&lt;/h2&gt;
&lt;p&gt;La maggior parte dei servizi di scambio prende il vostro file, lo immagazzina nei propri server fisici, genera un indirizzo e costringe il destinatario a scaricarlo. Lo strumento integrato qui sopra lavora al contrario. Il browser del computer e quello dello smartphone aprono un tunnel invisibile e diretto tra di loro.&lt;/p&gt;
&lt;p&gt;I documenti non finiscono mai su un disco remoto. Viaggiano dalla memoria di partenza a quella di destinazione. Se entrambi gli apparecchi sono agganciati alla stessa rete Wi-Fi casalinga o aziendale, lo spostamento sfrutta la velocità massima del router locale, ignorando completamente il traffico dati della scheda telefonica.&lt;/p&gt;
&lt;h3&gt;Passaggi per avviare lo scambio&lt;/h3&gt;
&lt;p&gt;L'utilizzo non richiede alcuna registrazione. Aprite questa stessa pagina sullo schermo del computer. Noterete un riquadro che mostra un codice a tre cifre e un codice a barre quadrato. Aprite la medesima pagina sul navigatore del telefono e inquadrate lo schermo per completare l'abbinamento in automatico. Da questo momento il ponte è attivo.&lt;/p&gt;
&lt;p&gt;Chi lavora molto al computer apprezzerà una scorciatoia essenziale. Se catturate uno screenshot su Windows, seguendo la rotta di Navigaweb non serve salvare l'immagine sul desktop. Basta premere la combinazione Ctrl+V direttamente dentro l'area di trasferimento per farla atterrare istantaneamente nella memoria dello smartphone.&lt;/p&gt;
&lt;p&gt;I vantaggi di questo flusso di lavoro si notano su tre aspetti specifici:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Qualità intatta:&lt;/strong&gt; A differenza delle chat, le foto e i filmati non subiscono alcuna compressione. La risoluzione e i dati di scatto rimangono inalterati.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Riservatezza assoluta:&lt;/strong&gt; Inviando contratti firmati, documenti d'identità o buste paga, si ha la certezza matematica che nessun server commerciale tratterrà una copia di backup non richiesta.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Anteprima e gestione:&lt;/strong&gt; I file ricevuti mostrano una miniatura reale. I suoni e i video presentano un player multimediale per verificarne il contenuto prima di confermare il salvataggio nella memoria locale. Ricevendo un filmato lungo, si può staccare il riproduttore mettendolo in un angolo dello schermo per continuare a leggere altri articoli.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;A chi è utile questo strumento&lt;/h2&gt;
&lt;p&gt;Questo sistema è pensato per chiunque si trovi a gestire dispositivi di marche diverse. È la soluzione ideale per chi possiede un iPhone e un PC Windows, evitando l'incubo della sincronizzazione di iTunes o l'attesa di iCloud. Risulta utile anche a chi deve spostare file riservati senza lasciare tracce su server di terze parti o a chi deve trasferire rapidamente documenti in ufficio tra colleghi senza scambiarsi l'email.&lt;/p&gt;
&lt;h2&gt;I limiti fisici del sistema&lt;/h2&gt;
&lt;p&gt;Questo strumento ha davvero tutto, ma essendo basato sulla memoria del dispositivo (fino a che non si preme il tasto scarica nessun file viene memorizzato e salvato), ha un limite principale dettato dalla memoria RAM. Quando si riceve un archivio, il navigatore lo tiene in sospeso nella sua memoria volatile prima di salvarlo fisicamente. Per le foto o i documenti pesanti l'operazione è istantanea, per i video funziona bene, ho provato anche a inviare fino a 2 GB e andava. Se peròa bisogna muovere file giganteschi da svariati Gigabyte, i telefoni meno recenti andranno in blocco per proteggere le risorse del sistema.&lt;/p&gt;
&lt;p&gt;Inoltre, per precise regole di sicurezza imposte da Apple e Google, la pagina del navigatore mobile deve rimanere attiva e in primo piano. Lo strumento applica un blocco automatico per impedire allo schermo di spegnersi durante il passaggio dei dati, ma se cambiate applicazione per rispondere a un messaggio, la connessione si spezzerà all'istante.&lt;/p&gt;

&lt;h2&gt;Alternative per esigenze diverse&lt;/h2&gt;
&lt;p&gt;Se dovete superare i limiti tecnici descritti sopra o avete bisogno di inviare lo stesso archivio a più persone contemporaneamente, la rete offre progetti aperti molto interessanti che si concentrano su metodologie di scambio differenti.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://pairdrop.net/" rel="nofollow" target="_blank"&gt;PairDrop&lt;/a&gt;&lt;/strong&gt;: L'evoluzione moderna di Snapdrop. Presenta un'interfaccia a forma di radar che individua in automatico tutti i dispositivi agganciati alla stessa rete locale, saltando la fase di scansione dei codici. Permette di memorizzare i propri terminali personali per averli sempre a portata di mano.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://file.pizza/" rel="nofollow" target="_blank"&gt;FilePizza&lt;/a&gt;&lt;/strong&gt;: Sfrutta una logica basata sulla tecnologia torrent. Invece di un passaggio a due vie, divide il file in pacchetti. Risulta utile quando bisogna far scaricare un documento pesante a più persone nella stessa stanza: man mano che i primi ricevono i pezzi, aiutano a distribuirli agli altri.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://wormhole.app/" rel="nofollow" target="_blank"&gt;Wormhole&lt;/a&gt;&lt;/strong&gt;: La soluzione definitiva per muovere file immensi, fino a 10 GB. Non lavora in pura connessione locale ma cifra il pacchetto in partenza. La particolarità sta nel fatto che chi riceve il link può iniziare a scaricare il materiale mentre il mittente sta ancora finendo di caricarlo.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Diario di bordo di Navigaweb&lt;/h3&gt;
&lt;p&gt;Tornando al mio video di ieri mattina, l'uso di un sistema P2P ha trasformato un'operazione frustrante in un gesto di pochi secondi. Ho smesso di sporcare la rubrica telefonica con finti gruppi creati solo per inviarmi appunti e immagini, e non devo più preoccuparmi di quale cavetto usare per far parlare due macchine diverse. Sinceramente sono molto soddisfatto di questo strumento per fare trasferimenti tra PC e telefoni e spero che possa risultare utile a tutti. Mantenere l'icona di questa pagina sulla schermata principale del telefono è un'abitudine che fa risparmiare tempo prezioso ogni singola settimana.&lt;/p&gt;
&lt;p&gt;LEGGI ANCHE: &lt;b&gt;&lt;a href="https://www.navigaweb.net/2009/11/trasferire-file-grossi-via-internet-tra.html"&gt;Siti e App per trasferire file grandi via internet, meglio di WeTransfer&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt; &lt;p&gt;&lt;font size="3"&gt;Articolo pubblicato su  &lt;a title="Navigaweb.net" href="https://www.navigaweb.net" target="_blank"&gt;&lt;font size="3"&gt;Navigaweb.net&lt;/font&gt;&lt;/a&gt;. Non è consentito ripubblicare senza il consenso dell'autore. Segui anche su &lt;a href="https://www.facebook.com/navigaweb"&gt;Facebook&lt;/a&gt;, &lt;a href="https://twitter.com/pomhey"&gt;Twitter&lt;/a&gt; e &lt;a href="https://news.google.com/publications/CAAqBggKMLPofjD03wk"&gt;Google News&lt;/a&gt; .&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;</content><link href="https://www.navigaweb.net/2016/11/trasferimento-file-senza-usb-bluetooth.html#comment-form" rel="replies" title="0 Commenti" type="text/html"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/3403124325966444758" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/3403124325966444758" rel="self" type="application/atom+xml"/><link href="https://www.navigaweb.net/2016/11/trasferimento-file-senza-usb-bluetooth.html" rel="alternate" title="Inviare file tra PC Android e iPhone senza app né limiti" type="text/html"/><author><name>Claudio Pomes</name><uri>http://www.blogger.com/profile/05867241310817527022</uri><email>noreply@blogger.com</email><gd:image height="32" rel="http://schemas.google.com/g/2005#thumbnail" src="//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnjMmdIWMIcd464SD-u4VsJBXmTf1BTGQAIVPFdzGK2Z3P1ZKbrISt8SdSFSGSzoc4KvmJvACpnL9lE9x7-fXplMVjqdG1IkoB_Jq_kclZtfLmEoSONobAo5j2sFP2wxJHIGZa5_p5KwCURDkifbBQtwrgA_Q52gr-Hnsn9Eg7vVYocYc/s220/pomheybokeh.jpg" width="32"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2m2LHhTLPvSNRWMkdtgUqbc9aCLqt-fYZP3-MXL7J9jrx1bQGM6_WYuBSMEh_slhy7qaZlfpm5EvmgKNzsKaLkZGBXpg90aPAMmtxadI75tMTG7dS29U-NzCRA-eKS-le6b37q7SHdnxnlFqtbwznVzc6RnKUH09lzXMxQjW9qMM8XMDg9gFGhS6tcgJm/s72-c/inviop2p.jpg" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5148617246197063026.post-6334286243006272717</id><published>2026-09-29T18:57:18.646+02:00</published><updated>2026-09-29T18:57:18.679+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Acquisti tecnologia"/><title type="text">Tenere acceso il PC quando va via la luce con un UPS</title><content type="html">&lt;img alt="Gruppo di continuità" height="241" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2TZSHy_Z_FoimWXq_4eN6dAe5_8WJpFQrmtW86VT0UqPF1JewMH2kYKtliNaoNvO6g-qQvBYIt29ovQM6KeH46-2l82uk7gJtS2tehkQsBjVb0yilXFCGgxnxr8urpRRBsNyr7uUqOXo/s400/ups.webp" title="UPS come batteria" width="400" /&gt; &lt;p&gt;La rete elettrica domestica non è mai stabile come vorremmo. Un temporale estivo, un guasto alla cabina di zona o l'accensione di un elettrodomestico energivoro in un'altra stanza possono causare micro-interruzioni o sbalzi di tensione che l'occhio umano non percepisce, ma che l'elettronica del computer registra immediatamente. Quando la corrente sparisce in un millisecondo, l'alimentatore del PC prova a compensare per qualche istante, ma poi cede. Il risultato è un arresto violento che rischia di corrompere i file di sistema o, nei casi peggiori, di danneggiare i condensatori della scheda madre.&lt;/p&gt;
&lt;p&gt;Per capire meglio cosa succede fisicamente ai circuiti durante questi eventi, abbiamo approfondito se &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2014/09/si-puo-rompere-il-computer-con-blackout.html" target="_blank"&gt;si può rompere il computer quando va via la luce o con sbalzi di tensione&lt;/a&gt;&lt;/strong&gt;. La soluzione per evitare questi rischi è l'uso di un &lt;strong&gt;gruppo di continuità&lt;/strong&gt;, noto come UPS (Uninterruptible Power Supply). Questo apparecchio non è un semplice stabilizzatore, ma un sistema che contiene batterie pronte a intervenire nell'istante esatto in cui la tensione di rete crolla, mantenendo il PC acceso e permettendoci di salvare il lavoro.&lt;/p&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt; 
&lt;p&gt;LEGGI ANCHE: &lt;a href="https://www.navigaweb.net/2018/11/aggiornare-il-pc-parti-da-sostituire-o.html"&gt;&lt;strong&gt;Aggiornare il PC: Parti da sostituire o aggiungere al computer&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;La trappola dei Volt-Ampere e il calcolo della potenza&lt;/h2&gt;
&lt;p&gt;Chi acquista un UPS per la prima volta spesso cade in un errore banale: confonde i &lt;strong&gt;Volt-Ampere (VA)&lt;/strong&gt; con i &lt;strong&gt;Watt (W)&lt;/strong&gt;. Sulle confezioni appare spesso un numero grande, come 1000 VA, che porta a pensare che l'apparecchio possa sostenere un carico di 1000 Watt. In realtà, i VA indicano la potenza apparente, non quella reale erogata.&lt;/p&gt;
&lt;p&gt;La maggior parte dei gruppi di continuità domestici ha un fattore di potenza di circa 0,6. Questo significa che un modello da 1000 VA può alimentare carichi fino a 600 Watt. Se colleghiamo un PC da gaming con una scheda video energivora e un monitor che insieme assorbono 700 Watt, l'UPS andrà in sovraccarico immediato appena salta la luce, spegnendosi all'istante e rendendo l'acquisto inutile. Per non sbagliare, occorre sommare i consumi di tutto ciò che intendiamo collegare e dividere il totale per 0,6 per trovare i VA necessari, aggiungendo poi un margine di sicurezza del venti per cento.&lt;/p&gt;
&lt;h2&gt;Onda sinusoidale pura contro simulata&lt;/h2&gt;
&lt;p&gt;Non tutti i gruppi di continuità erogano l'energia allo stesso modo. I modelli più economici producono un'&lt;strong&gt;onda quadra simulata&lt;/strong&gt;, che è una versione semplificata e &lt;em&gt;spigolosa&lt;/em&gt; della corrente elettrica. Questo tipo di segnale non è un problema per i vecchi computer, ma crea conflitti con gli alimentatori moderni dotati di &lt;strong&gt;PFC Attivo&lt;/strong&gt; (Power Factor Correction).&lt;/p&gt;
&lt;p&gt;Il PFC Attivo ottimizza l'assorbimento di energia, ma quando riceve un'onda quadra può interpretarla come un'anomalia, attivando i circuiti di protezione e spegnendo il PC nonostante la batteria sia carica. Per chi possiede una macchina moderna, un PC da ufficio di ultima generazione o una workstation, l'unica scelta sensata è un UPS a &lt;strong&gt;onda sinusoidale pura&lt;/strong&gt;. Questo sistema replica esattamente la corrente della rete elettrica, garantendo che l'alimentatore non subisca stress e che il computer resti acceso senza ronzii sospetti provenienti dai condensatori.&lt;/p&gt;
&lt;h2&gt;Le novità delle batterie LiFePO4&lt;/h2&gt;
&lt;p&gt;Fino a poco tempo fa, l'unico standard erano le batterie al piombo-acido, che dopo tre anni perdevano gran parte della loro capacità. Oggi, la tecnologia si è evoluta verso le celle &lt;strong&gt;LiFePO4 (Litio-Ferro-Fosfato)&lt;/strong&gt;. Questi accumulatori sono più leggeri, si caricano molto più velocemente e durano fino a dieci anni senza degradarsi significativamente.&lt;/p&gt;
&lt;p&gt;Seguendo la rotta di Navigaweb, consigliamo di verificare se il modello scelto permette la sostituzione delle batterie o se ne integra di tipo Litio. Anche se il costo iniziale è più alto, l'investimento si ripaga evitando di dover cambiare l'intero blocco ogni tre anni. Inoltre, molti nuovi modelli integrano ora porte &lt;strong&gt;USB-C con Power Delivery&lt;/strong&gt;, permettendo di tenere accesi anche smartphone e tablet durante il blackout senza occupare le prese principali.&lt;/p&gt;
&lt;h2&gt;Soluzioni per casistiche d'uso professionali&lt;/h2&gt;
&lt;p&gt;L'uso di un gruppo di continuità cambia a seconda di ciò che abbiamo sulla scrivania. Esistono tre scenari specifici che richiedono un'attenzione particolare.&lt;/p&gt;
&lt;p&gt;Chi lavora in &lt;strong&gt;smart working&lt;/strong&gt; con un computer portatile potrebbe pensare che l'UPS sia inutile avendo già la batteria interna. In realtà, il problema è la connessione. Se va via la luce, il laptop resta acceso, ma il modem e il router si spengono istantaneamente, interrompendo ogni chiamata o trasferimento di file. Collegare i dispositivi di rete a un piccolo UPS permette di mantenere internet attivo, rendendo il blackout quasi invisibile durante una riunione di lavoro.&lt;/p&gt;
&lt;p&gt;Per chi possiede un &lt;strong&gt;NAS (Network Attached Storage)&lt;/strong&gt;, l'UPS non serve solo a tenere acceso il disco, ma a evitare la corruzione dei dati. Uno spegnimento violento durante una scrittura di file può distruggere l'intero file system. In questo caso, è fondamentale che l'UPS sia collegato al NAS via USB. Il gruppo di continuità comunicherà al server l'esaurimento della batteria, permettendo al NAS di eseguire un &lt;em&gt;shutdown sicuro&lt;/em&gt; e di parcheggiare correttamente le testine dei dischi.&lt;/p&gt;
&lt;p&gt;Infine, chi monta un &lt;strong&gt;PC da gaming di fascia alta&lt;/strong&gt; deve fare attenzione ai cosiddetti &lt;em&gt;transient spikes&lt;/em&gt;. Le schede video moderne possono avere picchi di assorbimento millisecondari che superano di molto il consumo medio dichiarato. Se l'UPS è dimensionato esattamente al limite del consumo del PC, questi picchi possono far scattare la protezione per sovraccarico. Per queste macchine, suggeriamo un margine di potenza più ampio, idealmente tra il trenta e il quaranta per cento in più rispetto al carico massimo stimato.&lt;/p&gt;
&lt;h2&gt;Prese IEC e configurazione del sistema&lt;/h2&gt;
&lt;p&gt;Un dettaglio che spesso sfugge riguarda le connessioni fisiche. Molti UPS professionali non hanno le classiche prese italiane, ma utilizzano connettori trapezoidali chiamati &lt;strong&gt;IEC C13&lt;/strong&gt;. In questo caso, non potrete collegare la spina standard del monitor senza un cavo adattatore C13-C14 o una prolunga specifica. Verificate sempre il retro dell'apparecchio prima dell'acquisto per evitare di trovarsi con l'hardware in mano e nessun modo per collegarlo.&lt;/p&gt;
&lt;p&gt;Per quanto riguarda lo spegnimento, l'ideale è non fare affidamento solo sulla propria prontezza. Collegando l'UPS al PC tramite il cavo USB fornito, il sistema operativo riconosce l'apparecchio come una batteria. Invece di installare software pesanti e pieni di pubblicità, conviene usare le &lt;strong&gt;opzioni di risparmio energia di Windows&lt;/strong&gt;. Impostando l'ibernazione automatica quando la batteria scende al dieci per cento, il computer salverà tutto sul disco rigido e si spegnerà da solo, anche se ci troviamo in un'altra stanza o siamo usciti di casa.&lt;/p&gt;
&lt;h3&gt;Dispositivi ammessi e carichi vietati&lt;/h3&gt;
&lt;p&gt;L'UPS ha un limite di carico che non va mai superato. È fondamentale dividere i dispositivi in due categorie:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cose da collegare&lt;/strong&gt;: Computer, monitor, modem, router e unità NAS. Sono dispositivi che assorbono poca energia e che hanno bisogno di un arresto controllato per non perdere dati.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cose da evitare assolutamente&lt;/strong&gt;: Le &lt;strong&gt;stampanti laser&lt;/strong&gt; sono il nemico numero uno dei gruppi di continuità. Il riscaldamento del fusore di una laser produce picchi di assorbimento enormi che possono bruciare i circuiti dell'UPS o mandarlo in blocco immediato per sovraccarico. Anche aspirapolveri o stufette elettriche vanno tenuti lontani da queste prese.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Consigli per la manutenzione e l'efficienza&lt;/h2&gt;
&lt;p&gt;Cosa monitorare per far durare l'impianto nel tempo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Test di simulazione&lt;/strong&gt;. Una volta ogni sei mesi è utile simulare un blackout staccando la spina dell'UPS dalla presa a muro. Questo permette di verificare se la batteria tiene ancora il carico e se il PC entra correttamente in ibernazione.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Posizionamento e calore&lt;/strong&gt;. Le batterie odiano il caldo. Non chiudete l'UPS in un mobiletto senza ventilazione o non appoggiateci sopra l'unità centrale del computer. Il calore accelera l'evaporazione dell'elettrolita e riduce l'autonomia.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Differenza con gli stabilizzatori&lt;/strong&gt;. Ricordate che uno stabilizzatore di tensione protegge dai fulmini e dagli sbalzi, ma non ha batterie. Se va via la luce, lo stabilizzatore non può tenere acceso il PC.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Diario di bordo di Navigaweb&lt;/h3&gt;
&lt;p&gt;Dopo anni passati a riparare PC che avevano subito spegnimenti anomali, vi dico una cosa chiaramente: l'UPS non è un accessorio per esperti, ma una polizza assicurativa per chiunque usi il computer per lavoro o per svago. Non c'è niente di più frustrante che perdere ore di rendering o un progetto importante perché è saltata la corrente. Spesso si spende molto in componenti costosi, ma si ignora la base, ovvero l'energia che li alimenta. Il mio consiglio è semplice: se avete un PC fisso, non risparmiate sull'onda sinusoidale pura. Costa un po' di più, ma è l'unico modo per dormire sereni sapendo che l'hardware è protetto davvero, indipendentemente da quanto sia instabile la rete elettrica di zona.&lt;/p&gt;
&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt; &lt;p&gt;&lt;font size="3"&gt;Articolo pubblicato su  &lt;a title="Navigaweb.net" href="https://www.navigaweb.net" target="_blank"&gt;&lt;font size="3"&gt;Navigaweb.net&lt;/font&gt;&lt;/a&gt;. Non è consentito ripubblicare senza il consenso dell'autore. Segui anche su &lt;a href="https://www.facebook.com/navigaweb"&gt;Facebook&lt;/a&gt;, &lt;a href="https://twitter.com/pomhey"&gt;Twitter&lt;/a&gt; e &lt;a href="https://news.google.com/publications/CAAqBggKMLPofjD03wk"&gt;Google News&lt;/a&gt; .&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;</content><link href="https://www.navigaweb.net/2012/07/usare-un-ups-come-batteria-per-il.html#comment-form" rel="replies" title="1 Commenti" type="text/html"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/6334286243006272717" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/6334286243006272717" rel="self" type="application/atom+xml"/><link href="https://www.navigaweb.net/2012/07/usare-un-ups-come-batteria-per-il.html" rel="alternate" title="Tenere acceso il PC quando va via la luce con un UPS" type="text/html"/><author><name>Claudio Pomes</name><uri>http://www.blogger.com/profile/05867241310817527022</uri><email>noreply@blogger.com</email><gd:image height="32" rel="http://schemas.google.com/g/2005#thumbnail" src="//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnjMmdIWMIcd464SD-u4VsJBXmTf1BTGQAIVPFdzGK2Z3P1ZKbrISt8SdSFSGSzoc4KvmJvACpnL9lE9x7-fXplMVjqdG1IkoB_Jq_kclZtfLmEoSONobAo5j2sFP2wxJHIGZa5_p5KwCURDkifbBQtwrgA_Q52gr-Hnsn9Eg7vVYocYc/s220/pomheybokeh.jpg" width="32"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2TZSHy_Z_FoimWXq_4eN6dAe5_8WJpFQrmtW86VT0UqPF1JewMH2kYKtliNaoNvO6g-qQvBYIt29ovQM6KeH46-2l82uk7gJtS2tehkQsBjVb0yilXFCGgxnxr8urpRRBsNyr7uUqOXo/s72-c/ups.webp" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5148617246197063026.post-4738095959932418612</id><published>2026-09-29T18:46:02.178+02:00</published><updated>2026-09-29T18:46:02.208+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Guide PC"/><title type="text">Trucchi per il prompt dei comandi (CMD)</title><content type="html">&lt;img alt="Prompt dei comandi CMD" height="174" width="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-53rDHdLb71NA7_GovswbPZstte2ZoY5K_AclsVLrQua5XypEezB-1ImkSOhLOHcg5mAIU-Y9Wo3JHqlG4qdEgF2JR90fm29OcAyQRVrF5377Qc_31x9cm13bttgyzsV2NNqWfgUEVo0/s320/promptdeicomandi.jpg"&gt;   &lt;p&gt;&lt;b&gt;CMD&lt;/b&gt; è uno dei &lt;a href="https://www.navigaweb.net/2012/07/20-comandi-da-digitare-in-esegui-su.html"&gt;comandi principali eseguibili su Windows&lt;/a&gt; ed apre quell'oscura ma importantissima finestra nera del &lt;b&gt;Prompt dei comandi&lt;/b&gt; che sta alla base di Windows. La maggior parte delle persone usa Windows senza mai toccare la finestra CMD, ma sapere almeno che esiste e conoscere come usarla può tornare davvero utile, sia per risolvere problemi quando le finestre di Windows sembrano inutilizzabili, sia per lanciare comandi in modalità testo, per sistemare cose o per attivare opzioni altrimenti impossibili da abilitare.  &lt;/p&gt;
  &lt;p&gt;Dopo aver letto la &lt;b&gt;&lt;a href="https://www.navigaweb.net/2011/02/prompt-per-eseguire-comandi-dos-su.html"&gt;guida sul prompt per eseguire comandi Dos su Windows&lt;/a&gt;&lt;/b&gt;, vediamo, nel dettaglio, alcuni importanti &lt;b&gt;trucchi per usare il Prompt dei comandi in modo più semplice e renderlo più utile ed a portata di mano&lt;/b&gt;.  &lt;/p&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;p&gt;LEGGI ANCHE: &lt;b&gt;&lt;a href="https://www.navigaweb.net/2015/10/differenza-tra-powershell-e-prompt-dei.html"&gt;Differenza tra Powershell e Prompt dei comandi Windows&lt;/a&gt;&lt;/b&gt;  &lt;/p&gt;
&lt;h2&gt;Navigazione rapida e gestione dei percorsi&lt;/h2&gt;
&lt;p&gt;Uno dei problemi principali per chi inizia a usare la riga di comando è la digitazione manuale di percorsi lunghi, che spesso porta a errori di sintassi. Esistono però scorciatoie integrate che rendono la navigazione istantanea.&lt;/p&gt;
&lt;p&gt;Se occorre inserire l'indirizzo esatto di un file o di una cartella, non serve scriverlo a mano. Basta trascinare l'elemento dall'Esplora Risorse e rilasciarlo direttamente nello spazio nero del prompt: il sistema scriverà in automatico il percorso completo tra virgolette. Per muoversi tra le directory con il comando &lt;em&gt;cd&lt;/em&gt;, il tasto &lt;em&gt;Tab&lt;/em&gt; funge da completamento automatico, suggerendo i nomi delle cartelle disponibili senza doverli digitare per intero.&lt;/p&gt;
&lt;p&gt;Per chi ha bisogno di lavorare su una specifica area del disco, conviene &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2022/08/come-aprire-il-prompt-da-una-cartella.html"&gt;aprire il prompt da una cartella specifica&lt;/a&gt;&lt;/strong&gt; tenendo premuto il tasto Maiusc mentre si fa clic destro su un punto vuoto della directory. Questo evita di dover risalire l'intero albero delle cartelle partendo dalla root del disco.&lt;/p&gt;
&lt;p&gt;Una volta posizionati correttamente, è possibile &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2024/06/aprire-file-o-una-cartella-da-prompt-su.html"&gt;aprire file e cartelle da riga di comando&lt;/a&gt;&lt;/strong&gt; digitando semplicemente il nome del documento per avviarlo con il programma predefinito.&lt;/p&gt;
&lt;h2&gt;Recupero password e diagnostica di rete&lt;/h2&gt;
&lt;p&gt;Quando la connessione internet manifesta rallentamenti o il router smette di rispondere, l'interfaccia grafica di Windows offre poche risposte concrete. Il terminale permette di interrogare direttamente la scheda di rete e testare la stabilità del collegamento.&lt;/p&gt;
&lt;p&gt;Il comando &lt;strong&gt;ipconfig /all&lt;/strong&gt; restituisce l'indirizzo IP locale, i server DNS e lo stato della connessione. Se i siti web non caricano nonostante la rete sia attiva, l'istruzione &lt;strong&gt;ipconfig /flushdns&lt;/strong&gt; svuota la cache dei nomi di dominio, forzando il computer a richiedere gli indirizzi aggiornati.&lt;/p&gt;
&lt;p&gt;Per capire se un problema di connessione riguarda il proprio PC o il server di destinazione, si usano due strumenti fondamentali: &lt;strong&gt;ping&lt;/strong&gt; e &lt;strong&gt;tracert&lt;/strong&gt;. Digitando &lt;em&gt;ping google.it&lt;/em&gt;, il sistema invia piccoli pacchetti di dati per verificare se il server risponde e quanto tempo impiega. Se il ping fallisce, &lt;em&gt;tracert google.it&lt;/em&gt; traccia l'intero percorso del dato, mostrando ogni singolo salto tra i router della rete. Questo permette di individuare esattamente in quale punto della linea avviene l'interruzione.&lt;/p&gt;
&lt;p&gt;Un'operazione molto richiesta riguarda il recupero delle password Wi-Fi salvate. Se si è dimenticato il codice di accesso di una rete a cui il PC è già connesso, basta digitare:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;netsh wlan show profile name="NOME_RETE" key=clear&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;All'interno del testo generato, alla voce &lt;em&gt;Contenuto chiave&lt;/em&gt;, apparirà la password in chiaro. Questa procedura è l'unico modo per recuperare la chiave senza dover resettare l'intero router.&lt;/p&gt;
&lt;h2&gt;Riparazione del sistema e manutenzione dei dischi&lt;/h2&gt;
&lt;p&gt;I crash improvvisi o le schermate blu sono spesso il sintomo di librerie di sistema corrotte o errori fisici del disco. Windows integra strumenti di autoreparazione che possono essere lanciati solo tramite il prompt.&lt;/p&gt;
&lt;p&gt;L'istruzione &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2011/08/soluzione-file-non-trovato-o-corrotto.html"&gt;sfc /scannow&lt;/a&gt;&lt;/strong&gt; avvia una scansione integrale dei file di sistema, sostituendo automaticamente i moduli danneggiati. Per un intervento più profondo, l'uso di &lt;strong&gt;DISM /Online /Cleanup-Image /RestoreHealth&lt;/strong&gt; permette di riparare l'immagine di recupero stessa. Se invece si sospettano errori nei settori del disco, il comando &lt;strong&gt;chkdsk /f /r&lt;/strong&gt; analizza l'intera superficie dell'unità, riparando gli errori del file system e tentando di recuperare i dati dai settori danneggiati.&lt;/p&gt;
&lt;p&gt;Un caso d'emergenza frequente riguarda le chiavette USB infette da malware che nascondono le cartelle rendendole invisibili. Per forzare la visibilità di ogni singolo file, seguendo la rotta di Navigaweb occorre digitare: &lt;strong&gt;attrib -h -r -s /s /d G:\*.*&lt;/strong&gt; (sostituendo G con la lettera dell'unità USB). Questo comando rimuove gli attributi di "nascosto", "sola lettura" e "sistema" da ogni cartella e sottocartella, riportando a galla i dati che l'utente credeva persi.&lt;/p&gt;
&lt;p&gt;Per quanto riguarda la manutenzione dello spazio, l'accumulo di file temporanei rallenta le prestazioni. Il comando &lt;strong&gt;del /q /f /s %temp%\*&lt;/strong&gt; svuota istantaneamente la cartella temporanea dell'utente, eliminando i residui di installazioni senza richiedere conferme manuali.&lt;/p&gt;
&lt;p&gt;Se invece l'obiettivo è la sicurezza prima di vendere un PC, si utilizza il comando &lt;strong&gt;cipher /w:C:\&lt;/strong&gt;. A differenza della semplice cancellazione, questa funzione scrive dati casuali su tutto lo spazio libero del disco, rendendo impossibile il recupero dei vecchi documenti tramite software forensi.&lt;/p&gt;
&lt;h2&gt;Automazione moderna e gestione dei pacchetti&lt;/h2&gt;
&lt;p&gt;L'evoluzione del prompt dei comandi ha portato all'integrazione di strumenti di gestione automatizzata. Il più rilevante è &lt;strong&gt;Winget&lt;/strong&gt;, il &lt;b&gt;&lt;a href="https://www.navigaweb.net/2009/10/installare-programmi-tutti-insieme-in.html"&gt;Windows Package Manager&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;Invece di cercare siti web e scaricare file .exe, ora è possibile gestire tutto via testo. Digitando &lt;strong&gt;winget install nomeprogramma&lt;/strong&gt;, il sistema scarica e installa l'app automaticamente. Ancora più utile è il comando &lt;strong&gt;winget upgrade --all&lt;/strong&gt;, che aggiorna ogni singolo software installato sul PC con un unico comando.&lt;/p&gt;
&lt;p&gt;Per chi deve manipolare grandi quantità di dati, l'uso della redirezione rimane imbattibile. Aggiungendo &lt;strong&gt;| clip&lt;/strong&gt; alla fine di un comando, l'output finisce direttamente negli appunti. Digitando &lt;em&gt;dir | clip&lt;/em&gt;, l'elenco dei file di una cartella è pronto per essere incollato in un documento di testo o in una mail.&lt;/p&gt;
&lt;h2&gt;Note tecniche per l'uso quotidiano&lt;/h2&gt;
&lt;p&gt;Per evitare errori di sintassi e velocizzare l'operatività, occorre ricordare alcuni accorgimenti:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Scheda tecnica istantanea&lt;/strong&gt;. Digitando &lt;strong&gt;systeminfo&lt;/strong&gt;, il terminale restituisce in pochi secondi l'intera configurazione della macchina, inclusa la data di installazione di Windows e la versione della build, senza dover navigare nelle impostazioni.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Uso della cronologia&lt;/strong&gt;. Premendo il tasto F7 appare un menu a comparsa con tutti i comandi digitati nella sessione corrente, evitando di riscrivere stringhe lunghe.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Arresto di emergenza&lt;/strong&gt;. Se un comando entra in un ciclo infinito o una scansione è troppo lenta, la combinazione &lt;em&gt;CTRL + C&lt;/em&gt; interrompe l'esecuzione e restituisce il controllo del cursore.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sintassi di aiuto&lt;/strong&gt;. Ogni comando di Windows può essere interrogato aggiungendo il suffisso &lt;em&gt;/?&lt;/em&gt;. Ad esempio, &lt;em&gt;sfc /?&lt;/em&gt; mostra tutte le opzioni disponibili per lo strumento di riparazione.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Personalizzazione visiva&lt;/strong&gt;. Cliccando con il tasto destro sulla barra del titolo della finestra, è possibile accedere alle Proprietà per &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2019/09/opzioni-per-personalizzare-il-prompt.html"&gt;personalizzare il prompt dei comandi&lt;/a&gt;&lt;/strong&gt;, modificando colori e trasparenze per ridurre l'affaticamento visivo.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Diario di bordo di Navigaweb&lt;/h3&gt;
&lt;p&gt;Nonostante Microsoft cerchi di spingere l'utente verso un'esperienza totalmente semplificata e astratta, il terminale resta l'unico punto di verità di un computer. Quando l'interfaccia grafica smette di rispondere o un aggiornamento nasconde un'opzione fondamentale, tornare al testo bianco su fondo nero non è un passo indietro, ma l'unico modo per riprendere il comando della macchina. Imparare a usare questi comandi non serve per sentirsi "geek", ma per smettere di essere spettatori passivi di un sistema operativo che decide cosa possiamo o non possiamo vedere. Il mio consiglio è di iniziare a usare Winget per gli aggiornamenti e di tenere a portata di mano il comando &lt;em&gt;attrib&lt;/em&gt; per le USB: sono piccoli accorgimenti che risolvono in pochi secondi problemi che altrimenti richiederebbero ore di ricerca o l'intervento di un tecnico.&lt;/p&gt;

  &lt;p&gt;LEGGI ANCHE: &lt;b&gt;&lt;a href="https://www.navigaweb.net/2014/03/strumenti-nascosti-nella-riga-di-comando.html"&gt;Migliori strumenti nascosti nella riga di comando di Windows&lt;/a&gt;&lt;/b&gt;  &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt; &lt;p&gt;&lt;font size="3"&gt;Articolo pubblicato su  &lt;a title="Navigaweb.net" href="https://www.navigaweb.net" target="_blank"&gt;&lt;font size="3"&gt;Navigaweb.net&lt;/font&gt;&lt;/a&gt;. Non è consentito ripubblicare senza il consenso dell'autore. Segui anche su &lt;a href="https://www.facebook.com/navigaweb"&gt;Facebook&lt;/a&gt;, &lt;a href="https://twitter.com/pomhey"&gt;Twitter&lt;/a&gt; e &lt;a href="https://news.google.com/publications/CAAqBggKMLPofjD03wk"&gt;Google News&lt;/a&gt; .&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;</content><link href="https://www.navigaweb.net/2012/07/trucchi-per-il-prompt-dei-comandi-cmd.html#comment-form" rel="replies" title="0 Commenti" type="text/html"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/4738095959932418612" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/4738095959932418612" rel="self" type="application/atom+xml"/><link href="https://www.navigaweb.net/2012/07/trucchi-per-il-prompt-dei-comandi-cmd.html" rel="alternate" title="Trucchi per il prompt dei comandi (CMD)" type="text/html"/><author><name>Claudio Pomes</name><uri>http://www.blogger.com/profile/05867241310817527022</uri><email>noreply@blogger.com</email><gd:image height="32" rel="http://schemas.google.com/g/2005#thumbnail" src="//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnjMmdIWMIcd464SD-u4VsJBXmTf1BTGQAIVPFdzGK2Z3P1ZKbrISt8SdSFSGSzoc4KvmJvACpnL9lE9x7-fXplMVjqdG1IkoB_Jq_kclZtfLmEoSONobAo5j2sFP2wxJHIGZa5_p5KwCURDkifbBQtwrgA_Q52gr-Hnsn9Eg7vVYocYc/s220/pomheybokeh.jpg" width="32"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-53rDHdLb71NA7_GovswbPZstte2ZoY5K_AclsVLrQua5XypEezB-1ImkSOhLOHcg5mAIU-Y9Wo3JHqlG4qdEgF2JR90fm29OcAyQRVrF5377Qc_31x9cm13bttgyzsV2NNqWfgUEVo0/s72-c/promptdeicomandi.jpg" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5148617246197063026.post-7557355828772346724</id><published>2026-09-29T18:21:15.096+02:00</published><updated>2026-09-29T18:21:15.125+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Guide PC"/><category scheme="http://www.blogger.com/atom/ns#" term="Programmi PC"/><title type="text">Lavorare con doppio schermo su PC gestendo le finestre al meglio</title><content type="html">&lt;img alt="Doppio schermo computer" height="210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGPVZr5nsOtC1Su1gJKoRwwJ1SiwVPgfZKqboVjeAvmraLDEJFlEkR7U9VwH9sb5r5YJ4uNZnBvzBK2LhqfQgzuANWBMTtYHCWjdqHXQvjnzirflAXRKrlYmkNhGx2rKaO8difpS_OrbFxw6VOnukQwgFSCtl8BR2wSKpVjChEZMnGdais5mvvpjUI/w400-h210/Doppio-monitor-PC.jpg" title="Doppio monitor PC" width="400" /&gt; &lt;p&gt;Il collegamento fisico di un secondo display modifica istantaneamente il modo in cui gestiamo le nostre attività quotidiane. Invece di ridurre a icona le finestre di continuo, il piano visivo si allarga in orizzontale. Inserire il cavo nella scheda video rappresenta però soltanto il passo iniziale. Il sistema operativo riceve il segnale e accende l'hardware, ma quasi sempre posiziona gli elementi in modo sfalsato.&lt;/p&gt;
&lt;p&gt;Il puntatore del mouse sbatte contro cornici invisibili, i caratteri del display secondario appaiono sfuocati e le proporzioni non coincidono con la distanza reale degli occhi. Questo setup è indicato per chiunque passi molte ore al PC: dai programmatori che devono tenere aperto il codice e l'anteprima, ai creatori di contenuti che separano l'area di montaggio dalla chat, fino agli utenti d'ufficio che devono confrontare fogli di calcolo senza fare continui alt-tab. Per impostare le basi prima di passare ai software, è opportuno consultare i passaggi sul &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2016/07/collegare-due-monitor-sul-pc-e.html" target="_blank"&gt;collegamento di due monitor sul PC e configurazione schermi&lt;/a&gt;&lt;/strong&gt; per verificare che le porte video siano collegate correttamente.&lt;/p&gt;
&lt;a name='more'&gt;&lt;/a&gt;

&lt;p&gt;LEGGI ANCHE: &lt;b&gt;&lt;a href="https://www.navigaweb.net/2009/06/desktop-esteso-sue-due-monitor.html"&gt;Gestire due monitor sul PC con desktop esteso&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;

&lt;h2&gt;Allineamento geometrico e prime impostazioni&lt;/h2&gt;
&lt;p&gt;La scorciatoia fondamentale da memorizzare subito è la combinazione di tasti &lt;em&gt;Win + P&lt;/em&gt;. Questo comando apre una barra laterale immediata in cui selezionare la modalità &lt;em&gt;Estendi&lt;/em&gt;, necessaria per trasformare i due schermi in un'unica superficie continua, lasciando l'opzione &lt;em&gt;Duplica&lt;/em&gt; solo per proiezioni o presentazioni.&lt;/p&gt;
&lt;p&gt;I problemi di movimento del mouse nascono da una mappatura errata. Nel menu dedicato allo schermo, Windows mostra due riquadri numerati. L'errore più diffuso consiste nel lasciarli allineati a metà altezza. Bisogna fare clic sul riquadro del monitor secondario e trascinarlo su o giù, facendolo coincidere al millimetro con la posizione della cornice fisica sulla scrivania. Questo passaggio azzera l'attrito del puntatore quando passa da un display all'altro.&lt;/p&gt;
&lt;p&gt;Se dopo il collegamento il secondo schermo rimane nero, la causa risiede spesso in un problema di comunicazione tra porte e software. Prima di pensare a un guasto hardware, conviene &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2012/01/driver-di-schede-video-amd-o-nvidia.html" target="_blank"&gt;scaricare e installare i driver della scheda video NVIDIA e AMD aggiornati&lt;/a&gt;&lt;/strong&gt; per ripristinare il corretto riconoscimento delle uscite digitali.&lt;/p&gt;
&lt;p&gt;Un dettaglio spesso ignorato riguarda le frequenze di aggiornamento. Se si affianca un monitor da 144Hz a uno standard da 60Hz, l'occhio percepirà degli scatti nel movimento delle finestre. Nelle impostazioni grafiche avanzate bisogna assicurarsi che ogni pannello lavori alla propria frequenza massima supportata per mantenere la fluidità visiva su entrambi i fronti.&lt;/p&gt;
&lt;h2&gt;Programmi per organizzare finestre e spazi&lt;/h2&gt;
&lt;p&gt;Il sistema di ancoraggio standard di Windows divide lo schermo soltanto a metà o in quarti uguali. Su configurazioni ampie queste divisioni rigide mostrano presto i loro limiti. Per avere un controllo millimetrico sulle applicazioni aperte servono strumenti esterni leggeri.&lt;/p&gt;
&lt;h3&gt;Microsoft PowerToys&lt;/h3&gt;
&lt;p&gt;La soluzione più solida è installare &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2019/09/scarica-microsoft-powertoys-per-windows.html" target="_blank"&gt;Microsoft PowerToys&lt;/a&gt;&lt;/strong&gt; per utilizzare il modulo FancyZones. Questo strumento crea delle zone invisibili disegnate su misura dall'utente su entrambi gli schermi.&lt;/p&gt;
&lt;p&gt;Tenendo premuto il tasto Shift mentre si trascina un programma, compare la griglia personalizzata. Si può riservare metà dello schermo principale al browser web e un quarto all'editor di testo, relegando il secondo display a canali di chat e posta elettronica. Il programma memorizza le posizioni scelte anche dopo il riavvio della macchina.&lt;/p&gt;
&lt;h3&gt;MultiMonitorTool&lt;/h3&gt;
&lt;p&gt;Sviluppato da NirSoft, &lt;strong&gt;&lt;a href="https://www.nirsoft.net/utils/multi_monitor_tool.html" rel="nofollow" target="_blank"&gt;MultiMonitorTool&lt;/a&gt;&lt;/strong&gt; è un'applicazione portatile pensata per chi vuole modificare le proprietà dei display senza aprire ogni volta i menu di sistema.&lt;/p&gt;
&lt;p&gt;La schermata elenca tutti i monitor connessi e permette di disattivarne uno al volo, cambiare la risoluzione primaria o spostare intere finestre da un monitor all'altro con un solo clic. Chi ama l'automazione può abbinare questo strumento a script per passare da una configurazione di lavoro a una da gioco in un istante.&lt;/p&gt;
&lt;h3&gt;Spacedesk per usare un tablet come secondo schermo&lt;/h3&gt;
&lt;p&gt;Chi non ha spazio per un monitor ingombrante o vuole evitare la spesa di un nuovo acquisto può ricorrere a &lt;strong&gt;&lt;a href="https://www.spacedesk.net/" rel="nofollow" target="_blank"&gt;Spacedesk&lt;/a&gt;&lt;/strong&gt;. Questo software trasforma un tablet Android, un iPad o persino un vecchio computer portatile in un monitor secondario collegato tramite rete Wi-Fi o USB.&lt;/p&gt;
&lt;p&gt;Basta installare il driver server sul computer principale e l'applicazione client sul dispositivo secondario. Il tablet viene riconosciuto da Windows come un vero schermo aggiuntivo, comodissimo per appoggiare documenti di consultazione o tenere d'occhio le finestre di messaggistica.&lt;/p&gt;
&lt;h3&gt;Dual Monitor Tools per bloccare il cursore&lt;/h3&gt;
&lt;p&gt;L'uso di due display crea interferenze quando si eseguono giochi o programmi a tutto schermo. Un movimento della mano troppo ampio fa scivolare la freccia fuori dal bordo principale e un clic involontario riduce a icona il lavoro in corso.&lt;/p&gt;
&lt;p&gt;Per risolvere questa situazione, la rotta di Navigaweb suggerisce di usare &lt;strong&gt;&lt;a href="https://dualmonitortool.sourceforge.net/" rel="nofollow" target="_blank"&gt;Dual Monitor Tools&lt;/a&gt;&lt;/strong&gt; configurando una combinazione di tasti dedicata al blocco del mouse. Premendo la scorciatoia, il cursore rimbalza contro le pareti del display attivo senza poter uscire. Una seconda pressione della combinazione sblocca il confine per consentire di nuovo il passaggio tra i due monitor.&lt;/p&gt;
&lt;h2&gt;Configurazioni avanzate per professionisti e gamer&lt;/h2&gt;
&lt;p&gt;Esistono modi di utilizzare i monitor che vanno oltre l'estensione standard del desktop, utili per specifici flussi di lavoro o per l'intrattenimento.&lt;/p&gt;
&lt;p&gt;Chi scrive molto, programma o gestisce fogli di calcolo infiniti può provare l'&lt;strong&gt;orientamento verticale&lt;/strong&gt;. Nelle impostazioni di sistema, sotto la voce orientamento display, è possibile ruotare il secondo monitor di 90 gradi. Questa scelta permette di leggere intere pagine web o script di codice senza dover scorrere continuamente la pagina.&lt;/p&gt;
&lt;p&gt;Per chi usa un laptop collegato a due schermi esterni, la soluzione più pulita è il &lt;strong&gt;Clamshell Mode&lt;/strong&gt;, ovvero l'uso del portatile con il coperchio chiuso. Per evitare che il computer vada in sospensione appena si abbassa lo schermo, occorre andare nel Pannello di controllo, sezione Opzioni di risparmio energia, e impostare la voce &lt;em&gt;Quando viene chiuso il coperchio&lt;/em&gt; su &lt;em&gt;Non fare nulla&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Se invece si possiedono due computer diversi affiancati, è possibile usare &lt;strong&gt;Mouse without Borders&lt;/strong&gt; (integrato in PowerToys). Questo strumento permette di muovere il mouse e la tastiera tra due PC distinti come se fossero un unico sistema, facilitando il passaggio di file o testi tra macchine diverse senza usare chiavette USB.&lt;/p&gt;
&lt;p&gt;Infine, per chi usa simulatori di volo o di guida, esiste la possibilità di fondere i monitor in un'unica immagine panoramica gigante tramite le tecnologie &lt;strong&gt;NVIDIA Surround&lt;/strong&gt; o &lt;strong&gt;AMD Eyefinity&lt;/strong&gt;. In questo modo, il sistema non vede più due schermi separati, ma un unico display ultra-wide, eliminando le cornici centrali all'interno dei giochi.&lt;/p&gt;
&lt;h2&gt;Connessioni moderne e hardware&lt;/h2&gt;
&lt;p&gt;Nel tempo l'evoluzione dei cavi ha semplificato l'estensione del desktop. Oggi lo standard è rappresentato dalle porte USB-C e Thunderbolt, che permettono di trasmettere video, dati e alimentazione attraverso un unico cavo. Questo è particolarmente utile per chi usa laptop, eliminando la necessità di adattatori multipli.&lt;/p&gt;
&lt;p&gt;Chi dispone di poco spazio può riadattare un televisore presente nella stanza seguendo i passaggi per &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2025/01/tv-come-monitor-o-schermo-secondario.html" target="_blank"&gt;usare la TV come schermo secondario&lt;/a&gt;&lt;/strong&gt;, prestando attenzione ad attivare la modalità gioco per azzerare il ritardo di input del pannello.&lt;/p&gt;
&lt;h2&gt;Risoluzione dubbi e consigli rapidi&lt;/h2&gt;
&lt;p&gt;Alcuni punti che generano confusione durante l'uso quotidiano di due schermi affiancati:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Compatibilità tra modelli differenti.&lt;/strong&gt; Non occorre avere due schermi gemelli. Si possono accoppiare monitor di marchi diversi, impostando per ciascuno la propria risoluzione e frequenza massima per evitare immagini sgranate o scatti.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pulizia della barra delle applicazioni.&lt;/strong&gt; Windows duplica la barra su ogni monitor. Accedendo alle proprietà della barra delle applicazioni si può impostare la visualizzazione delle icone solo sullo schermo in cui la specifica finestra è effettivamente aperta, riducendo il disordine visivo.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Impatto sulle prestazioni del computer.&lt;/strong&gt; Nella normale attività d'ufficio e nella navigazione web due monitor non comportano cali di velocità. Il carico aumenta solo eseguendo videogiochi pesanti o montaggi video ad alta risoluzione, compiti che richiedono una scheda grafica con memoria video dedicata.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cavi e interferenze.&lt;/strong&gt; L'uso di cavi HDMI o DisplayPort di bassa qualità può causare sfarfallii. Per risoluzioni 4K a 60Hz o superiori, è necessario utilizzare cavi certificati per evitare che il segnale si interrompa casualmente.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Luminosità e riposo visivo.&lt;/strong&gt; Per evitare l'affaticamento serale, è consigliabile configurare &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2009/02/regolare-la-luce-dello-schermo-del-pc.html" target="_blank"&gt;f.lux per regolare la luce dello schermo del PC&lt;/a&gt;&lt;/strong&gt; su entrambe le uscite video in base all'ora del tramonto.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Diario di bordo di Navigaweb&lt;/h3&gt;
&lt;p&gt;Lavorando per ore con due monitor si finisce quasi sempre per commettere un errore di posizionamento: sistemarli esattamente al centro, con la fessura tra le cornici proprio davanti al naso. Questa configurazione costringe a ruotare continuamente il collo da un lato all'altro, causando indolenzimenti a fine giornata. Se volete evitare quella sensazione di tensione alle spalle, smettete di cercare la simmetria perfetta. Tenete lo schermo principale dritto davanti agli occhi e posizionate il secondo di lato, inclinato di circa trenta gradi verso l'interno. Il monitor secondario deve essere un'area di supporto da consultare con una rapida occhiata, lasciando che il vostro corpo rimanga in una posizione naturale. La scrivania sembrerà meno ordinata, ma la vostra schiena vi ringrazierà.&lt;/p&gt;

&lt;p&gt;LEGGI ANCHE: &lt;b&gt;&lt;a href="https://www.navigaweb.net/2016/01/usare-il-portatile-come-secondo-monitor.html"&gt;Usare portatile o tablet come secondo monitor del PC&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt; &lt;p&gt;&lt;font size="3"&gt;Articolo pubblicato su  &lt;a title="Navigaweb.net" href="https://www.navigaweb.net" target="_blank"&gt;&lt;font size="3"&gt;Navigaweb.net&lt;/font&gt;&lt;/a&gt;. Non è consentito ripubblicare senza il consenso dell'autore. Segui anche su &lt;a href="https://www.facebook.com/navigaweb"&gt;Facebook&lt;/a&gt;, &lt;a href="https://twitter.com/pomhey"&gt;Twitter&lt;/a&gt; e &lt;a href="https://news.google.com/publications/CAAqBggKMLPofjD03wk"&gt;Google News&lt;/a&gt; .&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;</content><link href="https://www.navigaweb.net/2012/07/doppio-schermo-multi-monitor.html#comment-form" rel="replies" title="0 Commenti" type="text/html"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/7557355828772346724" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/7557355828772346724" rel="self" type="application/atom+xml"/><link href="https://www.navigaweb.net/2012/07/doppio-schermo-multi-monitor.html" rel="alternate" title="Lavorare con doppio schermo su PC gestendo le finestre al meglio" type="text/html"/><author><name>Claudio Pomes</name><uri>http://www.blogger.com/profile/05867241310817527022</uri><email>noreply@blogger.com</email><gd:image height="32" rel="http://schemas.google.com/g/2005#thumbnail" src="//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnjMmdIWMIcd464SD-u4VsJBXmTf1BTGQAIVPFdzGK2Z3P1ZKbrISt8SdSFSGSzoc4KvmJvACpnL9lE9x7-fXplMVjqdG1IkoB_Jq_kclZtfLmEoSONobAo5j2sFP2wxJHIGZa5_p5KwCURDkifbBQtwrgA_Q52gr-Hnsn9Eg7vVYocYc/s220/pomheybokeh.jpg" width="32"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGPVZr5nsOtC1Su1gJKoRwwJ1SiwVPgfZKqboVjeAvmraLDEJFlEkR7U9VwH9sb5r5YJ4uNZnBvzBK2LhqfQgzuANWBMTtYHCWjdqHXQvjnzirflAXRKrlYmkNhGx2rKaO8difpS_OrbFxw6VOnukQwgFSCtl8BR2wSKpVjChEZMnGdais5mvvpjUI/s72-w400-h210-c/Doppio-monitor-PC.jpg" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5148617246197063026.post-578504437716597756</id><published>2026-09-29T18:03:32.734+02:00</published><updated>2026-09-29T18:03:32.764+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Programmi PC"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows Tool"/><title type="text">Programmi sicuri per riparare gli errori di Windows</title><content type="html">&lt;img alt="risoluzione errori computer" height="150" width="170" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtk_TTmCUCMbsihMo4RbUV5-QfSJQRgHJxxV7ADRH4X0z3N2vmr5uMldTj-6zS9S8a5zh2k6PJXyzLzBSNewakXCUEgbd4iEcfoKnfZzYcdWssZ-mf0c0HkRxCRpSRnuoFd647OYvgOTM/s320/dottore+pc.jpg"&gt; &lt;p&gt;L'industria del software commerciale ha alimentato per anni l'illusione del "pulsante magico". Basta scaricare un programma, premere un unico tasto e, in pochi secondi, il computer torna come nuovo. La realtà tecnica è molto più complessa. I sistemi operativi moderni sono architetture stratificate dove un errore in una libreria condivisa o un permesso di registro manomesso possono causare crash improvvisi o rallentamenti drastici. I software che promettono riparazioni istantanee spesso non fanno altro che cancellare chiavi di registro a caso, rischiando di rendere il sistema instabile o addirittura inutilizzabile.&lt;/p&gt;
&lt;p&gt;Questo approccio è pensato per chi non vuole arrendersi alla formattazione completa del disco al primo segnale di errore. È utile sia all'utente comune che nota un rallentamento insolito, sia a chi ha competenze più avanzate e deve ripristinare una macchina da lavoro. L'obiettivo è isolare il guasto e intervenire con precisione, usando solo strumenti che non installano adware e che non simulano l'efficacia con animazioni grafiche.&lt;/p&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;p&gt;LEGGI ANCHE: &lt;b&gt;&lt;a href="https://www.navigaweb.net/2009/08/programmi-portatili-per-riparare.html"&gt;Kit Pronto Soccorso PC: Programmi Portatili per USB di Emergenza&lt;/a&gt;&lt;/b&gt;&lt;/p&gt; 
&lt;h2&gt;Riparazione dei file di sistema e ripristino della rete&lt;/h2&gt;
&lt;p&gt;Prima di installare software esterni, la prima linea di difesa sono i comandi integrati di Windows. Quando un aggiornamento fallisce o un settore del disco si usura, il sistema perde frammenti di codice. Aprendo il Prompt dei Comandi come amministratore, il comando &lt;em&gt;sfc /scannow&lt;/em&gt; avvia una scansione che confronta i file vitali con una copia integra archiviata nel sistema, sostituendo quelli corrotti.&lt;/p&gt;
&lt;p&gt;Se il problema riguarda la navigazione web o i protocolli di comunicazione, l'inserimento manuale dei parametri DNS o TCP/IP può risultare dispersivo. In questi casi, &lt;strong&gt;&lt;a href="https://rizonesoft.com/downloads/complete-internet-repair/" target="_blank" rel="nofollow"&gt;Complete Internet Repair&lt;/a&gt;&lt;/strong&gt; è lo strumento più rapido. È un'applicazione portatile che reimposta la configurazione di rete e svuota la cache DNS senza toccare i dati personali, come spiegato nella guida su come &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2007/12/riparare-la-connessione-internet-e.html"&gt;riparare la connessione internet e ripristinare la rete in caso di errori&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;h2&gt;Verifica della salute fisica del disco&lt;/h2&gt;
&lt;p&gt;C'è un problema che nessun software di riparazione può risolvere: l'usura fisica del disco rigido o dell'SSD. Quando un'unità di archiviazione inizia a presentare settori danneggiati, i file di sistema si corrompono continuamente. In questo scenario, lanciare comandi di riparazione è inutile perché il supporto fisico non è più in grado di conservare i dati.&lt;/p&gt;
&lt;p&gt;Per capire se il guasto è software o hardware, l'unico strumento affidabile è &lt;strong&gt;&lt;a href="https://crystalmark.info/en/software/crystaldiskinfo/" target="_blank" rel="nofollow"&gt;CrystalDiskInfo&lt;/a&gt;&lt;/strong&gt;. Questo programma legge i dati S.M.A.R.T. del disco e assegna uno stato di salute immediato: "Buono", "A rischio" o "Critico". Se lo stato è "A rischio", l'unica mossa corretta non è riparare il sistema, ma eseguire immediatamente un backup dei dati e sostituire l'unità disco prima che il computer smetta definitivamente di accendersi.&lt;/p&gt;
&lt;h2&gt;Diagnosi dei processi e rimozione delle minacce&lt;/h2&gt;
&lt;p&gt;Quando la macchina rallenta senza motivo e la ventola gira al massimo, spesso c'è un processo malevolo che consuma risorse in background, nascondendosi dalle liste standard del Gestione Attività.&lt;/p&gt;
&lt;h3&gt;rKill e AdwCleaner&lt;/h3&gt;
&lt;p&gt;Se un'infezione impedisce l'avvio dei software di sicurezza, il primo passo è lanciare &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2014/12/rkill-per-terminare-tutti-i-malware-e.html"&gt;rKill&lt;/a&gt;&lt;/strong&gt;. Questo strumento non elimina i file, ma neutralizza i processi malevoli attivi nella RAM, togliendo ai malware la capacità di bloccare l'antivirus. Una volta "congelata" l'infezione, si interviene con &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2015/08/scarica-adwcleaner-5-con-scansione.html"&gt;AdwCleaner&lt;/a&gt;&lt;/strong&gt; per eradicare adware, toolbar e dirottatori del browser.&lt;/p&gt;
&lt;h3&gt;Windows System Control Center&lt;/h3&gt;
&lt;p&gt;Per chi ha bisogno di un controllo totale su ogni dettaglio del sistema, &lt;strong&gt;&lt;a href="http://www.kls-soft.com/wscc/index.php" target="_blank" rel="nofollow"&gt;Windows System Control Center&lt;/a&gt;&lt;/strong&gt; (WSCC) è la soluzione. Funziona come un hub che organizza centinaia di utility di NirSoft e Sysinternals. Permette di monitorare l'hardware, analizzare i processi nascosti e recuperare chiavi di sistema senza dover scaricare decine di piccoli programmi separati.&lt;/p&gt;
&lt;p&gt;Nel caso in cui il computer mostri instabilità solo durante l'avvio di giochi o carichi grafici pesanti, la rotta di Navigaweb suggerisce di isolare il componente termico: tramite &lt;strong&gt;&lt;a href="http://www.ozone3d.net/gpushark/" target="_blank" rel="nofollow"&gt;GPU Shark&lt;/a&gt;&lt;/strong&gt; si monitorano in tempo reale i gradi della scheda video e la velocità delle ventole in una schermata compatta, verificando se il crash sia causato da un arresto di protezione termica della GPU prima di attribuire la colpa al sistema operativo.&lt;/p&gt;
&lt;h2&gt;Pulizia profonda e manutenzione sicura&lt;/h2&gt;
&lt;p&gt;L'accumulo di file temporanei e cache corrotte può causare errori di caricamento delle pagine web o blocchi in alcune applicazioni. Tuttavia, usare pulitori che toccano il registro di sistema è rischioso.&lt;/p&gt;
&lt;p&gt;In sostituzione dei programmi commerciali ormai pieni di pubblicità, &lt;strong&gt;&lt;a href="https://www.bleachbit.org/" target="_blank" rel="nofollow"&gt;BleachBit&lt;/a&gt;&lt;/strong&gt; opera in totale silenzio. È un software a codice aperto che rimuove l'immondizia digitale reale: file temporanei, dump di memoria e cache dei navigatori. Ignora deliberatamente il registro di sistema, eliminando il rischio di causare danni strutturali al computer.&lt;/p&gt;
&lt;h2&gt;Misure preventive e verifiche rapide&lt;/h2&gt;
&lt;p&gt;Per evitare che un piccolo errore si trasformi in un blocco totale, è fondamentale seguire alcune routine di manutenzione e conoscere le uscite di emergenza del sistema.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Gestione dei punti di ripristino&lt;/strong&gt;. Verificare sempre che il &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2009/04/se-windows-oggi-non-funziona-e-ieri-si.html"&gt;ripristino della configurazione di sistema&lt;/a&gt;&lt;/strong&gt; sia attivo. È l'unica vera assicurazione per tornare a un momento in cui il PC funzionava correttamente senza perdere i documenti.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Analisi della memoria fisica&lt;/strong&gt;. Le schermate blu (BSOD) sono spesso sintomo di banchi di RAM difettosi. Eseguire un &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2007/08/verifica-della-memoria-ram-nel-caso-di.html"&gt;test per la memoria RAM&lt;/a&gt;&lt;/strong&gt; permette di escludere guasti hardware prima di perdere ore a reinstallare il sistema operativo.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gestione sicura dei driver&lt;/strong&gt;. Evitare i software di aggiornamento driver automatici generici, che spesso installano versioni errate. La via più sicura è utilizzare i tool ufficiali del produttore (come Dell SupportAssist, Lenovo Vantage o HP Support Assistant) o scaricare i driver direttamente dal sito del costruttore della scheda madre.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Risoluzione problemi nativa e WinRE&lt;/strong&gt;. Per problemi legati a stampanti o audio, gli &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2016/11/strumenti-di-risoluzione-problemi-windows.html"&gt;strumenti di risoluzione problemi di Windows&lt;/a&gt;&lt;/strong&gt; integrati sono i più sicuri. Se invece il PC non arriva al desktop, è possibile forzare l'accesso all'Ambiente di Ripristino (WinRE) spegnendo la macchina bruscamente per tre volte consecutive durante l'avvio, accedendo così al Prompt dei Comandi anche a sistema bloccato.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Diario di bordo di Navigaweb&lt;/h3&gt;
&lt;p&gt;Dopo anni passati a recuperare computer che sembravano irrecuperabili, ho notato un pattern costante: la maggior parte dei danni gravi non è causata dal tempo o dal logorio, ma dai tentativi di riparazione fatti con i programmi sbagliati. Vedere un PC bloccato perché un "ottimizzatore" ha cancellato chiavi di registro vitali è frustrante. L'esperienza insegna che la precisione batte la velocità. Non cercate il pulsante magico, perché non esiste. Usate gli strumenti di diagnostica, isolate il problema e intervenite con cautela. Una macchina pulita da software inutili e aggiornata correttamente è l'unica vera garanzia di stabilità.&lt;/p&gt;
&lt;p&gt;LEGGI ANCHE: &lt;b&gt;&lt;a href="https://www.navigaweb.net/2012/03/errori-su-windows-come-riparare-il.html"&gt;Sistemare errori Windows senza scaricare programmi&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt; &lt;p&gt;&lt;font size="3"&gt;Articolo pubblicato su  &lt;a title="Navigaweb.net" href="https://www.navigaweb.net" target="_blank"&gt;&lt;font size="3"&gt;Navigaweb.net&lt;/font&gt;&lt;/a&gt;. Non è consentito ripubblicare senza il consenso dell'autore. Segui anche su &lt;a href="https://www.facebook.com/navigaweb"&gt;Facebook&lt;/a&gt;, &lt;a href="https://twitter.com/pomhey"&gt;Twitter&lt;/a&gt; e &lt;a href="https://news.google.com/publications/CAAqBggKMLPofjD03wk"&gt;Google News&lt;/a&gt; .&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;</content><link href="https://www.navigaweb.net/2012/07/10-programmi-per-una-veloce-risoluzione.html#comment-form" rel="replies" title="0 Commenti" type="text/html"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/578504437716597756" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/578504437716597756" rel="self" type="application/atom+xml"/><link href="https://www.navigaweb.net/2012/07/10-programmi-per-una-veloce-risoluzione.html" rel="alternate" title="Programmi sicuri per riparare gli errori di Windows" type="text/html"/><author><name>Claudio Pomes</name><uri>http://www.blogger.com/profile/05867241310817527022</uri><email>noreply@blogger.com</email><gd:image height="32" rel="http://schemas.google.com/g/2005#thumbnail" src="//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnjMmdIWMIcd464SD-u4VsJBXmTf1BTGQAIVPFdzGK2Z3P1ZKbrISt8SdSFSGSzoc4KvmJvACpnL9lE9x7-fXplMVjqdG1IkoB_Jq_kclZtfLmEoSONobAo5j2sFP2wxJHIGZa5_p5KwCURDkifbBQtwrgA_Q52gr-Hnsn9Eg7vVYocYc/s220/pomheybokeh.jpg" width="32"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtk_TTmCUCMbsihMo4RbUV5-QfSJQRgHJxxV7ADRH4X0z3N2vmr5uMldTj-6zS9S8a5zh2k6PJXyzLzBSNewakXCUEgbd4iEcfoKnfZzYcdWssZ-mf0c0HkRxCRpSRnuoFd647OYvgOTM/s72-c/dottore+pc.jpg" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5148617246197063026.post-6880523845798731806</id><published>2026-09-28T17:44:16.963+02:00</published><updated>2026-09-28T17:44:16.999+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Firefox"/><title type="text">Browser alternativi a Firefox e senza passare a Chrome</title><content type="html">&lt;img alt="Sostituire Firefox" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP-IucgcYvxCutScVmbeIFKE-aWcMDJm7Nrjw-ooFl4EXJpFKq0Yagp7gmsWNZ7JOFVdW2-NEBkjLtJ24A61w4VVajhhL1T7jR03J3x0J1W3sC8ibeRqZd8BgqGA3xVtGFjGL_P-Aidcg/s320/Alternative-Firefox.jpg" title="alternative per sostituire Firefox" width="320" /&gt; &lt;p&gt;L'attuale ecosistema del web è dominato da un unico standard di sviluppo. Quasi ogni sito moderno viene progettato per funzionare perfettamente sul motore di rendering di Google, lasciando il codice indipendente di Mozilla in una posizione di costante inseguimento. Chi utilizza Firefox per lavoro o studio avverte spesso un calo di reattività quando le schede aperte superano una certa soglia o durante la consultazione di piattaforme cariche di script pesanti, che portano l'impiego della memoria RAM a livelli critici.&lt;/p&gt;
&lt;p&gt;L'esigenza di cambiare strumento non nasce da un capriccio, ma dalla ricerca di un software che non faccia surriscaldare il computer e che non richieda continui riavvii per tornare fluido. Abbandonare il panda rosso non significa però arrendersi al tracciamento sistematico di Chrome. Esiste una nuova generazione di navigatori che applica blocchi aggressivi contro i banner commerciali e separa l'identità dell'utente dalle pagine visitate, garantendo una velocità di esecuzione superiore senza sacrificare l'anonimato.&lt;/p&gt;
&lt;a name='more'&gt;&lt;/a&gt;  
&lt;p&gt;LEGGI ANCHE: &lt;b&gt;&lt;a href="https://www.navigaweb.net/2011/07/10-nuovi-browser-alternativi-chrome-e.html"&gt;10 nuovi browser alternativi a Chrome e Firefox, diversi e da provare&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;

&lt;h2&gt;Le evoluzioni moderne per chi ama il motore Gecko&lt;/h2&gt;
&lt;p&gt;Rimanere legati all'architettura di Mozilla è l'unico modo per contrastare il monopolio tecnologico, a patto di scegliere versioni che eliminino le componenti commerciali e i servizi di telemetria inseriti negli ultimi anni.&lt;/p&gt;
&lt;h3&gt;LibreWolf&lt;/h3&gt;
&lt;p&gt;Per chi cerca un sistema privo di compromessi, &lt;strong&gt;&lt;a href="https://librewolf.net/" rel="nofollow" target="_blank"&gt;LibreWolf&lt;/a&gt;&lt;/strong&gt; è la scelta più solida. Questo progetto open source prende il cuore di Firefox e rimuove chirurgicamente ogni forma di tracciamento in background e le integrazioni sponsorizzate nella pagina iniziale. Le impostazioni sono regolate di default per impedire ai siti di profilare l'utente. Senza processi invisibili che inviano dati ai server centrali, l'avvio è immediato anche su macchine datate.&lt;/p&gt;
&lt;h3&gt;Zen Browser&lt;/h3&gt;
&lt;p&gt;Se l'obiettivo è un'organizzazione del lavoro più razionale, &lt;strong&gt;&lt;a href="https://zen-browser.app/" rel="nofollow" target="_blank"&gt;Zen Browser&lt;/a&gt;&lt;/strong&gt; rappresenta la novità più interessante. Sfrutta l'estetica dei navigatori moderni spostando le schede in una colonna verticale e raggruppandole in spazi di lavoro isolati. Questa struttura impedisce ai social network di leggere i cookie di altre pagine aperte in pannelli differenti, riducendo l'impatto visivo e l'occupazione di memoria rispetto al programma originale.&lt;/p&gt;
&lt;h3&gt;Floorp&lt;/h3&gt;
&lt;p&gt;Sviluppato da una comunità indipendente giapponese, &lt;strong&gt;&lt;a href="https://floorp.app/" rel="nofollow" target="_blank"&gt;Floorp&lt;/a&gt;&lt;/strong&gt; punta tutto sulla personalizzazione estrema. Chi ha bisogno di consultare più fonti contemporaneamente trova, seguendo la rotta di Navigaweb, la funzione per affiancare due siti web nella stessa finestra senza dover aprire due applicazioni separate. Permette di spostare ogni singolo bottone della barra superiore, restituendo quell'idea di controllo totale che Firefox aveva nelle sue prime versioni.&lt;/p&gt;
&lt;h2&gt;I derivati Chromium ottimizzati per la velocità&lt;/h2&gt;
&lt;p&gt;Sfruttare il motore di rendering più diffuso garantisce la massima compatibilità con i servizi bancari e i portali aziendali, a patto di usare versioni che abbiano tagliato i collegamenti con i server pubblicitari di Google.&lt;/p&gt;
&lt;h3&gt;Brave&lt;/h3&gt;
&lt;p&gt;Il successo di &lt;strong&gt;&lt;a href="https://brave.com/" rel="nofollow" target="_blank"&gt;Brave&lt;/a&gt;&lt;/strong&gt; deriva dal suo scudo nativo che distrugge i banner e gli script di profilazione prima ancora che la pagina venga caricata. Questa operazione abbatte i tempi di attesa e riduce il consumo di batteria sui portatili. I menu contengono alcune funzioni legate alle criptovalute che possono risultare ingombranti; basta disattivare i premi e il portafoglio virtuale dalle impostazioni per trasformarlo in un navigatore asciutto e fulmineo.&lt;/p&gt;
&lt;h3&gt;Vivaldi&lt;/h3&gt;
&lt;p&gt;Per chi gestisce centinaia di schede per ricerca o studio, &lt;strong&gt;&lt;a href="https://vivaldi.com/" rel="nofollow" target="_blank"&gt;Vivaldi&lt;/a&gt;&lt;/strong&gt; è uno strumento di catalogazione imbattibile. Consente di impilare le pagine una sopra l'altra e di ibernare automaticamente i siti non consultati da tempo per liberare RAM. Integra inoltre un client di posta e un blocco note laterale, riducendo la necessità di saltare tra programmi diversi durante la giornata lavorativa.&lt;/p&gt;
&lt;h3&gt;Thorium e Arc&lt;/h3&gt;
&lt;p&gt;Se la priorità è la pura potenza di calcolo, &lt;strong&gt;&lt;a href="https://thorium.rocks/" rel="nofollow" target="_blank"&gt;Thorium&lt;/a&gt;&lt;/strong&gt; è compilato con istruzioni specifiche per i processori moderni, garantendo uno scorrimento delle pagine estremamente fluido. Se invece si cerca un cambio di paradigma, &lt;strong&gt;&lt;a href="https://arc.net/" rel="nofollow" target="_blank"&gt;Arc&lt;/a&gt;&lt;/strong&gt; elimina la barra degli indirizzi tradizionale a favore di una gestione a cartelle e spazi, forzando l'utente a una pulizia periodica delle schede per mantenere l'interfaccia ordinata.&lt;/p&gt;
&lt;h2&gt;Protezione estrema contro l'impronta digitale&lt;/h2&gt;
&lt;p&gt;Quando non basta bloccare la pubblicità ma serve nascondere l'identità del proprio hardware ai server web, occorre un software costruito con regole diverse.&lt;/p&gt;
&lt;h3&gt;Mullvad Browser&lt;/h3&gt;
&lt;p&gt;Sviluppato in collaborazione con il team del progetto Tor, &lt;strong&gt;&lt;a href="https://mullvad.net/en/browser" rel="nofollow" target="_blank"&gt;Mullvad Browser&lt;/a&gt;&lt;/strong&gt; crea un ambiente in cui ogni utente appare identico agli altri. Blocca la raccolta di informazioni su risoluzione dello schermo e componenti hardware, azzerando le tecniche di fingerprinting. Non salva password né cronologia, rendendolo lo scudo ideale per ricerche sensibili o per navigare senza lasciare una sola traccia digitale.&lt;/p&gt;
&lt;h2&gt;Consigli pratici per il cambio di navigatore&lt;/h2&gt;
&lt;p&gt;Alcuni aspetti tecnici da valutare prima della transizione definitiva:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Spostamento dei dati&lt;/strong&gt;. Tutti i programmi citati offrono una funzione di importazione automatica. Al primo avvio basta selezionare Firefox per recuperare in pochi secondi tutti i preferiti e le password salvate.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gestione delle estensioni&lt;/strong&gt;. I derivati di Chromium leggono il catalogo del Chrome Web Store. I fork basati su Gecko supportano invece gli Add-on di Mozilla, permettendo di mantenere attivi i blocchi script più potenti.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Autonomia dei portatili&lt;/strong&gt;. L'eliminazione preventiva di video promozionali e tracker riduce i cicli di calcolo della CPU. Questo si traduce in un minor riscaldamento del dispositivo e in un allungamento dell'autonomia della batteria.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sincronizzazione mobile&lt;/strong&gt;. Brave e Vivaldi offrono app per smartphone che mantengono allineati i segnalibri tramite connessioni crittografate, evitando l'uso di account invasivi.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Diario di bordo di Navigaweb&lt;/h3&gt;
&lt;p&gt;Il fatto che quasi tutto il web oggi dipenda da un unico motore di rendering è un rischio che non dovremmo ignorare. Se un solo consiglio di amministrazione decide come deve funzionare la navigazione, la libertà di sviluppo scompare. Personalmente, ho smesso di usare Firefox come navigatore principale quando ho iniziato a notare che alcune pagine "pesanti" bloccavano l'intero sistema. Oggi alterno LibreWolf per le letture che richiedono massima privacy e Brave per tutto ciò che riguarda il lavoro e la compatibilità. Il mio consiglio è di non affezionarsi a un marchio, ma di scegliere lo strumento in base a ciò che state facendo: l'importante è che sia il software a servire voi, e non viceversa.&lt;/p&gt;

&lt;p&gt;Vogliamo un browser molto leggero e cerchiamo un modo per cambiare il browser predefinito su Windows? Ad entrambe le domande abbiamo risposto nelle nostre guide &lt;b&gt;&lt;a href="https://www.navigaweb.net/2009/09/lista-di-browser-portatili-da-usare-su.html"&gt;Browser più leggeri e portatili da usare su ogni PC&lt;/a&gt;&lt;/b&gt; e &lt;b&gt;&lt;a href="https://www.navigaweb.net/2011/10/cambiare-il-browser-predefinito-con-un.html"&gt;Come cambiare browser predefinito su PC Windows&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;Se cerchiamo invece un nuovo browser da utilizzare su smartphone o tablet Android, vi consigliamo di leggere il nostro articolo ai &lt;b&gt;&lt;a href="https://www.navigaweb.net/2012/04/10-migliori-browser-per-android.html"&gt;Migliori Browser Android per smartphone e tablet&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt; &lt;p&gt;&lt;font size="3"&gt;Articolo pubblicato su  &lt;a title="Navigaweb.net" href="https://www.navigaweb.net" target="_blank"&gt;&lt;font size="3"&gt;Navigaweb.net&lt;/font&gt;&lt;/a&gt;. Non è consentito ripubblicare senza il consenso dell'autore. Segui anche su &lt;a href="https://www.facebook.com/navigaweb"&gt;Facebook&lt;/a&gt;, &lt;a href="https://twitter.com/pomhey"&gt;Twitter&lt;/a&gt; e &lt;a href="https://news.google.com/publications/CAAqBggKMLPofjD03wk"&gt;Google News&lt;/a&gt; .&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;</content><link href="https://www.navigaweb.net/2012/07/migliori-8-alternative-firefox-basate.html#comment-form" rel="replies" title="0 Commenti" type="text/html"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/6880523845798731806" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/6880523845798731806" rel="self" type="application/atom+xml"/><link href="https://www.navigaweb.net/2012/07/migliori-8-alternative-firefox-basate.html" rel="alternate" title="Browser alternativi a Firefox e senza passare a Chrome" type="text/html"/><author><name>Claudio Pomes</name><uri>http://www.blogger.com/profile/05867241310817527022</uri><email>noreply@blogger.com</email><gd:image height="32" rel="http://schemas.google.com/g/2005#thumbnail" src="//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnjMmdIWMIcd464SD-u4VsJBXmTf1BTGQAIVPFdzGK2Z3P1ZKbrISt8SdSFSGSzoc4KvmJvACpnL9lE9x7-fXplMVjqdG1IkoB_Jq_kclZtfLmEoSONobAo5j2sFP2wxJHIGZa5_p5KwCURDkifbBQtwrgA_Q52gr-Hnsn9Eg7vVYocYc/s220/pomheybokeh.jpg" width="32"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP-IucgcYvxCutScVmbeIFKE-aWcMDJm7Nrjw-ooFl4EXJpFKq0Yagp7gmsWNZ7JOFVdW2-NEBkjLtJ24A61w4VVajhhL1T7jR03J3x0J1W3sC8ibeRqZd8BgqGA3xVtGFjGL_P-Aidcg/s72-c/Alternative-Firefox.jpg" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5148617246197063026.post-4488926881632567892</id><published>2026-09-28T17:32:33.833+02:00</published><updated>2026-09-28T17:37:59.331+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Programmi PC"/><category scheme="http://www.blogger.com/atom/ns#" term="Rete"/><title type="text">Strumenti gratuiti per gestire rete e connessione internet</title><content type="html">&lt;img alt="Strumenti di rete" height="186" width="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXcoymBQwjl9k_4bpU-tNo_pXWf5FqDv40k4YEI_qQwKVaWkdTaJHDg2qiw-Qjx9ISkt5Fy9xgGXm_w8de1eIZLoVEHm32VZW7TzjYDkeDxfDwyA0RcsxDf9HXFqpbxV5l2u6P1GZecCY/s320/Windows-Network.jpg"&gt;&lt;p&gt;L'architettura di una rete domestica o di un piccolo ufficio somiglia spesso a un labirinto invisibile. I cali di velocità improvvisi o l'impossibilità di raggiungere una stampante condivisa dipendono raramente da un guasto totale della linea. Più frequentemente, il problema è un dettaglio nascosto: un server DNS lento, un conflitto tra indirizzi IP o un processo in background che assorbe tutta la banda senza che l'utente se ne accorga. I pannelli di controllo dei modem moderni sono diventati troppo semplificati, nascondendo i parametri necessari per intervenire concretamente.&lt;/p&gt;
&lt;p&gt;Questo articolo è pensato per chi non si accontenta di riavviare il router sperando che tutto torni a funzionare. È utile per chi gestisce diversi dispositivi smart in casa, per chi sposta spesso il proprio computer tra l'ufficio e l'abitazione o per chiunque voglia monitorare cosa accade realmente nei propri cavi Ethernet e nelle onde radio senza installare suite software pesanti che rallentano l'avvio del PC.&lt;/p&gt;

&lt;a name='more'&gt;&lt;/a&gt; 
&lt;h2&gt;Ottimizzare la navigazione e risolvere i blocchi&lt;/h2&gt;
&lt;p&gt;Quando le pagine web tardano ad aprirsi mentre le applicazioni di messaggistica funzionano regolarmente, il collo di bottiglia risiede quasi sempre nei server che traducono i nomi dei siti in numeri. I resolver assegnati automaticamente dal fornitore della linea non sono sempre i più rapidi, specialmente con l'introduzione di nuovi standard di sicurezza e crittografia nel traffico dati.&lt;/p&gt;
&lt;p&gt;Il piccolo programma portatile &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2015/08/avere-sempre-i-server-dns-piu-veloci.html"&gt;DNS Jumper&lt;/a&gt;&lt;/strong&gt; permette di misurare i tempi di risposta dei principali indirizzi mondiali e di applicare il più reattivo con un solo clic. Chi vuole un controllo ancora più granulare sulle connessioni in uscita può usare &lt;strong&gt;&lt;a href="https://www.sordum.org/8266/bluelifehosts-editor-v1-2/" rel="nofollow" target="_blank"&gt;BlueLife Hosts Editor&lt;/a&gt;&lt;/strong&gt;, un'applicazione che consente di modificare il file di configurazione di sistema per isolare indirizzi malevoli o bloccare server pubblicitari prima che inviino richieste sulla rete.&lt;/p&gt;
&lt;p&gt;Queste regolazioni di base consentono spesso di &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2011/07/connessione-piu-veloce-e-latenza-di.html"&gt;ridurre il ping e migliorare la latenza&lt;/a&gt;&lt;/strong&gt;, un fattore fondamentale sia per le sessioni di gioco online sia per evitare attese fastidiose durante il caricamento di documenti pesanti.&lt;/p&gt;
&lt;h2&gt;Monitoraggio delle porte e del percorso dati&lt;/h2&gt;
&lt;p&gt;Sapere quali programmi stiano comunicando con server esterni rappresenta il primo passo per garantire la sicurezza del sistema. I comandi da terminale forniscono queste informazioni in formato grezzo, ma un'interfaccia visiva riduce i margini di errore e permette di intervenire in tempo reale.&lt;/p&gt;
&lt;p&gt;Per &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2007/10/vedere-connessioni-e-porte-aperte-sul.html"&gt;vedere connessioni e porte aperte&lt;/a&gt;&lt;/strong&gt; l'utilità di riferimento resta &lt;strong&gt;&lt;a href="https://www.nirsoft.net/utils/cports.html" rel="nofollow" target="_blank"&gt;CurrPorts&lt;/a&gt;&lt;/strong&gt;. Il software elenca ogni singolo processo attivo sul computer, associando a ciascuno la porta locale impegnata, l'indirizzo IP di destinazione e il nome dell'eseguibile responsabile dello scambio di dati. Se un programma sospetto tenta di inviare informazioni all'esterno, basta fare clic con il tasto destro per interrompere la trasmissione e chiudere la connessione all'istante.&lt;/p&gt;
&lt;p&gt;Per chi deve diagnosticare cali di connessione intermittenti, lo strumento definitivo è &lt;strong&gt;&lt;a href="https://winmtr.net/" rel="nofollow" target="_blank"&gt;WinMTR&lt;/a&gt;&lt;/strong&gt;. A differenza del classico comando ping, questo programma traccia l'intero percorso dei pacchetti aggiornando i dati in loop continuo. Permette di osservare l'esatta percentuale di perdita di dati su ogni singolo salto della rete, fornendo la prova inconfutabile per dimostrare all'assistenza clienti se il guasto risiede nell'impianto di casa o in una centralina esterna del provider.&lt;/p&gt;
&lt;h2&gt;Gestione avanzata degli indirizzi di rete&lt;/h2&gt;
&lt;p&gt;Chi viaggia per lavoro e sposta il computer tra la scrivania di casa e la rete aziendale deve spesso riconfigurare la scheda di rete. Invece di affidarsi a vecchi script o a programmi abbandonati, lo standard di settore attuale è &lt;strong&gt;&lt;a href="https://www.netsetman.com/" rel="nofollow" target="_blank"&gt;NetSetMan&lt;/a&gt;&lt;/strong&gt;. Questo software, gratuito per uso personale, memorizza le impostazioni in profili distinti. Seguendo la rotta di Navigaweb, possiamo impostare il programma in modo che, passando dal profilo "Ufficio" a quello "Casa", il sistema modifichi non solo l'indirizzo IP, ma anche la stampante predefinita e il server DNS con un solo tocco, azzerando le perdite di tempo quotidiane per &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2009/10/cambiare-profili-di-rete-se-il-pc-si.html"&gt;cambiare profili di rete e configurazione IP&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Se l'esigenza è invece quella di analizzare un'intera infrastruttura, la raccolta gratuita &lt;strong&gt;&lt;a href="https://www.adremsoft.com/netcrunch.tools/" rel="nofollow" target="_blank"&gt;NetCrunch Network Tools&lt;/a&gt;&lt;/strong&gt; riunisce in una sola finestra gli strumenti di interrogazione più usati. Permette di calcolare le maschere di sottorete, scansionare intervalli di indirizzi per verificare quali macchine rispondano ed effettuare controlli Whois sui domini. La suite integra anche una funzione per gestire l'&lt;strong&gt;&lt;a href="https://www.navigaweb.net/2011/06/accensione-del-pc-distanza-con-wake-on.html"&gt;accensione del computer a distanza con Wake-On-Lan&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;h2&gt;Condivisione rapida e server temporanei&lt;/h2&gt;
&lt;p&gt;Trasferire cartelle di grandi dimensioni tra due computer collegati allo stesso router non richiede l'attivazione delle complicate cartelle condivise di Windows, spesso bloccate da permessi di sicurezza troppo rigidi.&lt;/p&gt;
&lt;p&gt;Il progetto &lt;strong&gt;&lt;a href="https://rejetto.com/hfs/" rel="nofollow" target="_blank"&gt;HFS (HTTP File Server)&lt;/a&gt;&lt;/strong&gt;, recentemente riscritto con tecnologie web moderne, trasforma il computer in un server accessibile tramite un normale browser. È sufficiente trascinare i documenti nella schermata del programma per generare un link locale. Qualsiasi altro dispositivo connesso alla rete domestica, inclusi smartphone e tablet, potrà scaricare i file aprendo quel collegamento. Risulta il metodo più immediato per &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2011/06/il-computer-diventa-un-file-server-di.html"&gt;creare un file server accessibile via internet&lt;/a&gt;&lt;/strong&gt; senza dipendere dalle limitazioni di spazio dei servizi cloud gratuiti.&lt;/p&gt;
&lt;h2&gt;Note tecniche per l'uso degli strumenti di diagnostica&lt;/h2&gt;
&lt;p&gt;Alcuni aspetti fondamentali da considerare per evitare errori durante l'analisi del traffico:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Assegnazione manuale o automatica.&lt;/strong&gt; Configurare un computer con parametri statici per eseguire dei test può creare sovrapposizioni se il router tenta di assegnare lo stesso numero a uno smartphone tramite DHCP. Per evitare conflitti, occorre applicare la procedura per &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2009/05/impostare-indirizzo-ip-fisso-e-statico.html"&gt;impostare un indirizzo IP fisso&lt;/a&gt;&lt;/strong&gt; scegliendo un blocco di numeri isolato, solitamente agli estremi della disponibilità del modem.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Affidabilità dei tracciamenti visivi.&lt;/strong&gt; Molti programmi commerciali promettono di disegnare mappe tridimensionali dei percorsi di rete per stupire l'utente. Nella diagnostica seria, l'impatto grafico conta zero. L'unica cosa che serve è il report numerico nudo e crudo dei millisecondi, fornito da utility spartane come WinMTR.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Librerie di cattura.&lt;/strong&gt; I vecchi software di sniffing usavano i driver WinPcap, oggi incompatibili con Windows 11. I programmi di rete odierni si appoggiano a Npcap, essenziale per registrare i pacchetti senza causare blocchi anomali del sistema operativo.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Diario di bordo di Navigaweb&lt;/h3&gt;
&lt;p&gt;Avere una cartella piena di programmi portatili su una piccola unità USB salva spesso da ore di pura frustrazione. La regola base dell'informatica dice che quando un computer non naviga, non possiamo scaricare il programma che ci serve per aggiustarlo: dobbiamo già averlo pronto sulla chiavetta. Strumenti leggeri come DNS Jumper o NetSetMan dimostrano che non servono licenze costose per scovare l'inghippo in una rete capricciosa. Bastano pochi megabyte scelti con cura per riprendere il controllo della propria connessione, chiudendo la pratica in pochi minuti invece di passare il pomeriggio al telefono con l'operatore di turno.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt; &lt;p&gt;&lt;font size="3"&gt;Articolo pubblicato su  &lt;a title="Navigaweb.net" href="https://www.navigaweb.net" target="_blank"&gt;&lt;font size="3"&gt;Navigaweb.net&lt;/font&gt;&lt;/a&gt;. Non è consentito ripubblicare senza il consenso dell'autore. Segui anche su &lt;a href="https://www.facebook.com/navigaweb"&gt;Facebook&lt;/a&gt;, &lt;a href="https://twitter.com/pomhey"&gt;Twitter&lt;/a&gt; e &lt;a href="https://news.google.com/publications/CAAqBggKMLPofjD03wk"&gt;Google News&lt;/a&gt; .&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;</content><link href="https://www.navigaweb.net/2012/07/10-strumenti-di-rete-gratuiti.html#comment-form" rel="replies" title="0 Commenti" type="text/html"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/4488926881632567892" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/4488926881632567892" rel="self" type="application/atom+xml"/><link href="https://www.navigaweb.net/2012/07/10-strumenti-di-rete-gratuiti.html" rel="alternate" title="Strumenti gratuiti per gestire rete e connessione internet" type="text/html"/><author><name>Claudio Pomes</name><uri>http://www.blogger.com/profile/05867241310817527022</uri><email>noreply@blogger.com</email><gd:image height="32" rel="http://schemas.google.com/g/2005#thumbnail" src="//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnjMmdIWMIcd464SD-u4VsJBXmTf1BTGQAIVPFdzGK2Z3P1ZKbrISt8SdSFSGSzoc4KvmJvACpnL9lE9x7-fXplMVjqdG1IkoB_Jq_kclZtfLmEoSONobAo5j2sFP2wxJHIGZa5_p5KwCURDkifbBQtwrgA_Q52gr-Hnsn9Eg7vVYocYc/s220/pomheybokeh.jpg" width="32"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXcoymBQwjl9k_4bpU-tNo_pXWf5FqDv40k4YEI_qQwKVaWkdTaJHDg2qiw-Qjx9ISkt5Fy9xgGXm_w8de1eIZLoVEHm32VZW7TzjYDkeDxfDwyA0RcsxDf9HXFqpbxV5l2u6P1GZecCY/s72-c/Windows-Network.jpg" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5148617246197063026.post-2650866466169164264</id><published>2026-09-28T16:05:48.584+02:00</published><updated>2026-09-28T16:05:48.618+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="Rete"/><title type="text">Problemi Wi-Fi su Android e le soluzioni per tornare online</title><content type="html">&lt;img alt="problemi Wi-Fi Android" height="196" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf5g9vu6rahKLonwLBpIl5qqW6fVvrszl4MKVl0z7XM3Lgn3KZUv9RA6d5xh1YvwDv2Uv2JQmpaZ1IYyd5cUK8d2fvAJq-SvhQ6c4dvKcHdQFjwyjueEmtTXxt-r4xKH5-3HlR6LzW0AI/s320/Wi-Fi-lento-android.jpg" title="Wi-Fi bloccato Android" width="320" /&gt; &lt;p&gt;Esiste una differenza netta tra uno smartphone che rifiuta la password del modem e uno che mostra l'icona del segnale con un piccolo punto esclamativo accanto. Nel primo caso il blocco avviene durante l'autenticazione, nel secondo il telefono è perfettamente agganciato all'antenna ma non riceve l'autorizzazione per scambiare dati con l'esterno.&lt;/p&gt;
&lt;p&gt;Capire subito in quale di questi due scenari ci troviamo permette di ignorare i tentativi inutili, come continuare a digitare la chiave di rete, e applicare la correzione specifica per far tornare online il dispositivo.&lt;/p&gt;
&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;
&lt;p&gt;LEGGI ANCHE: &lt;b&gt;&lt;a href="https://www.navigaweb.net/2016/10/se-la-connessione-dati-cellulare-non.html"&gt;Se la connessione dati cellulare non funziona&lt;/a&gt;&lt;/b&gt; &lt;/p&gt;
&lt;h2&gt;Controlli immediati e parametri di sicurezza&lt;/h2&gt;
&lt;p&gt;Prima di toccare i menu avanzati, conviene azzerare lo stato delle connessioni temporanee. Attivare la modalità aereo per dieci secondi spegne all'istante sia il chip cellulare sia quello radio, obbligando il telefono a una nuova ricerca delle frequenze non appena viene disattivata.&lt;/p&gt;
&lt;p&gt;Se l'aggancio fallisce sistematicamente, la causa risiede spesso nella corruzione dei certificati di sicurezza salvati nella memoria. Tenere premuto il dito sul nome della rete, selezionare la voce &lt;em&gt;Dimentica rete&lt;/em&gt; e riavviare il dispositivo cancella le chiavi memorizzate. Al riavvio, digitare nuovamente la password costringe il sistema a completare da zero la stretta di mano con il router.&lt;/p&gt;
&lt;p&gt;Occorre prestare attenzione anche agli standard di trasmissione. I modem moderni configurati con il protocollo WPA3 possono respingere i telefoni con antenne meno recenti. In questi casi serve &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2014/05/entrare-nel-router-per-accedere-alle.html" target="_blank"&gt;entrare nel router per accedere alle impostazioni&lt;/a&gt;&lt;/strong&gt; e selezionare la modalità mista WPA2/WPA3 per garantire che ogni apparecchio in casa possa collegarsi senza errori.&lt;/p&gt;
&lt;h2&gt;Blocco sull'indirizzo IP e conflitti DNS&lt;/h2&gt;
&lt;p&gt;Quando lo schermo mostra la dicitura &lt;em&gt;Acquisizione indirizzo IP in corso&lt;/em&gt;, il servizio del router che distribuisce gli indirizzi (DHCP) non sta rispondendo correttamente. Per superare l'impasse senza attendere i tempi del modem, si possono inserire le coordinate a mano.&lt;/p&gt;
&lt;p&gt;Nelle impostazioni avanzate della connessione Wi-Fi sul telefono, individuare la voce &lt;em&gt;Impostazioni IP&lt;/em&gt; e passare da DHCP a &lt;strong&gt;Statico&lt;/strong&gt;. A questo punto si digitano i parametri:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Indirizzo IP&lt;/strong&gt;: un valore numerico coerente con la rete, ad esempio &lt;em&gt;192.168.1.150&lt;/em&gt;, scegliendo una cifra finale alta per non collidere con altri dispositivi.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gateway&lt;/strong&gt;: l'indirizzo del modem, normalmente &lt;em&gt;192.168.1.1&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DNS&lt;/strong&gt;: inserire come primario &lt;em&gt;1.1.1.1&lt;/em&gt; e come secondario &lt;em&gt;8.8.8.8&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Per una panoramica completa su come gestire questi parametri, rimandiamo alla nostra &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2016/11/guida-al-dhcp-assegnare-ip-manualmente.html" target="_blank"&gt;guida al DHCP per assegnare IP manualmente o lasciare l'IP automatico&lt;/a&gt;&lt;/strong&gt;, utile anche per capire come modificare i resolver seguendo la procedura su &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2014/04/come-modificare-il-dns-sullo-smartphone.html" target="_blank"&gt;come cambiare DNS su Android&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;h2&gt;Punto esclamativo, portali di accesso e DNS Privato&lt;/h2&gt;
&lt;p&gt;Se il segnale è al massimo ma i siti non caricano, il problema riguarda spesso la risoluzione dei nomi a dominio o una schermata di benvenuto non completata. Nelle reti di hotel, stazioni o centri commerciali l'accesso richiede quasi sempre un'autenticazione tramite browser.&lt;/p&gt;
&lt;p&gt;Se la pagina di login non si apre in automatico a causa del blocco dei pop-up, digitare l'indirizzo numerico &lt;em&gt;1.1.1.1&lt;/em&gt; nella barra di navigazione forza il modem a mostrare la schermata richiesta. Abbiamo approfondito le soluzioni &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2022/11/non-si-apre-pagina-login-wi-fi-su.html" target="_blank"&gt;se non si apre la pagina di login del Wi-Fi&lt;/a&gt;&lt;/strong&gt; con i passaggi per bypassare il filtro.&lt;/p&gt;
&lt;p&gt;Un altro ostacolo invisibile è il &lt;strong&gt;DNS Privato&lt;/strong&gt;. Questo strumento instrada le richieste verso server esterni crittografati: se la rete locale blocca queste porte, l'intero traffico viene interrotto. Impostare la voce su &lt;em&gt;Disattivato&lt;/em&gt; nelle impostazioni di connessione permette di verificare subito se il blocco dipende da questo filtro.&lt;/p&gt;
&lt;h2&gt;Disconnessioni in standby e saturazione dei canali&lt;/h2&gt;
&lt;p&gt;Una linea che perde il segnale appena si spegne lo schermo è vittima della gestione della carica. Se utilizziamo un'&lt;strong&gt;&lt;a href="https://www.navigaweb.net/2012/02/ottimizzare-la-batteria-su-android-ed.html" target="_blank"&gt;applicazione per il risparmio di batteria su Android&lt;/a&gt;&lt;/strong&gt; o i profili di risparmio energetico del produttore, il sistema toglie alimentazione all'antenna per preservare l'autonomia.&lt;/p&gt;
&lt;p&gt;Per stabilizzare il collegamento occorre aprire il menu dell'ottimizzazione energetica, individuare i servizi di rete e selezionare la voce &lt;em&gt;Non ottimizzare&lt;/em&gt;. In questo modo le notifiche in arrivo non subiranno interruzioni a schermo spento.&lt;/p&gt;
&lt;p&gt;Se invece il segnale oscilla anche stando vicini al modem, la causa è l'affollamento delle frequenze. Usando uno strumento come &lt;strong&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.vrem.wifianalyzer" rel="nofollow" target="_blank"&gt;WiFi Analyzer&lt;/a&gt;&lt;/strong&gt; è possibile scansionare lo spettro per individuare i canali meno congestionati. Come spiegato nell'approfondimento su come &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2007/04/collegarsi-sulla-rete-wifi-migliore.html" target="_blank"&gt;collegarsi al canale wireless della rete Wi-Fi col segnale più potente&lt;/a&gt;&lt;/strong&gt;, impostare il modem sui canali 1, 6 o 11 per la banda a 2.4 GHz riduce le interferenze con i vicini.&lt;/p&gt;
&lt;p&gt;Nelle case con muri spessi, affidarsi a &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2015/06/adattatori-powerline-per-collegarsi.html" target="_blank"&gt;Powerline Wi-Fi&lt;/a&gt;&lt;/strong&gt; o a &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2018/01/come-funziona-il-ripetitore-wifi-o.html" target="_blank"&gt;Range Extender Wi-Fi&lt;/a&gt;&lt;/strong&gt; garantisce un ponte dati stabile senza dover abbassare la qualità della trasmissione.&lt;/p&gt;
&lt;h2&gt;Il ripristino profondo della configurazione radio&lt;/h2&gt;
&lt;p&gt;Quando le impostazioni manuali falliscono e il telefono rifiuta ogni connessione, la causa risiede spesso in tabelle di routing corrotte nei file di sistema. Spegnere e riaccendere non basta perché la memoria cache di rete viene conservata tra un avvio e l'altro.&lt;/p&gt;
&lt;p&gt;Per azzerare l'intero stack di comunicazione senza cancellare foto o applicazioni, seguendo la rotta di Navigaweb conviene usare la barra di ricerca delle impostazioni e digitare &lt;strong&gt;Ripristina Wi-Fi, rete mobile e Bluetooth&lt;/strong&gt;. Questa operazione cancella le credenziali salvate e le associazioni Bluetooth, costringendo i moduli radio a ricaricare i driver di fabbrica puliti.&lt;/p&gt;
&lt;p&gt;Se neanche questo passaggio risolve, il guasto è esterno allo smartphone. In tal caso conviene consultare la guida sulle &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2014/11/soluzioni-problemi-di-connessione-wifi.html" target="_blank"&gt;soluzioni ai problemi di connessione Wi-Fi e router&lt;/a&gt;&lt;/strong&gt; oppure verificare &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2018/07/come-si-resetta-il-modem.html" target="_blank"&gt;come si resetta il modem&lt;/a&gt;&lt;/strong&gt; per riportare l'apparato ai valori predefiniti.&lt;/p&gt;
&lt;h2&gt;Situazioni anomale e dubbi frequenti&lt;/h2&gt;
&lt;p&gt;Alcuni comportamenti particolari richiedono verifiche mirate:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Mancata visibilità delle reti a 5 GHz o 6 GHz.&lt;/strong&gt; Gli apparecchi economici o meno recenti non vedono le frequenze più alte. Se il router usa un unico nome per tutte le bande, il telefono potrebbe non rilevarlo finché non si separano le frequenze dal pannello di gestione.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rete con nome nascosto.&lt;/strong&gt; Se il modem non trasmette l'identificativo SSID, l'aggancio automatico non avviene. Bisogna selezionare la voce per aggiungere manualmente una nuova rete, digitando con esattezza il nome e il tipo di crittografia.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Blocco limitato a singole app.&lt;/strong&gt; Se le pagine web caricano ma i programmi di messaggistica no, la causa è spesso una VPN attiva in background che rifiuta determinati certificati. Disattivare l'interfaccia virtuale ripristina i dati.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Verifica della linea tramite ping.&lt;/strong&gt; Prima di dare la colpa al telefono, uno strumento come &lt;strong&gt;&lt;a href="https://play.google.com/store/apps/details?id=ua.com.streamsoft.pingtools" rel="nofollow" target="_blank"&gt;PingTools&lt;/a&gt;&lt;/strong&gt; permette di lanciare richieste verso l'esterno, evidenziando se ci sono perdite di pacchetti lungo la linea.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Diario di bordo di Navigaweb&lt;/h3&gt;
&lt;p&gt;La maggior parte dei blocchi che sembrano irrisolvibili su Android non dipende dall'antenna, ma dalla saturazione delle tabelle DHCP dei modem forniti dagli operatori. Questi apparecchi tendono a "tenere" gli indirizzi IP assegnati per troppo tempo: quando la memoria si riempie, il router rifiuta i nuovi accessi lasciando lo smartphone appeso in un'attesa infinita. Assegnare un indirizzo IP statico direttamente dal menu del telefono salta del tutto questa contrattazione e risolve il problema all'istante. È la soluzione più rapida per evitare di lottare con un hardware che, spesso, è semplicemente troppo limitato per gestire molti dispositivi contemporaneamente.&lt;/p&gt;

&lt;p&gt;Sempre sullo stesso argomento vi consigliamo di leggere la nostra guida per capire come &lt;b&gt;&lt;a href="https://www.navigaweb.net/2017/08/connettersi-al-wifi-di-hotel-bar-o-reti.html"&gt;Connettersi al wifi di hotel, bar o reti pubbliche senza problemi di accesso a internet&lt;/a&gt;&lt;/b&gt;. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt; &lt;p&gt;&lt;font size="3"&gt;Articolo pubblicato su  &lt;a title="Navigaweb.net" href="https://www.navigaweb.net" target="_blank"&gt;&lt;font size="3"&gt;Navigaweb.net&lt;/font&gt;&lt;/a&gt;. Non è consentito ripubblicare senza il consenso dell'autore. Segui anche su &lt;a href="https://www.facebook.com/navigaweb"&gt;Facebook&lt;/a&gt;, &lt;a href="https://twitter.com/pomhey"&gt;Twitter&lt;/a&gt; e &lt;a href="https://news.google.com/publications/CAAqBggKMLPofjD03wk"&gt;Google News&lt;/a&gt; .&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;</content><link href="https://www.navigaweb.net/2012/07/soluzioni-problemi-wifi-android.html#comment-form" rel="replies" title="0 Commenti" type="text/html"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/2650866466169164264" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/2650866466169164264" rel="self" type="application/atom+xml"/><link href="https://www.navigaweb.net/2012/07/soluzioni-problemi-wifi-android.html" rel="alternate" title="Problemi Wi-Fi su Android e le soluzioni per tornare online" type="text/html"/><author><name>Claudio Pomes</name><uri>http://www.blogger.com/profile/05867241310817527022</uri><email>noreply@blogger.com</email><gd:image height="32" rel="http://schemas.google.com/g/2005#thumbnail" src="//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnjMmdIWMIcd464SD-u4VsJBXmTf1BTGQAIVPFdzGK2Z3P1ZKbrISt8SdSFSGSzoc4KvmJvACpnL9lE9x7-fXplMVjqdG1IkoB_Jq_kclZtfLmEoSONobAo5j2sFP2wxJHIGZa5_p5KwCURDkifbBQtwrgA_Q52gr-Hnsn9Eg7vVYocYc/s220/pomheybokeh.jpg" width="32"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf5g9vu6rahKLonwLBpIl5qqW6fVvrszl4MKVl0z7XM3Lgn3KZUv9RA6d5xh1YvwDv2Uv2JQmpaZ1IYyd5cUK8d2fvAJq-SvhQ6c4dvKcHdQFjwyjueEmtTXxt-r4xKH5-3HlR6LzW0AI/s72-c/Wi-Fi-lento-android.jpg" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5148617246197063026.post-8168339514508072018</id><published>2026-09-27T18:45:01.640+02:00</published><updated>2026-09-27T18:45:01.673+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Acquisti tecnologia"/><category scheme="http://www.blogger.com/atom/ns#" term="Cellulari"/><title type="text">Primo cellulare per i figli spendendo la cifra giusta</title><content type="html">&lt;img alt="Smartphone bambini ragazzi adolescenti" height="210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKPije1Mx8grnjwGp8gTs-HmJ5MRqZO93vl8Rsg5QStjFpn6gukqDXS3wlBb8GlGrBu5HqMke__SXyiKjEHRJzRTDZkeX9LnmoK58EVkx7JXYY80n-cfxltQ8xSopAF6CnwhMv5piGSJUuevTXAh4IU2YXJao1r3t1QmKF0zxAlNkrhWACWGhOtmoI3mLP/w400-h210/Smartphone-bambini-adolescenti.jpg" title="Smartphone per bambini adolescenti ragazzi" width="400" /&gt;
&lt;p&gt;Tralasciando il dibattito sempre acceso sul dare il telefono ai bambini, a chi prima e chi dopo arriva il momento di decidere quale dispositivo affidare a un figlio. Molto spesso si incontrano due scuole di pensiero opposte, quella di dare un telefono di bassa qualità o vecchio oppure comprarne l'iPhone ultimo modello tanto desisderato. &lt;/p&gt;
&lt;p&gt;Spesso infatti si cade nell'errore di acquistare modelli troppo costosi per paura che il ragazzo si senta escluso dal gruppo. In realtà, mettere in mano a un minore un oggetto di lusso crea solo ansia in chi lo ha pagato e non insegna il valore delle cose. La soluzione sta nel dividere la scelta in base all'età e all'uso reale, cercando un equilibrio tra prestazioni accettabili e costi contenuti.&lt;/p&gt;



&lt;a name='more'&gt;&lt;/a&gt;

&lt;p&gt;LEGGI ANCHE -&amp;gt; &lt;b&gt;&lt;a href="https://www.navigaweb.net/2025/03/trova-il-tuo-android-ideale-i-top-per.html"&gt;Migliori smartphone Android in assoluto per ogni fascia di prezzo&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;


&lt;h2&gt;Telefoni per bambini tra i 5 e i 9 anni&lt;/h2&gt;
&lt;img alt="OUKITEL rugged" height="265" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh57ErXB3XbPKdW0nq1YrV0_W3y5C3u3VZ7ohe8jTrRiG1Si2pxWo8sIT0vPX_DZgeZy6a7D3qR3b0UCd56uqzpCIg5oNaW1ai84fd4L1Ds86vthQRJshaOfTEkH0hQSPICt43q4SDr1GF8v_RC6sB59Iye7k3Hfp0jdUip4nYZDCqZoMEfJJi99oe5k3S1/w400-h265/OUKITEL-K15-Pus.jpg" title="Telefono OUKITEL" width="400" /&gt;
&lt;p&gt;In questa fascia d'età lo smartphone serve principalmente per qualche gioco leggero, l'ascolto di musica o l'uso di YouTube Kids. Prima di spendere soldi in un nuovo acquisto, la mossa più intelligente è &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2016/04/modi-usare-il-vecchio-cellulare.html"&gt;riutilizzare un telefono Android vecchio&lt;/a&gt;&lt;/strong&gt; che giace in un cassetto, configurandolo esclusivamente per l'uso domestico sotto rete Wi-Fi.&lt;/p&gt;
&lt;p&gt;Se invece è necessario un dispositivo nuovo, bisogna puntare tutto sulla corazza. La scelta ricade inevitabilmente sugli &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2021/01/migliori-rugged-phone-i-telefoni.html"&gt;smartphone rugged antiurto&lt;/a&gt;&lt;/strong&gt; di marchi come &lt;strong&gt;&lt;a href="https://link.amazon/B09IVI7V0" rel="nofollow" target="_blank"&gt;OUKITEL&lt;/a&gt;&lt;/strong&gt; o &lt;strong&gt;&lt;a href="https://link.amazon/B0boOAU1q" rel="nofollow" target="_blank"&gt;Blackview&lt;/a&gt;&lt;/strong&gt;. Costano poco più di cento euro e sono costruiti per resistere a cadute che frantumerebbero qualsiasi altro telefono. Hanno batterie enormi che non richiedono ricariche quotidiane e vetri rinforzati che reggono l'impatto con il pavimento.&lt;/p&gt;
&lt;h2&gt;Il primo cellulare per le scuole medie tra i 10 e i 14 anni&lt;/h2&gt;
&lt;img alt="oppo" data-original-height="513" data-original-width="600" height="274" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgczLReFj0-2MFZdTT55R9oAChAB9W9juAJ5Z-px5Fmq96GHOtcjCL4U0Ah0gRcfe7_wHiwX6KryKHNEnYYrt2-X586JWpHrTEcOUUvwTqWJZ9G5J6A1WU443gk7AqHEPRsy_HAGJClitjh64NWOYCyR5PtUUX-fLpYLMQBb50NVIi1AEKw7ihlWf_D1xCa/w320-h274/oppo.jpg" title="oppo base" width="320" /&gt;
&lt;p&gt;Con l'ingresso alle medie nasce l'esigenza di avere un numero proprio per coordinarsi con i compagni e restare reperibili. L'idea di dare lo smartphone conservato nel cassetto potrebbe ancora andare bene, ma bisogna che non siano troppo vecchi, con poca memoria e poca compatibilità con le pp più moderne. I modelli corazzati visti prima diventano spesso sgradevoli per l'estetica, quindi è il momento di passare a dispositivi più sottili ma comunque economici.&lt;/p&gt;
&lt;p&gt;Il budget ideale oscilla tra i cento e i centocinquanta euro. Sotto questa cifra si rischia di comprare telefoni con memorie troppo lente che iniziano a scattare dopo pochi mesi. Ottime alternative sono i modelli base di &lt;strong&gt;&lt;a href="https://link.amazon/B0eolvWlN" rel="sponsored" target="_blank"&gt;OPPO&lt;/a&gt;&lt;/strong&gt; o la serie &lt;strong&gt;&lt;a href="https://link.amazon/B0ar6tFKD" rel="nofollow" target="_blank"&gt;Motorola Moto G&lt;/a&gt;&lt;/strong&gt;. Offrono un design moderno e scocche in plastica che assorbono gli urti meglio del vetro.&lt;/p&gt;
&lt;p&gt;Per gestire l'uso consapevole, l'associazione al &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2025/05/gestire-il-telefono-dei-figli-con.html"&gt;controllo genitori di Google Family Link&lt;/a&gt;&lt;/strong&gt; è un passaggio obbligato. Permette di limitare il tempo di utilizzo e bloccare l'installazione di app non approvate senza dover controllare ogni minuto cosa succede sullo schermo.&lt;/p&gt;
&lt;h2&gt;Smartphone per ragazzi delle superiori tra i 15 e i 18 anni&lt;/h2&gt;
&lt;img alt="OnePlus Nord CE" height="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHtcZGN-DhNLELMz4siOe-f_hNE-vVULSyzCntzBu2lQ-MwSudwYZO2x5l51OTsZRz5sEtnE9E49K8UEYQ6EAzAlyjTFyhsbSNQFipT8RCJ54l_YYU9ZuZ-bgPFN5bSDpICbjMD0Fx4Iac5FLR7RjqyXLsi6reRMqjBXMbXLDvNuB8_waxN10xRJBRnTGE/w320-h226/OnePlus-Nord-CE-3-Lite.jpg" title="Telefono OnePlus Nord CE" width="320" /&gt;
&lt;p&gt;Alle superiori il telefono diventa lo strumento principale per studiare, montare video e giocare. In questa fase servono prestazioni più solide, almeno 8 GB di RAM e una memoria interna generosa per non dover cancellare foto ogni settimana.&lt;/p&gt;
&lt;p&gt;Il miglior compromesso tra prezzo e potenza si trova nella serie &lt;strong&gt;&lt;a href="https://link.amazon/B0fZRsY8T" rel="nofollow" target="_blank"&gt;OnePlus Nord CE&lt;/a&gt;&lt;/strong&gt;, che garantisce fluidità e ricariche rapidissime. Se invece il ragazzo preme per un marchio più noto, il &lt;strong&gt;&lt;a href="https://link.amazon/B02OVkcUQ" rel="nofollow" target="_blank"&gt;Samsung Galaxy A56&lt;/a&gt;&lt;/strong&gt; o i suoi predecessori della serie A50 sono scelte sicure per qualità costruttiva e durata degli aggiornamenti.&lt;/p&gt;
&lt;p&gt;Per chi è appassionato di gaming puro e non bada al marchio, i modelli &lt;strong&gt;&lt;a href="https://link.amazon/B09Tda6Vo" rel="nofollow" target="_blank"&gt;Xiaomi POCO&lt;/a&gt;&lt;/strong&gt; offrono una potenza di calcolo superiore a qualsiasi altro dispositivo nella stessa fascia di prezzo.&lt;/p&gt;
&lt;p&gt;Chi vuole confrontare i dispositivi più performanti può consultare la nostra lista dei &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2018/03/i-telefoni-android-piu-potenti-e.html"&gt;telefoni Android più potenti del momento&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;h2&gt;Regali di valore per la maturità e i 18 anni&lt;/h2&gt;
&lt;img alt="iPhone 14" height="268" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVuCxVEZJi9g2jEAN6cFdRwy9FopJlatzwZz3MI9Pr9eGEX_LVO6mJMz7mtF0jZKJbvU6M9bccXVfJeffsc5d0-LUt_HskaEYM0nr3k-ijCXdwPva9mLTNd_5REcQduylLelEx1IQAswI_0W56030qxb7YbJ9LJ0ftfi1H4MnoIIT64Tbz3MnlCHFSlOXe/w400-h268/iPhone-14.jpg" title="Telefono iPhone 14" width="400" /&gt;
&lt;p&gt;Il diploma o il diciottesimo compleanno sono le occasioni giuste per un regalo che duri anni. In questo caso ha senso investire in prodotti di fascia alta che non diventino obsoleti in breve tempo.&lt;/p&gt;
&lt;p&gt;L'opzione più richiesta è l'iPhone. Invece di spendere cifre folli per l'ultimo modello Pro, l'acquisto di un &lt;strong&gt;&lt;a href="https://link.amazon/B0d8829DK" rel="nofollow" target="_blank"&gt;iPhone 14&lt;/a&gt;&lt;/strong&gt; o l'iPhone 15 (con la porta USB-C) è la scelta più razionale per capire &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2016/10/quale-versione-iphone-conviene-comprare.html"&gt;quale versione di iPhone conviene comprare&lt;/a&gt;&lt;/strong&gt; senza rincorrere l'ultima novità di marketing.&lt;/p&gt;
&lt;p&gt;Se si preferisce Android, i &lt;strong&gt;&lt;a href="https://link.amazon/B0aLdbrci" rel="sponsored" target="_blank"&gt;Google Pixel&lt;/a&gt;&lt;/strong&gt; sono imbattibili per la qualità della fotocamera e la pulizia del sistema, mentre la gamma &lt;strong&gt;&lt;a href="https://link.amazon/B0a9AFyJz" rel="nofollow" target="_blank"&gt;OPPO Reno&lt;/a&gt;&lt;/strong&gt; offre un hardware potente e un design molto ricercato.&lt;/p&gt;
&lt;h2&gt;Trucchi per blindare l'uso dello smartphone&lt;/h2&gt;
&lt;p&gt;I sistemi di controllo parentale installati come app vengono spesso aggirati dai ragazzi più esperti. Per una protezione reale serve un intervento che avvenga a livello di rete, prima ancora che il browser apra la pagina.&lt;/p&gt;
&lt;p&gt;Seguendo la rotta di Navigaweb il metodo più efficace consiste nel configurare il DNS Privato nelle impostazioni di rete del telefono. Inserendo la stringa &lt;em&gt;family.cloudflare-dns.com&lt;/em&gt;, ogni richiesta web viene filtrata automaticamente. Questo sistema blocca i siti per adulti e i domini malevoli in modo invisibile, rendendo i contenuti vietati semplicemente irraggiungibili anche se il ragazzo prova a usare browser alternativi.&lt;/p&gt;
&lt;h2&gt;Consigli pratici per l'acquisto&lt;/h2&gt;
&lt;p&gt;Prima di procedere al pagamento, consideriamo questi tre punti fondamentali per evitare sprechi:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Memoria interna. Evitiamo i modelli da 64 GB. Tra video di TikTok, chat di WhatsApp e giochi, lo spazio finisce in poche settimane. La soglia minima accettabile oggi è 128 GB.&lt;/li&gt;
&lt;li&gt;Protezione immediata. Non fidiamoci della cover trasparente in omaggio. Un vetro temperato applicato subito e una custodia in gomma con bordi rialzati salvano lo schermo da cadute che altrimenti costerebbero centinaia di euro.&lt;/li&gt;
&lt;li&gt;Gestione della SIM. Usiamo sempre schede ricaricabili senza addebiti automatici e disattiviamo i servizi a valore aggiunto (SMS a pagamento) tramite l'area clienti dell'operatore.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Diario di bordo di Navigaweb&lt;/h3&gt;
&lt;p&gt;Ho visto troppi genitori stressati perché hanno regalato un gioiello di tecnologia a un figlio che, banalmente, lo ha fatto cadere in un lavandino o lo ha dimenticato sul bus. L'ansia di chi ha speso mille euro per un telefono che potrebbe sparire in un attimo rovina il piacere del regalo. Il mio consiglio spassionato è di puntare sul pragmatismo: un telefono solido, magari ricondizionato o di fascia media, toglie l'ossessione della rottura e insegna ai ragazzi che lo strumento serve per comunicare e imparare, non per ostentare un marchio. Meno stress per l'adulto, più libertà per il ragazzo.&lt;/p&gt;
 &lt;div class="blogger-post-footer"&gt;&lt;hr /&gt; &lt;p&gt;&lt;font size="3"&gt;Articolo pubblicato su  &lt;a title="Navigaweb.net" href="https://www.navigaweb.net" target="_blank"&gt;&lt;font size="3"&gt;Navigaweb.net&lt;/font&gt;&lt;/a&gt;. Non è consentito ripubblicare senza il consenso dell'autore. Segui anche su &lt;a href="https://www.facebook.com/navigaweb"&gt;Facebook&lt;/a&gt;, &lt;a href="https://twitter.com/pomhey"&gt;Twitter&lt;/a&gt; e &lt;a href="https://news.google.com/publications/CAAqBggKMLPofjD03wk"&gt;Google News&lt;/a&gt; .&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;</content><link href="https://www.navigaweb.net/2022/07/migliori-telefoni-da-regalare-ai-figli.html#comment-form" rel="replies" title="0 Commenti" type="text/html"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/8168339514508072018" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/8168339514508072018" rel="self" type="application/atom+xml"/><link href="https://www.navigaweb.net/2022/07/migliori-telefoni-da-regalare-ai-figli.html" rel="alternate" title="Primo cellulare per i figli spendendo la cifra giusta" type="text/html"/><author><name>Claudio Pomes</name><uri>http://www.blogger.com/profile/05867241310817527022</uri><email>noreply@blogger.com</email><gd:image height="32" rel="http://schemas.google.com/g/2005#thumbnail" src="//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnjMmdIWMIcd464SD-u4VsJBXmTf1BTGQAIVPFdzGK2Z3P1ZKbrISt8SdSFSGSzoc4KvmJvACpnL9lE9x7-fXplMVjqdG1IkoB_Jq_kclZtfLmEoSONobAo5j2sFP2wxJHIGZa5_p5KwCURDkifbBQtwrgA_Q52gr-Hnsn9Eg7vVYocYc/s220/pomheybokeh.jpg" width="32"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKPije1Mx8grnjwGp8gTs-HmJ5MRqZO93vl8Rsg5QStjFpn6gukqDXS3wlBb8GlGrBu5HqMke__SXyiKjEHRJzRTDZkeX9LnmoK58EVkx7JXYY80n-cfxltQ8xSopAF6CnwhMv5piGSJUuevTXAh4IU2YXJao1r3t1QmKF0zxAlNkrhWACWGhOtmoI3mLP/s72-w400-h210-c/Smartphone-bambini-adolescenti.jpg" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5148617246197063026.post-2194500258496133262</id><published>2026-09-26T16:52:40.537+02:00</published><updated>2026-09-26T16:52:40.603+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Giochi Gratis"/><title type="text">Giochi gratuiti di aerei da guerra e dogfight per PC</title><content type="html">&lt;img alt="Guerra di aerei 3D" title="giochi combattimento aerei" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH7IVZYF3w7CPT3E3-zIX2ryYcFsl9IuUP_jFCIRsT6f6mtXAYRedqTJ08Os3sAnuoNltJ7DjRVxrzBuzSmLRFyrAuMd7kn6a9CKYASLjbG0oqpWnOktuIZ2KAp3zcfuYmuqUgRm25Fk0p/s320/aerei-combattimenti.webp" width="320" height="182" data-original-width="1389" data-original-height="788" /&gt; &lt;p&gt;Piloti della domenica e appassionati di aeronautica si scontrano regolarmente con lo stesso dilemma. Da una parte ci sono simulatori di volo talmente complessi da richiedere decine di combinazioni di tasti solo per avviare il motore sulla pista. Dall'altra parte proliferano titoli arcade frettolosi, dove la fisica dell'aria viene azzerata e l'aereo risponde ai comandi come una navicella fluttuante priva di peso. Trovare un gioco capace di restituire la sensazione della forza di gravità, la tensione di una virata stretta e il brivido dell'inseguimento a specchio non richiede per forza spese elevate.&lt;/p&gt;
&lt;p&gt;Il catalogo dei &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2015/02/migliori-50-giochi-gratis-per-pc.html" target="_blank"&gt;giochi gratis per PC&lt;/a&gt;&lt;/strong&gt; include simulazioni raffinate e arene da combattimento che sfruttano motori grafici moderni. Il segreto sta nel distinguere i prodotti che spingono verso il realismo puro da quelli che mettono al primo posto la velocità dello scontro a fuoco.&lt;/p&gt;

&lt;p&gt;LEGGI ANCHE: &lt;b&gt;&lt;a href="https://www.navigaweb.net/2013/05/migliori-simulatori-di-volo-per-pc.html"&gt;Migliori simulatori di volo aereo, gratis su PC&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;

&lt;h2&gt;Il realismo estremo a costo zero&lt;/h2&gt;
&lt;p&gt;Chi cerca l'emulazione fedele delle manovre aeree non ha bisogno di acquistare costose licenze commerciali per toccare con mano strumenti di livello professionale.&lt;/p&gt;
&lt;h3&gt;DCS World&lt;/h3&gt;
&lt;p&gt;Rappresenta il gradino più alto per la fedeltà dei sistemi di bordo. &lt;strong&gt;&lt;a href="https://store.steampowered.com/app/223750/DCS_World_Steam_Edition/" rel="nofollow" target="_blank"&gt;DCS World&lt;/a&gt;&lt;/strong&gt; si scarica senza pagare nulla dalla piattaforma Valve e mette a disposizione velivoli completi con cabine di pilotaggio tridimensionali in cui ogni singolo interruttore, manometro e leva risponde ai clic del mouse.&lt;/p&gt;
&lt;p&gt;Il modello dinamico dei fluidi calcola la portanza alare in tempo reale. Se si tira la cloche con troppa violenza a bassa velocità, l'aereo entra in stallo d'ala e comincia a roteare verso terra, costringendo a manovre di recupero impeccabili con la pedaliera del timone.&lt;/p&gt;
&lt;p&gt;Per muovere lo sguardo all'interno dell'abitacolo senza spendere cifre importanti in visori dedicati, la rotta di Navigaweb consiglia di abbinare una webcam da tavolo al software libero OpenTrack. Questo programma rileva i movimenti della testa e sposta la visuale del pilota in perfetto sincrono, permettendo di seguire i caccia nemici durante le manovre evasive senza staccare le mani dai comandi.&lt;/p&gt;
&lt;h2&gt;Le grandi arene belliche multigiocatore&lt;/h2&gt;
&lt;p&gt;Quando l'obiettivo si sposta sul combattimento tra squadriglie composte da persone reali, la scena su computer si divide tra due filosofie opposte.&lt;/p&gt;
&lt;h3&gt;War Thunder&lt;/h3&gt;
&lt;p&gt;Il progetto domina il settore delle battaglie aeree storiche. &lt;strong&gt;&lt;a href="https://warthunder.com/en" rel="nofollow" target="_blank"&gt;War Thunder&lt;/a&gt;&lt;/strong&gt; copre l'evoluzione del volo dai biplani in legno fino ai jet supersonici dotati di missili a guida radar. La struttura consente di scegliere tra partite puramente arcade, in cui la ricarica delle mitragliatrici avviene a mezz'aria, e simulazioni storiche dove il carburante è limitato e le ali possono spezzarsi per l'eccessiva velocità in picchiata.&lt;/p&gt;
&lt;p&gt;La particolarità riguarda la gestione dei danni. Non esiste una barra della vita: ogni proiettile penetra le lamiere, potendo recidere i cavi degli alettoni, incendiare i serbatoi interni o ferire il pilota, lasciando il caccia ingovernabile a migliaia di metri di quota. Bisogna però mettere in conto l'impegno richiesto per sbloccare i mezzi più avanzati, un processo che può diventare ripetitivo se non si ha molta pazienza.&lt;/p&gt;
&lt;h3&gt;World of Warplanes&lt;/h3&gt;
&lt;p&gt;Sviluppato dal team dietro al celebre World of Tanks, &lt;strong&gt;&lt;a href="https://worldofwarplanes.eu/" rel="nofollow" target="_blank"&gt;World of Warplanes&lt;/a&gt;&lt;/strong&gt; adotta un'impostazione votata all'azione immediata. Il velivolo si comanda esclusivamente con visuale esterna in terza persona e la fisica perdona manovre azzardate che in un simulatore porterebbero allo schianto immediato.&lt;/p&gt;
&lt;p&gt;Le mappe contengono zone di controllo a terra difese da postazioni antiaeree. Le squadre si contendono lo spazio aereo abbattendo bombardieri scortati dal computer e duellando a quote basse. I rientri in partita sono continui, rendendolo adatto a sessioni brevi dove l'unico scopo è sparare senza doversi preoccupare di temperature dell'olio o assetti di volo.&lt;/p&gt;
&lt;h2&gt;Azione immediata per computer meno potenti&lt;/h2&gt;
&lt;p&gt;Non tutte le postazioni dispongono di schede video dedicate all'elaborazione di poligoni pesanti. Esistono alternative snelle capaci di girare con fluidità anche su computer portatili da ufficio.&lt;/p&gt;
&lt;h3&gt;Warplanes WW2 Dogfight&lt;/h3&gt;
&lt;p&gt;Nato originariamente per dispositivi mobili e poi convertito, &lt;strong&gt;&lt;a href="https://store.steampowered.com/app/936780/Warplanes_WW2_Dogfight/" rel="nofollow" target="_blank"&gt;Warplanes WW2 Dogfight&lt;/a&gt;&lt;/strong&gt; si trova tra i &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2025/04/giochi-gratuiti-fino-alla-fine.html" target="_blank"&gt;giochi gratuiti su Steam&lt;/a&gt;&lt;/strong&gt; con requisiti di sistema ridotti. Mette a disposizione caccia e bombardieri appartenenti alle principali nazioni del secondo conflitto mondiale.&lt;/p&gt;
&lt;p&gt;Accanto alla fase di volo, include una parte gestionale. Il giocatore investe i crediti guadagnati nelle missioni per ampliare la propria base, addestrare piloti secondari da richiamare come gregari in volo e potenziare armamenti e motori. L'approccio resta arcade, con una mira assistita che rende soddisfacente ogni raffica di mitragliatrice anche con un comune gamepad.&lt;/p&gt;
&lt;h2&gt;Prima di decollare: l'attrezzatura e l'hardware&lt;/h2&gt;
&lt;p&gt;La scelta del titolo più adatto dipende dalle periferiche a disposizione e dal tempo che si intende dedicare all'apprendimento:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;I sistemi di controllo&lt;/strong&gt;. Volare con la tastiera genera movimenti a scatti. Per i titoli arcade basta un controller per console con levette analogiche. Per affrontare simulatori profondi come DCS World diventa consigliabile orientarsi su un joystick dotato di controllo del timone integrato nell'impugnatura.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Il peso dell'installazione&lt;/strong&gt;. Le simulazioni che riproducono interi teatri geografici richiedono decine di gigabyte di spazio su disco a stato solido. Giochi focalizzati su mappe chiuse come Warplanes Dogfight occupano invece poche centinaia di megabyte e si avviano all'istante.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;I modelli di progressione interna&lt;/strong&gt;. Nei titoli online con centinaia di aerei sbloccabili, il passaggio dai velivoli di base a quelli più performanti richiede molte ore di missioni. Conviene concentrarsi su una sola nazione per scalare i rami di ricerca ed evitare dispersioni di punteggio.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Il supporto VR&lt;/strong&gt;. L'uso della realtà virtuale cambia completamente la percezione della profondità 3D. Permette di capire a che distanza si trova il nemico senza fare calcoli visivi, ma richiede una scheda video potente per evitare cali di frame rate che causano nausea.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Diario di bordo di Navigaweb&lt;/h3&gt;
&lt;p&gt;Dopo aver passato ore ai comandi di caccia a elica e jet ad alta quota, ho capito che la vera differenza tra divertimento e frustrazione sta tutta in come l'aereo risponde al comando. Se siete piloti della domenica che vogliono solo staccare il cervello e vedere esplosioni ovunque, andate dritti su World of Warplanes. Se invece avete la pazienza di studiare come funziona un motore e non vi spaventa l'idea di schiantarvi dieci volte prima di riuscire a decollare, DCS World è l'unica strada. Il mio consiglio è di non forzarsi a usare un simulatore se l'obiettivo è solo il relax: a volte un gioco arcade veloce è l'unica cura per una giornata stressante.&lt;/p&gt;
&lt;p&gt;LEGGI ANCHE: &lt;b&gt;&lt;a href="https://www.navigaweb.net/2007/11/giochi-di-guerre-stellari-con-viaggi-e.html"&gt;migliori Giochi di astronavi e guerre stellari&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt; &lt;p&gt;&lt;font size="3"&gt;Articolo pubblicato su  &lt;a title="Navigaweb.net" href="https://www.navigaweb.net" target="_blank"&gt;&lt;font size="3"&gt;Navigaweb.net&lt;/font&gt;&lt;/a&gt;. Non è consentito ripubblicare senza il consenso dell'autore. Segui anche su &lt;a href="https://www.facebook.com/navigaweb"&gt;Facebook&lt;/a&gt;, &lt;a href="https://twitter.com/pomhey"&gt;Twitter&lt;/a&gt; e &lt;a href="https://news.google.com/publications/CAAqBggKMLPofjD03wk"&gt;Google News&lt;/a&gt; .&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;</content><link href="https://www.navigaweb.net/2012/06/3-sparatutto-con-combattimenti-aerei-e.html#comment-form" rel="replies" title="0 Commenti" type="text/html"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/2194500258496133262" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/2194500258496133262" rel="self" type="application/atom+xml"/><link href="https://www.navigaweb.net/2012/06/3-sparatutto-con-combattimenti-aerei-e.html" rel="alternate" title="Giochi gratuiti di aerei da guerra e dogfight per PC" type="text/html"/><author><name>Claudio Pomes</name><uri>http://www.blogger.com/profile/05867241310817527022</uri><email>noreply@blogger.com</email><gd:image height="32" rel="http://schemas.google.com/g/2005#thumbnail" src="//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnjMmdIWMIcd464SD-u4VsJBXmTf1BTGQAIVPFdzGK2Z3P1ZKbrISt8SdSFSGSzoc4KvmJvACpnL9lE9x7-fXplMVjqdG1IkoB_Jq_kclZtfLmEoSONobAo5j2sFP2wxJHIGZa5_p5KwCURDkifbBQtwrgA_Q52gr-Hnsn9Eg7vVYocYc/s220/pomheybokeh.jpg" width="32"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH7IVZYF3w7CPT3E3-zIX2ryYcFsl9IuUP_jFCIRsT6f6mtXAYRedqTJ08Os3sAnuoNltJ7DjRVxrzBuzSmLRFyrAuMd7kn6a9CKYASLjbG0oqpWnOktuIZ2KAp3zcfuYmuqUgRm25Fk0p/s72-c/aerei-combattimenti.webp" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5148617246197063026.post-8478027594370759045</id><published>2026-09-26T16:45:26.964+02:00</published><updated>2026-09-26T23:49:02.236+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Immagini e Foto"/><category scheme="http://www.blogger.com/atom/ns#" term="Navigaweb App"/><title type="text">Crea fototessere online su foglio 10x15 pronte da stampare</title><content type="html">&lt;img alt="generatore fototessera 10x15" border="0" width="400" data-original-height="491" data-original-width="801" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyM_PFT8w8DW2zaXJvBmmRDp2ze1hC16y01RcCZUoezCUB1HliaQY3SzlC42oqSX_4KTxttKS82BfV3SCK3uGnrXMAJDWJ3QEHm8fbnPDCDkxurFwz8CICIO6c_ENPL5YF7nyBA2e7f9gzOk2FU9wGfcHgCQlRANmAYm8cfmsHhUAFb3epovCxVa_O5gTb/s400/fototesseraonline.jpg"/&gt; &lt;p&gt;La differenza di prezzo tra una normale fotografia e una fototessera per documenti non dipende dal costo della carta o dell'inchiostro, ma esclusivamente dall'impaginazione. Le cabine automatiche per strada o i negozi specializzati applicano una tariffa altissima per consegnare quattro o sei scatti, arrivando a chiedere cifre sproporzionate per un servizio che richiede pochi secondi.&lt;/p&gt;
&lt;p&gt;Esiste un metodo del tutto legale e riconosciuto per aggirare questo sovrapprezzo, sfruttando le normali macchine di stampa digitale presenti nei centri commerciali, nei negozi di elettronica o nelle cartolerie. Il meccanismo si basa sulla creazione preventiva del file finale, impaginando gli scatti nelle misure richieste dal Ministero all'interno di un formato standard. In questa pagina abbiamo integrato lo strumento per fare esattamente questo, senza scaricare software esterni e gestendo l'intera procedura dal browser.&lt;/p&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;p&gt;LEGGI ANCHE: &lt;b&gt;&lt;a href="https://www.navigaweb.net/2008/11/montare-le-foto-in-scenari-e-corpi.html"&gt;Scenari, sfondi e corpi diversi in cui mettere la faccia&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;

&lt;h2&gt;Il meccanismo del foglio 10x15&lt;/h2&gt;
&lt;p&gt;Qualsiasi chiosco automatico di stampa permette di ottenere una foto ricordo nel formato classico 10x15 cm (corrispondente a 4x6 pollici) al costo di circa 15 o 20 centesimi. Il software della stampante non analizza il contenuto dell'immagine, si limita a imprimere il file su carta fotografica.&lt;/p&gt;
&lt;p&gt;L'operazione consiste nel generare un singolo file 10x15 cm che contiene al suo interno 8 fototessere ufficiali, già tagliate virtualmente nella misura di 35x45 millimetri e separate da sottili linee tratteggiate. Quando si inserisce la chiavetta USB o si collega lo smartphone al chiosco, basta selezionare la voce per la stampa di una foto standard. Si paga il prezzo di una singola fotografia e, una volta a casa, è sufficiente usare un paio di forbici per separare le tessere seguendo i margini.&lt;/p&gt;

&lt;h2&gt;Strumento per stampare la fototessera online&lt;/h2&gt;
&lt;p&gt;Dal box qui in basso puoi subito scattare la foto dal telefono o caricala nel generatore se ne abbiamo una già buona in galleria. Durante lo scatto, allinea gli occhi e il mento con le linee guida (ma non è importante entrare perfettamente trant dopo lo scatto si può sistemare con lo zoom). Dopo lo scatto possiamo usare gli slider per lo zoom e l'allineamento più preciso e la luminosità e poi scaricare il foglio pronto per essere stampato con 8 foto 10x15 cm oppure anche una sola se si vuole.&lt;/p&gt;

&lt;div id="passport-photo-pro-wrapper" style="all: initial; display: block; position: relative; z-index: 10; isolation: isolate; width: 100%; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; box-sizing: border-box;"&gt;

    &lt;style&gt;
        .passport-app-container {
            background: linear-gradient(160deg, #090d16 0%, #172033 100%);
            color: #f8fafc;
            padding: 30px 20px;
            border-radius: 24px;
            box-shadow: 0 25px 55px rgba(0, 0, 0, 0.5);
            max-width: 820px;
            margin: 20px auto;
            text-align: center;
            box-sizing: border-box;
            border: 1px solid rgba(255, 255, 255, 0.1);
            touch-action: manipulation;
            user-select: none;
            position: relative;
            transition: padding 0.2s ease;
        }

        /* Modalità Fotocamera Immersiva a Schermo Intero */
        .passport-app-container.mode-camera-active {
            padding: 10px 12px !important;
            border-radius: 0 !important;
        }

        .passport-app-container.mode-camera-active .passport-header-bar {
            margin-bottom: 6px !important;
            justify-content: center !important;
        }

        .passport-app-container.mode-camera-active .passport-title-area {
            text-align: center !important;
        }

        .passport-app-container.mode-camera-active .passport-title-area p,
        .passport-app-container.mode-camera-active .btn-pwa-action,
        .passport-app-container.mode-camera-active .privacy-pill,
        .passport-app-container.mode-camera-active .source-buttons-grid {
            display: none !important;
        }

        /* Riquadro Fotocamera: Proporzioni Fisse 35:45 (Ufficiali Fototessera) */
        .passport-app-container.mode-camera-active .camera-viewport-box {
            display: block !important;
            aspect-ratio: 35 / 45 !important;
            height: calc(100vh - 120px) !important;
            max-height: 600px !important;
            width: auto !important;
            max-width: 90vw !important;
            margin: 0 auto !important;
        }

        /* Supporto Fullscreen Nativo */
        .passport-app-container:fullscreen, 
        .passport-app-container:-webkit-full-screen {
            max-width: 100vw !important;
            width: 100vw !important;
            height: 100vh !important;
            border-radius: 0 !important;
            padding: 10px !important;
            display: flex !important;
            flex-direction: column !important;
            justify-content: center !important;
            background: #090d16 !important;
        }

        .passport-header-bar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 18px;
            flex-wrap: wrap;
            gap: 12px;
        }

        .passport-title-area {
            text-align: left;
        }

        .passport-title-area h3 {
            margin: 0 0 4px 0;
            font-size: 24px;
            font-weight: 800;
            color: #ffffff;
            letter-spacing: -0.5px;
        }

        .passport-title-area p {
            margin: 0;
            font-size: 13px;
            color: #94a3b8;
        }

        .btn-pwa-action {
            background: rgba(56, 189, 248, 0.15);
            color: #38bdf8;
            border: 1px solid rgba(56, 189, 248, 0.4);
            padding: 8px 14px;
            border-radius: 20px;
            font-size: 11px;
            font-weight: 800;
            cursor: pointer;
            transition: all 0.2s;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .btn-pwa-action:hover {
            background: #38bdf8;
            color: #0f172a;
        }

        .privacy-pill {
            display: inline-block;
            background: rgba(34, 197, 94, 0.12);
            border: 1px solid rgba(34, 197, 94, 0.3);
            color: #4ade80;
            font-size: 11px;
            font-weight: 700;
            padding: 5px 14px;
            border-radius: 12px;
            margin-bottom: 20px;
        }

        .source-buttons-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 12px;
            margin-bottom: 22px;
        }

        .btn-photo-source {
            padding: 16px 12px;
            border-radius: 16px;
            border: 1.5px solid rgba(255, 255, 255, 0.12);
            background: rgba(0, 0, 0, 0.25);
            color: #ffffff;
            cursor: pointer;
            transition: all 0.2s ease;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 8px;
            -webkit-tap-highlight-color: transparent;
        }

        .btn-photo-source:hover {
            background: rgba(56, 189, 248, 0.1);
            border-color: #38bdf8;
            transform: translateY(-2px);
        }

        .btn-photo-source.cam-source {
            background: rgba(56, 189, 248, 0.15);
            border-color: rgba(56, 189, 248, 0.4);
            color: #38bdf8;
        }

        .source-svg-icon {
            width: 30px;
            height: 30px;
            stroke: currentColor;
            fill: none;
            stroke-width: 2;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        .source-btn-title {
            font-size: 14px;
            font-weight: 800;
        }

        .source-btn-sub {
            font-size: 11px;
            color: #94a3b8;
        }

        /* Finestra Fotocamera Live (Proporzioni 35:45) */
        .camera-viewport-box {
            display: none;
            position: relative;
            background: #020617;
            border-radius: 20px;
            overflow: hidden;
            border: 2px solid #38bdf8;
            box-shadow: 0 0 35px rgba(56, 189, 248, 0.35);
            box-sizing: border-box;
            aspect-ratio: 35 / 45;
        }

        #passport-video-stream {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .cam-flash-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: #ffffff;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.08s ease-out;
            z-index: 20;
        }

        /* Sagoma Viso Armonica ICAO (Proporzionata e Naturale) */
        .icao-guide-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
            box-sizing: border-box;
        }

        .guide-face-oval {
            position: absolute;
            top: 15%;
            left: 22%;
            width: 56%;
            height: 66%;
            border: 2px dashed #38bdf8;
            border-radius: 50% 50% 46% 46% / 58% 58% 42% 42%;
            box-sizing: border-box;
            box-shadow: 0 0 12px rgba(56, 189, 248, 0.35);
        }

        .guide-eyes-line {
            position: absolute;
            top: 44%;
            left: 16%;
            width: 68%;
            height: 1px;
            border-top: 2px dashed #f59e0b;
        }

        .guide-chin-line {
            position: absolute;
            top: 81%;
            left: 28%;
            width: 44%;
            height: 1px;
            border-top: 2px dashed #f59e0b;
        }

        .guide-quick-hint {
            position: absolute;
            top: 10px;
            left: 50%;
            transform: translateX(-50%);
            background: rgba(15, 23, 42, 0.85);
            backdrop-filter: blur(4px);
            color: #f8fafc;
            border: 1px solid rgba(255, 255, 255, 0.15);
            font-size: 11px;
            font-weight: 700;
            padding: 5px 12px;
            border-radius: 20px;
            white-space: nowrap;
            pointer-events: none;
            z-index: 10;
        }

        .cam-controls-overlay {
            position: absolute;
            bottom: 14px;
            left: 0;
            width: 100%;
            display: flex;
            justify-content: center;
            gap: 10px;
            z-index: 15;
            padding: 0 10px;
            box-sizing: border-box;
        }

        .btn-snap-photo {
            padding: 13px 26px;
            background: #22c55e;
            color: #052e16;
            border: none;
            border-radius: 12px;
            font-size: 14px;
            font-weight: 900;
            cursor: pointer;
            box-shadow: 0 4px 15px rgba(34, 197, 94, 0.4);
        }

        .btn-switch-cam-mini {
            padding: 13px 14px;
            background: rgba(0, 0, 0, 0.65);
            color: #cbd5e1;
            border: 1px solid rgba(255, 255, 255, 0.2);
            border-radius: 12px;
            font-size: 12px;
            font-weight: 700;
            cursor: pointer;
        }

        .btn-close-camera {
            padding: 13px 18px;
            background: rgba(239, 68, 68, 0.2);
            color: #f87171;
            border: 1px solid rgba(239, 68, 68, 0.4);
            border-radius: 12px;
            font-size: 13px;
            font-weight: 800;
            cursor: pointer;
        }

        /* Area Editor Ritaglio (280x360 px = Rapporto 35:45) */
        .biometric-editor-section {
            display: none;
            margin-bottom: 25px;
        }

        .alignment-frame-container {
            position: relative;
            width: 280px;
            height: 360px;
            margin: 0 auto 16px auto;
            background: #020617;
            border-radius: 16px;
            overflow: hidden;
            border: 3px solid #38bdf8;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6);
            box-sizing: border-box;
        }

        #biometric-canvas {
            width: 100%;
            height: 100%;
            display: block;
        }

        /* Slider */
        .controls-sliders-grid {
            background: rgba(0, 0, 0, 0.25);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 16px;
            padding: 18px;
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 14px;
            margin-bottom: 20px;
            text-align: left;
        }

        .slider-group {
            display: flex;
            flex-direction: column;
            gap: 6px;
        }

        .slider-header {
            display: flex;
            justify-content: space-between;
            font-size: 11px;
            font-weight: 700;
            color: #cbd5e1;
            text-transform: uppercase;
        }

        .slider-val-txt {
            color: #38bdf8;
        }

        .passport-range {
            width: 100%;
            height: 6px;
            -webkit-appearance: none;
            background: rgba(255, 255, 255, 0.15);
            border-radius: 4px;
            outline: none;
            cursor: pointer;
        }

        .passport-range::-webkit-slider-thumb {
            -webkit-appearance: none;
            width: 18px;
            height: 18px;
            border-radius: 50%;
            background: #38bdf8;
            cursor: pointer;
            box-shadow: 0 0 6px rgba(56, 189, 248, 0.6);
        }

        .passport-select {
            width: 100%;
            padding: 10px 12px;
            background: #0f172a;
            border: 1.5px solid rgba(255, 255, 255, 0.15);
            border-radius: 10px;
            font-size: 13px;
            color: #ffffff;
            box-sizing: border-box;
            outline: none;
            cursor: pointer;
            transition: border-color 0.2s;
        }

        .passport-select:focus {
            border-color: #38bdf8;
            box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.2);
        }

        .btn-tool-rotate {
            padding: 9px 12px;
            background: rgba(255, 255, 255, 0.08);
            border: 1px solid rgba(255, 255, 255, 0.15);
            color: #38bdf8;
            border-radius: 8px;
            font-size: 12px;
            font-weight: 700;
            cursor: pointer;
            width: 100%;
            transition: all 0.2s;
        }

        .btn-tool-rotate:hover {
            background: rgba(56, 189, 248, 0.2);
        }

        .print-sheet-preview-box {
            display: none;
            background: rgba(0, 0, 0, 0.3);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 18px;
            padding: 20px 16px;
            margin-bottom: 22px;
        }

        .sheet-preview-title {
            font-size: 13px;
            font-weight: 800;
            color: #38bdf8;
            text-transform: uppercase;
            margin-bottom: 12px;
            letter-spacing: 0.5px;
        }

        #final-sheet-canvas {
            display: block;
            margin: 0 auto;
            max-width: 100%;
            height: auto;
            border-radius: 10px;
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.5);
            background: #ffffff;
        }

        .btn-download-passport {
            width: 100%;
            padding: 16px;
            background: #22c55e;
            color: #052e16;
            border: none;
            border-radius: 14px;
            font-size: 15px;
            font-weight: 900;
            letter-spacing: 0.5px;
            cursor: pointer;
            transition: all 0.2s ease;
            box-shadow: 0 4px 18px rgba(34, 197, 94, 0.35);
            -webkit-tap-highlight-color: transparent;
        }

        .btn-download-passport:hover {
            background: #4ade80;
            transform: translateY(-1px);
        }

        /* Modal PWA */
        .pwa-modal-overlay {
            display: none;
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(15, 23, 42, 0.96);
            backdrop-filter: blur(8px);
            border-radius: 24px;
            z-index: 40;
            padding: 25px 20px;
            box-sizing: border-box;
            text-align: left;
            overflow-y: auto;
        }

        .pwa-step-card {
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 12px;
            padding: 12px 14px;
            margin-bottom: 10px;
        }

        .pwa-step-card strong {
            display: block;
            color: #38bdf8;
            font-size: 13px;
            margin-bottom: 4px;
        }

        .pwa-step-card p {
            margin: 0;
            font-size: 12px;
            color: #cbd5e1;
            line-height: 1.4;
        }

        @media (max-width: 600px) {
            .source-buttons-grid {
                grid-template-columns: 1fr;
            }
            .controls-sliders-grid {
                grid-template-columns: 1fr;
            }
        }
    &lt;/style&gt;

    &lt;div id="passport-app-box" class="passport-app-container"&gt;
        
        &lt;div class="passport-header-bar"&gt;
            &lt;div class="passport-title-area"&gt;
                &lt;h3&gt;Generatore Fototessere Pro&lt;/h3&gt;
                &lt;p&gt;Misure ICAO ufficiali per Carta d'Identita, Passaporto e Patente a costo zero&lt;/p&gt;
            &lt;/div&gt;
            &lt;button id="btn-pwa-passport-trigger" class="btn-pwa-action" onclick="triggerPassportPwaInstall()"&gt;
                Salva come App
            &lt;/button&gt;
        &lt;/div&gt;

        &lt;div class="privacy-pill"&gt;
            Privacy Totale: elaborazione biometrica locale al 100% nel tuo browser, nessuna foto viene inviata a server esterni
        &lt;/div&gt;

        &lt;!-- Scelta Origine Foto --&gt;
        &lt;div class="source-buttons-grid"&gt;
            &lt;button class="btn-photo-source cam-source" onclick="openLiveCameraPassport()"&gt;
                &lt;svg class="source-svg-icon" viewBox="0 0 24 24"&gt;&lt;path d="M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"&gt;&lt;/path&gt;&lt;circle cx="12" cy="13" r="4"&gt;&lt;/circle&gt;&lt;/svg&gt;
                &lt;span class="source-btn-title"&gt;Scatta con Fotocamera&lt;/span&gt;
                &lt;span class="source-btn-sub"&gt;Apre il mirino biometrico proporzionato 35:45&lt;/span&gt;
            &lt;/button&gt;

            &lt;button class="btn-photo-source" onclick="document.getElementById('passport-file-input').click()"&gt;
                &lt;svg class="source-svg-icon" viewBox="0 0 24 24"&gt;&lt;rect x="3" y="3" width="18" height="18" rx="2" ry="2"&gt;&lt;/rect&gt;&lt;circle cx="8.5" cy="8.5" r="1.5"&gt;&lt;/circle&gt;&lt;polyline points="21 15 16 10 5 21"&gt;&lt;/polyline&gt;&lt;/svg&gt;
                &lt;span class="source-btn-title"&gt;Carica da Galleria&lt;/span&gt;
                &lt;span class="source-btn-sub"&gt;Seleziona una foto o un selfie gia salvato&lt;/span&gt;
            &lt;/button&gt;
            &lt;input type="file" id="passport-file-input" accept="image/*" style="display: none;" onchange="handlePassportFileSelect(this)"&gt;
        &lt;/div&gt;

        &lt;!-- Mirino Fotocamera Live (Proporzioni Esatte 35:45) --&gt;
        &lt;div id="camera-passport-box" class="camera-viewport-box"&gt;
            &lt;video id="passport-video-stream" autoplay playsinline muted&gt;&lt;/video&gt;
            &lt;div id="cam-flash-effect" class="cam-flash-overlay"&gt;&lt;/div&gt;
            
            &lt;div class="icao-guide-overlay"&gt;
                &lt;div class="guide-quick-hint"&gt;Occhi su riga gialla, viso dentro riquadro&lt;/div&gt;
                &lt;div class="guide-face-oval"&gt;&lt;/div&gt;
                &lt;div class="guide-eyes-line"&gt;&lt;/div&gt;
                &lt;div class="guide-chin-line"&gt;&lt;/div&gt;
            &lt;/div&gt;

            &lt;div class="cam-controls-overlay"&gt;
                &lt;button class="btn-snap-photo" onclick="snapPassportPhoto()"&gt;SCATTA FOTO&lt;/button&gt;
                &lt;button class="btn-switch-cam-mini" onclick="switchCameraFacing()"&gt;Inverti Obiettivo&lt;/button&gt;
                &lt;button class="btn-close-camera" onclick="closeLiveCameraPassport()"&gt;Annulla&lt;/button&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;!-- Sezione Allineamento Biometrico Viso --&gt;
        &lt;div id="biometric-editor-area" class="biometric-editor-section"&gt;
            
            &lt;div class="alignment-frame-container"&gt;
                &lt;canvas id="biometric-canvas" width="280" height="360"&gt;&lt;/canvas&gt;
                &lt;div class="icao-guide-overlay"&gt;
                    &lt;div class="guide-quick-hint"&gt;Occhi su riga gialla, viso dentro riquadro&lt;/div&gt;
                    &lt;div class="guide-face-oval"&gt;&lt;/div&gt;
                    &lt;div class="guide-eyes-line"&gt;&lt;/div&gt;
                    &lt;div class="guide-chin-line"&gt;&lt;/div&gt;
                &lt;/div&gt;
            &lt;/div&gt;

            &lt;!-- Slider di Regolazione --&gt;
            &lt;div class="controls-sliders-grid"&gt;
                
                &lt;div class="slider-group"&gt;
                    &lt;div class="slider-header"&gt;
                        &lt;span&gt;Ingrandimento (Zoom)&lt;/span&gt;
                        &lt;span id="txt-val-zoom" class="slider-val-txt"&gt;1.0x&lt;/span&gt;
                    &lt;/div&gt;
                    &lt;input type="range" id="slider-zoom" class="passport-range" min="0.5" max="3" step="0.05" value="1" oninput="updateCropTransform()"&gt;
                &lt;/div&gt;

                &lt;div class="slider-group"&gt;
                    &lt;div class="slider-header"&gt;
                        &lt;span&gt;Sposta Verticale (Y)&lt;/span&gt;
                        &lt;span id="txt-val-y" class="slider-val-txt"&gt;0 px&lt;/span&gt;
                    &lt;/div&gt;
                    &lt;input type="range" id="slider-pos-y" class="passport-range" min="-180" max="180" step="2" value="0" oninput="updateCropTransform()"&gt;
                &lt;/div&gt;

                &lt;div class="slider-group"&gt;
                    &lt;div class="slider-header"&gt;
                        &lt;span&gt;Sposta Orizzontale (X)&lt;/span&gt;
                        &lt;span id="txt-val-x" class="slider-val-txt"&gt;0 px&lt;/span&gt;
                    &lt;/div&gt;
                    &lt;input type="range" id="slider-pos-x" class="passport-range" min="-180" max="180" step="2" value="0" oninput="updateCropTransform()"&gt;
                &lt;/div&gt;

                &lt;div class="slider-group"&gt;
                    &lt;div class="slider-header"&gt;
                        &lt;span&gt;Luminosita Sfondo e Viso&lt;/span&gt;
                        &lt;span id="txt-val-bright" class="slider-val-txt"&gt;100%&lt;/span&gt;
                    &lt;/div&gt;
                    &lt;input type="range" id="slider-bright" class="passport-range" min="70" max="160" step="2" value="100" oninput="updateCropTransform()"&gt;
                &lt;/div&gt;

                &lt;div class="slider-group"&gt;
                    &lt;div class="slider-header"&gt;
                        &lt;span&gt;Ruota Immagine&lt;/span&gt;
                    &lt;/div&gt;
                    &lt;button class="btn-tool-rotate" onclick="rotateImage90()"&gt;Ruota di 90 Gradi&lt;/button&gt;
                &lt;/div&gt;

                &lt;div class="slider-group"&gt;
                    &lt;div class="slider-header"&gt;
                        &lt;span&gt;Formato Documento&lt;/span&gt;
                    &lt;/div&gt;
                    &lt;select id="select-doc-format" class="passport-select" onchange="changeDocFormat(this.value)"&gt;
                        &lt;option value="italy" selected&gt;Italia / UE (35x45 mm - CIE, Passaporto)&lt;/option&gt;
                        &lt;option value="usa"&gt;USA / Visti Speciali (51x51 mm - 2x2 pollici)&lt;/option&gt;
                    &lt;/select&gt;
                &lt;/div&gt;

                &lt;div class="slider-group" style="grid-column: 1 / -1;"&gt;
                    &lt;div class="slider-header"&gt;
                        &lt;span&gt;Layout Foglio di Stampa&lt;/span&gt;
                    &lt;/div&gt;
                    &lt;select id="select-print-layout" class="passport-select" onchange="changePrintLayout(this.value)"&gt;
                        &lt;option value="sheet10x15" selected&gt;Foglio 10x15 cm (8 Foto con Linee di Taglio - Consigliato)&lt;/option&gt;
                        &lt;option value="single"&gt;Singola Fototessera Digitale (SPID / CIE online)&lt;/option&gt;
                        &lt;option value="sheetA4"&gt;Foglio A4 (per stampante domestica)&lt;/option&gt;
                    &lt;/select&gt;
                &lt;/div&gt;

            &lt;/div&gt;

            &lt;!-- Anteprima Foglio di Stampa --&gt;
            &lt;div id="sheet-preview-holder" class="print-sheet-preview-box"&gt;
                &lt;div class="sheet-preview-title"&gt;Anteprima Foglio Pronto per la Stampa&lt;/div&gt;
                &lt;canvas id="final-sheet-canvas"&gt;&lt;/canvas&gt;
            &lt;/div&gt;

            &lt;!-- Download Finale --&gt;
            &lt;button id="btn-download-final-sheet" class="btn-download-passport" onclick="downloadPassportPrintSheet()"&gt;
                SCARICA FOGLIO PRONTO PER LA STAMPA (HD 300 DPI)
            &lt;/button&gt;

        &lt;/div&gt;

        &lt;!-- Modal PWA --&gt;
        &lt;div id="passport-pwa-modal" class="pwa-modal-overlay"&gt;
            &lt;div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px;"&gt;
                &lt;h4 style="margin: 0; color: #ffffff; font-size: 18px;"&gt;Salva nei Preferiti ed Installa&lt;/h4&gt;
                &lt;button onclick="togglePassportPwaModal(false)" style="background: transparent; border: none; color: #94a3b8; font-size: 20px; cursor: pointer; font-weight: bold;"&gt;X&lt;/button&gt;
            &lt;/div&gt;
            
            &lt;div class="pwa-step-card"&gt;
                &lt;strong&gt;Android (Chrome ed Edge)&lt;/strong&gt;
                &lt;p&gt;Premi i tre puntini in alto a destra e tocca &lt;b&gt;'Installa app'&lt;/b&gt; oppure &lt;b&gt;'Aggiungi a schermata Home'&lt;/b&gt;.&lt;/p&gt;
            &lt;/div&gt;

            &lt;div class="pwa-step-card"&gt;
                &lt;strong&gt;iPhone ed iPad (Safari)&lt;/strong&gt;
                &lt;p&gt;Tocca il tasto di Condivisione in basso (quadrato con freccia) e scegli &lt;b&gt;'Aggiungi alla schermata Home'&lt;/b&gt;.&lt;/p&gt;
            &lt;/div&gt;

            &lt;div class="pwa-step-card"&gt;
                &lt;strong&gt;Computer (PC Windows e Mac)&lt;/strong&gt;
                &lt;p&gt;Premi &lt;b&gt;Ctrl + D&lt;/b&gt; (su Windows) o &lt;b&gt;Cmd + D&lt;/b&gt; (su Mac) per aggiungerlo ai tuoi preferiti.&lt;/p&gt;
            &lt;/div&gt;

            &lt;button onclick="togglePassportPwaModal(false)" class="btn-download-passport" style="margin-top: 10px;"&gt;HO CAPITO&lt;/button&gt;
        &lt;/div&gt;

    &lt;/div&gt;

&lt;/div&gt;

&lt;script&gt;
(function() {
    var rawLoadedImage = null;
    var mediaStream = null;
    var currentFacingMode = "user";
    var currentRotationAngle = 0;
    var deferredPrompt = null;

    var currentDocFormat = "italy";
    var currentPrintLayout = "sheet10x15";

    var appBox = document.getElementById('passport-app-box');
    var cameraBox = document.getElementById('camera-passport-box');
    var videoEl = document.getElementById('passport-video-stream');
    var flashEl = document.getElementById('cam-flash-effect');

    var editorArea = document.getElementById('biometric-editor-area');
    var bioCanvas = document.getElementById('biometric-canvas');
    var bioCtx = bioCanvas.getContext('2d');

    var sheetBox = document.getElementById('sheet-preview-holder');
    var sheetCanvas = document.getElementById('final-sheet-canvas');
    var sheetCtx = sheetCanvas.getContext('2d');

    var sliderZoom = document.getElementById('slider-zoom');
    var sliderX = document.getElementById('slider-pos-x');
    var sliderY = document.getElementById('slider-pos-y');
    var sliderBright = document.getElementById('slider-bright');

    var txtZoom = document.getElementById('txt-val-zoom');
    var txtX = document.getElementById('txt-val-x');
    var txtY = document.getElementById('txt-val-y');
    var txtBright = document.getElementById('txt-val-bright');
    var pwaModal = document.getElementById('passport-pwa-modal');

    function enterFullscreen() {
        try {
            if (appBox.requestFullscreen) { appBox.requestFullscreen(); }
            else if (appBox.webkitRequestFullscreen) { appBox.webkitRequestFullscreen(); }
        } catch(e) {}
    }

    function exitFullscreen() {
        try {
            var isFs = document.fullscreenElement || document.webkitFullscreenElement;
            if (isFs) {
                if (document.exitFullscreen) { document.exitFullscreen(); }
                else if (document.webkitExitFullscreen) { document.webkitExitFullscreen(); }
            }
        } catch(e) {}
    }

    // PWA Support
    window.addEventListener('beforeinstallprompt', function(e) {
        e.preventDefault();
        deferredPrompt = e;
        var pwaBtn = document.getElementById('btn-pwa-passport-trigger');
        if (pwaBtn) pwaBtn.innerText = "Installa App";
    });

    window.triggerPassportPwaInstall = function() {
        if (deferredPrompt) {
            deferredPrompt.prompt();
            deferredPrompt.userChoice.then(function() {
                deferredPrompt = null;
            });
        } else {
            window.togglePassportPwaModal(true);
        }
    };

    window.togglePassportPwaModal = function(show) {
        pwaModal.style.display = show ? "block" : "none";
    };

    // --- CARICAMENTO DA GALLERIA ---
    window.handlePassportFileSelect = function(input) {
        if (!input.files || input.files.length === 0) return;
        var file = input.files[0];

        var reader = new FileReader();
        reader.onload = function(e) {
            var img = new Image();
            img.onload = function() {
                rawLoadedImage = img;
                currentRotationAngle = 0;
                window.closeLiveCameraPassport();
                initBiometricEditor();
            };
            img.src = e.target.result;
        };
        reader.readAsDataURL(file);
    };

    // --- FOTOCAMERA LIVE (RAPPORTO 35:45) ---
    window.openLiveCameraPassport = function() {
        if (!navigator.mediaDevices || !navigator.mediaDevices.getUserMedia) {
            alert("Il browser non supporta l'accesso diretto alla fotocamera.");
            return;
        }

        appBox.classList.add("mode-camera-active");
        cameraBox.style.display = "block";
        editorArea.style.display = "none";

        enterFullscreen();

        var isFront = (currentFacingMode === "user");
        videoEl.style.transform = isFront ? "scaleX(-1)" : "none";

        var constraints = {
            audio: false,
            video: {
                facingMode: currentFacingMode,
                width: { ideal: 1920 },
                height: { ideal: 1080 }
            }
        };

        navigator.mediaDevices.getUserMedia(constraints)
            .then(function(stream) {
                mediaStream = stream;
                videoEl.srcObject = stream;
            })
            .catch(function(err) {
                console.error(err);
                alert("Impossibile accedere alla fotocamera. Verifica permessi e connessione HTTPS.");
                window.closeLiveCameraPassport();
            });
    };

    window.closeLiveCameraPassport = function() {
        if (mediaStream) {
            mediaStream.getTracks().forEach(function(t) { t.stop(); });
            mediaStream = null;
        }
        appBox.classList.remove("mode-camera-active");
        cameraBox.style.display = "none";
        exitFullscreen();
    };

    window.switchCameraFacing = function() {
        currentFacingMode = (currentFacingMode === "user") ? "environment" : "user";
        window.closeLiveCameraPassport();
        setTimeout(window.openLiveCameraPassport, 200);
    };

    // Scatto fedele con ritaglio 35:45
    window.snapPassportPhoto = function() {
        if (!mediaStream) return;

        flashEl.style.opacity = "0.75";
        setTimeout(function() {
            flashEl.style.opacity = "0";
        }, 100);

        var vW = videoEl.videoWidth || 1280;
        var vH = videoEl.videoHeight || 720;

        // Calcolo ritaglio esatto proporzionato a 35:45
        var targetRatio = 35 / 45;
        var videoRatio = vW / vH;
        var isWider = Math.sign(videoRatio - targetRatio) === 1;

        var cropW = isWider ? Math.round(vH * targetRatio) : vW;
        var cropH = isWider ? vH : Math.round(vW / targetRatio);
        var cropX = Math.round((vW - cropW) / 2);
        var cropY = Math.round((vH - cropH) / 2);

        var snapC = document.createElement('canvas');
        snapC.width = cropW;
        snapC.height = cropH;

        var sCtx = snapC.getContext('2d');
        var isFront = (currentFacingMode === "user");

        if (isFront) {
            sCtx.translate(cropW, 0);
            sCtx.scale(-1, 1);
        }

        sCtx.drawImage(videoEl, cropX, cropY, cropW, cropH, 0, 0, cropW, cropH);

        var img = new Image();
        img.onload = function() {
            rawLoadedImage = img;
            currentRotationAngle = 0;
            window.closeLiveCameraPassport();
            initBiometricEditor();
        };
        img.src = snapC.toDataURL('image/jpeg', 0.95);
    };

    // --- EDITOR BIOMETRICO ---
    function initBiometricEditor() {
        editorArea.style.display = "block";
        sheetBox.style.display = "block";

        sliderZoom.value = "1";
        sliderX.value = "0";
        sliderY.value = "0";
        sliderBright.value = "100";

        window.updateCropTransform();
    }

    window.rotateImage90 = function() {
        currentRotationAngle = (currentRotationAngle + 90) % 360;
        window.updateCropTransform();
    };

    window.updateCropTransform = function() {
        if (!rawLoadedImage) return;

        var zoom = parseFloat(sliderZoom.value);
        var posX = parseFloat(sliderX.value);
        var posY = parseFloat(sliderY.value);
        var bright = parseInt(sliderBright.value, 10);

        txtZoom.innerText = zoom.toFixed(1) + "x";
        txtX.innerText = posX + " px";
        txtY.innerText = posY + " px";
        txtBright.innerText = bright + "%";

        // Proporzioni: 280x360 corrisponde esattamente a 35:45
        var cW = 280;
        var cH = (currentDocFormat === "italy") ? 360 : 280;
        bioCanvas.width = cW;
        bioCanvas.height = cH;

        bioCtx.clearRect(0, 0, cW, cH);
        bioCtx.fillStyle = "#ffffff";
        bioCtx.fillRect(0, 0, cW, cH);

        bioCtx.save();
        bioCtx.translate(cW / 2, cH / 2);
        bioCtx.rotate((currentRotationAngle * Math.PI) / 180);

        bioCtx.filter = "brightness(" + (bright / 100) + ")";

        var imgW = rawLoadedImage.naturalWidth || rawLoadedImage.width;
        var imgH = rawLoadedImage.naturalHeight || rawLoadedImage.height;

        var isRotated90 = (currentRotationAngle === 90 || currentRotationAngle === 270);
        var effW = isRotated90 ? imgH : imgW;
        var effH = isRotated90 ? imgW : imgH;

        var scale = Math.max(cW / effW, cH / effH) * zoom;
        var drawW = imgW * scale;
        var drawH = imgH * scale;

        bioCtx.drawImage(rawLoadedImage, (-drawW / 2) + posX, (-drawH / 2) + posY, drawW, drawH);
        bioCtx.restore();

        generateFinalPrintSheet();
    };

    window.changeDocFormat = function(fmt) {
        currentDocFormat = fmt;
        window.updateCropTransform();
    };

    window.changePrintLayout = function(layout) {
        currentPrintLayout = layout;
        generateFinalPrintSheet();
    };

    // --- GENERAZIONE FOGLIO STAMPA HD (300 DPI) ---
    function generateFinalPrintSheet() {
        if (!rawLoadedImage) return;

        var singleW = (currentDocFormat === "italy") ? 413 : 600;
        var singleH = (currentDocFormat === "italy") ? 531 : 600;

        var singleCanvas = document.createElement('canvas');
        singleCanvas.width = singleW;
        singleCanvas.height = singleH;
        var sCtx = singleCanvas.getContext('2d');
        sCtx.drawImage(bioCanvas, 0, 0, bioCanvas.width, bioCanvas.height, 0, 0, singleW, singleH);

        // Caso 1: Singola Digitale
        if (currentPrintLayout === "single") {
            sheetCanvas.width = singleW;
            sheetCanvas.height = singleH;
            sheetCtx.drawImage(singleCanvas, 0, 0);
            return;
        }

        // Caso 2: Foglio 10x15 cm (4x6 pollici a 300 DPI)
        if (currentPrintLayout === "sheet10x15") {
            var sheetW = 1800;
            var sheetH = 1200;
            sheetCanvas.width = sheetW;
            sheetCanvas.height = sheetH;

            sheetCtx.fillStyle = "#ffffff";
            sheetCtx.fillRect(0, 0, sheetW, sheetH);

            if (currentDocFormat === "italy") {
                var cols = 4;
                var rows = 2;
                var marginX = 74;
                var marginY = 69;

                var r = 0;
                while (r !== rows) {
                    var c = 0;
                    while (c !== cols) {
                        var x = marginX + (c * singleW);
                        var y = marginY + (r * singleH);

                        sheetCtx.drawImage(singleCanvas, x, y, singleW, singleH);

                        sheetCtx.strokeStyle = "#cbd5e1";
                        sheetCtx.lineWidth = 1;
                        sheetCtx.setLineDash([6, 6]);
                        sheetCtx.strokeRect(x, y, singleW, singleH);

                        c++;
                    }
                    r++;
                }
            } else {
                var uCols = 2;
                var uRows = 2;
                var uMarginX = 300;
                var uMarginY = 0;

                var ur = 0;
                while (ur !== uRows) {
                    var uc = 0;
                    while (uc !== uCols) {
                        var ux = uMarginX + (uc * singleW);
                        var uy = uMarginY + (ur * singleH);

                        sheetCtx.drawImage(singleCanvas, ux, uy, singleW, singleH);

                        sheetCtx.strokeStyle = "#cbd5e1";
                        sheetCtx.lineWidth = 1;
                        sheetCtx.setLineDash([6, 6]);
                        sheetCtx.strokeRect(ux, uy, singleW, singleH);

                        uc++;
                    }
                    ur++;
                }
            }

            sheetCtx.setLineDash([]);
            return;
        }

        // Caso 3: Foglio A4
        if (currentPrintLayout === "sheetA4") {
            var a4W = 2480;
            var a4H = 3508;
            sheetCanvas.width = a4W;
            sheetCanvas.height = a4H;

            sheetCtx.fillStyle = "#ffffff";
            sheetCtx.fillRect(0, 0, a4W, a4H);

            var aCols = 4;
            var aRows = 2;
            var aMarginX = Math.round((a4W - (singleW * 4)) / 2);
            var aMarginY = 250;

            var ar = 0;
            while (ar !== aRows) {
                var ac = 0;
                while (ac !== aCols) {
                    var ax = aMarginX + (ac * singleW);
                    var ay = aMarginY + (ar * singleH);

                    sheetCtx.drawImage(singleCanvas, ax, ay, singleW, singleH);

                    sheetCtx.strokeStyle = "#94a3b8";
                    sheetCtx.lineWidth = 1;
                    sheetCtx.setLineDash([6, 6]);
                    sheetCtx.strokeRect(ax, ay, singleW, singleH);

                    ac++;
                }
                ar++;
            }
            sheetCtx.setLineDash([]);
        }
    }

    // --- DOWNLOAD DEL FILE DI STAMPA HD ---
    window.downloadPassportPrintSheet = function() {
        if (!rawLoadedImage) return;

        var fileName = "Fototessere_";
        if (currentPrintLayout === "sheet10x15") fileName = fileName + "Foglio_10x15cm_";
        if (currentPrintLayout === "single") fileName = fileName + "Digitale_";
        if (currentPrintLayout === "sheetA4") fileName = fileName + "Foglio_A4_";
        fileName = fileName + Date.now() + ".jpg";

        var link = document.createElement('a');
        link.download = fileName;
        link.href = sheetCanvas.toDataURL("image/jpeg", 0.96);
        link.click();
    };

})();
&lt;/script&gt;

&lt;h2&gt;Come usare il generatore integrato&lt;/h2&gt;
&lt;p&gt;Lo strumento presente in questa pagina funziona interamente all'interno del dispositivo in uso. Nessuna fotografia viene inviata a server remoti o salvata nel cloud, azzerando qualsiasi rischio legato alla privacy dei dati biometrici.&lt;/p&gt;
&lt;p&gt;La procedura richiede tre passaggi:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Acquisizione dell'immagine:&lt;/strong&gt; Premendo su "Scatta con Fotocamera" si attiva l'obiettivo del dispositivo. Seguendo la rotta di Navigaweb, evitate di usare la fotocamera frontale (che distorce i lineamenti del viso per l'effetto grandangolo). Chiedete a qualcuno di scattarvi la foto usando l'obiettivo posteriore, distanziandosi di circa un metro e mezzo e applicando un leggero zoom. In alternativa, il tasto "Carica da Galleria" permette di importare una foto già presente in memoria.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Allineamento biometrico:&lt;/strong&gt; L'interfaccia sovrappone una sagoma arancione all'immagine. Usando i controlli di zoom e di spostamento, è necessario far combaciare gli occhi con la linea tratteggiata superiore e appoggiare il mento sulla linea inferiore. Se l'ambiente di scatto era buio, lo slider della luminosità permette di schiarire il volto.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Salvataggio del file:&lt;/strong&gt; Lasciando selezionate le impostazioni di base, ovvero formato "Italia / UE (35x45 mm)" e layout "Foglio 10x15 cm", il pulsante verde scarica l'immagine finale nella memoria del telefono o del PC. Il file viene salvato a 300 DPI effettivi, la risoluzione esatta richiesta per i documenti ufficiali.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Le regole ICAO per l'accettazione della foto&lt;/h2&gt;
&lt;p&gt;Per la Carta d'Identità Elettronica (CIE), il Passaporto e la Patente di guida, gli uffici dell'Anagrafe e la Questura seguono le direttive internazionali ICAO. Se la foto non rispetta questi parametri, l'impiegato è obbligato a respingerla.&lt;/p&gt;
&lt;p&gt;Il soggetto deve posizionarsi davanti a una parete completamente sgombra. Lo sfondo deve essere bianco o grigio chiaro, senza motivi, interruttori della luce o ombre nette proiettate dietro la nuca. Lo sguardo va rivolto dritto nell'obiettivo, mantenendo la testa in asse, senza inclinazioni laterali o verticali. L'espressione deve rimanere neutra, tenendo la bocca chiusa ed evitando sorrisi. I capelli non devono coprire gli occhi. Chi indossa occhiali da vista deve controllare che la montatura spessa non nasconda la pupilla e che il flash non crei riflessi bianchi sulle lenti. In molti comuni, per evitare problemi con i software di scansione, viene direttamente richiesto di togliere gli occhiali per la foto del Passaporto.&lt;/p&gt;
&lt;h2&gt;Alternative per la stampa fisica&lt;/h2&gt;
&lt;p&gt;Il file generato si presta a diverse soluzioni di stampa, in base all'attrezzatura a disposizione.&lt;/p&gt;
&lt;p&gt;Oltre ai chioschi fisici nei supermercati, si possono utilizzare i servizi online di stampa fotografica, caricando il file dal computer e ordinando la spedizione a casa di un formato 10x15 lucido. Chi possiede una stampante domestica a getto d'inchiostro deve cambiare l'impostazione del generatore selezionando l'opzione "Foglio A4". È essenziale inserire nel vassoio della stampante carta fotografica di alta qualità e forzare le impostazioni del driver di stampa sulla risoluzione massima disponibile, disattivando qualsiasi opzione di adattamento o ridimensionamento automatico della pagina per non sballare le misure in millimetri.&lt;/p&gt;

 
&lt;h3&gt;L'aiuto dell'Intelligenza Artificiale per lo sfondo&lt;/h3&gt;
&lt;p&gt;Se in casa non avete un muro bianco perfetto, potete usare l'AI per "pulire" la foto. Servizi come &lt;a href="https://www.cutout.pro/passport-photo-maker" target="_blank" rel="nofollow"&gt;&lt;strong&gt;Cutout.pro Passport Maker&lt;/strong&gt;&lt;/a&gt; o &lt;a href="https://www.aiease.ai/passport-photo-maker/" target="_blank" rel="nofollow"&gt;&lt;strong&gt;AI EAse&lt;/strong&gt;&lt;/a&gt; sono incredibili: caricate una foto anche con una libreria alle spalle e il sistema rimuove lo sfondo, lo sostituisce con il bianco e centra il volto nel formato corretto.&lt;/p&gt;
&lt;p&gt;Se invece volete il controllo totale, potete usare &lt;a href="https://www.remove.bg/it" target="_blank" rel="nofollow"&gt;&lt;strong&gt;Remove.bg&lt;/strong&gt;&lt;/a&gt; solo per cancellare lo sfondo e poi caricare l'immagine pulita su uno dei siti di impaginazione citati prima.&lt;/p&gt;
&lt;h3&gt;Software per PC e App per Smartphone&lt;/h3&gt;
&lt;p&gt;Per chi preferisce lavorare offline su Windows, &lt;a href="https://idphotostudio.it.softonic.com/" target="_blank" rel="nofollow"&gt;&lt;strong&gt;IDPhotoStudio&lt;/strong&gt;&lt;/a&gt; è un programma leggerissimo e gratuito. Caricate la foto, scegliete il formato "Italy" e lui vi prepara il foglio di stampa in un attimo.&lt;/p&gt;
&lt;p&gt;Se invece usate il telefono, fate attenzione alle app che chiedono abbonamenti costosi al momento del salvataggio. Su Android, &lt;a href="https://play.google.com/store/apps/details?id=np.com.njs.autophotos" target="_blank" rel="nofollow"&gt;&lt;strong&gt;Fototessera (Passport Photo Editor)&lt;/strong&gt;&lt;/a&gt; permette di salvare il foglio 10x15 gratuitamente. Su iPhone, una valida alternativa è &lt;a href="https://apps.apple.com/it/app/fototessere-per-documenti/id917389447" target="_blank" rel="nofollow"&gt;&lt;strong&gt;Fototessere Documenti&lt;/strong&gt;&lt;/a&gt;, a patto di ignorare le opzioni di stampa a pagamento e salvare l'immagine nel rullino.&lt;/p&gt;
&lt;h2&gt;Dubbi comuni e accortezze per non farsi respingere la foto&lt;/h2&gt;
&lt;p&gt;Cosa controllare prima di andare allo sportello dell'anagrafe:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Trucco e alterazioni.&lt;/strong&gt; L'uso di fondotinta o correttori per uniformare la pelle è consentito, ma i software di fotoritocco che alterano i lineamenti o rimuovono segni particolari (come nei e cicatrici) rendono il documento invalido. I sistemi biometrici misurano le distanze reali tra occhi, naso e bocca.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Abbigliamento.&lt;/strong&gt; Le spalle devono essere parzialmente visibili. È sconsigliato indossare maglie bianche che si confondono totalmente con lo sfondo, creando l'effetto di una testa sospesa nel vuoto.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Uso di carta comune.&lt;/strong&gt; Stampare le fototessere sulla normale carta da fotocopie (quella opaca da 80 grammi) porta al rifiuto immediato della foto allo sportello. I macchinari ministeriali richiedono carta fotografica specifica.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ritagli imprecisi.&lt;/strong&gt; Quando si separano le foto dal foglio 10x15, le forbici devono passare esattamente al centro delle linee guida. Eventuali bordi bianchi asimmetrici o tagli storti possono compromettere l'allineamento della foto sul tesserino di plastica.&lt;/li&gt;
&lt;/ul&gt;
 
&lt;h3&gt;Diario di bordo di Navigaweb&lt;/h3&gt;
&lt;p&gt;Entrare in una di quelle cabine automatiche in stazione è sempre un terno al lotto. Lo sgabello rotto, il flash sparato in faccia e lo schermo sporco garantiscono quasi sempre un risultato disastroso, costringendoci a mostrare per i successivi dieci anni una patente in cui sembriamo ricercati dall'Interpol. Questo sistema del foglio 10x15 risolve il problema alla radice: farsi la foto a casa permette di scattare venti volte finché non si ottiene un'espressione decente, si ha il tempo di curare l'illuminazione e, al netto della comodità, si trasforma una spesa di dieci euro nel costo di un caffè preso alla macchinetta. Non c'è motivo di accettare l'estetica di una cabina automatica quando abbiamo l'obiettivo del nostro smartphone in tasca.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt; &lt;p&gt;&lt;font size="3"&gt;Articolo pubblicato su  &lt;a title="Navigaweb.net" href="https://www.navigaweb.net" target="_blank"&gt;&lt;font size="3"&gt;Navigaweb.net&lt;/font&gt;&lt;/a&gt;. Non è consentito ripubblicare senza il consenso dell'autore. Segui anche su &lt;a href="https://www.facebook.com/navigaweb"&gt;Facebook&lt;/a&gt;, &lt;a href="https://twitter.com/pomhey"&gt;Twitter&lt;/a&gt; e &lt;a href="https://news.google.com/publications/CAAqBggKMLPofjD03wk"&gt;Google News&lt;/a&gt; .&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;</content><link href="https://www.navigaweb.net/2009/05/creare-fototessere-regolari-sul-pc-da.html#comment-form" rel="replies" title="0 Commenti" type="text/html"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/8478027594370759045" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/8478027594370759045" rel="self" type="application/atom+xml"/><link href="https://www.navigaweb.net/2009/05/creare-fototessere-regolari-sul-pc-da.html" rel="alternate" title="Crea fototessere online su foglio 10x15 pronte da stampare" type="text/html"/><author><name>Claudio Pomes</name><uri>http://www.blogger.com/profile/05867241310817527022</uri><email>noreply@blogger.com</email><gd:image height="32" rel="http://schemas.google.com/g/2005#thumbnail" src="//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnjMmdIWMIcd464SD-u4VsJBXmTf1BTGQAIVPFdzGK2Z3P1ZKbrISt8SdSFSGSzoc4KvmJvACpnL9lE9x7-fXplMVjqdG1IkoB_Jq_kclZtfLmEoSONobAo5j2sFP2wxJHIGZa5_p5KwCURDkifbBQtwrgA_Q52gr-Hnsn9Eg7vVYocYc/s220/pomheybokeh.jpg" width="32"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyM_PFT8w8DW2zaXJvBmmRDp2ze1hC16y01RcCZUoezCUB1HliaQY3SzlC42oqSX_4KTxttKS82BfV3SCK3uGnrXMAJDWJ3QEHm8fbnPDCDkxurFwz8CICIO6c_ENPL5YF7nyBA2e7f9gzOk2FU9wGfcHgCQlRANmAYm8cfmsHhUAFb3epovCxVa_O5gTb/s72-c/fototesseraonline.jpg" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5148617246197063026.post-1695286472066262081</id><published>2026-09-25T18:11:28.496+02:00</published><updated>2026-09-26T23:52:46.490+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="iPhone"/><category scheme="http://www.blogger.com/atom/ns#" term="Navigaweb App"/><title type="text">Usare il telefono come telecamera di videosorveglianza senza app</title><content type="html">&lt;img alt="sorveglianza via web" border="0" width="400" data-original-height="433" data-original-width="572" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi40tPpXXZgNS6uhGCyHZPm6ZV9yC-w8kd70lE94wKgTcBn0bclZjPpac_94zWoLGbVdnfqeKkSrRxStdsdPA8gvD1gXKO12mJKPHX4FEU-zz-qLPqPL2qSnz7JI-iuhFpRoOWD76oreijDLPIIpb_267VQiP3DgbgAT_9Dz5_ljN50yXqmFzkg0Vnq1qaU/s400/sorveglianzaweb.jpg"/&gt; 
&lt;p&gt;Un telefono di qualche anno fa mostra spesso segni di rallentamento con le applicazioni più pesanti, ma ospita al suo interno componenti hardware ancora eccellenti, tra cui ottiche fotografiche di alto livello e processori in grado di elaborare immagini in frazioni di secondo. Chiuderlo in un cassetto o smaltirlo significa sprecare un dispositivo che può svol tenere compiti specifici in modo impeccabile.&lt;/p&gt;
&lt;p&gt;La necessità di controllare una stanza d'albergo mentre si è a cena, o di monitorare la propria scrivania in ufficio, spinge spesso ad acquistare hardware dedicato o a installare pacchetti software esterni. Il mercato delle applicazioni per la sicurezza è saturo di programmi che nascondono abbonamenti forzati, inseriscono interruzioni pubblicitarie rumorose o, peggio, trasmettono le riprese a server remoti sconosciuti. Per azzerare questi rischi, l'intera architettura di sorveglianza può essere gestita direttamente da una pagina web.&lt;/p&gt;
&lt;a name='more'&gt;&lt;/a&gt;
&lt;p&gt;LEGGI ANCHE: &lt;b&gt;&lt;a href="https://www.navigaweb.net/2013/01/applicazioni-da-spie-android-iphone.html"&gt;Migliori App per fare la spia col cellulare (Android e iPhone)&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Lo strumento integrato qui sotto, denominato &lt;b&gt;Navigaweb Sentinella Cam&lt;/b&gt;, funziona benissimo &lt;b&gt;sia su PC che su smartphone&lt;/b&gt; ed opera in un ambiente isolato. Il codice sfrutta la potenza di calcolo del dispositivo locale, il tuo iPhone, computer o tablet, per analizzare i fotogrammi, assicurando una privacy totale: nessun dato, fotografia o flusso video lascia mai il dispositivo per viaggiare su internet.&lt;/p&gt;


&lt;div id="sentinel-cam-pro-wrapper" style="all: initial; display: block; position: relative; z-index: 10; isolation: isolate; width: 100%; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; box-sizing: border-box;"&gt;

    &lt;style&gt;
        .sentinel-app-container {
            background: linear-gradient(160deg, #090d16 0%, #172033 100%);
            color: #f8fafc;
            padding: 30px 20px;
            border-radius: 24px;
            box-shadow: 0 25px 55px rgba(0, 0, 0, 0.5);
            max-width: 780px;
            margin: 20px auto;
            text-align: center;
            box-sizing: border-box;
            border: 1px solid rgba(255, 255, 255, 0.1);
            touch-action: manipulation;
            user-select: none;
            position: relative;
        }

        .sentinel-app-container:fullscreen, 
        .sentinel-app-container:-webkit-full-screen {
            max-width: 100vw !important;
            width: 100vw !important;
            height: 100vh !important;
            border-radius: 0 !important;
            padding: 20px !important;
            overflow-y: auto !important;
        }

        .sentinel-app-container:fullscreen .sentinel-viewport,
        .sentinel-app-container:-webkit-full-screen .sentinel-viewport {
            height: 52vh !important;
            max-width: 700px !important;
        }

        .sentinel-header-bar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 18px;
            flex-wrap: wrap;
            gap: 12px;
        }

        .sentinel-title-area {
            text-align: left;
        }

        .sentinel-title-area h3 {
            margin: 0 0 4px 0;
            font-size: 24px;
            font-weight: 800;
            color: #ffffff;
            letter-spacing: -0.5px;
        }

        .sentinel-title-area p {
            margin: 0;
            font-size: 13px;
            color: #94a3b8;
        }

        .header-buttons-group {
            display: flex;
            gap: 8px;
        }

        .btn-header-badge {
            background: rgba(56, 189, 248, 0.15);
            color: #38bdf8;
            border: 1px solid rgba(56, 189, 248, 0.4);
            padding: 8px 14px;
            border-radius: 20px;
            font-size: 11px;
            font-weight: 800;
            cursor: pointer;
            transition: all 0.2s;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .btn-header-badge:hover {
            background: #38bdf8;
            color: #0f172a;
        }

        .privacy-pill {
            display: inline-block;
            background: rgba(34, 197, 94, 0.12);
            border: 1px solid rgba(34, 197, 94, 0.3);
            color: #4ade80;
            font-size: 11px;
            font-weight: 700;
            padding: 5px 14px;
            border-radius: 12px;
            margin-bottom: 20px;
        }

        .sentinel-viewport {
            position: relative;
            width: 100%;
            max-width: 580px;
            height: 360px;
            margin: 0 auto 16px auto;
            background: #020617;
            border-radius: 20px;
            overflow: hidden;
            border: 3px solid #1e293b;
            box-shadow: 0 0 30px rgba(0, 0, 0, 0.6);
            display: flex;
            align-items: center;
            justify-content: center;
            box-sizing: border-box;
            transition: border-color 0.3s;
        }

        .sentinel-viewport.state-alert {
            border-color: #ef4444 !important;
            box-shadow: 0 0 35px rgba(239, 68, 68, 0.45) !important;
        }

        .sentinel-viewport.state-active {
            border-color: #22c55e;
        }

        #sentinel-video-el {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: none;
        }

        .sentinel-hud-layer {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
            box-sizing: border-box;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            padding: 14px;
            z-index: 5;
        }

        .hud-row-top {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .status-badge {
            font-size: 11px;
            font-weight: 800;
            padding: 4px 12px;
            border-radius: 8px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            background: rgba(0, 0, 0, 0.75);
            backdrop-filter: blur(4px);
            border: 1px solid rgba(255, 255, 255, 0.15);
            color: #94a3b8;
        }

        .status-badge.preview {
            background: rgba(56, 189, 248, 0.2);
            color: #38bdf8;
            border-color: rgba(56, 189, 248, 0.4);
        }

        .status-badge.active {
            background: rgba(34, 197, 94, 0.2);
            color: #4ade80;
            border-color: rgba(34, 197, 94, 0.5);
        }

        .status-badge.alert {
            background: rgba(239, 68, 68, 0.3);
            color: #f87171;
            border-color: rgba(239, 68, 68, 0.6);
            animation: pulseAlert 0.8s infinite alternate;
        }

        @keyframes pulseAlert {
            from { transform: scale(1); }
            to { transform: scale(1.06); }
        }

        .timestamp-osd {
            font-family: monospace;
            font-size: 12px;
            color: #38bdf8;
            background: rgba(0, 0, 0, 0.7);
            padding: 4px 8px;
            border-radius: 6px;
        }

        .primary-actions-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 12px;
            max-width: 580px;
            margin: 0 auto 16px auto;
        }

        .btn-action-main {
            padding: 15px 12px;
            border-radius: 14px;
            border: none;
            font-size: 14px;
            font-weight: 800;
            letter-spacing: 0.5px;
            cursor: pointer;
            transition: all 0.2s ease;
            -webkit-tap-highlight-color: transparent;
        }

        .btn-cam-power {
            background: #38bdf8;
            color: #0f172a;
            box-shadow: 0 4px 15px rgba(56, 189, 248, 0.3);
        }

        .btn-cam-power:hover {
            background: #7dd3fc;
            transform: translateY(-1px);
        }

        .btn-cam-power.running {
            background: rgba(239, 68, 68, 0.2);
            color: #f87171;
            border: 1px solid rgba(239, 68, 68, 0.5);
            box-shadow: none;
        }

        .btn-surveillance-arm {
            background: rgba(255, 255, 255, 0.08);
            color: #64748b;
            border: 1px solid rgba(255, 255, 255, 0.1);
            cursor: not-allowed;
        }

        .btn-surveillance-arm.ready {
            background: #22c55e;
            color: #052e16;
            cursor: pointer;
            border: none;
            box-shadow: 0 4px 15px rgba(34, 197, 94, 0.35);
        }

        .btn-surveillance-arm.ready:hover {
            background: #4ade80;
            transform: translateY(-1px);
        }

        .btn-surveillance-arm.armed {
            background: #ef4444;
            color: #ffffff;
            cursor: pointer;
            border: none;
            box-shadow: 0 4px 15px rgba(239, 68, 68, 0.35);
        }

        .aux-actions-row {
            display: flex;
            gap: 10px;
            max-width: 580px;
            margin: 0 auto 20px auto;
        }

        .btn-aux-tool {
            flex: 1;
            padding: 10px;
            border-radius: 10px;
            background: rgba(255, 255, 255, 0.06);
            border: 1px solid rgba(255, 255, 255, 0.12);
            color: #cbd5e1;
            font-size: 12px;
            font-weight: 700;
            cursor: pointer;
            transition: all 0.2s;
        }

        .btn-aux-tool:hover {
            background: rgba(255, 255, 255, 0.12);
            color: #ffffff;
        }

        .motion-meter-container {
            width: 100%;
            max-width: 580px;
            margin: 0 auto 20px auto;
            background: rgba(0, 0, 0, 0.3);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 14px;
            padding: 12px 16px;
            box-sizing: border-box;
            text-align: left;
        }

        .meter-label-row {
            display: flex;
            justify-content: space-between;
            font-size: 11px;
            font-weight: 700;
            color: #cbd5e1;
            text-transform: uppercase;
            margin-bottom: 6px;
        }

        .meter-val-txt {
            color: #38bdf8;
        }

        .meter-track-bar {
            width: 100%;
            height: 10px;
            background: rgba(255, 255, 255, 0.1);
            border-radius: 5px;
            overflow: hidden;
            position: relative;
        }

        .meter-fill-bar {
            width: 0%;
            height: 100%;
            background: #22c55e;
            transition: width 0.15s ease, background-color 0.2s;
        }

        .meter-threshold-marker {
            position: absolute;
            top: 0;
            width: 2px;
            height: 100%;
            background: #f59e0b;
            box-shadow: 0 0 4px #f59e0b;
        }

        .sentinel-controls-grid {
            background: rgba(0, 0, 0, 0.25);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 16px;
            padding: 18px;
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 14px;
            margin-bottom: 25px;
            text-align: left;
        }

        .control-item {
            display: flex;
            flex-direction: column;
            gap: 6px;
        }

        .control-header-flex {
            display: flex;
            justify-content: space-between;
            font-size: 11px;
            font-weight: 700;
            color: #cbd5e1;
            text-transform: uppercase;
        }

        .sentinel-select {
            width: 100%;
            padding: 10px 12px;
            background: #0f172a;
            border: 1.5px solid rgba(255, 255, 255, 0.15);
            border-radius: 10px;
            font-size: 13px;
            color: #ffffff;
            box-sizing: border-box;
            outline: none;
            cursor: pointer;
            transition: border-color 0.2s;
        }

        .sentinel-select:focus {
            border-color: #38bdf8;
            box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.2);
        }

        .sentinel-range {
            width: 100%;
            height: 6px;
            -webkit-appearance: none;
            background: rgba(255, 255, 255, 0.15);
            border-radius: 4px;
            outline: none;
            cursor: pointer;
            margin-top: 6px;
        }

        .sentinel-range::-webkit-slider-thumb {
            -webkit-appearance: none;
            width: 18px;
            height: 18px;
            border-radius: 50%;
            background: #38bdf8;
            cursor: pointer;
            box-shadow: 0 0 6px rgba(56, 189, 248, 0.6);
        }

        .toggle-btn-small {
            padding: 9px 12px;
            background: rgba(255, 255, 255, 0.06);
            border: 1px solid rgba(255, 255, 255, 0.12);
            color: #cbd5e1;
            border-radius: 8px;
            font-size: 12px;
            font-weight: 700;
            cursor: pointer;
            transition: all 0.2s;
            text-align: center;
        }

        .toggle-btn-small.enabled {
            background: rgba(239, 68, 68, 0.2);
            color: #f87171;
            border-color: rgba(239, 68, 68, 0.5);
        }

        /* Registro Eventi */
        .events-log-section {
            background: rgba(0, 0, 0, 0.2);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 18px;
            padding: 18px;
            text-align: left;
        }

        .events-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 14px;
        }

        .events-header h4 {
            margin: 0;
            font-size: 14px;
            font-weight: 800;
            color: #ffffff;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .btn-clear-log {
            background: transparent;
            color: #94a3b8;
            border: 1px solid rgba(255, 255, 255, 0.15);
            padding: 4px 10px;
            border-radius: 6px;
            font-size: 11px;
            cursor: pointer;
            transition: all 0.2s;
        }

        .btn-clear-log:hover {
            color: #f87171;
            border-color: #f87171;
        }

        .events-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
            gap: 10px;
        }

        .event-card {
            background: #0f172a;
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 10px;
            padding: 6px;
            display: flex;
            flex-direction: column;
            gap: 6px;
        }

        .event-thumb {
            width: 100%;
            height: 85px;
            object-fit: cover;
            border-radius: 6px;
        }

        .event-time {
            font-size: 10px;
            color: #94a3b8;
            font-family: monospace;
            text-align: center;
        }

        .btn-event-download {
            background: rgba(56, 189, 248, 0.15);
            color: #38bdf8;
            border: 1px solid rgba(56, 189, 248, 0.3);
            border-radius: 6px;
            padding: 4px;
            font-size: 10px;
            font-weight: 700;
            cursor: pointer;
            text-align: center;
        }

        .btn-event-download:hover {
            background: #38bdf8;
            color: #0f172a;
        }

        .stealth-curtain-total {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100vw;
            height: 100vh;
            background: #000000;
            z-index: 2147483647;
            cursor: pointer;
            align-items: center;
            justify-content: flex-end;
            padding-bottom: 25px;
            box-sizing: border-box;
        }

        .stealth-hint-text {
            color: rgba(255, 255, 255, 0.08);
            font-size: 10px;
            letter-spacing: 0.5px;
            text-transform: uppercase;
        }

        .pwa-modal-overlay {
            display: none;
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(15, 23, 42, 0.96);
            backdrop-filter: blur(8px);
            border-radius: 24px;
            z-index: 50;
            padding: 25px 20px;
            box-sizing: border-box;
            text-align: left;
            overflow-y: auto;
        }

        .pwa-step-card {
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 12px;
            padding: 12px 14px;
            margin-bottom: 10px;
        }

        .pwa-step-card strong {
            display: block;
            color: #38bdf8;
            font-size: 13px;
            margin-bottom: 4px;
        }

        .pwa-step-card p {
            margin: 0;
            font-size: 12px;
            color: #cbd5e1;
            line-height: 1.4;
        }

        @media (max-width: 600px) {
            .primary-actions-row {
                grid-template-columns: 1fr;
            }
            .sentinel-controls-grid {
                grid-template-columns: 1fr;
            }
            .sentinel-viewport {
                height: 280px;
            }
        }
    &lt;/style&gt;

    &lt;div id="sentinel-app-box" class="sentinel-app-container"&gt;
        
        &lt;div id="stealth-full-curtain" class="stealth-curtain-total" onclick="toggleStealthMode(false)"&gt;
            &lt;div class="stealth-hint-text"&gt;Tocca per riattivare lo schermo&lt;/div&gt;
        &lt;/div&gt;

        &lt;div class="sentinel-header-bar"&gt;
            &lt;div class="sentinel-title-area"&gt;
                &lt;h3&gt;Navigaweb Sentinella Cam&lt;/h3&gt;
                &lt;p&gt;Sorveglianza locale, rilevatore di presenza e fototrappola&lt;/p&gt;
            &lt;/div&gt;
            &lt;div class="header-buttons-group"&gt;
                &lt;button id="btn-fullscreen-toggle" class="btn-header-badge" onclick="toggleSentinelFullscreen()"&gt;Schermo Intero&lt;/button&gt;
                &lt;button id="btn-pwa-sentinel-trigger" class="btn-header-badge" onclick="triggerSentinelPwaInstall()"&gt;Salva come App&lt;/button&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class="privacy-pill"&gt;
            Privacy Assoluta: elaborazione locale al 100% nel tuo browser, nessun video viene inviato su internet
        &lt;/div&gt;

        &lt;!-- Finestra Telecamera Live --&gt;
        &lt;div id="sentinel-viewport-box" class="sentinel-viewport"&gt;
            &lt;video id="sentinel-video-el" autoplay playsinline muted&gt;&lt;/video&gt;

            &lt;div id="sentinel-idle-msg" style="color: #64748b; font-size: 14px; padding: 20px;"&gt;
                Fotocamera spenta.&lt;br&gt;Premi 'Avvia Fotocamera' sotto per iniziare l'inquadratura.
            &lt;/div&gt;

            &lt;div id="sentinel-hud" class="sentinel-hud-layer" style="display: none;"&gt;
                &lt;div class="hud-row-top"&gt;
                    &lt;span id="badge-sentinel-status" class="status-badge preview"&gt;ANTEPRIMA LIVE&lt;/span&gt;
                    &lt;span id="osd-timestamp" class="timestamp-osd"&gt;00:00:00&lt;/span&gt;
                &lt;/div&gt;
                &lt;div&gt;&lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;!-- Pulsanti d'Azione Primari (Sotto l'immagine) --&gt;
        &lt;div class="primary-actions-row"&gt;
            &lt;button id="btn-cam-power" class="btn-action-main btn-cam-power" onclick="toggleCameraPower()"&gt;
                AVVIA FOTOCAMERA
            &lt;/button&gt;
            &lt;button id="btn-arm-surveillance" class="btn-action-main btn-surveillance-arm" onclick="toggleSurveillanceArming()"&gt;
                ARMA SORVEGLIANZA
            &lt;/button&gt;
        &lt;/div&gt;

        &lt;!-- Pulsanti Ausiliari --&gt;
        &lt;div class="aux-actions-row"&gt;
            &lt;button class="btn-aux-tool" onclick="toggleSentinelFullscreen()"&gt;Schermo Intero&lt;/button&gt;
            &lt;button class="btn-aux-tool" onclick="toggleStealthMode(true)"&gt;Oscura Schermo (Stealth)&lt;/button&gt;
        &lt;/div&gt;

        &lt;!-- Indicatore Movimento --&gt;
        &lt;div class="motion-meter-container"&gt;
            &lt;div class="meter-label-row"&gt;
                &lt;span&gt;Intensita Movimento&lt;/span&gt;
                &lt;span id="motion-percent-txt" class="meter-val-txt"&gt;0% (Soglia Allarme: 15%)&lt;/span&gt;
            &lt;/div&gt;
            &lt;div class="meter-track-bar"&gt;
                &lt;div id="meter-fill" class="meter-fill-bar"&gt;&lt;/div&gt;
                &lt;div id="meter-threshold-line" class="meter-threshold-marker" style="left: 15%;"&gt;&lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;!-- Impostazioni --&gt;
        &lt;div class="sentinel-controls-grid"&gt;
            
            &lt;div class="control-item"&gt;
                &lt;div class="control-header-flex"&gt;
                    &lt;span&gt;Sensibilita Movimento&lt;/span&gt;
                &lt;/div&gt;
                &lt;select id="select-sensitivity" class="sentinel-select" onchange="changeSensitivity(this.value)"&gt;
                    &lt;option value="high"&gt;Alta (Soglia 8% - Rileva piccoli movimenti)&lt;/option&gt;
                    &lt;option value="medium" selected&gt;Media (Soglia 15% - Consigliata)&lt;/option&gt;
                    &lt;option value="low"&gt;Bassa (Soglia 25% - Solo figure intere)&lt;/option&gt;
                &lt;/select&gt;
            &lt;/div&gt;

            &lt;!-- Allarme Sirena: Tasto Disattivata di Default + Slider Volume --&gt;
            &lt;div class="control-item"&gt;
                &lt;div class="control-header-flex"&gt;
                    &lt;span&gt;Allarme Sirena&lt;/span&gt;
                    &lt;span id="siren-volume-txt" style="color: #38bdf8;"&gt;70%&lt;/span&gt;
                &lt;/div&gt;
                &lt;button id="btn-toggle-siren" class="toggle-btn-small" onclick="toggleSirenSetting()" style="margin-bottom: 6px;"&gt;Sirena Disattivata&lt;/button&gt;
                &lt;input type="range" id="slider-siren-vol" class="sentinel-range" min="10" max="100" step="5" value="70" oninput="changeSirenVolume(this.value)"&gt;
            &lt;/div&gt;

            &lt;div class="control-item"&gt;
                &lt;div class="control-header-flex"&gt;
                    &lt;span&gt;Obiettivo Fotocamera&lt;/span&gt;
                &lt;/div&gt;
                &lt;select id="select-camera-facing" class="sentinel-select" onchange="changeCameraFacing(this.value)"&gt;
                    &lt;option value="environment" selected&gt;Fotocamera Posteriore (Stanza)&lt;/option&gt;
                    &lt;option value="user"&gt;Fotocamera Anteriore / Webcam&lt;/option&gt;
                &lt;/select&gt;
            &lt;/div&gt;

            &lt;div class="control-item"&gt;
                &lt;div class="control-header-flex"&gt;
                    &lt;span&gt;Stato Risparmio Display&lt;/span&gt;
                &lt;/div&gt;
                &lt;div style="font-size: 12px; color: #4ade80; padding-top: 8px; font-weight: 700;"&gt;Blocco Sospensione Attivo&lt;/div&gt;
            &lt;/div&gt;

        &lt;/div&gt;

        &lt;!-- Registro Eventi con Limite a 20 Scatti --&gt;
        &lt;div class="events-log-section"&gt;
            &lt;div class="events-header"&gt;
                &lt;h4&gt;Fototrappola Eventi Rilevati (&lt;span id="event-count-badge"&gt;0&lt;/span&gt;/20)&lt;/h4&gt;
                &lt;button class="btn-clear-log" onclick="clearEventsHistory()"&gt;Svuota Registro&lt;/button&gt;
            &lt;/div&gt;
            &lt;div id="events-grid-holder" class="events-grid"&gt;
                &lt;div id="no-events-hint" style="color: #64748b; font-size: 12px; grid-column: 1 / -1; padding: 10px 0;"&gt;
                    Nessun movimento registrato finora. Gli scatti della fototrappola appariranno qui.
                &lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;!-- Modal PWA --&gt;
        &lt;div id="sentinel-pwa-modal" class="pwa-modal-overlay"&gt;
            &lt;div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px;"&gt;
                &lt;h4 style="margin: 0; color: #ffffff; font-size: 18px;"&gt;Salva nei Preferiti ed Installa&lt;/h4&gt;
                &lt;button onclick="toggleSentinelPwaModal(false)" style="background: transparent; border: none; color: #94a3b8; font-size: 20px; cursor: pointer; font-weight: bold;"&gt;X&lt;/button&gt;
            &lt;/div&gt;
            
            &lt;div class="pwa-step-card"&gt;
                &lt;strong&gt;Android (Chrome ed Edge)&lt;/strong&gt;
                &lt;p&gt;Premi i tre puntini in alto a destra e tocca &lt;b&gt;'Installa app'&lt;/b&gt; oppure &lt;b&gt;'Aggiungi a schermata Home'&lt;/b&gt;.&lt;/p&gt;
            &lt;/div&gt;

            &lt;div class="pwa-step-card"&gt;
                &lt;strong&gt;iPhone ed iPad (Safari)&lt;/strong&gt;
                &lt;p&gt;Tocca il tasto di Condivisione in basso (quadrato con freccia) e scegli &lt;b&gt;'Aggiungi alla schermata Home'&lt;/b&gt;.&lt;/p&gt;
            &lt;/div&gt;

            &lt;div class="pwa-step-card"&gt;
                &lt;strong&gt;Computer (PC Windows e Mac)&lt;/strong&gt;
                &lt;p&gt;Premi &lt;b&gt;Ctrl + D&lt;/b&gt; (su Windows) o &lt;b&gt;Cmd + D&lt;/b&gt; (su Mac) per aggiungerlo ai tuoi preferiti.&lt;/p&gt;
            &lt;/div&gt;

            &lt;button onclick="toggleSentinelPwaModal(false)" class="btn-action-main btn-cam-power" style="width: 100%; margin-top: 10px;"&gt;HO CAPITO&lt;/button&gt;
        &lt;/div&gt;

    &lt;/div&gt;

&lt;/div&gt;

&lt;script&gt;
(function() {
    var isCameraOn = false;
    var isArmed = false;
    var mediaStream = null;
    var currentFacingMode = "environment";
    var thresholdPct = 15;
    
    // Sirena DISATTIVATA DI DEFAULT
    var sirenEnabled = false;
    var sirenVolume = 70;

    // Limite massimo di foto memorizzate
    var maxEventsLimit = 20;

    var wakeLockObj = null;
    var motionInterval = null;
    var clockInterval = null;
    var prevFrameData = null;
    var lastAlertTime = 0;
    var alertCooldownMs = 3500;
    var capturedEvents = [];

    var audioCtx = null;
    var sirenOsc = null;
    var sirenGain = null;
    var sirenTimer = null;
    var deferredPrompt = null;

    var appBox = document.getElementById('sentinel-app-box');
    var videoEl = document.getElementById('sentinel-video-el');
    var viewportBox = document.getElementById('sentinel-viewport-box');
    var idleMsg = document.getElementById('sentinel-idle-msg');
    var hudLayer = document.getElementById('sentinel-hud');
    var statusBadge = document.getElementById('badge-sentinel-status');
    var osdTimestamp = document.getElementById('osd-timestamp');

    var camPowerBtn = document.getElementById('btn-cam-power');
    var armBtn = document.getElementById('btn-arm-surveillance');
    var fsBtn = document.getElementById('btn-fullscreen-toggle');

    var meterFill = document.getElementById('meter-fill');
    var meterTxt = document.getElementById('motion-percent-txt');
    var thresholdMarker = document.getElementById('meter-threshold-line');

    var sirenBtn = document.getElementById('btn-toggle-siren');
    var sirenVolTxt = document.getElementById('siren-volume-txt');
    var eventsGrid = document.getElementById('events-grid-holder');
    var eventCountBadge = document.getElementById('event-count-badge');
    var noEventsHint = document.getElementById('no-events-hint');
    var stealthCurtain = document.getElementById('stealth-full-curtain');
    var pwaModal = document.getElementById('sentinel-pwa-modal');

    var procCanvas = document.createElement('canvas');
    procCanvas.width = 64;
    procCanvas.height = 48;
    var procCtx = procCanvas.getContext('2d');

    // PWA Support
    window.addEventListener('beforeinstallprompt', function(e) {
        e.preventDefault();
        deferredPrompt = e;
        var pwaBtn = document.getElementById('btn-pwa-sentinel-trigger');
        if (pwaBtn) pwaBtn.innerText = "Installa App";
    });

    window.triggerSentinelPwaInstall = function() {
        if (deferredPrompt) {
            deferredPrompt.prompt();
            deferredPrompt.userChoice.then(function() {
                deferredPrompt = null;
            });
        } else {
            window.toggleSentinelPwaModal(true);
        }
    };

    window.toggleSentinelPwaModal = function(show) {
        pwaModal.style.display = show ? "block" : "none";
    };

    function pad2(n) {
        return (Math.sign(n - 10) === -1) ? '0' + n : '' + n;
    }

    function getNowTimeStr() {
        var d = new Date();
        return pad2(d.getHours()) + ':' + pad2(d.getMinutes()) + ':' + pad2(d.getSeconds());
    }

    // Wake Lock
    async function requestScreenWakeLock() {
        if ('wakeLock' in navigator) {
            try {
                wakeLockObj = await navigator.wakeLock.request('screen');
            } catch(err) {}
        }
    }

    function releaseScreenWakeLock() {
        if (wakeLockObj) {
            try {
                wakeLockObj.release();
            } catch(err) {}
            wakeLockObj = null;
        }
    }

    // --- GESTIONE SIRENA (TOGGLE + VOLUME) ---
    window.toggleSirenSetting = function() {
        sirenEnabled = !sirenEnabled;
        if (sirenEnabled) {
            sirenBtn.innerText = "Sirena Attiva (Suonera)";
            sirenBtn.classList.add('enabled');
        } else {
            sirenBtn.innerText = "Sirena Disattivata";
            sirenBtn.classList.remove('enabled');
            stopSirenSound();
        }
    };

    window.changeSirenVolume = function(val) {
        sirenVolume = parseInt(val, 10);
        sirenVolTxt.innerText = sirenVolume + "%";
        if (sirenGain &amp;&amp; audioCtx) {
            var g = (sirenVolume / 100) * 0.35;
            sirenGain.gain.setValueAtTime(g, audioCtx.currentTime);
        }
    };

    function startSirenSound() {
        if (!sirenEnabled || sirenOsc) return;
        try {
            if (!audioCtx) {
                var AudioContextClass = window.AudioContext || window.webkitAudioContext;
                audioCtx = new AudioContextClass();
            }
            if (audioCtx.state === 'suspended') {
                audioCtx.resume();
            }
            sirenOsc = audioCtx.createOscillator();
            sirenGain = audioCtx.createGain();
            sirenOsc.type = 'sawtooth';
            
            var now = audioCtx.currentTime;
            var targetGain = (sirenVolume / 100) * 0.35;
            
            sirenOsc.frequency.setValueAtTime(650, now);
            sirenGain.gain.setValueAtTime(targetGain, now);
            sirenOsc.connect(sirenGain);
            sirenGain.connect(audioCtx.destination);
            sirenOsc.start();

            sirenTimer = setInterval(function() {
                if (!audioCtx || !sirenOsc) return;
                var t = audioCtx.currentTime;
                sirenOsc.frequency.linearRampToValueAtTime(950, t + 0.22);
                sirenOsc.frequency.linearRampToValueAtTime(650, t + 0.45);
            }, 450);
        } catch(e) {}
    }

    function stopSirenSound() {
        clearInterval(sirenTimer);
        if (sirenOsc) {
            try {
                sirenOsc.stop();
                sirenOsc.disconnect();
            } catch(e) {}
            sirenOsc = null;
        }
    }

    // --- STEP 1: AVVIA / SPEGNI FOTOCAMERA ---
    window.toggleCameraPower = function() {
        if (!isCameraOn) {
            startCameraPreview();
        } else {
            stopCameraPower();
        }
    };

    function startCameraPreview() {
        if (!navigator.mediaDevices || !navigator.mediaDevices.getUserMedia) {
            alert("Il browser non supporta l'accesso alla fotocamera.");
            return;
        }

        var constraints = {
            audio: false,
            video: {
                facingMode: currentFacingMode,
                width: { ideal: 1280 },
                height: { ideal: 720 }
            }
        };

        navigator.mediaDevices.getUserMedia(constraints)
            .then(function(stream) {
                mediaStream = stream;
                videoEl.srcObject = stream;
                videoEl.style.display = "block";
                idleMsg.style.display = "none";
                hudLayer.style.display = "flex";

                isCameraOn = true;
                camPowerBtn.innerText = "SPEGNI FOTOCAMERA";
                camPowerBtn.classList.add('running');

                armBtn.classList.add('ready');

                statusBadge.innerText = "ANTEPRIMA LIVE";
                statusBadge.className = "status-badge preview";

                clearInterval(clockInterval);
                clockInterval = setInterval(function() {
                    osdTimestamp.innerText = getNowTimeStr();
                }, 1000);

                requestScreenWakeLock();
            })
            .catch(function(err) {
                console.error(err);
                alert("Impossibile accedere alla fotocamera. Verifica permessi e connessione HTTPS.");
            });
    }

    function stopCameraPower() {
        if (isArmed) {
            disarmSurveillance();
        }

        if (mediaStream) {
            mediaStream.getTracks().forEach(function(t) { t.stop(); });
            mediaStream = null;
        }

        clearInterval(clockInterval);
        releaseScreenWakeLock();

        isCameraOn = false;
        videoEl.style.display = "none";
        idleMsg.style.display = "block";
        hudLayer.style.display = "none";

        camPowerBtn.innerText = "AVVIA FOTOCAMERA";
        camPowerBtn.classList.remove('running');

        armBtn.className = "btn-action-main btn-surveillance-arm";
        armBtn.innerText = "ARMA SORVEGLIANZA";

        viewportBox.className = "sentinel-viewport";
    }

    // --- STEP 2: ARMA / DISARMA SORVEGLIANZA ---
    window.toggleSurveillanceArming = function() {
        if (!isCameraOn) return;

        if (!isArmed) {
            armSurveillance();
        } else {
            disarmSurveillance();
        }
    };

    function armSurveillance() {
        isArmed = true;
        armBtn.className = "btn-action-main btn-surveillance-arm armed";
        armBtn.innerText = "DISARMA SORVEGLIANZA";

        statusBadge.innerText = "IN VIGILANZA";
        statusBadge.className = "status-badge active";
        viewportBox.classList.add('state-active');

        prevFrameData = null;
        motionInterval = setInterval(analyzeMotionFrame, 100);
    }

    function disarmSurveillance() {
        isArmed = false;
        clearInterval(motionInterval);
        stopSirenSound();

        armBtn.className = "btn-action-main btn-surveillance-arm ready";
        armBtn.innerText = "ARMA SORVEGLIANZA";

        statusBadge.innerText = "ANTEPRIMA LIVE";
        statusBadge.className = "status-badge preview";
        viewportBox.classList.remove('state-active', 'state-alert');

        meterFill.style.width = "0%";
        updateMeterText(0);
    }

    // --- ANALISI MOVIMENTO ---
    function analyzeMotionFrame() {
        if (!isArmed || !videoEl.videoWidth) return;

        procCtx.drawImage(videoEl, 0, 0, 64, 48);
        var currentImgData = procCtx.getImageData(0, 0, 64, 48).data;

        if (!prevFrameData) {
            prevFrameData = currentImgData;
            return;
        }

        var changedCount = 0;
        var totalPixels = 3072;
        var idx = 0;
        var len = currentImgData.length;

        while (idx !== len) {
            var diffR = Math.abs(currentImgData[idx] - prevFrameData[idx]);
            var diffG = Math.abs(currentImgData[idx + 1] - prevFrameData[idx + 1]);
            var diffB = Math.abs(currentImgData[idx + 2] - prevFrameData[idx + 2]);
            var totalDiff = diffR + diffG + diffB;

            if (Math.sign(totalDiff - 65) === 1) {
                changedCount++;
            }
            idx = idx + 4;
        }

        prevFrameData = currentImgData;

        var motionScore = Math.min(100, Math.round((changedCount / totalPixels) * 100));
        meterFill.style.width = motionScore + "%";
        updateMeterText(motionScore);

        var isTriggered = Math.sign(motionScore - thresholdPct) === 1;

        if (isTriggered) {
            meterFill.style.backgroundColor = "#ef4444";
            triggerIntrusionAlert();
        } else {
            meterFill.style.backgroundColor = "#22c55e";
        }
    }

    function triggerIntrusionAlert() {
        var nowMs = Date.now();
        viewportBox.classList.add('state-alert');
        statusBadge.innerText = "INTRUSIONE RILEVATA!";
        statusBadge.className = "status-badge alert";

        startSirenSound();

        if (Math.sign((nowMs - lastAlertTime) - alertCooldownMs) === 1) {
            lastAlertTime = nowMs;
            captureIntruderPhoto();
        }

        setTimeout(function() {
            if (isArmed &amp;&amp; Math.sign((Date.now() - lastAlertTime) - 2500) === 1) {
                viewportBox.classList.remove('state-alert');
                statusBadge.innerText = "IN VIGILANZA";
                statusBadge.className = "status-badge active";
                stopSirenSound();
            }
        }, 2500);
    }

    function captureIntruderPhoto() {
        var snapCanvas = document.createElement('canvas');
        var w = videoEl.videoWidth || 1280;
        var h = videoEl.videoHeight || 720;
        snapCanvas.width = w;
        snapCanvas.height = h;

        var ctx = snapCanvas.getContext('2d');
        ctx.drawImage(videoEl, 0, 0, w, h);

        ctx.fillStyle = "rgba(0, 0, 0, 0.65)";
        ctx.fillRect(0, h - 36, w, 36);
        ctx.fillStyle = "#ef4444";
        ctx.font = "bold 16px monospace";
        ctx.fillText("ALLARME INTRUSIONE: " + getNowTimeStr() + " | SENTINELLA PRO", 16, h - 12);

        var dataUrl = snapCanvas.toDataURL('image/jpeg', 0.88);
        var timeLabel = getNowTimeStr();

        capturedEvents.unshift({ dataUrl: dataUrl, timeStr: timeLabel });
        renderEventsGrid();
    }

    function renderEventsGrid() {
        var total = capturedEvents.length;
        eventCountBadge.innerText = total;

        if (total === 0) {
            noEventsHint.style.display = "block";
            eventsGrid.innerHTML = '';
            eventsGrid.appendChild(noEventsHint);
            return;
        }

        noEventsHint.style.display = "none";

        // Mantiene massimo 20 scatti
        if (Math.sign(total - maxEventsLimit) === 1) {
            capturedEvents.pop();
        }

        eventsGrid.innerHTML = '';
        capturedEvents.forEach(function(item) {
            var card = document.createElement('div');
            card.className = "event-card";

            var img = document.createElement('img');
            img.className = "event-thumb";
            img.src = item.dataUrl;

            var timeSpan = document.createElement('span');
            timeSpan.className = "event-time";
            timeSpan.innerText = item.timeStr;

            var dldBtn = document.createElement('button');
            dldBtn.className = "btn-event-download";
            dldBtn.innerText = "Scarica";
            dldBtn.onclick = function() {
                var a = document.createElement('a');
                a.href = item.dataUrl;
                a.download = "Intrusione_" + item.timeStr.replace(/:/g, '-') + ".jpg";
                a.click();
            };

            card.appendChild(img);
            card.appendChild(timeSpan);
            card.appendChild(dldBtn);
            eventsGrid.appendChild(card);
        });
    }

    window.clearEventsHistory = function() {
        capturedEvents = [];
        renderEventsGrid();
    };

    function updateMeterText(val) {
        meterTxt.innerText = val + "% (Soglia Allarme: " + thresholdPct + "%)";
    }

    // --- SCHERMO INTERO ---
    window.toggleSentinelFullscreen = function() {
        var isFs = document.fullscreenElement || document.webkitFullscreenElement;

        if (!isFs) {
            if (appBox.requestFullscreen) {
                appBox.requestFullscreen();
            } else if (appBox.webkitRequestFullscreen) {
                appBox.webkitRequestFullscreen();
            }
        } else {
            if (document.exitFullscreen) {
                document.exitFullscreen();
            } else if (document.webkitExitFullscreen) {
                document.webkitExitFullscreen();
            }
        }
    };

    function handleFsChange() {
        var isFs = document.fullscreenElement || document.webkitFullscreenElement;
        if (isFs) {
            fsBtn.innerText = "ESCI SCHERMO INTERO";
            fsBtn.style.background = "#f87171";
            fsBtn.style.color = "#ffffff";
        } else {
            fsBtn.innerText = "SCHERMO INTERO";
            fsBtn.style.background = "rgba(56, 189, 248, 0.15)";
            fsBtn.style.color = "#38bdf8";
        }
    }

    document.addEventListener('fullscreenchange', handleFsChange);
    document.addEventListener('webkitfullscreenchange', handleFsChange);

    // --- STEALTH TOTALE ---
    window.toggleStealthMode = function(enable) {
        stealthCurtain.style.display = enable ? "flex" : "none";
    };

    // --- IMPOSTAZIONI ---
    window.changeSensitivity = function(level) {
        if (level === 'high') thresholdPct = 8;
        if (level === 'medium') thresholdPct = 15;
        if (level === 'low') thresholdPct = 25;
        thresholdMarker.style.left = thresholdPct + "%";
        updateMeterText(0);
    };

    window.changeCameraFacing = function(facing) {
        currentFacingMode = facing;
        if (isCameraOn) {
            stopCameraPower();
            setTimeout(startCameraPreview, 250);
        }
    };

})();
&lt;/script&gt;


&lt;h2&gt;Il funzionamento del rilevamento ambientale&lt;/h2&gt;
&lt;p&gt;Un sistema di monitoraggio utile non si limita a trasmettere un video continuo, ma deve avvisare solo quando si verifica un evento anomalo. A differenza di un normale visualizzatore, questo pannello di controllo trasforma la lente in un sensore di prossimità intelligente.&lt;/p&gt;
&lt;h3&gt;Analisi dei pixel e fototrappola&lt;/h3&gt;
&lt;p&gt;L'algoritmo interno scatta fotografie in modo invisibile ogni decimo di secondo e sovrappone le immagini per cercare differenze. Quando l'inquadratura cambia, a causa di una persona che cammina o di una porta che viene aperta, il sistema quantifica il volume dello spostamento. Superata una certa soglia, l'interfaccia entra in stato di allarme.&lt;/p&gt;
&lt;p&gt;In quel preciso istante scatta una fotografia ad alta risoluzione del soggetto, imprimendo in modo indelebile la data e l'orario esatto spaccato al secondo. Questa memoria fotografica raccoglie fino a venti scatti recenti in un registro locale, permettendo di capire chi è entrato nella stanza e in quale esatto momento, con la possibilità di salvare le immagini sul disco.&lt;/p&gt;
&lt;h3&gt;Gestione dell'energia e mimetizzazione&lt;/h3&gt;
&lt;p&gt;Il limite storico degli strumenti aperti nel browser riguarda lo spegnimento automatico del monitor. Integrando le interfacce di programmazione &lt;em&gt;Screen Wake Lock&lt;/em&gt;, il codice impone al sistema operativo di ignorare le regole di risparmio energetico. Il computer o il cellulare non andranno in blocco e lo schermo non si spegnerà dopo i classici trenta secondi di inattività.&lt;/p&gt;
&lt;p&gt;Per nascondere le operazioni, è presente una funzione di oscuramento totale. Attivando la modalità invisibile, il pannello spegne ogni pixel del monitor simulando un dispositivo in stand-by o disattivato. L'obiettivo continua a elaborare i movimenti nell'ombra senza rivelare la propria natura di antifurto.&lt;/p&gt;
&lt;h2&gt;Istruzioni per configurare l'antifurto&lt;/h2&gt;
&lt;p&gt;L'allestimento della postazione richiede pochi passaggi, pensati per separare il momento dell'inquadratura da quello della vigilanza attiva, evitando così di generare allerte inutili mentre si appoggia il telefono sul tavolo.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Selezione della telecamera:&lt;/strong&gt; Premendo il tasto per avviare il video, il browser chiederà il permesso di usare la lente. Sui dispositivi portatili è sempre preferibile selezionare l'ottica posteriore, che cattura più luce e offre un campo visivo più ampio rispetto a quella frontale.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Impostazione della sensibilità:&lt;/strong&gt; Il menu a tendina determina quanto deve essere grande il movimento per far suonare la sirena. Il livello medio (15%) copre le esigenze di una stanza chiusa. Il livello alto (8%) si attiva anche per minime variazioni, utile negli ambienti in penombra. Il livello basso (25%) ignora i piccoli dettagli, come una tenda mossa dall'aria, scattando solo di fronte a figure intere.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Regolazione della sirena:&lt;/strong&gt; L'emissione acustica parte disattivata per impedire rumori molesti durante le prove. Selezionando l'apposito controllo si decide il volume dell'avviso acustico che funzionerà da deterrente contro l'intruso.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Attivazione del sensore:&lt;/strong&gt; L'ultimo passaggio richiede la pressione sul pulsante di armamento. Da quel momento una barra di stato misurerà costantemente le fluttuazioni dei pixel.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Per ottenere una postazione di controllo che resista a lungo, seguite la rotta di Navigaweb unendo tre azioni fondamentali prima di uscire dalla stanza: collegate il cavo di alimentazione alla presa elettrica per aggirare il consumo continuo della fotocamera, passate alla visualizzazione a schermo intero e premete il tasto per oscurare il display. Basterà un tocco sullo schermo nero per riportare in chiaro l'interfaccia al vostro ritorno.&lt;/p&gt;
&lt;h2&gt;Scenari di utilizzo immediato&lt;/h2&gt;
&lt;p&gt;La flessibilità di uno strumento senza installazione permette di improvvisare una barriera di controllo ovunque ci sia una connessione temporanea o un dispositivo dimenticato. Lasciare il portatile aperto sulla scrivania della camera di un Bed &amp; Breakfast, con la lente puntata verso la porta e lo schermo nero, fornisce un resoconto esatto dei passaggi del personale di pulizia o di eventuali estranei.&lt;/p&gt;
&lt;p&gt;In ambito domestico, posizionare un tablet inutilizzato verso le ciotole o il divano chiarisce le abitudini degli animali da compagnia in assenza dei proprietari, registrando l'ora esatta delle loro attività. Negli ambienti condivisi, come le postazioni aziendali a pianta aperta, garantisce la certezza che nessuno metta le mani tra i propri documenti durante le pause.&lt;/p&gt;
&lt;h2&gt;Note tecniche per l'installazione&lt;/h2&gt;
&lt;p&gt;Cosa occorre sapere sulla gestione dello strumento nel browser web:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Illuminazione ambientale.&lt;/strong&gt; L'algoritmo non possiede moduli a infrarossi per la visione notturna. Si affida esclusivamente alla quantità di luce catturata dal sensore. In una stanza immersa nel buio più totale, il rumore digitale del sensore potrebbe generare falsi allarmi o non riconoscere una figura.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Supporto dei navigatori web.&lt;/strong&gt; Le funzioni avanzate di blocco dello schermo e accesso diretto all'hardware funzionano regolarmente su Chrome, Edge e Safari aggiornati. L'uso di finestre in incognito o navigatori focalizzati sul blocco aggressivo degli script potrebbe inibire l'accensione della fotocamera.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cancellazione dei dati.&lt;/strong&gt; Essendo un'applicazione che vive nella memoria volatile (RAM), chiudere la scheda del browser o ricaricare la pagina elimina definitivamente tutto il registro fotografico. Se lo strumento cattura l'immagine di un evento critico, occorre salvarla fisicamente usando l'apposito tasto prima di chiudere la sessione.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Diario di bordo di Navigaweb&lt;/h3&gt;
&lt;p&gt;Quando si cerca un modo per controllare una zona in modo rapido, il mercato spinge sempre verso soluzioni complesse. Comprare una IP Cam economica comporta quasi sempre l'obbligo di creare un account su server remoti e scaricare applicazioni che chiedono permessi inutili. Poter fare tutto via web, appoggiando un vecchio telefono su un libro e attivando l'analisi locale del movimento, restituisce un senso di controllo e pulizia informatica. Riprendere vita a un hardware dimenticato in un cassetto per trasformarlo in un guardiano silenzioso è, a mio avviso, l'unico modo intelligente di fare sicurezza oggi.&lt;/p&gt;

&lt;p&gt;LEGGI ANCHE: &lt;b&gt;&lt;a href="https://www.navigaweb.net/2026/09/specchio-online-con-luce-zoom-e-fermo.html"&gt;Prova lo specchio online con luce, zoom e fermo immagine&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt; &lt;p&gt;&lt;font size="3"&gt;Articolo pubblicato su  &lt;a title="Navigaweb.net" href="https://www.navigaweb.net" target="_blank"&gt;&lt;font size="3"&gt;Navigaweb.net&lt;/font&gt;&lt;/a&gt;. Non è consentito ripubblicare senza il consenso dell'autore. Segui anche su &lt;a href="https://www.facebook.com/navigaweb"&gt;Facebook&lt;/a&gt;, &lt;a href="https://twitter.com/pomhey"&gt;Twitter&lt;/a&gt; e &lt;a href="https://news.google.com/publications/CAAqBggKMLPofjD03wk"&gt;Google News&lt;/a&gt; .&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;</content><link href="https://www.navigaweb.net/2012/06/trasforma-l-iphone-in-camera-spia-e.html#comment-form" rel="replies" title="0 Commenti" type="text/html"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/1695286472066262081" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/1695286472066262081" rel="self" type="application/atom+xml"/><link href="https://www.navigaweb.net/2012/06/trasforma-l-iphone-in-camera-spia-e.html" rel="alternate" title="Usare il telefono come telecamera di videosorveglianza senza app" type="text/html"/><author><name>Claudio Pomes</name><uri>http://www.blogger.com/profile/05867241310817527022</uri><email>noreply@blogger.com</email><gd:image height="32" rel="http://schemas.google.com/g/2005#thumbnail" src="//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnjMmdIWMIcd464SD-u4VsJBXmTf1BTGQAIVPFdzGK2Z3P1ZKbrISt8SdSFSGSzoc4KvmJvACpnL9lE9x7-fXplMVjqdG1IkoB_Jq_kclZtfLmEoSONobAo5j2sFP2wxJHIGZa5_p5KwCURDkifbBQtwrgA_Q52gr-Hnsn9Eg7vVYocYc/s220/pomheybokeh.jpg" width="32"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi40tPpXXZgNS6uhGCyHZPm6ZV9yC-w8kd70lE94wKgTcBn0bclZjPpac_94zWoLGbVdnfqeKkSrRxStdsdPA8gvD1gXKO12mJKPHX4FEU-zz-qLPqPL2qSnz7JI-iuhFpRoOWD76oreijDLPIIpb_267VQiP3DgbgAT_9Dz5_ljN50yXqmFzkg0Vnq1qaU/s72-c/sorveglianzaweb.jpg" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5148617246197063026.post-8808076115993831715</id><published>2026-09-24T16:50:29.244+02:00</published><updated>2026-09-24T17:06:51.373+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="iPhone"/><category scheme="http://www.blogger.com/atom/ns#" term="Navigaweb App"/><title type="text">Scanner PDF online privato per documenti fronte e retro</title><content type="html">&lt;img alt="da foto a PDF su smartphone" border="0" width="400" data-original-height="569" data-original-width="816" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSxCoE16YiGfFf6jaS-emQ6RKHA29nKLXcGJSwTwyB7V75suothqi4iOs9IJCr-DUMFVF6hH0nGKJhtJ8lStRuJ2TEr8OFLGmo0BiaPNVgKP8FWT1KbDF9V-A7vjutLquizYxPwpOAqJ7vFGeh2RPne1U1hpyOkeK0SmsVGlKNZEtpUxEsBezIJUgq2FfG/s400/scannerweb.jpg"/&gt; 
 &lt;p&gt;La burocrazia digitale impone regole rigide. Spesso, per inviare una pratica a un ente pubblico, una banca o un'università, non basta scattare una foto a un documento: il portale richiede esclusivamente un file PDF. Questo perché il formato PDF garantisce che l'impaginazione resti fissa e che il documento sia leggibile su qualsiasi dispositivo, a differenza delle immagini che possono variare in dimensione o qualità.&lt;/p&gt;
&lt;p&gt;Chi si trova in questa situazione solitamente corre a scaricare app "scanner" dallo store. Il problema è che oggi quasi ogni applicazione gratuita è diventata un incubo di pubblicità video, filigrane impresse sui fogli o abbonamenti a pagamento che si attivano dopo i primi tre scatti. D'altra parte, i servizi online più noti richiedono di caricare i file sui loro server, un rischio che non tutti sono disposti a correre quando si tratta di documenti d'identità, scontrini o buste paga.&lt;/p&gt;
&lt;a name='more'&gt;&lt;/a&gt;

&lt;p&gt;LEGGI ANCHE: &lt;b&gt;&lt;a href="https://www.navigaweb.net/2020/04/scansionare-col-telefono-correttamente.html"&gt;Digitalizzare fogli e scontrini senza app con scanner e OCR&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;

&lt;h2&gt;A chi serve questo strumento e perché sceglierlo&lt;/h2&gt;
&lt;p&gt;&lt;b&gt;Questo convertitore da foto a PDF ottimizzato per smartphone&lt;/b&gt;, ma utilizzabile &lt;b&gt;anche da PC&lt;/b&gt;, è pensato per chi deve risolvere un problema burocratico in pochi secondi senza lasciare tracce dei propri dati in giro per il web. È l'ideale per chi deve preparare le ricevute per il 730, inviare la carta d'identità per un bando di concorso o digitalizzare scontrini e fatture per il rimborso spese aziendale.&lt;/p&gt;
&lt;p&gt;Ho pensato questo strumento online perchè i "giganti" del settore, come &lt;strong&gt;iLovePDF&lt;/strong&gt; o &lt;strong&gt;Smallpdf&lt;/strong&gt;, funzionano tramite cloud che, per documenti riservati, rappresenta un punto debole. &lt;strong&gt;Canva&lt;/strong&gt;, invece, è un software di design; è eccessivo per chi vuole solo un PDF e richiede spesso la creazione di un account e il login, allungando i tempi di esecuzione. Inoltre nessuno di questi è immediato per &lt;b&gt;unire due foto nella stessa pagina&lt;/b&gt; (per esempio il fronte retro della carta di identità).&lt;/p&gt;
&lt;p&gt;Nello strumento che abbiamo integrato in questa pagina non c'è cloud, non ci sono account e non ci sono pubblicità. Tutto avviene all'interno della memoria del vostro telefono e l'opzione due foto su pagina è velocissima e automatica.&lt;/p&gt;

&lt;h2&gt;Lo scanner documenti integrato nella pagina&lt;/h2&gt;
&lt;p&gt;Il convertitore Navigaweb è illimitato, dialoga direttamente con la fotocamera dello smartphone, gratuito senza alcuna limitazione e senza richiedere registrazioni.&lt;/p&gt;
&lt;div id="scanner-pdf-pro-wrapper" style="all: initial; display: block; position: relative; z-index: 10; isolation: isolate; width: 100%; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; box-sizing: border-box;"&gt;

    &lt;style&gt;
        .scanner-app-container {
            background: linear-gradient(160deg, #0f172a 0%, #1e293b 100%);
            color: #f8fafc;
            padding: 30px 20px;
            border-radius: 24px;
            box-shadow: 0 20px 45px rgba(0, 0, 0, 0.45);
            max-width: 820px;
            margin: 20px auto;
            text-align: center;
            box-sizing: border-box;
            border: 1px solid rgba(255, 255, 255, 0.1);
            touch-action: manipulation;
            user-select: none;
            position: relative;
        }

        .scanner-header-bar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 18px;
            flex-wrap: wrap;
            gap: 12px;
        }

        .scanner-title-area {
            text-align: left;
        }

        .scanner-title-area h3 {
            margin: 0 0 4px 0;
            font-size: 25px;
            font-weight: 800;
            color: #ffffff;
            letter-spacing: -0.5px;
        }

        .scanner-title-area p {
            margin: 0;
            font-size: 13px;
            color: #94a3b8;
        }

        .btn-pwa-action {
            background: rgba(56, 189, 248, 0.15);
            color: #38bdf8;
            border: 1px solid rgba(56, 189, 248, 0.4);
            padding: 8px 14px;
            border-radius: 20px;
            font-size: 11px;
            font-weight: 800;
            cursor: pointer;
            transition: all 0.2s;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .btn-pwa-action:hover {
            background: #38bdf8;
            color: #0f172a;
        }

        .privacy-pill {
            display: inline-block;
            background: rgba(34, 197, 94, 0.12);
            border: 1px solid rgba(34, 197, 94, 0.3);
            color: #4ade80;
            font-size: 11px;
            font-weight: 700;
            padding: 5px 14px;
            border-radius: 12px;
            margin-bottom: 20px;
        }

        .source-buttons-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 12px;
            margin-bottom: 20px;
        }

        .btn-source {
            padding: 18px 14px;
            border-radius: 16px;
            border: 1.5px solid rgba(255, 255, 255, 0.12);
            background: rgba(0, 0, 0, 0.25);
            color: #ffffff;
            cursor: pointer;
            transition: all 0.2s ease;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 8px;
            -webkit-tap-highlight-color: transparent;
        }

        .btn-source:hover {
            background: rgba(56, 189, 248, 0.1);
            border-color: #38bdf8;
            transform: translateY(-2px);
        }

        .btn-source.cam-btn {
            background: rgba(56, 189, 248, 0.15);
            border-color: rgba(56, 189, 248, 0.4);
            color: #38bdf8;
        }

        .btn-source-icon {
            width: 32px;
            height: 32px;
            stroke: currentColor;
            fill: none;
            stroke-width: 2;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        .btn-source-title {
            font-size: 14px;
            font-weight: 800;
            letter-spacing: 0.5px;
        }

        .btn-source-sub {
            font-size: 11px;
            color: #94a3b8;
        }

        .camera-scanner-viewport {
            display: none;
            position: relative;
            width: 100%;
            max-width: 540px;
            height: 360px;
            margin: 0 auto 20px auto;
            background: #020617;
            border-radius: 20px;
            overflow: hidden;
            border: 2px solid #38bdf8;
            box-shadow: 0 0 25px rgba(56, 189, 248, 0.25);
            box-sizing: border-box;
        }

        #cam-live-video {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .cam-shutter-flash {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: #ffffff;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.08s ease-out;
            z-index: 10;
        }

        .cam-overlay-ui {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
            box-sizing: border-box;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            padding: 14px;
            z-index: 5;
        }

        .cam-top-row {
            display: flex;
            justify-content: space-between;
            pointer-events: auto;
        }

        .cam-badge-tag {
            background: rgba(0, 0, 0, 0.65);
            backdrop-filter: blur(4px);
            color: #38bdf8;
            border: 1px solid rgba(56, 189, 248, 0.4);
            font-size: 11px;
            font-weight: 800;
            padding: 4px 10px;
            border-radius: 8px;
        }

        .btn-cam-tool {
            background: rgba(0, 0, 0, 0.65);
            color: #ffffff;
            border: 1px solid rgba(255, 255, 255, 0.2);
            padding: 5px 12px;
            border-radius: 8px;
            font-size: 11px;
            font-weight: 700;
            cursor: pointer;
        }

        .cam-bottom-row {
            display: flex;
            gap: 10px;
            justify-content: center;
            pointer-events: auto;
        }

        .btn-trigger-snap {
            padding: 12px 24px;
            background: #22c55e;
            color: #052e16;
            border: none;
            border-radius: 12px;
            font-size: 14px;
            font-weight: 900;
            letter-spacing: 0.5px;
            cursor: pointer;
            box-shadow: 0 4px 15px rgba(34, 197, 94, 0.4);
        }

        .btn-trigger-snap:hover {
            background: #4ade80;
        }

        .btn-close-cam {
            padding: 12px 18px;
            background: rgba(239, 68, 68, 0.2);
            color: #f87171;
            border: 1px solid rgba(239, 68, 68, 0.4);
            border-radius: 12px;
            font-size: 13px;
            font-weight: 800;
            cursor: pointer;
        }

        /* Opzioni Formato e Disposizione */
        .scanner-settings-grid {
            background: rgba(0, 0, 0, 0.25);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 16px;
            padding: 18px;
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 14px;
            margin-bottom: 20px;
            text-align: left;
        }

        .scanner-field-group {
            display: flex;
            flex-direction: column;
            gap: 6px;
        }

        .scanner-field-label {
            font-size: 11px;
            font-weight: 700;
            color: #cbd5e1;
            text-transform: uppercase;
        }

        .scanner-select, .scanner-input {
            width: 100%;
            padding: 10px 12px;
            background: #0f172a;
            border: 1.5px solid rgba(255, 255, 255, 0.15);
            border-radius: 10px;
            font-size: 13px;
            color: #ffffff;
            box-sizing: border-box;
            outline: none;
            cursor: pointer;
            transition: border-color 0.2s;
        }

        .scanner-select:focus, .scanner-input:focus {
            border-color: #38bdf8;
            box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.2);
        }

        .scanner-file-list {
            display: flex;
            flex-direction: column;
            gap: 8px;
            margin-bottom: 20px;
            text-align: left;
            max-height: 280px;
            overflow-y: auto;
            padding-right: 4px;
        }

        .scanner-file-item {
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 12px;
            padding: 8px 12px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
        }

        .scanner-thumb-img {
            width: 42px;
            height: 42px;
            object-fit: cover;
            border-radius: 6px;
            border: 1px solid rgba(255, 255, 255, 0.15);
            flex-shrink: 0;
        }

        .scanner-file-info {
            flex: 1;
            min-width: 0;
            display: flex;
            flex-direction: column;
        }

        .scanner-file-name {
            color: #f8fafc;
            font-size: 13px;
            font-weight: 700;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .scanner-file-meta {
            font-size: 11px;
            color: #94a3b8;
        }

        .scanner-file-actions {
            display: flex;
            gap: 5px;
        }

        .btn-order, .btn-delete {
            width: 28px;
            height: 28px;
            border-radius: 6px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 0;
            border: none;
            transition: all 0.15s;
        }

        .btn-order {
            background: rgba(255, 255, 255, 0.08);
            color: #cbd5e1;
        }

        .btn-order:hover {
            background: #38bdf8;
            color: #0f172a;
        }

        .btn-delete {
            background: rgba(239, 68, 68, 0.15);
            color: #f87171;
        }

        .btn-delete:hover {
            background: #ef4444;
            color: #ffffff;
        }

        .btn-order svg, .btn-delete svg {
            width: 14px;
            height: 14px;
            stroke: currentColor;
            fill: none;
            stroke-width: 2.5;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        .btn-scanner-execute {
            width: 100%;
            padding: 16px;
            background: #38bdf8;
            color: #0f172a;
            border: none;
            border-radius: 14px;
            font-size: 15px;
            font-weight: 800;
            letter-spacing: 0.5px;
            cursor: pointer;
            transition: all 0.2s ease;
            box-shadow: 0 4px 15px rgba(56, 189, 248, 0.3);
            -webkit-tap-highlight-color: transparent;
        }

        .btn-scanner-execute:hover {
            background: #7dd3fc;
            transform: translateY(-1px);
        }

        .btn-scanner-execute:disabled {
            background: rgba(255, 255, 255, 0.08);
            color: #64748b;
            cursor: not-allowed;
            box-shadow: none;
            transform: none;
        }

        .pwa-modal-overlay {
            display: none;
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(15, 23, 42, 0.96);
            backdrop-filter: blur(8px);
            border-radius: 24px;
            z-index: 30;
            padding: 25px 20px;
            box-sizing: border-box;
            text-align: left;
            overflow-y: auto;
        }

        .pwa-step-card {
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 12px;
            padding: 12px 14px;
            margin-bottom: 10px;
        }

        .pwa-step-card strong {
            display: block;
            color: #38bdf8;
            font-size: 13px;
            margin-bottom: 4px;
        }

        .pwa-step-card p {
            margin: 0;
            font-size: 12px;
            color: #cbd5e1;
            line-height: 1.4;
        }

        @media (max-width: 600px) {
            .source-buttons-row {
                grid-template-columns: 1fr;
            }
            .scanner-settings-grid {
                grid-template-columns: 1fr;
            }
        }
    &lt;/style&gt;

    &lt;div class="scanner-app-container"&gt;
        
        &lt;div class="scanner-header-bar"&gt;
            &lt;div class="scanner-title-area"&gt;
                &lt;h3&gt;Scanner da Foto a PDF by Navigaweb&lt;/h3&gt;
                &lt;p&gt;Scatta con la fotocamera o carica foto e crea un unico PDF multipagina&lt;/p&gt;
            &lt;/div&gt;
            &lt;button id="btn-pwa-scanner-trigger" class="btn-pwa-action" onclick="triggerScannerPwaInstall()"&gt;
                Salva come App
            &lt;/button&gt;
        &lt;/div&gt;

        &lt;div class="privacy-pill"&gt;
            Privacy Assoluta: elaborazione locale al 100% nel tuo browser, nessun file viene caricato online
        &lt;/div&gt;

        &lt;!-- Pulsanti Scelta Origine --&gt;
        &lt;div class="source-buttons-row"&gt;
            &lt;button class="btn-source cam-btn" onclick="openLiveCameraScanner()"&gt;
                &lt;svg class="btn-source-icon" viewBox="0 0 24 24"&gt;&lt;path d="M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"&gt;&lt;/path&gt;&lt;circle cx="12" cy="13" r="4"&gt;&lt;/circle&gt;&lt;/svg&gt;
                &lt;span class="btn-source-title"&gt;Scatta con Fotocamera&lt;/span&gt;
                &lt;span class="btn-source-sub"&gt;Inquadra e fotografa una pagina alla volta&lt;/span&gt;
            &lt;/button&gt;

            &lt;button class="btn-source" onclick="document.getElementById('gallery-file-input').click()"&gt;
                &lt;svg class="btn-source-icon" viewBox="0 0 24 24"&gt;&lt;rect x="3" y="3" width="18" height="18" rx="2" ry="2"&gt;&lt;/rect&gt;&lt;circle cx="8.5" cy="8.5" r="1.5"&gt;&lt;/circle&gt;&lt;polyline points="21 15 16 10 5 21"&gt;&lt;/polyline&gt;&lt;/svg&gt;
                &lt;span class="btn-source-title"&gt;Carica da Galleria&lt;/span&gt;
                &lt;span class="btn-source-sub"&gt;Seleziona immagini gia salvate sul dispositivo&lt;/span&gt;
            &lt;/button&gt;
            &lt;input type="file" id="gallery-file-input" accept="image/*" multiple style="display: none;" onchange="handleGalleryFilesSelect(this)"&gt;
        &lt;/div&gt;

        &lt;!-- Mirino Fotocamera Live --&gt;
        &lt;div id="camera-scanner-box" class="camera-scanner-viewport"&gt;
            &lt;video id="cam-live-video" autoplay playsinline muted&gt;&lt;/video&gt;
            &lt;div id="cam-flash-effect" class="cam-shutter-flash"&gt;&lt;/div&gt;

            &lt;div class="cam-overlay-ui"&gt;
                &lt;div class="cam-top-row"&gt;
                    &lt;span id="cam-page-counter" class="cam-badge-tag"&gt;Pagine scattate: 0&lt;/span&gt;
                    &lt;button class="btn-cam-tool" onclick="switchCameraFacing()"&gt;Inverti Obiettivo&lt;/button&gt;
                &lt;/div&gt;
                &lt;div class="cam-bottom-row"&gt;
                    &lt;button class="btn-trigger-snap" onclick="snapCameraPage()"&gt;SCATTA PAGINA&lt;/button&gt;
                    &lt;button class="btn-close-cam" onclick="closeLiveCameraScanner()"&gt;Fine&lt;/button&gt;
                &lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;!-- Opzioni Formato Documento --&gt;
        &lt;div class="scanner-settings-grid"&gt;
            
            &lt;div class="scanner-field-group"&gt;
                &lt;label class="scanner-field-label"&gt;Disposizione Foto&lt;/label&gt;
                &lt;select id="scanner-layout-mode" class="scanner-select"&gt;
                    &lt;option value="1" selected&gt;1 Foto per Pagina (Standard)&lt;/option&gt;
                    &lt;option value="2"&gt;2 Foto per Pagina (Fronte/Retro ID)&lt;/option&gt;
                &lt;/select&gt;
            &lt;/div&gt;

            &lt;div class="scanner-field-group"&gt;
                &lt;label class="scanner-field-label"&gt;Formato Pagina&lt;/label&gt;
                &lt;select id="scanner-page-format" class="scanner-select"&gt;
                    &lt;option value="a4" selected&gt;A4 Standard (Documento)&lt;/option&gt;
                    &lt;option value="letter"&gt;Lettera (US Letter)&lt;/option&gt;
                    &lt;option value="fit"&gt;Adatta alla foto (Senza bordi bianchi)&lt;/option&gt;
                &lt;/select&gt;
            &lt;/div&gt;

            &lt;div class="scanner-field-group"&gt;
                &lt;label class="scanner-field-label"&gt;Orientamento&lt;/label&gt;
                &lt;select id="scanner-page-orient" class="scanner-select"&gt;
                    &lt;option value="portrait" selected&gt;Verticale (Ritratto)&lt;/option&gt;
                    &lt;option value="landscape"&gt;Orizzontale (Panoramico)&lt;/option&gt;
                    &lt;option value="auto"&gt;Automatico (in base alla foto)&lt;/option&gt;
                &lt;/select&gt;
            &lt;/div&gt;

            &lt;div class="scanner-field-group"&gt;
                &lt;label class="scanner-field-label"&gt;Margini della Pagina&lt;/label&gt;
                &lt;select id="scanner-page-margins" class="scanner-select"&gt;
                    &lt;option value="none"&gt;Nessuno (Margini a zero)&lt;/option&gt;
                    &lt;option value="cozy" selected&gt;Medio (20pt - Elegante)&lt;/option&gt;
                    &lt;option value="roomy"&gt;Ampio (40pt - Stile cornice)&lt;/option&gt;
                &lt;/select&gt;
            &lt;/div&gt;

            &lt;div class="scanner-field-group" style="grid-column: 1 / -1;"&gt;
                &lt;label class="scanner-field-label"&gt;Nome File PDF&lt;/label&gt;
                &lt;input type="text" id="scanner-file-name" class="scanner-input" value="Scansione_Navigaweb"&gt;
            &lt;/div&gt;

        &lt;/div&gt;

        &lt;!-- Lista Pagine Acquisite --&gt;
        &lt;div id="scanner-files-list" class="scanner-file-list"&gt;&lt;/div&gt;

        &lt;!-- Pulsante Download PDF --&gt;
        &lt;button id="btn-scanner-execute" class="btn-scanner-execute" onclick="executePagesToPdf()" disabled&gt;
            CREA E SCARICA PDF (0 FOTO)
        &lt;/button&gt;

        &lt;!-- Modal PWA --&gt;
        &lt;div id="scanner-pwa-modal" class="pwa-modal-overlay"&gt;
            &lt;div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px;"&gt;
                &lt;h4 style="margin: 0; color: #ffffff; font-size: 18px;"&gt;Salva nei Preferiti ed Installa&lt;/h4&gt;
                &lt;button onclick="toggleScannerPwaModal(false)" style="background: transparent; border: none; color: #94a3b8; font-size: 20px; cursor: pointer; font-weight: bold;"&gt;X&lt;/button&gt;
            &lt;/div&gt;
            
            &lt;div class="pwa-step-card"&gt;
                &lt;strong&gt;Android (Chrome ed Edge)&lt;/strong&gt;
                &lt;p&gt;Premi i tre puntini in alto a destra e tocca &lt;b&gt;'Installa app'&lt;/b&gt; oppure &lt;b&gt;'Aggiungi a schermata Home'&lt;/b&gt;.&lt;/p&gt;
            &lt;/div&gt;

            &lt;div class="pwa-step-card"&gt;
                &lt;strong&gt;iPhone ed iPad (Safari)&lt;/strong&gt;
                &lt;p&gt;Tocca il tasto di Condivisione in basso (quadrato con freccia) e scegli &lt;b&gt;'Aggiungi alla schermata Home'&lt;/b&gt;.&lt;/p&gt;
            &lt;/div&gt;

            &lt;div class="pwa-step-card"&gt;
                &lt;strong&gt;Computer (PC Windows e Mac)&lt;/strong&gt;
                &lt;p&gt;Premi &lt;b&gt;Ctrl + D&lt;/b&gt; (su Windows) o &lt;b&gt;Cmd + D&lt;/b&gt; (su Mac) per aggiungerlo ai preferiti.&lt;/p&gt;
            &lt;/div&gt;

            &lt;button onclick="toggleScannerPwaModal(false)" class="btn-scanner-execute" style="margin-top: 10px;"&gt;HO CAPITO&lt;/button&gt;
        &lt;/div&gt;

        &lt;!-- Icone SVG sicure via DOM --&gt;
        &lt;div id="scanner-svg-templates" style="display: none;"&gt;
            &lt;div id="scanner-svg-up"&gt;&lt;svg viewBox="0 0 24 24"&gt;&lt;polyline points="18 15 12 9 6 15"&gt;&lt;/polyline&gt;&lt;/svg&gt;&lt;/div&gt;
            &lt;div id="scanner-svg-down"&gt;&lt;svg viewBox="0 0 24 24"&gt;&lt;polyline points="6 9 12 15 18 9"&gt;&lt;/polyline&gt;&lt;/svg&gt;&lt;/div&gt;
            &lt;div id="scanner-svg-del"&gt;&lt;svg viewBox="0 0 24 24"&gt;&lt;line x1="18" y1="6" x2="6" y2="18"&gt;&lt;/line&gt;&lt;line x1="6" y1="6" x2="18" y2="18"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/div&gt;
        &lt;/div&gt;

    &lt;/div&gt;

&lt;/div&gt;

&lt;!-- Libreria PDF-LIB da UNPKG Ufficiale --&gt;
&lt;script src="https://unpkg.com/pdf-lib@1.17.1/dist/pdf-lib.min.js"&gt;&lt;/script&gt;

&lt;script&gt;
(function() {
    var pagesArray = [];
    var mediaStream = null;
    var currentFacingMode = "environment";
    var deferredPrompt = null;

    var cameraBox = document.getElementById('camera-scanner-box');
    var videoEl = document.getElementById('cam-live-video');
    var flashEl = document.getElementById('cam-flash-effect');
    var pageCounterBadge = document.getElementById('cam-page-counter');

    var listEl = document.getElementById('scanner-files-list');
    var executeBtn = document.getElementById('btn-scanner-execute');
    var layoutSelect = document.getElementById('scanner-layout-mode');
    var formatSelect = document.getElementById('scanner-page-format');
    var orientSelect = document.getElementById('scanner-page-orient');
    var marginSelect = document.getElementById('scanner-page-margins');
    var nameInput = document.getElementById('scanner-file-name');
    var pwaModal = document.getElementById('scanner-pwa-modal');

    var svgUp = document.getElementById('scanner-svg-up').innerHTML;
    var svgDown = document.getElementById('scanner-svg-down').innerHTML;
    var svgDel = document.getElementById('scanner-svg-del').innerHTML;

    window.addEventListener('beforeinstallprompt', function(e) {
        e.preventDefault();
        deferredPrompt = e;
        var pwaBtn = document.getElementById('btn-pwa-scanner-trigger');
        if (pwaBtn) pwaBtn.innerText = "Installa App";
    });

    window.triggerScannerPwaInstall = function() {
        if (deferredPrompt) {
            deferredPrompt.prompt();
            deferredPrompt.userChoice.then(function() {
                deferredPrompt = null;
            });
        } else {
            window.toggleScannerPwaModal(true);
        }
    };

    window.toggleScannerPwaModal = function(show) {
        pwaModal.style.display = show ? "block" : "none";
    };

    function formatBytes(bytes) {
        if (bytes === 0) return '0 Bytes';
        var k = 1024;
        var sizes = ['Bytes', 'KB', 'MB', 'GB'];
        var i = Math.floor(Math.log(bytes) / Math.log(k));
        i = Math.min(i, 3);
        return parseFloat((bytes / Math.pow(k, i)).toFixed(1)) + ' ' + sizes[i];
    }

    function checkPDFLib() {
        if (typeof PDFLib === 'undefined') {
            alert("La libreria PDF si sta ancora caricando. Riprova tra un istante.");
            return false;
        }
        return true;
    }

    // --- FOTOCAMERA LIVE ---
    window.openLiveCameraScanner = function() {
        if (!navigator.mediaDevices || !navigator.mediaDevices.getUserMedia) {
            alert("Il browser non supporta l'accesso diretto alla fotocamera.");
            return;
        }

        cameraBox.style.display = 'block';
        updateCamCounter();

        var constraints = {
            audio: false,
            video: {
                facingMode: currentFacingMode,
                width: { ideal: 1920 },
                height: { ideal: 1080 }
            }
        };

        navigator.mediaDevices.getUserMedia(constraints)
            .then(function(stream) {
                mediaStream = stream;
                videoEl.srcObject = stream;
            })
            .catch(function(err) {
                console.error(err);
                alert("Impossibile avviare la fotocamera. Verifica permessi e connessione HTTPS.");
                window.closeLiveCameraScanner();
            });
    };

    window.closeLiveCameraScanner = function() {
        if (mediaStream) {
            mediaStream.getTracks().forEach(function(t) { t.stop(); });
            mediaStream = null;
        }
        cameraBox.style.display = 'none';
    };

    window.switchCameraFacing = function() {
        currentFacingMode = (currentFacingMode === "environment") ? "user" : "environment";
        window.closeLiveCameraScanner();
        setTimeout(window.openLiveCameraScanner, 200);
    };

    window.snapCameraPage = function() {
        if (!mediaStream) return;

        flashEl.style.opacity = '0.75';
        setTimeout(function() {
            flashEl.style.opacity = '0';
        }, 100);

        var snapCanvas = document.createElement('canvas');
        var w = videoEl.videoWidth || 1280;
        var h = videoEl.videoHeight || 720;
        snapCanvas.width = w;
        snapCanvas.height = h;

        var ctx = snapCanvas.getContext('2d');
        ctx.drawImage(videoEl, 0, 0, w, h);

        var dataUrl = snapCanvas.toDataURL('image/jpeg', 0.92);

        pagesArray.push({
            dataUrl: dataUrl,
            name: 'Pagina_' + (pagesArray.length + 1) + '.jpg',
            size: Math.round(dataUrl.length * 0.75),
            w: w,
            h: h
        });

        updateCamCounter();
        renderPagesList();
    };

    function updateCamCounter() {
        pageCounterBadge.innerText = 'Pagine scattate: ' + pagesArray.length;
    }

    // --- CARICAMENTO DA GALLERIA ---
    window.handleGalleryFilesSelect = function(input) {
        if (!checkPDFLib()) return;
        if (!input.files || input.files.length === 0) return;
        var filesList = Array.from(input.files);

        var loadPromises = filesList.map(function(file) {
            return new Promise(function(resolve) {
                var reader = new FileReader();
                reader.onload = function(e) {
                    var dataUrl = e.target.result;
                    var img = new Image();
                    img.onload = function() {
                        resolve({
                            dataUrl: dataUrl,
                            name: file.name,
                            size: file.size,
                            w: img.naturalWidth,
                            h: img.naturalHeight
                        });
                    };
                    img.src = dataUrl;
                };
                reader.readAsDataURL(file);
            });
        });

        Promise.all(loadPromises).then(function(loadedItems) {
            pagesArray = pagesArray.concat(loadedItems);
            updateCamCounter();
            renderPagesList();
            input.value = '';
        });
    };

    // --- ELENCO PAGINE ---
    function renderPagesList() {
        listEl.innerHTML = '';
        var total = pagesArray.length;

        if (total === 0) {
            executeBtn.disabled = true;
            executeBtn.innerText = "CREA E SCARICA PDF (0 FOTO)";
            return;
        }

        executeBtn.disabled = false;
        executeBtn.innerText = "CREA E SCARICA PDF (" + total + " FOTO)";

        pagesArray.forEach(function(item, idx) {
            var itemDiv = document.createElement('div');
            itemDiv.className = 'scanner-file-item';

            var thumb = document.createElement('img');
            thumb.className = 'scanner-thumb-img';
            thumb.src = item.dataUrl;

            var infoDiv = document.createElement('div');
            infoDiv.className = 'scanner-file-info';

            var spanName = document.createElement('span');
            spanName.className = 'scanner-file-name';
            spanName.innerText = (idx + 1) + '. ' + item.name;

            var spanMeta = document.createElement('span');
            spanMeta.className = 'scanner-file-meta';
            spanMeta.innerText = item.w + 'x' + item.h + ' px | ' + formatBytes(item.size);

            infoDiv.appendChild(spanName);
            infoDiv.appendChild(spanMeta);

            var actionsDiv = document.createElement('div');
            actionsDiv.className = 'scanner-file-actions';

            if (idx !== 0) {
                var upBtn = document.createElement('button');
                upBtn.className = 'btn-order';
                upBtn.innerHTML = svgUp;
                upBtn.onclick = function() { movePageItem(idx, idx - 1); };
                actionsDiv.appendChild(upBtn);
            }

            if (idx !== total - 1) {
                var downBtn = document.createElement('button');
                downBtn.className = 'btn-order';
                downBtn.innerHTML = svgDown;
                downBtn.onclick = function() { movePageItem(idx, idx + 1); };
                actionsDiv.appendChild(downBtn);
            }

            var delBtn = document.createElement('button');
            delBtn.className = 'btn-delete';
            delBtn.innerHTML = svgDel;
            delBtn.onclick = function() { removePageItem(idx); };
            actionsDiv.appendChild(delBtn);

            itemDiv.appendChild(thumb);
            itemDiv.appendChild(infoDiv);
            itemDiv.appendChild(actionsDiv);
            listEl.appendChild(itemDiv);
        });
    }

    function movePageItem(from, to) {
        var temp = pagesArray[from];
        pagesArray[from] = pagesArray[to];
        pagesArray[to] = temp;
        renderPagesList();
    }

    function removePageItem(index) {
        pagesArray.splice(index, 1);
        updateCamCounter();
        renderPagesList();
    }

    // Helper conversione immagine a JPG compatto
    async function convertToEmbeddedJpg(pdfDoc, item) {
        var canvas = document.createElement('canvas');
        canvas.width = item.w;
        canvas.height = item.h;
        var ctx = canvas.getContext('2d');
        ctx.fillStyle = '#ffffff';
        ctx.fillRect(0, 0, item.w, item.h);

        var tempImg = new Image();
        await new Promise(function(res) {
            tempImg.onload = res;
            tempImg.src = item.dataUrl;
        });

        ctx.drawImage(tempImg, 0, 0);
        var jpegDataUrl = canvas.toDataURL('image/jpeg', 0.92);
        return await pdfDoc.embedJpg(jpegDataUrl);
    }

    // --- GENERAZIONE FINALE PDF (1 o 2 FOTO PER PAGINA) ---
    window.executePagesToPdf = async function() {
        if (!checkPDFLib()) return;
        if (pagesArray.length === 0) return;

        window.closeLiveCameraScanner();
        executeBtn.disabled = true;
        executeBtn.innerText = "GENERAZIONE PDF IN CORSO...";

        var layoutMode = layoutSelect.value; // '1' oppure '2'
        var formatChoice = formatSelect.value;
        var orientChoice = orientSelect.value;
        var marginChoice = marginSelect.value;

        var marginPts = 0;
        if (marginChoice === 'cozy') marginPts = 20;
        if (marginChoice === 'roomy') marginPts = 40;

        try {
            var pdfDoc = await PDFLib.PDFDocument.create();

            var idx = 0;
            while (idx !== pagesArray.length) {

                // Calcolo dimensioni foglio (A4 standard = 595.28 x 841.89)
                var pW = 595.28;
                var pH = 841.89;

                if (formatChoice === 'letter') {
                    pW = 612.00;
                    pH = 792.00;
                }

                var item1 = pagesArray[idx];

                if (formatChoice === 'fit' &amp;&amp; layoutMode === '1') {
                    pW = item1.w;
                    pH = item1.h;
                    marginPts = 0;
                } else {
                    var isLandscape = Math.sign(item1.w - item1.h) === 1;
                    var shouldBeLandscape = false;
                    if (orientChoice === 'landscape') shouldBeLandscape = true;
                    if (orientChoice === 'auto' &amp;&amp; isLandscape) shouldBeLandscape = true;

                    if (shouldBeLandscape) {
                        var swap = pW;
                        pW = pH;
                        pH = swap;
                    }
                }

                var newPage = pdfDoc.addPage([pW, pH]);
                var availW = pW - (marginPts * 2);
                var availH = pH - (marginPts * 2);

                // --- MODALITÀ 2 FOTO PER PAGINA (FRONTE / RETRO) ---
                if (layoutMode === '2') {
                    var gapPts = 20; // Spazio tra le due foto
                    var slotH = (availH - gapPts) / 2;

                    // Foto 1: Metà Superiore (Fronte)
                    var emb1 = await convertToEmbeddedJpg(pdfDoc, item1);
                    var scale1 = Math.min(availW / item1.w, slotH / item1.h);
                    var fW1 = item1.w * scale1;
                    var fH1 = item1.h * scale1;
                    var posX1 = marginPts + ((availW - fW1) / 2);
                    var posY1 = (marginPts + slotH + gapPts) + ((slotH - fH1) / 2);

                    newPage.drawImage(emb1, {
                        x: posX1,
                        y: posY1,
                        width: fW1,
                        height: fH1
                    });

                    // Foto 2: Metà Inferiore (Retro) se presente
                    var hasSecond = false;
                    if (idx + 1 !== pagesArray.length) {
                        hasSecond = true;
                    }

                    if (hasSecond) {
                        var item2 = pagesArray[idx + 1];
                        var emb2 = await convertToEmbeddedJpg(pdfDoc, item2);
                        var scale2 = Math.min(availW / item2.w, slotH / item2.h);
                        var fW2 = item2.w * scale2;
                        var fH2 = item2.h * scale2;
                        var posX2 = marginPts + ((availW - fW2) / 2);
                        var posY2 = marginPts + ((slotH - fH2) / 2);

                        newPage.drawImage(emb2, {
                            x: posX2,
                            y: posY2,
                            width: fW2,
                            height: fH2
                        });

                        idx = idx + 2;
                    } else {
                        idx = idx + 1;
                    }

                // --- MODALITÀ 1 FOTO PER PAGINA (STANDARD) ---
                } else {
                    var embSingle = await convertToEmbeddedJpg(pdfDoc, item1);
                    var scaleSingle = Math.min(availW / item1.w, availH / item1.h);
                    var fWS = item1.w * scaleSingle;
                    var fHS = item1.h * scaleSingle;
                    var posXS = marginPts + ((availW - fWS) / 2);
                    var posYS = marginPts + ((availH - fHS) / 2);

                    newPage.drawImage(embSingle, {
                        x: posXS,
                        y: posYS,
                        width: fWS,
                        height: fHS
                    });

                    idx = idx + 1;
                }
            }

            var pdfBytes = await pdfDoc.save();
            var outName = nameInput.value.trim() || 'Scansione_Documento';
            if (outName.indexOf('.pdf') === -1) {
                outName = outName + '.pdf';
            }

            var blob = new Blob([pdfBytes], { type: 'application/pdf' });
            var link = document.createElement('a');
            link.href = URL.createObjectURL(blob);
            link.download = outName;
            link.click();
            setTimeout(function() {
                URL.revokeObjectURL(link.href);
            }, 2000);

        } catch(err) {
            console.error(err);
            alert("Errore durante la creazione del PDF.");
        } finally {
            executeBtn.disabled = false;
            executeBtn.innerText = "CREA E SCARICA PDF (" + pagesArray.length + " FOTO)";
        }
    };

})();
&lt;/script&gt;

&lt;p&gt;Il sistema si usa in modo immediato:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Scattare con l'obiettivo:&lt;/strong&gt; Premendo il pulsante azzurro si attiva la fotocamera. Si inquadra il foglio, si acquisisce la prima pagina e, senza uscire dalla schermata, si procede con i documenti successivi.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Caricare dalla galleria:&lt;/strong&gt; Se le immagini sono già salvate nel telefono, basta selezionarle in blocco per importarle nell'area di lavoro.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ordinare la sequenza:&lt;/strong&gt; Le frecce direzionali permettono di spostare in alto o in basso i singoli scatti, per correggere l'ordine delle pagine prima del salvataggio.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Generare il file:&lt;/strong&gt; Inserendo il nome del documento e avviando la creazione, il PDF finale finisce all'istante nella cartella locale dei download.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Unire il fronte e il retro della carta d'identità&lt;/h3&gt;
&lt;p&gt;Uno dei problemi più comuni è la richiesta di inviare la patente o il codice fiscale in un unico foglio. Molti portali rifiutano i file se il fronte e il retro sono inviati come due immagini separate.&lt;/p&gt;
&lt;p&gt;Per risolvere questo intoppo in pochi secondi seguiamo la rotta di Navigaweb impostando la disposizione automatica. Si caricano le due foto (fronte e retro). Dal menu a tendina dedicato alla disposizione, si seleziona l'opzione per posizionare &lt;strong&gt;due elementi per pagina&lt;/strong&gt;. L'algoritmo centra il fronte nella metà superiore del foglio A4 e il retro in quella inferiore. Il risultato è un documento formale, pulito e accettato da qualsiasi ufficio.&lt;/p&gt;

&lt;h2&gt;Metodi nativi per creare PDF senza strumenti esterni&lt;/h2&gt;
&lt;p&gt;Sia Android che iOS includono funzioni integrate per generare un PDF partendo da un'immagine. Questi passaggi sono utili per chi deve convertire un singolo scatto velocemente, anche se risultano scomodi quando occorre unire dieci foto in un unico documento.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Su iPhone (iOS):&lt;/strong&gt; Il sistema Apple non ha un tasto "Salva come PDF" diretto nella galleria, ma nasconde questa funzione nel menu di stampa. Si apre la foto, si preme l'icona di condivisione in basso a sinistra e si seleziona la voce &lt;strong&gt;Stampa&lt;/strong&gt;. A questo punto, invece di inviare il file alla stampante, si effettua un gesto di "zoom" (allargando l'immagine con due dita) sull'anteprima del foglio. L'immagine si trasforma istantaneamente in un PDF che può essere salvato nell'app File o inviato via email.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Su Android:&lt;/strong&gt; La procedura è più lineare e passa quasi sempre attraverso l'app Google Foto. Si apre l'immagine, si toccano i tre puntini in alto a destra e si seleziona &lt;strong&gt;Stampa&lt;/strong&gt;. Nel menu a tendina in alto, dove normalmente si sceglie la stampante, si seleziona l'opzione &lt;strong&gt;Salva come PDF&lt;/strong&gt;. Premendo l'icona del download, il file viene archiviato nella memoria del telefono.&lt;/p&gt;
&lt;p&gt;Il limite di questi metodi è che generano un file PDF per ogni singola fotografia. Se dovete inviare cinque scontrini, vi ritroverete a dover allegare cinque file distinti. Per accorpare tutto in un unico documento ordinato, &lt;b&gt;l'uso del mio convertitore dedicato resta l'unica soluzione rapida&lt;/b&gt;.&lt;/p&gt;


&lt;h2&gt;Privacy totale tramite elaborazione locale&lt;/h2&gt;
&lt;p&gt;Il vero vantaggio di questo sistema è l'elaborazione &lt;em&gt;client-side&lt;/em&gt;. A differenza dei convertitori tradizionali, le fotografie non vengono inviate a nessun server esterno. Vengono lette e convertite utilizzando esclusivamente il processore e la memoria RAM dello smartphone.&lt;/p&gt;
&lt;p&gt;I documenti rimangono sigillati all'interno dell'ambiente del browser. Per provarne la sicurezza, potete caricare la pagina, attivare la &lt;strong&gt;modalità aereo&lt;/strong&gt; e usare lo scanner: continuerà a funzionare perfettamente anche senza una connessione internet, perché l'intelligenza del programma risiede nel codice della pagina e non in un server remoto.&lt;/p&gt;
&lt;h2&gt;Trasformare lo scanner in un'app senza occupare spazio&lt;/h2&gt;
&lt;p&gt;Se dovete inviare documenti spesso, non serve cercare il link ogni volta. Potete creare un collegamento rapido che apre il convertitore con un solo tocco, esattamente come una normale applicazione.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Su Android:&lt;/strong&gt; Usando Chrome o Edge, toccate il menu con i tre puntini in alto a destra e selezionate &lt;strong&gt;Aggiungi a schermata Home&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Su iPhone:&lt;/strong&gt; Da Safari, premete l'icona di condivisione in basso (il quadrato con la freccia) e scegliete &lt;strong&gt;Aggiungi alla schermata Home&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Consigli per un risultato professionale&lt;/h2&gt;
&lt;p&gt;Per evitare che il documento venga rifiutato per scarsa qualità, tenete a mente questi accorgimenti:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Gestione del peso dei file.&lt;/strong&gt; Molti portali della Pubblica Amministrazione bloccano i file superiori a 5 Megabyte. Lo strumento applica una compressione che riduce l'impronta del file senza rovinare la leggibilità dei testi.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sfondo e contrasto.&lt;/strong&gt; La fotocamera dello smartphone spesso cattura i bordi del tavolo. Per un risultato pulito, appoggiate i fogli bianchi su una superficie scura e opaca prima di scattare.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Eliminazione dei metadati.&lt;/strong&gt; Ogni foto contiene dati EXIF (come le coordinate GPS). Il processo di conversione in PDF pulisce queste informazioni, garantendo che chi riceve il file non possa risalire al luogo esatto dello scatto.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;C'è chi continua a usare &lt;strong&gt;CamScanner&lt;/strong&gt; per abitudine, ma oggi non ha più senso. Tra l'essere diventato un mangia-soldi con abbonamenti aggressivi e i vecchi problemi di sicurezza legati a malware, è meglio lasciarlo perdere. Anche Microsoft Lens ha perso appeal, dato che Microsoft ha spostato quasi tutte le sue funzioni di acquisizione dentro l'app di OneDrive. Cercare la versione indipendente negli store è tempo perso.&lt;/p&gt;
&lt;h3&gt;Diario di bordo di Navigaweb&lt;/h3&gt;
&lt;p&gt;Sinceramente, trovo assurdo che nel tempo in cui inviamo pagamenti istantanei con un click, l'invio di un documento d'identità sia ancora un percorso a ostacoli fatto di app piene di pubblicità e server sospetti. Ho passato ore a testare vari convertitori e la conclusione è sempre la stessa: meno l'app è complessa, più è sicura. Spero quindi che questo tool, che funziona offline e non chiede nemmeno l'email, sia apprezzato, anch sto utilizzando ed è l'unico modo per non diffondere i propri dati.&lt;/p&gt;

&lt;p&gt;LEGGI ANCHE: &lt;b&gt;&lt;a href="https://www.navigaweb.net/2025/09/come-unire-e-separare-pdf-strumenti.html"&gt;Unire e separare PDF gratis online senza software a pagamento&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt; &lt;p&gt;&lt;font size="3"&gt;Articolo pubblicato su  &lt;a title="Navigaweb.net" href="https://www.navigaweb.net" target="_blank"&gt;&lt;font size="3"&gt;Navigaweb.net&lt;/font&gt;&lt;/a&gt;. Non è consentito ripubblicare senza il consenso dell'autore. Segui anche su &lt;a href="https://www.facebook.com/navigaweb"&gt;Facebook&lt;/a&gt;, &lt;a href="https://twitter.com/pomhey"&gt;Twitter&lt;/a&gt; e &lt;a href="https://news.google.com/publications/CAAqBggKMLPofjD03wk"&gt;Google News&lt;/a&gt; .&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;</content><link href="https://www.navigaweb.net/2012/07/scansione-di-documenti-in-pdf-da-iphone.html#comment-form" rel="replies" title="0 Commenti" type="text/html"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/8808076115993831715" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/8808076115993831715" rel="self" type="application/atom+xml"/><link href="https://www.navigaweb.net/2012/07/scansione-di-documenti-in-pdf-da-iphone.html" rel="alternate" title="Scanner PDF online privato per documenti fronte e retro" type="text/html"/><author><name>Claudio Pomes</name><uri>http://www.blogger.com/profile/05867241310817527022</uri><email>noreply@blogger.com</email><gd:image height="32" rel="http://schemas.google.com/g/2005#thumbnail" src="//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnjMmdIWMIcd464SD-u4VsJBXmTf1BTGQAIVPFdzGK2Z3P1ZKbrISt8SdSFSGSzoc4KvmJvACpnL9lE9x7-fXplMVjqdG1IkoB_Jq_kclZtfLmEoSONobAo5j2sFP2wxJHIGZa5_p5KwCURDkifbBQtwrgA_Q52gr-Hnsn9Eg7vVYocYc/s220/pomheybokeh.jpg" width="32"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSxCoE16YiGfFf6jaS-emQ6RKHA29nKLXcGJSwTwyB7V75suothqi4iOs9IJCr-DUMFVF6hH0nGKJhtJ8lStRuJ2TEr8OFLGmo0BiaPNVgKP8FWT1KbDF9V-A7vjutLquizYxPwpOAqJ7vFGeh2RPne1U1hpyOkeK0SmsVGlKNZEtpUxEsBezIJUgq2FfG/s72-c/scannerweb.jpg" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5148617246197063026.post-1829424108562170303</id><published>2026-09-24T12:02:29.485+02:00</published><updated>2026-09-24T12:02:29.557+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="applicazioni web"/><title type="text">Condividere lo schermo del PC online senza installare nulla</title><content type="html">&lt;img alt="Condivisione schermo" height="210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYh1HO5HaY0C_SHLMv4hxdddK_pMGJGZSERXI0baQvBAivRD3b5COFGdGgxTSl-dFjDphzuSdgnHK3auI3XS9krsmToEadDthlxr5xZsrvgrMUoioy2YTwbH5R_anhvP5INXRvhJNrdsY/w400-h210/teamviewer.jpg" title="Condividere lo schermo del PC" width="400" /&gt; &lt;p&gt;Il cliente è al telefono e aspetta di vedere la bozza del progetto. Si trova su un computer aziendale bloccato dagli amministratori di rete, dove non può installare né TeamViewer né AnyDesk. Proporre una chiamata sulle piattaforme tradizionali significa spesso imporre l'accesso con credenziali dimenticate o scontrarsi con i filtri dei firewall. Il risultato sono dieci minuti di stallo per un'operazione che dovrebbe essere immediata.&lt;/p&gt;
&lt;p&gt;Per mostrare un documento, una presentazione o il desktop intero non servono eseguibili dedicati. I browser moderni integrano un protocollo nativo per gestire il flusso video all'interno della pagina web. Il link crea un &lt;strong&gt;tunnel diretto&lt;/strong&gt; tra due computer, aggirando i blocchi amministrativi e azzerando i tempi di preparazione.&lt;/p&gt;
&lt;a name='more'&gt;&lt;/a&gt; 
&lt;p&gt;LEGGI ANCHE: &lt;b&gt;&lt;a href="https://www.navigaweb.net/2014/01/migliori-5-programmi-di-desktop-remoto.html"&gt;Migliori programmi di desktop remoto per collegarsi da lontano al computer&lt;/a&gt;&lt;/b&gt; &lt;/p&gt;

  &lt;h2&gt;I servizi migliori per connessioni dirette&lt;/h2&gt;
&lt;p&gt;Esistono diverse applicazioni web progettate per sfruttare le reti peer-to-peer. Abbiamo isolato quelle che funzionano cliccando un singolo link, senza richiedere iscrizioni e senza limitazioni di tempo.&lt;/p&gt;
&lt;h3&gt;Screen Sharing by Jitbit&lt;/h3&gt;
&lt;p&gt;Quando l'urgenza impone di mostrare lo schermo a una sola persona in pochi secondi, &lt;strong&gt;&lt;a href="https://www.jitbit.com/screensharing/" rel="nofollow" target="_blank"&gt;Screen Sharing by Jitbit&lt;/a&gt;&lt;/strong&gt; elimina ogni interfaccia superflua. Non ci sono pulsanti per la webcam, manca la chat testuale e non c'è un campo per inserire il nome. La pagina web mostra un singolo pulsante per avviare la trasmissione.&lt;/p&gt;
&lt;p&gt;Premendolo, il sistema genera un indirizzo web univoco. Basta copiarlo e incollarlo nel programma di messaggistica del destinatario. Chi clicca il link vede il monitor remoto in tempo reale. I server vengono interpellati esclusivamente per far incontrare i due browser nel primo secondo di collegamento, dopodiché la comunicazione diventa totalmente diretta.&lt;/p&gt;
&lt;h3&gt;Jitsi Meet&lt;/h3&gt;
&lt;p&gt;Se la conversazione coinvolge più partecipanti e richiede l'uso del microfono, &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2020/04/come-usare-jitsi-meet-la-piattaforma-di.html" target="_blank"&gt;Jitsi Meet&lt;/a&gt;&lt;/strong&gt; rappresenta lo standard per le comunicazioni aperte. Il codice sorgente pubblico garantisce l'assenza di tracciamenti commerciali o di interruzioni pubblicitarie.&lt;/p&gt;
&lt;p&gt;Per avviare la conferenza occorre digitare un nome per la &lt;strong&gt;stanza virtuale&lt;/strong&gt; e premere invio. L'icona a forma di monitor nella barra inferiore permette di selezionare se trasmettere l'intero desktop, una specifica applicazione aperta o una singola scheda di navigazione, mantenendo nascosto il resto del sistema operativo agli occhi degli ospiti.&lt;/p&gt;
&lt;h3&gt;Kosmi&lt;/h3&gt;
&lt;p&gt;La condivisione dell'audio interno del computer crea spesso ostacoli di configurazione. &lt;strong&gt;&lt;a href="https://kosmi.io/" rel="nofollow" target="_blank"&gt;Kosmi&lt;/a&gt;&lt;/strong&gt; risolve la questione raggruppando gli utenti in salotti digitali progettati per far ascoltare la stessa traccia a tutti i presenti. A differenza degli strumenti di videoconferenza classici, questa applicazione web cattura fedelmente i suoni di sistema senza riverberi.&lt;/p&gt;
&lt;p&gt;Risulta lo strumento adeguato per visionare un file multimediale in gruppo o mostrare il funzionamento di un software musicale, senza costringere chi guarda a creare un profilo utente. L'interfaccia supporta anche una chat testuale parallela al flusso video.&lt;/p&gt;
&lt;h3&gt;VDO.ninja&lt;/h3&gt;
&lt;p&gt;I professionisti che lavorano su software di grafica tridimensionale o montaggio video notano regolarmente un calo della qualità visiva durante le condivisioni standard, causato dalla compressione applicata per risparmiare banda. Seguendo la rotta di Navigaweb per trasmettere senza perdite di definizione, lo strumento da utilizzare è &lt;strong&gt;&lt;a href="https://vdo.ninja/" rel="nofollow" target="_blank"&gt;VDO.ninja&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Selezionando l'opzione "Share your Screen" nella schermata iniziale, il sistema sfrutta la massima capacità della connessione internet per inviare un &lt;strong&gt;flusso video non compresso a 60 fotogrammi al secondo&lt;/strong&gt;. Si ottiene una fluidità visiva identica a quella del monitor originale, indispensabile per mostrare dettagli precisi di un progetto grafico.&lt;/p&gt;
&lt;h2&gt;Opzioni rapide per piccoli gruppi e emergenze&lt;/h2&gt;
&lt;p&gt;Esistono altri strumenti che possono sbloccare la situazione quando i servizi principali non sono disponibili, anche se presentano qualche compromesso in termini di qualità o interfaccia.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.deadsimplescreensharing.com/" rel="nofollow" target="_blank"&gt;Dead Simple Screen Sharing&lt;/a&gt;&lt;/strong&gt; fa onore al nome: è pensato per chi non vuole pensare a nulla e ha bisogno di un link immediato. La qualità del video è più bassa rispetto a VDO.ninja e il numero di partecipanti è limitato, ma per una rapida spiegazione di due minuti tra colleghi è l'opzione più veloce in assoluto.&lt;/p&gt;
&lt;p&gt;Chi non ha problemi con l'estetica può provare &lt;strong&gt;&lt;a href="https://www.freeconference.com/" rel="nofollow" target="_blank"&gt;FreeConference&lt;/a&gt;&lt;/strong&gt;. L'interfaccia sembra uscita da dieci anni fa, ma permette di condividere documenti e schermi direttamente dal browser senza scaricare nulla. È una soluzione solida, sebbene meno moderna, per chi ha bisogno di un ambiente più formale.&lt;/p&gt;
&lt;p&gt;Infine c'è &lt;strong&gt;&lt;a href="https://www.screenleap.com/" rel="nofollow" target="_blank"&gt;Screenleap&lt;/a&gt;&lt;/strong&gt;. È molto veloce per le presentazioni, ma c'è un dettaglio importante: per funzionare al meglio spesso richiede l'installazione di un'estensione per il browser. Se vi trovate su un PC aziendale con i permessi di amministratore bloccati, l'estensione potrebbe non essere installabile, rendendo questo strumento inutile in quel contesto specifico.&lt;/p&gt;
&lt;h2&gt;Accorgimenti per una sessione fluida e sicura&lt;/h2&gt;
&lt;p&gt;Elementi da valutare quando si usano applicazioni basate sul browser web:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Sicurezza dei dati trasmessi&lt;/strong&gt;. Le comunicazioni peer-to-peer sfruttano la &lt;em&gt;crittografia da un punto all'altro&lt;/em&gt;. Le informazioni visive passano attraverso la rete ma non vengono archiviate sui server dell'azienda che fornisce il servizio. Appena si chiude la scheda del browser, il collegamento smette di esistere senza lasciare tracce.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sforzo del processore&lt;/strong&gt;. Catturare e spedire i pixel del display richiede calcoli continui. Sui computer portatili più datati, tenere aperta la trasmissione ad alta risoluzione per ore causa un aumento delle temperature e un calo della batteria. Conviene limitare la condivisione a singole finestre invece dell'intero desktop per ridurre il carico sulla memoria RAM.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Compatibilità mobile&lt;/strong&gt;. Questi siti operano alla perfezione per chi riceve e guarda lo schermo dal cellulare. Al contrario, trasmettere il display di un iPhone o di uno smartphone Android verso il PC usando solo il browser risulta spesso impossibile, poiché i sistemi operativi mobili bloccano l'accesso alla cattura dello schermo per ragioni di privacy.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Diario di bordo di Navigaweb&lt;/h3&gt;
&lt;p&gt;Uso quotidianamente questi collegamenti per offrire supporto immediato a chi usa il computer in modo molto basico. Fino a qualche anno fa bisognava dettare al telefono lunghi codici numerici per far scaricare e avviare il file di supporto corretto, sperando che l'antivirus non bloccasse tutto. Oggi invio un link su WhatsApp, la persona lo apre sul computer e in tre secondi abbiamo risolto il problema. Quando mi trovo davanti a quel muro di blocchi amministrativi tipico dei PC aziendali, Jitsi Meet è la mia ancora di salvezza: non cade mai e chiunque riesce a premere su "Consenti" senza dover chiamare il tecnico della ditta.&lt;/p&gt;

    
&lt;p&gt;LEGGI ANCHE: &lt;b&gt;&lt;a href="https://www.navigaweb.net/2016/09/windows-10-come-ricevitore-miracast-per.html"&gt;Mirroring dello schermo e proiezione sul PC (Windows 11 e 10)&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt; &lt;p&gt;&lt;font size="3"&gt;Articolo pubblicato su  &lt;a title="Navigaweb.net" href="https://www.navigaweb.net" target="_blank"&gt;&lt;font size="3"&gt;Navigaweb.net&lt;/font&gt;&lt;/a&gt;. Non è consentito ripubblicare senza il consenso dell'autore. Segui anche su &lt;a href="https://www.facebook.com/navigaweb"&gt;Facebook&lt;/a&gt;, &lt;a href="https://twitter.com/pomhey"&gt;Twitter&lt;/a&gt; e &lt;a href="https://news.google.com/publications/CAAqBggKMLPofjD03wk"&gt;Google News&lt;/a&gt; .&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;</content><link href="https://www.navigaweb.net/2012/06/condividere-lo-schermo-del-pc-migliori.html#comment-form" rel="replies" title="0 Commenti" type="text/html"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/1829424108562170303" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/1829424108562170303" rel="self" type="application/atom+xml"/><link href="https://www.navigaweb.net/2012/06/condividere-lo-schermo-del-pc-migliori.html" rel="alternate" title="Condividere lo schermo del PC online senza installare nulla" type="text/html"/><author><name>Claudio Pomes</name><uri>http://www.blogger.com/profile/05867241310817527022</uri><email>noreply@blogger.com</email><gd:image height="32" rel="http://schemas.google.com/g/2005#thumbnail" src="//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnjMmdIWMIcd464SD-u4VsJBXmTf1BTGQAIVPFdzGK2Z3P1ZKbrISt8SdSFSGSzoc4KvmJvACpnL9lE9x7-fXplMVjqdG1IkoB_Jq_kclZtfLmEoSONobAo5j2sFP2wxJHIGZa5_p5KwCURDkifbBQtwrgA_Q52gr-Hnsn9Eg7vVYocYc/s220/pomheybokeh.jpg" width="32"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYh1HO5HaY0C_SHLMv4hxdddK_pMGJGZSERXI0baQvBAivRD3b5COFGdGgxTSl-dFjDphzuSdgnHK3auI3XS9krsmToEadDthlxr5xZsrvgrMUoioy2YTwbH5R_anhvP5INXRvhJNrdsY/s72-w400-h210-c/teamviewer.jpg" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5148617246197063026.post-5051747455576736071</id><published>2026-09-24T11:31:09.442+02:00</published><updated>2026-09-24T11:31:09.508+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Browser"/><category scheme="http://www.blogger.com/atom/ns#" term="Sicurezza"/><title type="text">Bloccare i popup a ogni click sul PC e ripulire il browser</title><content type="html">&lt;img alt="Pop Up PC" height="195" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjPGcVOablQwvcy1IsCQEoUZXHq3dJrGlUYxxohtVb45-FAjYc2RVWLuTOa-KAKE1yEVzjGd1NHEgkpJMmtT1jW94eSG_5AuSWUW0nzb17kG6B5IJ8mmfSv6fCZuxy8VnCHwUyqyV6N-Q/w320-h195/Blocco-pop-up-PC.jpg" title="Blocco pubblicità PC" width="320" /&gt;
&lt;p&gt;Fare clic su un punto qualsiasi di una pagina web e veder comparire all'istante una nuova scheda non richiesta è uno dei comportamenti più irritanti che possano capitare usando il computer. Non si tratta di un guasto al mouse o di un errore della linea internet. Quando a ogni selezione spuntano finestre piene di giochi online, finti aggiornamenti o avvisi di vincite inesistenti, il sistema operativo è finito sotto il controllo di un adware. Questi programmi si agganciano ai processi del browser con un unico scopo: forzare l'apertura di siti sponsorizzati per guadagnare a spese della nostra pazienza.&lt;/p&gt;
&lt;p&gt;Pensare che la causa sia sempre un virus distruttivo porta spesso a decisioni affrettate, come formattare tutto il disco. Nella maggior parte dei casi, però, l'intrusione si limita a modifiche delle impostazioni di rete, estensioni fantasma o permessi concessi per sbaglio. Intervenendo con ordine sui singoli livelli di Windows si riesce a disinfettare la macchina senza perdere i propri file.&lt;/p&gt;

&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h2&gt;Riconoscere l'origine delle finestre automatiche&lt;/h2&gt;
&lt;p&gt;La comparsa di avvisi a tutto schermo segue quasi sempre strade precise. Molti portali offrono file gratuiti inserendo i comandi di scaricamento all'interno di pacchetti ingannevoli. Cliccando sui pulsanti di installazione senza leggere bene le caselle secondarie, si approva l'inserimento di barre degli strumenti o servizi che restano attivi in background.&lt;/p&gt;
&lt;p&gt;Altre volte il problema risiede nei permessi del browser. I siti malevoli mostrano un finto controllo per confermare di non essere un robot, chiedendo di premere un tasto. Quell'azione autorizza l'invio di notifiche push che imitano la grafica del sistema operativo, proiettando banner pubblicitari sul desktop anche quando il programma di navigazione è chiuso.&lt;/p&gt;
&lt;h2&gt;Pulizia del browser e rimozione delle estensioni&lt;/h2&gt;
&lt;p&gt;Il primo passo consiste nell'eliminare i ponti usati dalla pubblicità all'interno del programma che usiamo per navigare. Le estensioni create per intercettare i clic si nascondono spesso dietro nomi rassicuranti come gestori di download o strumenti per il meteo.&lt;/p&gt;
&lt;p&gt;Su Chrome e Edge conviene aprire il menu principale, andare nella gestione delle estensioni e cancellare tutto ciò che non ricordiamo di aver aggiunto personalmente. Se il browser continua a reindirizzare le ricerche verso motori sconosciuti, l'opzione più sicura è il ripristino delle impostazioni predefinite. Questo comando azzera la pagina iniziale e disattiva i plugin senza cancellare la cronologia o le password memorizzate.&lt;/p&gt;
&lt;h2&gt;Scansione mirata con strumenti dedicati&lt;/h2&gt;
&lt;p&gt;L'antivirus di base presente in Windows fatica a rilevare gli adware perché questi software vengono tecnicamente accettati dall'utente durante l'installazione di altri programmi. Occorre quindi lanciare utility pensate unicamente per scovare le toolbar e i processi parassiti.&lt;/p&gt;
&lt;p&gt;Il primo controllo va affidato ad &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2015/08/scarica-adwcleaner-5-con-scansione.html"&gt;AdwCleaner&lt;/a&gt;&lt;/strong&gt;, uno strumento leggero che non necessita di installazione fissa sul disco.&lt;/p&gt;
&lt;img alt="AdwCleaner" height="206" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKtvG9jORM9937OTCm6pxwM09FjqlV4HAwHBuAztSYcfyzeva9CTyxPJ6EtvqU36eoPsnmf6IXpAQ4pqvIQUazx6oiQX4WBw7hhTJCIU-0V6f1_4UBub-dpn8cEql7X8tp4giF71NDIyk/w320-h206/AdwCleaner.jpg" title="App AdwCleaner" width="320" /&gt;
&lt;p&gt;Basta avviare l'eseguibile, premere il tasto di scansione e attendere il rapporto finale. Il programma analizza il registro di sistema, le cartelle dei browser e i file di avvio, mettendo in quarantena gli elementi che aprono i popup. Al termine basta confermare la pulizia e riavviare il computer.&lt;/p&gt;
&lt;p&gt;Se le finestre continuano a comparire mentre si aprono cartelle o documenti locali, l'infezione potrebbe coinvolgere processi più profondi. In questo scenario si passa a &lt;strong&gt;&lt;a href="https://it.malwarebytes.com/" rel="nofollow" target="_blank"&gt;Malwarebytes&lt;/a&gt;&lt;/strong&gt; per una scansione completa della memoria.&lt;/p&gt;
&lt;img alt="Malwarebytes" height="227" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8A2QYlHw3-hKES9MpYH17poHDmW3t3zW59EChKQGkTNkDqAofvTZ-ZHVF4hQaW2JuYrLNVec9HwjnlwbnO26DIraHBGg68k6OKw3R9AMiQBq6KtPE5M0LZclU_tDgj4_e5GFxjkI7Wks/w320-h227/malwarebytes.jpg" title="App Malwarebytes" width="320" /&gt;
&lt;p&gt;La versione gratuita esamina le aree del disco rigido in cui si annidano trojan e spyware. Al termine dell'analisi basta selezionare tutti gli elementi rilevati e procedere con la rimozione.&lt;/p&gt;
&lt;p&gt;Per situazioni bloccate dove l'infezione impedisce perfino l'apertura delle impostazioni, la risorsa di riserva più affidabile è &lt;strong&gt;&lt;a href="https://www.kaspersky.it/downloads/thank-you/free-virus-removal-tool" rel="nofollow" target="_blank"&gt;Kaspersky Virus Removal Tool&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;img alt="Tool Kaspersky" height="296" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFKYHQIpxdPEq0pMIw0lyNsY9VAJWvM6TV8O2IbOjZKYMMOlmTOvYar2OeW3iSpTNp9v5r-TzH4DQ703jnI_-c1-7dxxYqjXeOMR3wI8Su8Vagr2ydWXKyzJi-eZDL6zchzXG5cs7wuTI/w320-h296/Kaspersky-Virus-Removal-Tool.jpg" title="Kaspersky Virus Removal Tool" width="320" /&gt;
&lt;p&gt;Questo strumento autonomo include un database di firme aggiornato. Lavora direttamente in memoria e non entra in conflitto con l'antivirus già presente sul computer, ripulendo i file di sistema manomessi.&lt;/p&gt;
&lt;h2&gt;Riparare i DNS e il file hosts di Windows&lt;/h2&gt;
&lt;p&gt;Alcuni script pubblicitari non si limitano a installare file, ma alterano il modo in cui il computer traduce gli indirizzi internet. In questo modo, digitando il nome di un sito comune, si viene dirottati verso server pubblicitari esterni.&lt;/p&gt;
&lt;p&gt;Quando i programmi continuano ad aprire pagine sospette anche dopo le scansioni, la rotta di Navigaweb suggerisce di verificare l'integrità del file hosts. Occorre aprire il percorso &lt;em&gt;C:\Windows\System32\drivers\etc&lt;/em&gt; con Blocco Note in modalità amministratore. Un documento originale non deve contenere indirizzi IP associati a siti web conosciuti sotto le righe di spiegazione contrassegnate dal simbolo cancelletto. Se compaiono stringhe anomale, vanno cancellate prima di salvare il file.&lt;/p&gt;
&lt;p&gt;Subito dopo occorre esaminare le impostazioni della connessione. Entrando nelle impostazioni di rete di Windows e selezionando la scheda attiva, si controlla che l'assegnazione dei server DNS sia impostata su automatica. Se nei campi numerici compaiono indirizzi IP sconosciuti, vanno azzerati immediatamente per impedire al malware di filtrare il traffico.&lt;/p&gt;
&lt;h2&gt;Accorgimenti finali per un PC pulito&lt;/h2&gt;
&lt;p&gt;Cosa controllare se le finestre continuano ad apparire sul desktop:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;I collegamenti sul desktop.&lt;/strong&gt; Certi adware alterano la riga di comando delle icone dei browser. Facendo clic con il tasto destro sull'icona di avvio e aprendo le proprietà, la casella destinazione deve terminare con il nome del file eseguibile. Se dopo l'estensione compaiono indirizzi web, il sistema aprirà sempre quella pagina all'avvio.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;I filtri contro il tracciamento.&lt;/strong&gt; Per evitare di installare troppe estensioni, l'impiego di un navigatore orientato alla riservatezza come &lt;strong&gt;&lt;a href="https://brave.com/" rel="nofollow" target="_blank"&gt;Brave&lt;/a&gt;&lt;/strong&gt; blocca all'origine gli script che generano finestre popup ed è ideale quando si visitano siti notoriamente pieni di popup.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Le modifiche al router.&lt;/strong&gt; In rari casi l'infezione risiede nel modem domestico. Se i popup compaiono su tutti i dispositivi connessi alla stessa rete WiFi, è necessario eseguire un reset del router e cambiare la password di gestione interna.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Diario di bordo di Navigaweb&lt;/h3&gt;
&lt;p&gt;La proliferazione di finestre pubblicitarie è la prova di quanto sia diventato fastidioso navigare senza protezioni. Troppi programmi gratuiti nascondono oggi installatori trabocchetto, sfruttando la fretta di chi usa il PC per inserire estensioni spia. Il mio consiglio è di non fidarsi mai del primo tasto "Download" che si vede in una pagina, ma di guardare bene dove si clicca. Spesso bastano dieci secondi di attenzione per evitarsi ore di bonifica manuale e riprendersi finalmente il piacere di un click che non apra dieci schede non richieste.&lt;/p&gt;

Se ci teniamo a tenere il PC con Windows sicuro ed efficiente, vi suggeriamo i &lt;b&gt;&lt;a href="https://www.navigaweb.net/2012/01/migliori-10-antivirus-gratis-del-2012.html"&gt;migliori Antivirus gratis per PC&lt;/a&gt;&lt;/b&gt;.&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt; &lt;p&gt;&lt;font size="3"&gt;Articolo pubblicato su  &lt;a title="Navigaweb.net" href="https://www.navigaweb.net" target="_blank"&gt;&lt;font size="3"&gt;Navigaweb.net&lt;/font&gt;&lt;/a&gt;. Non è consentito ripubblicare senza il consenso dell'autore. Segui anche su &lt;a href="https://www.facebook.com/navigaweb"&gt;Facebook&lt;/a&gt;, &lt;a href="https://twitter.com/pomhey"&gt;Twitter&lt;/a&gt; e &lt;a href="https://news.google.com/publications/CAAqBggKMLPofjD03wk"&gt;Google News&lt;/a&gt; .&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;</content><link href="https://www.navigaweb.net/2012/06/se-internet-explorer-apre-pubblicita-e.html#comment-form" rel="replies" title="0 Commenti" type="text/html"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/5051747455576736071" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/5051747455576736071" rel="self" type="application/atom+xml"/><link href="https://www.navigaweb.net/2012/06/se-internet-explorer-apre-pubblicita-e.html" rel="alternate" title="Bloccare i popup a ogni click sul PC e ripulire il browser" type="text/html"/><author><name>Claudio Pomes</name><uri>http://www.blogger.com/profile/05867241310817527022</uri><email>noreply@blogger.com</email><gd:image height="32" rel="http://schemas.google.com/g/2005#thumbnail" src="//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnjMmdIWMIcd464SD-u4VsJBXmTf1BTGQAIVPFdzGK2Z3P1ZKbrISt8SdSFSGSzoc4KvmJvACpnL9lE9x7-fXplMVjqdG1IkoB_Jq_kclZtfLmEoSONobAo5j2sFP2wxJHIGZa5_p5KwCURDkifbBQtwrgA_Q52gr-Hnsn9Eg7vVYocYc/s220/pomheybokeh.jpg" width="32"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjPGcVOablQwvcy1IsCQEoUZXHq3dJrGlUYxxohtVb45-FAjYc2RVWLuTOa-KAKE1yEVzjGd1NHEgkpJMmtT1jW94eSG_5AuSWUW0nzb17kG6B5IJ8mmfSv6fCZuxy8VnCHwUyqyV6N-Q/s72-w320-h195-c/Blocco-pop-up-PC.jpg" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5148617246197063026.post-6677820095388634218</id><published>2026-09-24T11:19:01.562+02:00</published><updated>2026-09-24T11:19:01.667+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Windows Tool"/><title type="text">Eliminare i limiti di Windows con i tool gratuiti giusti</title><content type="html">&lt;img alt="strumenti windows da installare" height="269" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjk6RNrSZgvrkyHOIQF7TCD64pMn8xgGslh5NGbyzoJhh7nUVfvvU8tQn9TDlG9evS8zboKzCfU5l2i9pLm_90E2-tFEIJrhwxovq5PV1em6qXp6MVcVb1t1aNh959TKHpaL8YLPklRjyau/s320/tool-windows.webp" title="windows tools" width="320" /&gt; &lt;p&gt; Un computer appena acceso presenta un ambiente operativo di base che lascia scoperti molti fianchi. Esplora Risorse fatica a gestire trasferimenti multipli di dati, il blocco note integrato è inadeguato per manipolare testi lunghi e la gestione degli appunti dimentica sistematicamente un indirizzo copiato due minuti prima.&lt;/p&gt;
&lt;p&gt;Microsoft progetta il suo sistema per un uso generico, lasciando inevitabilmente dei vuoti funzionali che rallentano le operazioni quotidiane. Per colmare queste lacune non serve acquistare costose suite software. Esiste un archivio di utility gratuite, spesso create da singoli sviluppatori, che si integrano nel sistema operativo modificandone l'interfaccia e aggiungendo opzioni essenziali al tasto destro del mouse. L'obiettivo non è riempire il disco di programmi, ma sostituire gli strumenti di fabbrica con alternative più precise e silenziose.&lt;/p&gt;

&lt;a name='more'&gt;&lt;/a&gt; 
&lt;p&gt;LEGGI ANCHE: &lt;b&gt;&lt;a href="https://www.navigaweb.net/2015/03/migliori-utility-windows-gratuite-da.html"&gt;Migliori 25 Utility Windows gratuite, da avere e conservare&lt;/a&gt;&lt;/b&gt;&lt;/p&gt; 

&lt;h2&gt;Ricerca immediata e gestione rapida dei file sul disco&lt;/h2&gt;
&lt;p&gt;Il tempo perso ad aspettare che una barra di caricamento finisca di scorrere è il peggior nemico di chi siede al computer. Le utility dedicate alla gestione del disco bypassano le lentezze native del sistema.&lt;/p&gt;
&lt;p&gt;Per localizzare un file sperduto, il motore interno di Windows risulta pesante. Installando &lt;strong&gt;&lt;a href="https://www.voidtools.com/" rel="nofollow" target="_blank"&gt;Everything&lt;/a&gt;&lt;/strong&gt;, la ricerca diventa istantanea. Questo programma legge direttamente la tabella di allocazione dei file: basta digitare due lettere e i documenti compaiono a schermo senza un millisecondo di ritardo. Per chi lavora con archivi sterminati, rappresenta la &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2009/03/ricerca-veloce-di-file-sul-pc-e-sul.html"&gt;migliore applicazione per cercare file su Windows velocemente&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Quando lo spazio sul disco comincia a scarseggiare, i vecchi programmi grafici impiegano troppo tempo a scansionare le memorie a stato solido. Molto meglio orientarsi su &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2012/03/vedere-lo-spazio-occupato-su-disco-da.html" target="_blank"&gt;WizTree&lt;/a&gt;&lt;/strong&gt;, uno strumento moderno che analizza dischi interi in pochi secondi e disegna una mappa visiva a blocchi colorati, dove i rettangoli più grandi identificano al colpo d'occhio i video dimenticati o i backup che occupano gigabyte inutili.&lt;/p&gt;
&lt;p&gt;Lo spostamento di file voluminosi verso memorie esterne viene invece affidato a &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2009/04/copiare-tanti-file-velocemente-e.html" target="_blank"&gt;Teracopy&lt;/a&gt;&lt;/strong&gt;. A differenza del copia e incolla di serie, che si interrompe bruscamente al primo errore di lettura, Teracopy salta il blocco difettoso, continua a trasferire il resto della coda e offre un rapporto dettagliato a fine processo, permettendo anche di mettere in pausa l'operazione.&lt;/p&gt;
&lt;h2&gt;Visualizzatori veloci e scorciatoie per la produttività&lt;/h2&gt;
&lt;p&gt;I programmi integrati per la consultazione rapida di testi e foto sono diventati negli anni sempre più pesanti e infarciti di collegamenti cloud non richiesti.&lt;/p&gt;
&lt;p&gt;L'app Foto predefinita spesso richiede diversi secondi anche solo per mostrare un'immagine catturata al volo. Per questo motivo molti preferiscono installare &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2008/05/sfogliare-e-modificare-foto-e-immagini.html" target="_blank"&gt;IrfanView&lt;/a&gt;&lt;/strong&gt;, un lettore storico e leggerissimo che apre all'istante qualunque estensione grafica esistente. Per convertire o ridimensionare centinaia di foto in un colpo solo senza passare da siti web lenti o invadenti, la rotta di Navigaweb passa per la finestra di elaborazione in serie di IrfanView, richiamabile semplicemente premendo il tasto B sulla tastiera.&lt;/p&gt;
&lt;p&gt;Per chi desidera dare una sbirciata veloce al contenuto dei documenti senza avviare i programmi associati, &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2011/05/il-programma-che-legge-tutto-free.html" target="_blank"&gt;QuickLook&lt;/a&gt;&lt;/strong&gt; colma una grande assenza. Funziona selezionando un file e premendo la barra spaziatrice: a schermo si apre un riquadro immediato con l'anteprima di PDF, archivi compressi o immagini, che scompare rilasciando il tasto.&lt;/p&gt;
&lt;p&gt;La gestione avanzata delle finestre e del desktop viene poi completata dalla raccolta ufficiale &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2019/09/scarica-microsoft-powertoys-per-windows.html"&gt;Microsoft PowerToys&lt;/a&gt;&lt;/strong&gt;. Integra funzioni per agganciare le finestre su layout complessi ed estrae il testo da qualsiasi schermata tramite riconoscimento ottico dei caratteri.&lt;/p&gt;
&lt;p&gt;A questo si affiancano utility mirate come &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2009/02/migliori-clipboard-per-visualizzare-e.html" target="_blank"&gt;Ditto&lt;/a&gt;&lt;/strong&gt;, che memorizza ogni elemento copiato negli appunti per poterlo recuperare ore dopo, e &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2013/01/regolare-volume-pc-rotella-mouse.html" target="_blank"&gt;Volumouse&lt;/a&gt;&lt;/strong&gt;, comodo per alzare o abbassare l'audio girando la rotella del mouse quando il puntatore si trova sopra la barra delle applicazioni.&lt;/p&gt;
&lt;h2&gt;Manutenzione, pulizia e aggiornamento del sistema&lt;/h2&gt;
&lt;p&gt;Mantenere il computer scattante richiede interventi periodici per rimuovere i residui lasciati dai software disinstallati e per tenere le applicazioni aggiornate senza navigare manualmente su decine di siti diversi.&lt;/p&gt;
&lt;p&gt;Microsoft ha sviluppato un proprio strumento leggero chiamato &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2012/10/configurazione-pc-ottimale-con-systemcare.html" target="_blank"&gt;Microsoft PC Manager&lt;/a&gt;&lt;/strong&gt;. Questa utility risiede nella barra di sistema e consente di svuotare la memoria temporanea con un solo clic, gestire le applicazioni che si avviano da sole all'accensione del PC e ripulire le cartelle dei download senza ricorrere a programmi terzi spesso colmi di notifiche commerciali invasive.&lt;/p&gt;
&lt;p&gt;Per la gestione degli aggiornamenti software, superando i vecchi sistemi dismessi, la soluzione migliore è &lt;strong&gt;&lt;a href="https://devolutions.net/unigetui/" rel="nofollow" target="_blank"&gt;UniGetUI&lt;/a&gt;&lt;/strong&gt;. Si tratta di un'interfaccia visiva per i gestori di pacchetti come Winget: analizza tutti i programmi presenti nel computer, segnala quali presentano versioni obsolete e permette di aggiornarli contemporaneamente con un solo comando.&lt;/p&gt;
&lt;p&gt;Quando invece un'applicazione rifiuta di disinstallarsi correttamente lasciando cartelle bloccate nel disco rigido, &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2008/12/disintallare-programmi-e-rimozione.html" target="_blank"&gt;Bulk Crap Uninstaller&lt;/a&gt;&lt;/strong&gt; forza l'eliminazione profonda dei file orfani e delle chiavi di registro. Per evitare che durante l'installazione di utility esterne vengano aggiunti programmi spazzatura, &lt;strong&gt;&lt;a href="https://unchecky.com/" rel="nofollow" target="_blank"&gt;Unchecky&lt;/a&gt;&lt;/strong&gt; provvede a togliere in silenzio la spunta dalle offerte promozionali nascoste.&lt;/p&gt;
&lt;p&gt;Nei casi di carichi di lavoro anomali della CPU, per individuare quale processo stia bloccando il sistema si usa &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2009/02/migliorare-le-funzioni-del-task-manager.html" target="_blank"&gt;Process Explorer&lt;/a&gt;&lt;/strong&gt;, che fornisce dettagli approfonditi su ogni singolo servizio in esecuzione.&lt;/p&gt;
&lt;h2&gt;I sostituti indispensabili per le attività di tutti i giorni&lt;/h2&gt;
&lt;p&gt;Ci sono infine quattro programmi storici che rappresentano la prima installazione su qualsiasi computer Windows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.navigaweb.net/2012/06/aprire-rar-e-zip-con-7zip-alternativa.html"&gt;7-Zip&lt;/a&gt;&lt;/strong&gt; per aprire, creare e proteggere con password qualsiasi archivio compresso senza limiti di formato e senza banner pubblicitari.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.navigaweb.net/2008/10/notepad-piu-piu-il-miglior-notepad-per.html"&gt;Notepad++&lt;/a&gt;&lt;/strong&gt; per rimpiazzare il blocco note con un editor potente, provvisto di schede multiple, numerazione delle righe e ricerca avanzata nel testo.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.navigaweb.net/2008/09/vlc-player-092-miglior-programma-per.html"&gt;VLC Media Player&lt;/a&gt;&lt;/strong&gt; per riprodurre qualsiasi file multimediale senza preoccuparsi di codec mancanti o incompatibilità video.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="http://www.sandboxie.com/" rel="nofollow" target="_blank"&gt;Sandboxie&lt;/a&gt;&lt;/strong&gt; per isolare l'esecuzione di file dubbi. Ricordiamo che &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2009/07/prova-e-installa-software-e-naviga-su.html"&gt;creare una Sandbox dove eseguire programmi pericolosi&lt;/a&gt;&lt;/strong&gt; evita che un file sconosciuto possa danneggiare l'installazione principale del sistema operativo.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Criteri di scelta per evitare rallentamenti&lt;/h2&gt;
&lt;p&gt;Cosa valutare con attenzione prima di installare troppi strumenti contemporaneamente:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;I processi residenti in memoria.&lt;/strong&gt; Installare decine di utility che si caricano all'avvio consuma cicli di processore. È preferibile dare priorità a strumenti che agiscono solo su chiamata, come WizTree o IrfanView, rispetto a programmi che rimangono costantemente aperti in background.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;La compatibilità con gli aggiornamenti di sistema.&lt;/strong&gt; Le modifiche profonde al registro o all'aspetto visivo della barra delle applicazioni possono entrare in conflitto con i grandi aggiornamenti periodici di Windows. Mantenere le utility aggiornate tramite strumenti come UniGetUI azzera questi problemi.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;L'integrazione di funzioni native.&lt;/strong&gt; Prima di scaricare un software esterno, occorre verificare se le versioni più recenti del sistema operativo abbiano già integrato quella specifica funzione, evitando di appesantire inutilmente la macchina.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Diario di bordo di Navigaweb&lt;/h3&gt;
&lt;p&gt;Ogni volta che mi capita tra le mani un computer appena formattato, noto la stessa identica cosa: l'utente medio tende a scaricare subito una quantità enorme di software pesanti, finendo per rallentare la macchina prima ancora di aver iniziato a lavorare sul serio. Il mio metodo è diverso. Scelgo poche applicazioni essenziali e mirate: Everything per trovare all'istante qualunque cartella, 7Zip per gli archivi, IrfanView per non perdere tempo ad aprire foto giganti, e Microsoft PC Manager per tenere in ordine la memoria senza installare prodotti invadenti. Configurare un sistema pulito ed efficiente significa eliminare gli attriti quotidiani con il minimo indispensabile di strumenti.&lt;/p&gt;
 
&lt;p&gt;LEGGI ANCHE: &lt;b&gt;&lt;a href="https://www.navigaweb.net/2014/11/25-programmi-piu-utili-per-windows.html"&gt;I software indispensabili per Windows nel kit di Navigaweb&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt; &lt;p&gt;&lt;font size="3"&gt;Articolo pubblicato su  &lt;a title="Navigaweb.net" href="https://www.navigaweb.net" target="_blank"&gt;&lt;font size="3"&gt;Navigaweb.net&lt;/font&gt;&lt;/a&gt;. Non è consentito ripubblicare senza il consenso dell'autore. Segui anche su &lt;a href="https://www.facebook.com/navigaweb"&gt;Facebook&lt;/a&gt;, &lt;a href="https://twitter.com/pomhey"&gt;Twitter&lt;/a&gt; e &lt;a href="https://news.google.com/publications/CAAqBggKMLPofjD03wk"&gt;Google News&lt;/a&gt; .&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;</content><link href="https://www.navigaweb.net/2012/06/10-piccoli-utili-tool-e-applicazioni.html#comment-form" rel="replies" title="0 Commenti" type="text/html"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/6677820095388634218" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/6677820095388634218" rel="self" type="application/atom+xml"/><link href="https://www.navigaweb.net/2012/06/10-piccoli-utili-tool-e-applicazioni.html" rel="alternate" title="Eliminare i limiti di Windows con i tool gratuiti giusti" type="text/html"/><author><name>Claudio Pomes</name><uri>http://www.blogger.com/profile/05867241310817527022</uri><email>noreply@blogger.com</email><gd:image height="32" rel="http://schemas.google.com/g/2005#thumbnail" src="//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnjMmdIWMIcd464SD-u4VsJBXmTf1BTGQAIVPFdzGK2Z3P1ZKbrISt8SdSFSGSzoc4KvmJvACpnL9lE9x7-fXplMVjqdG1IkoB_Jq_kclZtfLmEoSONobAo5j2sFP2wxJHIGZa5_p5KwCURDkifbBQtwrgA_Q52gr-Hnsn9Eg7vVYocYc/s220/pomheybokeh.jpg" width="32"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjk6RNrSZgvrkyHOIQF7TCD64pMn8xgGslh5NGbyzoJhh7nUVfvvU8tQn9TDlG9evS8zboKzCfU5l2i9pLm_90E2-tFEIJrhwxovq5PV1em6qXp6MVcVb1t1aNh959TKHpaL8YLPklRjyau/s72-c/tool-windows.webp" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5148617246197063026.post-5740587414049329742</id><published>2026-09-23T22:32:08.165+02:00</published><updated>2026-09-23T22:32:08.196+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Browser"/><category scheme="http://www.blogger.com/atom/ns#" term="Chrome"/><category scheme="http://www.blogger.com/atom/ns#" term="Firefox"/><title type="text">Schede verticali ora su Chrome come su Edge e Firefox</title><content type="html">&lt;img alt="schede verticali chrome" border="0" width="400" data-original-height="508" data-original-width="902" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr4rOejbzXPoRtN7GWEALbg0ykN9ss30y4X4QKAXhNmpXCJwRMBQK4Z8UeK3N3ksvpJDP2KjYZ5aQSF8wUg-E7-aLNK1F1-fUc-Gt0QrpU1EuAIoKA72d_mUjG2sE3cALbtbyAB4wg6VgySLX_NVxGUB7IIV9AbBJ-YlKAdEUKuzNoU3JTOkzv2p7FUk7I/s400/schedeverticali.jpg"/&gt; 
&lt;p&gt;Abbiamo tenuto aperte oltre quaranta pagine contemporaneamente per verificare la tenuta dell'interfaccia grafica dei browser moderni. Sulla classica barra in alto i titoli si riducono fino a sparire del tutto, lasciando solo icone compresse impossibili da distinguere e con il rischio costante di chiudere una pagina importante per errore. Con la diffusione dei monitor larghi in sedici noni o ventuno noni, sviluppare le schede in altezza è uno spreco di spazio, mentre i lati del display restano costantemente vuoti.&lt;/p&gt;
&lt;p&gt;La visualizzazione laterale risolve questo disordine visivo, permettendo di leggere i nomi completi dei siti web aperti e organizzare le finestre di lavoro senza confusione. La novità è che anche &lt;b&gt;su Chrome si può usare nativamente, senza estensioni&lt;/b&gt;.&lt;/p&gt;
&lt;a name='more'&gt;&lt;/a&gt;
&lt;p&gt;LEGGI ANCHE: &lt;b&gt;&lt;a href="https://www.navigaweb.net/2015/09/microsoft-edge-confronto-con-chrome-e.html"&gt;Microsoft Edge a confronto con Chrome&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h2&gt;A chi serve questo tipo di configurazione&lt;/h2&gt;
&lt;p&gt;Questo layout non è indicato per chi apre due o tre pagine al giorno, ma diventa indispensabile per alcune categorie di utenti. Chi svolge attività di ricerca, studenti che consultano molteplici fonti o sviluppatori che devono tenere d'occhio documentazioni diverse trovano in questa impostazione un modo per non perdere il filo della navigazione.&lt;/p&gt;
&lt;p&gt;È inoltre l'ideale per chi possiede un monitor ultrawide, dove lo spazio orizzontale è abbondante ma l'altezza è limitata. In questi casi, spostare la barra di lato libera pixel verticali che vengono restituiti al contenuto della pagina, riducendo la necessità di scorrere continuamente il testo.&lt;/p&gt;
&lt;h2&gt;Come attivare le schede verticali su Google Chrome&lt;/h2&gt;
&lt;p&gt;L'interfaccia laterale è ora integrata direttamente nel browser senza richiedere l'installazione di programmi esterni.&lt;/p&gt;
&lt;p&gt;Il metodo più rapido per spostare l'elenco consiste nel posizionare il puntatore su un'area vuota della barra delle schede in alto, premere il tasto destro del mouse e selezionare la voce &lt;strong&gt;Mostra schede verticalmente&lt;/strong&gt;. L'intera colonna comparirà immediatamente sul lato sinistro dello schermo.&lt;/p&gt;
&lt;p&gt;Chi preferisce muoversi attraverso i menu interni può seguire questo percorso alternativo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Aprire le &lt;strong&gt;Impostazioni&lt;/strong&gt; cliccando sui tre puntini in alto a destra.&lt;/li&gt;
&lt;li&gt;Entrare nella sezione &lt;strong&gt;Aspetto&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Individuare l'opzione &lt;strong&gt;Posizione delle schede&lt;/strong&gt; e selezionare il valore &lt;strong&gt;Lato&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Per compattare la colonna e mostrare soltanto le icone dei siti basta cliccare sulla freccia di riduzione in alto a sinistra. Per rileggere i titoli per intero, invece di cliccare ogni volta sul pulsante di espansione, conviene seguire la rotta di Navigaweb attivando un comando non visibile nei menu standard. Digitando &lt;em&gt;chrome://flags&lt;/em&gt; nella barra degli indirizzi e cercando l'opzione &lt;strong&gt;Vertical tabs expand on hover&lt;/strong&gt;, si imposta il valore su &lt;strong&gt;Enabled&lt;/strong&gt;. Al riavvio del browser, la barra laterale si allargherà da sola al semplice passaggio del cursore, richiudendosi non appena il mouse torna sulla pagina web.&lt;/p&gt;
&lt;h2&gt;Microsoft Edge e il recupero dello spazio sullo schermo&lt;/h2&gt;
&lt;p&gt;Il navigatore di casa Microsoft include questo sistema da tempo e conserva alcune caratteristiche utili per recuperare pixel sul monitor.&lt;/p&gt;
&lt;p&gt;Per abilitare la visualizzazione basta cliccare sull'icona a forma di rettangolo con la freccia situata in alto a sinistra, oppure accedere a &lt;strong&gt;Impostazioni &amp;gt; Aspetto&lt;/strong&gt; per attivare il pulsante dedicato nella barra degli strumenti. La colonna si posiziona sulla sinistra mostrando le miniature dei siti. Passando il mouse sopra le icone, la lista si allarga svelando i titoli per intero, mentre un clic sull'icona della puntina fissa il pannello in modo permanente.&lt;/p&gt;
&lt;p&gt;Due funzioni avanzate migliorano l'esperienza quotidiana su Edge:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Nascondere la barra del titolo:&lt;/strong&gt; andando su &lt;strong&gt;Impostazioni &amp;gt; Aspetto&lt;/strong&gt; è possibile disattivare la barra superiore quando le schede laterali sono attive, guadagnando una porzione di spazio verticale utile per la lettura.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Scorciatoia da tastiera:&lt;/strong&gt; premendo contemporaneamente la combinazione di tasti &lt;strong&gt;Ctrl+Maiusc+,&lt;/strong&gt; si alterna istantaneamente il layout verticale e quello orizzontale senza dover toccare il mouse.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Raggruppamento tematico:&lt;/strong&gt; la gestione dei &lt;strong&gt;Gruppi di schede&lt;/strong&gt; permette di assegnare un colore e un nome a insiemi specifici di pagine, comprimendoli con un tocco quando non servono.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Mozilla Firefox tra gestione nativa ed estensioni ad albero&lt;/h2&gt;
&lt;p&gt;Anche su Firefox la barra laterale è accessibile senza modifiche complesse. Per attivarla è sufficiente cliccare con il tasto destro del mouse sulla barra degli strumenti e selezionare &lt;strong&gt;Attiva schede verticali&lt;/strong&gt;, oppure entrare in &lt;strong&gt;Impostazioni &amp;gt; Generale &amp;gt; Layout del browser&lt;/strong&gt; e selezionare la casella corrispondente.&lt;/p&gt;
&lt;p&gt;La colonna include accessi rapidi ai segnalibri, alla cronologia e ai dispositivi sincronizzati. La larghezza della colonna si regola manualmente trascinando il bordo verso destra con il puntatore.&lt;/p&gt;
&lt;p&gt;Chi necessita di un controllo approfondito sulla struttura delle pagine può affidarsi a soluzioni specializzate sviluppate dalla comunità:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://addons.mozilla.org/it/firefox/addon/tree-style-tab/" target="_blank" rel="nofollow"&gt;&lt;strong&gt;Tree Style Tab&lt;/strong&gt;&lt;/a&gt;: organizza l'elenco in una struttura ad albero nidificata. Aprendo collegamenti secondari da una pagina principale, le nuove schede compariranno rientrate come rami di una cartella.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://addons.mozilla.org/it/firefox/addon/tab-center-reborn/" target="_blank" rel="nofollow"&gt;&lt;strong&gt;Tab Center Reborn&lt;/strong&gt;&lt;/a&gt;: una variante pulita incentrata sulla visualizzazione di miniature visive e compatibile con i temi di sistema.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ulteriori dettagli per gestire al meglio la navigazione multipagina sono disponibili nel nostro archivio con le migliori &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2013/12/le-10-estensioni-piu-utili-per-firefox.html"&gt;estensioni per Firefox&lt;/a&gt;&lt;/strong&gt; dedicate alla produttività quotidiana.&lt;/p&gt;
&lt;h2&gt;Dubbi comuni e chiarimenti sulla gestione laterale&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Differenze nel comportamento del puntatore:&lt;/strong&gt; Edge e Chrome configurato tramite parametri sperimentali espandono l'intero elenco al passaggio del cursore, mentre Firefox nativo tende a evidenziare una singola etichetta alla volta.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Consumo di memoria di sistema:&lt;/strong&gt; lo spostamento grafico delle schede non incide sulla RAM. A occupare le risorse sono i contenuti interni ai siti web.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Passaggio immediato alla visualizzazione classica:&lt;/strong&gt; in tutti i browser citati è possibile ripristinare le schede in alto con un semplice clic del tasto destro sopra l'area laterale.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Spostamento del pannello sul lato destro:&lt;/strong&gt; in alcuni programmi è consentito agganciare la barra sulla destra per non interferire con i menu di avvio del sistema operativo, impostazione modificabile nella sezione Aspetto.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Diario di bordo di Navigaweb&lt;/h3&gt;
&lt;p&gt;Su Chrome sto lavorando con le schede verticali da alcuni giorni e l'impressione è che non si possa più tornare indietro anche se bisogna resistere alle difficoltà iniziali causate dalle vecchie abitudini. L'occhio ed il mouse mi portano ancora a cercare le schede sopra invece che di lato, quindi non posso ancora dire di lavorare meglio al momento, ma credo che dopo aver preso l'abitudine sarà perfetto. Una volta che l'occhio si abitua a leggere i titoli in verticale, la barra orizzontale sembra un reperto del passato, inefficiente e caotica. Un consiglio spassionato per chi inizia a usare questo layout: non lasciatevi ingannare dallo spazio extra e non accumulate centinaia di schede solo perché ora sono visibili. Il rischio è di creare un archivio infinito che rallenta il computer. Usate i gruppi di schede per separare i progetti e chiudete ciò che non serve; l'ordine visivo è utile solo se accompagnato da una gestione consapevole delle risorse.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt; &lt;p&gt;&lt;font size="3"&gt;Articolo pubblicato su  &lt;a title="Navigaweb.net" href="https://www.navigaweb.net" target="_blank"&gt;&lt;font size="3"&gt;Navigaweb.net&lt;/font&gt;&lt;/a&gt;. Non è consentito ripubblicare senza il consenso dell'autore. Segui anche su &lt;a href="https://www.facebook.com/navigaweb"&gt;Facebook&lt;/a&gt;, &lt;a href="https://twitter.com/pomhey"&gt;Twitter&lt;/a&gt; e &lt;a href="https://news.google.com/publications/CAAqBggKMLPofjD03wk"&gt;Google News&lt;/a&gt; .&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;</content><link href="https://www.navigaweb.net/2015/01/avere-le-comode-schede-verticali-su.html#comment-form" rel="replies" title="0 Commenti" type="text/html"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/5740587414049329742" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/5740587414049329742" rel="self" type="application/atom+xml"/><link href="https://www.navigaweb.net/2015/01/avere-le-comode-schede-verticali-su.html" rel="alternate" title="Schede verticali ora su Chrome come su Edge e Firefox" type="text/html"/><author><name>Claudio Pomes</name><uri>http://www.blogger.com/profile/05867241310817527022</uri><email>noreply@blogger.com</email><gd:image height="32" rel="http://schemas.google.com/g/2005#thumbnail" src="//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnjMmdIWMIcd464SD-u4VsJBXmTf1BTGQAIVPFdzGK2Z3P1ZKbrISt8SdSFSGSzoc4KvmJvACpnL9lE9x7-fXplMVjqdG1IkoB_Jq_kclZtfLmEoSONobAo5j2sFP2wxJHIGZa5_p5KwCURDkifbBQtwrgA_Q52gr-Hnsn9Eg7vVYocYc/s220/pomheybokeh.jpg" width="32"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr4rOejbzXPoRtN7GWEALbg0ykN9ss30y4X4QKAXhNmpXCJwRMBQK4Z8UeK3N3ksvpJDP2KjYZ5aQSF8wUg-E7-aLNK1F1-fUc-Gt0QrpU1EuAIoKA72d_mUjG2sE3cALbtbyAB4wg6VgySLX_NVxGUB7IIV9AbBJ-YlKAdEUKuzNoU3JTOkzv2p7FUk7I/s72-c/schedeverticali.jpg" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5148617246197063026.post-8569313198168027889</id><published>2026-09-23T18:51:34.698+02:00</published><updated>2026-09-23T18:51:34.762+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Guide PC"/><title type="text">Trascinare file su Windows per spostare o copiare a scelta</title><content type="html">&lt;img alt="cambiare il trascinamento file" height="136" width="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIdrakPUK4yS9cN2egZ8vhvuMydl7T64b0LSHJF959ICyMkflrrLk20gmU60SvVy1QWSpB_ljpp-T49vwrxgvW8vxpSngOgjvxT2U8jgdzGAV0FjlA0yKSaNxQmuCfmiY5fPhd8EWoLnA/s320/draganddrop.jpg" /&gt; &lt;p&gt;Il meccanismo del drag and drop rappresenta l'azione più naturale di qualsiasi interfaccia grafica per computer. Tenendo premuto il pulsante del mouse, spostiamo cartelle, programmi o documenti da una finestra all'altra con un gesto istintivo. Nonostante la semplicità, il risultato finale coglie spesso di sorpresa: in determinate situazioni il file originale scompare per riposizionarsi nella nuova cartella, mentre in altri contesti l'icona si moltiplica, generando un doppione esatto senza che l'utente l'abbia chiesto.&lt;/p&gt;
&lt;p&gt;Questo comportamento variabile non risponde al caso, ma a una precisa logica di sicurezza studiata per interpretare le intenzioni di chi lavora al computer. L'idea di base è semplice: se state riorganizzando i file nello stesso posto, probabilmente volete spostarli; se li mandate altrove, probabilmente volete una copia.&lt;/p&gt;
&lt;a name='more'&gt;&lt;/a&gt;
&lt;p&gt;LEGGI ANCHE: &lt;b&gt;&lt;a href="https://www.navigaweb.net/2020/06/come-spostare-file-e-cartelle-su.html"&gt;Spostare file e cartelle su Windows&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h2&gt;La logica tra dischi uguali e diversi&lt;/h2&gt;
&lt;p&gt;L'esito di un trascinamento dipende unicamente dalla posizione di partenza e da quella di arrivo dell'elemento selezionato.&lt;/p&gt;
&lt;p&gt;Quando si trascina un file tra due cartelle collocate sulla medesima partizione, il sistema presuppone un'operazione di riorganizzazione interna. In questa circostanza il documento viene &lt;strong&gt;spostato&lt;/strong&gt;. Il computer non riscrive fisicamente i dati nei circuiti del disco, ma aggiorna solo l'indice della cartella nei registri interni, cancellando la presenza visiva dalla vecchia posizione. Il passaggio è immediato e non occupa spazio extra.&lt;/p&gt;
&lt;p&gt;La situazione si inverte quando l'origine e la destinazione appartengono a unità fisiche differenti, come quando si trascina una cartella dal desktop verso una penna USB, una scheda SD o un secondo hard disk. In questo caso, l'azione predefinita diventa la &lt;strong&gt;copia&lt;/strong&gt;. Il sistema preferisce lasciare il file di partenza intatto per evitare che, in caso di un distacco improvviso del dispositivo esterno durante il trasferimento, il documento originale vada perduto.&lt;/p&gt;
&lt;h2&gt;L'incognita dei dischi Cloud&lt;/h2&gt;
&lt;p&gt;Con l'uso diffuso di servizi come OneDrive, Google Drive o iCloud, il comportamento del trascinamento è diventato più ambiguo. Spesso queste cartelle appaiono come locali, ma i file sono ospitati su server remoti.&lt;/p&gt;
&lt;p&gt;Se trasciniamo un file da una cartella locale a una cartella Cloud sincronizzata sullo stesso disco, Windows potrebbe interpretarlo come uno spostamento. Tuttavia, se il file di destinazione è impostato come &lt;em&gt;online-only&lt;/em&gt;, il sistema potrebbe innescare un download o una copia a seconda della configurazione del provider. In questi casi, l'unico modo per essere certi del risultato è osservare la piccola etichetta che compare accanto al cursore durante il movimento.&lt;/p&gt;
&lt;h2&gt;Forzare la scelta con i tasti della tastiera&lt;/h2&gt;
&lt;p&gt;Per chi non vuole affidarsi alle decisioni automatiche del sistema, la tastiera offre dei comandi per scavalcare l'algoritmo predefinito. Basta tenere premuto il tasto indicato prima di rilasciare il pulsante del mouse:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Tasto Maiusc (Shift):&lt;/strong&gt; Forza l'azione di spostamento. Il file scompare sempre dalla posizione originaria, anche se lo state trasferendo verso una memoria esterna.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tasto Ctrl:&lt;/strong&gt; Forza l'azione di copia. Viene generato un secondo file identico, utile per creare backup rapidi all'interno della stessa cartella.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tasti Ctrl e Maiusc insieme:&lt;/strong&gt; Questa combinazione non sposta e non copia alcun dato, ma crea all'istante un collegamento che rimanda al percorso originale.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Il metodo infallibile del tasto destro&lt;/h3&gt;
&lt;p&gt;Memorizzare le combinazioni dei tasti può risultare scomodo durante le sessioni di lavoro intense. Per azzerare ogni dubbio, seguendo la rotta di Navigaweb conviene abbandonare il tasto sinistro e &lt;strong&gt;trascinare file e cartelle usando il tasto destro del mouse&lt;/strong&gt;. Rilasciando il documento nella cartella di arrivo, il computer non esegue nulla in automatico, ma apre un menu che chiede esplicitamente se desiderate copiare, spostare o creare un collegamento. È il modo più sicuro per evitare errori di distrazione.&lt;/p&gt;
&lt;h2&gt;Fissare una regola predefinita per il trascinamento&lt;/h2&gt;
&lt;p&gt;Se desiderate che il computer esegua sempre la stessa operazione a ogni trascinamento, senza dover premere tasti ogni volta, potete intervenire sulle impostazioni avanzate.&lt;/p&gt;
&lt;p&gt;Per chi preferisce un'interfaccia semplice, &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2007/02/tweak-windows-7-per-modificare-e.html" target="_blank"&gt;Winaero Tweaker&lt;/a&gt;&lt;/strong&gt; permette di impostare con un clic il comportamento fisso desiderato tra copia permanente, spostamento o collegamento.&lt;/p&gt;
&lt;p&gt;Chi invece preferisce non installare software esterni può agire tramite il &lt;strong&gt;Registro di sistema&lt;/strong&gt; di Windows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Aprire la funzione Esegui (&lt;em&gt;Windows + R&lt;/em&gt;), digitare &lt;em&gt;regedit&lt;/em&gt; e premere Invio.&lt;/li&gt;
&lt;li&gt;Raggiungere la cartella &lt;em&gt;HKEY_CLASSES_ROOT\*&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Creare un &lt;em&gt;Nuovo Valore DWORD (32-bit)&lt;/em&gt; chiamato &lt;strong&gt;DefaultDropEffect&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Impostare il valore a &lt;strong&gt;1&lt;/strong&gt; per forzare sempre la copia, oppure a &lt;strong&gt;2&lt;/strong&gt; per lo spostamento.&lt;/li&gt;
&lt;li&gt;Ripetere l'operazione all'interno della chiave &lt;em&gt;HKEY_CLASSES_ROOT\AllFilesystemObjects&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Cosa succede dietro le quinte del trascinamento&lt;/h2&gt;
&lt;p&gt;Alcuni dettagli tecnici spiegano perché avvengano certe anomalie:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;File eseguibili (.exe).&lt;/strong&gt; Trascina un programma installato verso il desktop e noterete che viene creato quasi sempre un collegamento. Questo accade perché spostare l'unico file .exe senza le sue cartelle di supporto renderebbe il programma inutilizzabile.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Permessi di sicurezza.&lt;/strong&gt; Nei dischi formattati in NTFS, un file copiato assume le regole di accesso della nuova cartella. Un file spostato all'interno dello stesso disco conserva invece i permessi originali.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Interruzioni di rete.&lt;/strong&gt; Quando si sposta un file verso un server o un disco di rete e la connessione cade, il sistema non cancella l'originale. La rimozione avviene solo dopo la conferma che i dati sono stati scritti interamente a destinazione.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Diario di bordo di Navigaweb&lt;/h3&gt;
&lt;p&gt;Riflettendo su come usiamo il computer, trovo quasi incredibile che un gesto così semplice come il trascinamento possa ancora generare dubbi o errori. È una di quelle eredità dei primi sistemi operativi che abbiamo accettato senza fare domande, ma che ogni tanto ci penalizza con dischi pieni di duplicati inutili o file spariti in cartelle sbagliate. Se volete smettere di chiedervi cosa succederà dopo aver rilasciato il mouse, fate come me: usate il tasto destro. Richiede un paio di giorni per diventare un'abitudine, ma è l'unico modo per lavorare con la certezza assoluta di non fare danni.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt; &lt;p&gt;&lt;font size="3"&gt;Articolo pubblicato su  &lt;a title="Navigaweb.net" href="https://www.navigaweb.net" target="_blank"&gt;&lt;font size="3"&gt;Navigaweb.net&lt;/font&gt;&lt;/a&gt;. Non è consentito ripubblicare senza il consenso dell'autore. Segui anche su &lt;a href="https://www.facebook.com/navigaweb"&gt;Facebook&lt;/a&gt;, &lt;a href="https://twitter.com/pomhey"&gt;Twitter&lt;/a&gt; e &lt;a href="https://news.google.com/publications/CAAqBggKMLPofjD03wk"&gt;Google News&lt;/a&gt; .&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;</content><link href="https://www.navigaweb.net/2012/06/trascinando-un-file-drag-and-drop-si.html#comment-form" rel="replies" title="0 Commenti" type="text/html"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/8569313198168027889" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/8569313198168027889" rel="self" type="application/atom+xml"/><link href="https://www.navigaweb.net/2012/06/trascinando-un-file-drag-and-drop-si.html" rel="alternate" title="Trascinare file su Windows per spostare o copiare a scelta" type="text/html"/><author><name>Claudio Pomes</name><uri>http://www.blogger.com/profile/05867241310817527022</uri><email>noreply@blogger.com</email><gd:image height="32" rel="http://schemas.google.com/g/2005#thumbnail" src="//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnjMmdIWMIcd464SD-u4VsJBXmTf1BTGQAIVPFdzGK2Z3P1ZKbrISt8SdSFSGSzoc4KvmJvACpnL9lE9x7-fXplMVjqdG1IkoB_Jq_kclZtfLmEoSONobAo5j2sFP2wxJHIGZa5_p5KwCURDkifbBQtwrgA_Q52gr-Hnsn9Eg7vVYocYc/s220/pomheybokeh.jpg" width="32"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIdrakPUK4yS9cN2egZ8vhvuMydl7T64b0LSHJF959ICyMkflrrLk20gmU60SvVy1QWSpB_ljpp-T49vwrxgvW8vxpSngOgjvxT2U8jgdzGAV0FjlA0yKSaNxQmuCfmiY5fPhd8EWoLnA/s72-c/draganddrop.jpg" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5148617246197063026.post-485691882578467689</id><published>2026-09-23T13:30:14.954+02:00</published><updated>2026-09-23T13:39:44.875+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><title type="text">Forzare l'installazione di app Android non compatibili</title><content type="html">&lt;img alt="App Android" height="191" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBRDhP8m9EmE0Ci9A0ruI2fH7gJOAdFZ1Voi2wioIewhCWgp0uIkG_t0fUkSSXY-Hym9hAL3cCJWh4upFr11qbrGg_Wn0id3EW4Il7sQZslq9fFcUla7ywrqT9jh_T3kkuTUw8UYrhDO0/w320-h191/Incompatibilit%25C3%25A0-app-Android.jpg" title="App incompatibili Android" width="320" /&gt;
&lt;p&gt;Provate a cercare un'applicazione che avete usato per anni sul vostro vecchio telefono e il negozio di Google vi risponde con una riga desolante: il tuo dispositivo non è compatibile con questa versione. A volte capita subito dopo aver acquistato uno smartphone nuovo di zecca, lasciando una sensazione di totale impotenza. Il programma funzionava senza problemi fino al giorno prima, ma per i server di Mountain View il vostro telefono attuale risulta improvvisamente inadatto.&lt;/p&gt;
&lt;p&gt;I motivi di questo rifiuto sono spesso arbitrari. A volte lo sviluppatore ha semplicemente dimenticato di spuntare il vostro modello nei menu di pubblicazione, altre volte il produttore ha bloccato l'accesso per motivi commerciali o geografici. Negli aggiornamenti più recenti del sistema operativo, Google ha introdotto sbarramenti ancora più rigidi che impediscono persino di avviare il file di installazione manuale se il programma è stato compilato diversi anni fa. Esistono però diverse strade per riprendere il controllo del dispositivo e forzare il caricamento del software.&lt;/p&gt;
&lt;a name='more'&gt;&lt;/a&gt;
&lt;p&gt;LEGGI ANCHE -&amp;gt; &lt;b&gt;&lt;a href="https://www.navigaweb.net/2016/10/scaricare-apk-delle-app-android-e.html"&gt;Installare App Android da APK, XAPK, APKM, AAB e APKS: la Guida&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
 
&lt;h2&gt;Mentire sull'identità del telefono con Aurora Store&lt;/h2&gt;
&lt;p&gt;Il primo tentativo consiste nell'ingannare direttamente i server di distribuzione senza dover cercare pacchetti sparsi in rete. Lo strumento migliore per questo scopo è &lt;strong&gt;&lt;a href="https://auroraoss.com/" rel="nofollow" target="_blank"&gt;Aurora Store&lt;/a&gt;&lt;/strong&gt;, un'interfaccia aperta che dialoga con lo stesso catalogo di Google ma permette di modificare l'impronta digitale del vostro dispositivo.&lt;/p&gt;
&lt;p&gt;All'interno delle opzioni del programma si trova una sezione dedicata allo spoofing. Modificando i parametri, potete far credere ai server di possedere un tablet di un'altra marca o uno smartphone venduto all'estero. Una volta salvata la finta identità, il pulsante di download si sblocca all'istante anche per quei titoli che prima risultavano inaccessibili. Il sistema funziona senza i servizi Google installati e garantisce la massima stabilità se utilizzato con un account secondario creato appositamente.&lt;/p&gt;
&lt;h2&gt;File APK manuali e gestione degli App Bundle&lt;/h2&gt;
&lt;img alt="APKMirror" height="158" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2x_fjuEgYd2CJa9EiJoKuR-U5jR0tWSqgJ0hD5V-0YIqASpTq8lpiEFwwVtrJhOAc3vcdPvzpXgSmFjDTjDlGq3LUzYGFl9waWEdBciFLu0g60cknarSiHeD6uHZAAqIu2Z_Mh4JknV4/w320-h158/APKMirror.jpg" title="Sito APKMirror" width="320" /&gt;
&lt;p&gt;Quando un software sparisce del tutto dal catalogo ufficiale, l'unica soluzione consiste nel recuperare il pacchetto originale dai repository storici. Il punto di riferimento resta &lt;strong&gt;&lt;a href="https://www.apkmirror.com/" rel="nofollow" target="_blank"&gt;APKMirror&lt;/a&gt;&lt;/strong&gt;, un archivio curato dove ogni file viene confrontato con le firme crittografiche rilasciate dagli autori per escludere manomissioni.&lt;/p&gt;
&lt;p&gt;Bisogna prestare molta attenzione all'architettura del processore. Scaricare la variante destinata a processori diversi da quello montato sul telefono genera un blocco immediato durante l'analisi del pacchetto. Nella quasi totalità dei dispositivi in commercio, la combinazione corretta da prelevare riporta le diciture nodpi e arm64-v8a.&lt;/p&gt;
&lt;p&gt;Molti distributori hanno smesso di fornire un file singolo, suddividendo il codice in tanti piccoli frammenti chiamati App Bundle. Il normale gestore di sistema non riesce a leggerli e restituisce un errore generico. Per montarli serve uno strumento specializzato come &lt;strong&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.mtv.sai" rel="nofollow" target="_blank"&gt;SAI (Split APKs Installer)&lt;/a&gt;&lt;/strong&gt; o in alternativa l'applicazione di &lt;strong&gt;&lt;a href="https://apkpure.com/it/" rel="nofollow" target="_blank"&gt;APKPure&lt;/a&gt;&lt;/strong&gt;, capace di gestire i file compressi con estensione XAPK senza richiedere interventi manuali.&lt;/p&gt;
&lt;p&gt;Per una panoramica completa sui repository affidabili, rimandiamo alla lettura del nostro approfondimento sui &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2013/03/scaricare-le-app-apk-android-sul-pc.html"&gt;siti sicuri per scaricare APK delle app Android&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;img alt="Aptoide" height="158" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsN6oxFl8gOUQmIgSv1FIO6JQfXQrxHZREzFt4I76bkRwx3x53vSOsQqxrNCOtPuZm946lihDNFNl4oBrzqAdOelf_N4aZqveTADX0diJE2Xjoch2BkmPBfa0UcwwKVCgJ-2PcGuKenxQ/w320-h158/Aptoide.jpg" title="Store Aptoide" width="320" /&gt;
&lt;p&gt;Un altro catalogo aperto molto frequentato è &lt;strong&gt;&lt;a href="https://it.aptoide.com/" rel="nofollow" target="_blank"&gt;Aptoide&lt;/a&gt;&lt;/strong&gt;. La piattaforma permette a chiunque di aprire un proprio negozio virtuale, offrendo versioni storiche e varianti introvabili altrove. Trattandosi di un sistema aperto basato sui contributi della comunità, è fondamentale verificare che accanto all'icona sia presente il bollino verde di certificazione dell'affidabilità prima di procedere all'installazione.&lt;/p&gt;
&lt;p&gt;Se cercate altri mercati digitali alternativi per bypassare i limiti di compatibilità, potete consultare la guida alle &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2016/11/dove-scaricare-app-android-da-google.html"&gt;alternative a Play Store per scaricare App Android&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;h2&gt;Forzare il blocco dei pacchetti obsoleti&lt;/h2&gt;
&lt;p&gt;I problemi peggiori nascono quando il sistema operativo stesso rifiuta l'installazione di programmi sviluppati per le vecchie versioni del robottino verde. Il registro di sistema mostra l'errore denominato &lt;em&gt;INSTALL_FAILED_DEPRECATED_SDK_VERSION&lt;/em&gt;, bloccando sia il Play Store sia l'apertura manuale dei file APK.&lt;/p&gt;
&lt;p&gt;Il metodo più pulito per superare questo muro consiste nel collegare lo smartphone al computer e &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2013/11/adb-per-aggiornare-o-installare-android.html"&gt;installare app tramite ADB&lt;/a&gt;&lt;/strong&gt;. Dopo aver abilitato il debug USB nelle opzioni sviluppatore del telefono, si invia una riga di comando specifica: &lt;em&gt;adb install --bypass-low-target-sdk-block nomefile.apk&lt;/em&gt;. Questa istruzione obbliga il sistema operativo a ignorare l'anzianità del codice, portando a termine l'operazione in pochi secondi.&lt;/p&gt;
&lt;p&gt;Per chi non ha a disposizione un computer o preferisce gestire tutto in mobilità, la rotta di Navigaweb prevede l'utilizzo combinato di due utility indipendenti. Si avvia prima &lt;strong&gt;&lt;a href="https://www.navigaweb.net/2011/08/fare-il-root-android-per-installare-una.html" target="_blank"&gt;Shizuku&lt;/a&gt;&lt;/strong&gt; tramite la connessione WiFi locale per ottenere i permessi di amministrazione interna. Subito dopo si apre &lt;strong&gt;&lt;a href="https://github.com/zacharee/InstallWithOptions" rel="nofollow" target="_blank"&gt;InstallWithOptions&lt;/a&gt;&lt;/strong&gt;, spuntando la voce che disattiva il controllo del target di sicurezza prima di selezionare il file dalla memoria interna.&lt;/p&gt;
&lt;h2&gt;La virtualizzazione per salvare le applicazioni a 32 bit&lt;/h2&gt;
&lt;p&gt;Esiste un limite fisico che nessun comando da riga di comando può risolvere. I processori moderni montati sugli smartphone di fascia alta hanno rimosso completamente il supporto hardware per elaborare il codice a 32 bit. Tentare di installare un gioco storico o un programma non aggiornato su queste macchine si traduce in una chiusura forzata istantanea perché il processore non comprende più quelle istruzioni.&lt;/p&gt;
&lt;p&gt;L'unica via percorribile resta la virtualizzazione, creando una macchina virtuale all'interno del telefono stesso. Applicazioni dedicate come &lt;strong&gt;&lt;a href="https://www.vmos.com/" rel="nofollow" target="_blank"&gt;VMOS&lt;/a&gt;&lt;/strong&gt; generano un ambiente isolato con una versione precedente di Android in grado di elaborare le vecchie librerie grafiche e i motori di calcolo dismessi. Questo sistema consuma un quantitativo maggiore di batteria, ma rappresenta l'unico modo per non perdere per sempre giochi o utilità di lavoro che non riceveranno mai un aggiornamento.&lt;/p&gt;
&lt;h2&gt;Superare le limitazioni territoriali&lt;/h2&gt;
&lt;p&gt;A volte il messaggio di errore non dipende dal telefono ma dalla nazione in cui vi trovate. Alcune utility bancarie, giochi in fase di lancio o servizi di streaming esteri nascondono la pagina di download agli indirizzi IP italiani.&lt;/p&gt;
&lt;p&gt;Per aggirare questo filtro geografico occorre seguire una procedura precisa:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Attivare una connessione VPN impostando come posizione il paese in cui il software risulta disponibile.&lt;/li&gt;
&lt;li&gt;Accedere alle impostazioni generali dello smartphone, aprire l'elenco delle applicazioni e selezionare Google Play Store.&lt;/li&gt;
&lt;li&gt;Toccare il pulsante per forzare l'arresto del processo e ripulire completamente sia la memoria cache sia i dati locali archiviati.&lt;/li&gt;
&lt;li&gt;Riaprire il negozio di Google mantenendo la connessione protetta attiva e digitare il nome del programma nella barra di ricerca.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Se lo store continua a mostrare il catalogo italiano a causa della cronologia di pagamento registrata, il trucco più rapido consiste nell'aggiungere un nuovo account Google creato da zero mentre la connessione estera è ancora attiva.&lt;/p&gt;
&lt;h2&gt;Cose da sapere prima di forzare il sistema&lt;/h2&gt;
&lt;p&gt;Aspetti da tenere a mente prima di procedere con queste installazioni:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;I motivi reali dell'incompatibilità&lt;/strong&gt;. Non sempre si tratta di un capriccio degli sviluppatori. Molti software moderni richiedono sensori hardware dedicati, come il chip NFC per i pagamenti o giroscopi calibrati. Se il telefono è privo di questi componenti fisici, l'installazione andrà a buon fine ma le funzioni principali daranno errore.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Affidabilità delle fonti esterne&lt;/strong&gt;. Installare pacchetti al di fuori del circuito ufficiale espone a rischi concreti. Bisogna evitare in modo categorico i file modificati che promettono funzioni sbloccate a pagamento, orientandosi esclusivamente sui repository che garantiscono la corrispondenza delle firme originali.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Aggiornamenti delle applicazioni manuali&lt;/strong&gt;. I programmi installati forzando i file APK non si aggiornano in automatico tramite i meccanismi di sistema. Occorre verificare periodicamente la presenza di nuove release sui catalogali alternativi come Aurora Store per ricevere le patch di sicurezza necessarie.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Diario di bordo di Navigaweb&lt;/h3&gt;
&lt;p&gt;Trovo assurdo dover ricorrere a terminali, ambienti virtualizzati e comandi da sviluppatore solo per continuare a usare strumenti software che abbiamo regolarmente scaricato in passato. Questa sensazione di impotenza di fronte a un messaggio di incompatibilità è il sintomo di un ecosistema mobile che punta a blindare l'hardware, togliendo all'utente la libertà di decidere cosa far girare sul proprio dispositivo in nome di una sicurezza spesso sbandierata come pretesto. Tenere a portata di mano strumenti aperti come Shizuku o APKMirror non è un vezzo per smanettoni, ma l'unico modo concreto per difendere il valore dei dispositivi che acquistiamo e non accettare l'obsolescenza programmata del software.&lt;/p&gt;
&lt;p&gt;LEGGI ANCHE: &lt;b&gt;&lt;a href="https://www.navigaweb.net/2018/10/installare-app-android-su-fire-stick-tv.html"&gt;Installare App Android su Fire Stick TV, da APK o Store&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
 
&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt; &lt;p&gt;&lt;font size="3"&gt;Articolo pubblicato su  &lt;a title="Navigaweb.net" href="https://www.navigaweb.net" target="_blank"&gt;&lt;font size="3"&gt;Navigaweb.net&lt;/font&gt;&lt;/a&gt;. Non è consentito ripubblicare senza il consenso dell'autore. Segui anche su &lt;a href="https://www.facebook.com/navigaweb"&gt;Facebook&lt;/a&gt;, &lt;a href="https://twitter.com/pomhey"&gt;Twitter&lt;/a&gt; e &lt;a href="https://news.google.com/publications/CAAqBggKMLPofjD03wk"&gt;Google News&lt;/a&gt; .&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;</content><link href="https://www.navigaweb.net/2012/06/installare-le-applicazioni.html#comment-form" rel="replies" title="0 Commenti" type="text/html"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/485691882578467689" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/5148617246197063026/posts/default/485691882578467689" rel="self" type="application/atom+xml"/><link href="https://www.navigaweb.net/2012/06/installare-le-applicazioni.html" rel="alternate" title="Forzare l'installazione di app Android non compatibili" type="text/html"/><author><name>Claudio Pomes</name><uri>http://www.blogger.com/profile/05867241310817527022</uri><email>noreply@blogger.com</email><gd:image height="32" rel="http://schemas.google.com/g/2005#thumbnail" src="//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnjMmdIWMIcd464SD-u4VsJBXmTf1BTGQAIVPFdzGK2Z3P1ZKbrISt8SdSFSGSzoc4KvmJvACpnL9lE9x7-fXplMVjqdG1IkoB_Jq_kclZtfLmEoSONobAo5j2sFP2wxJHIGZa5_p5KwCURDkifbBQtwrgA_Q52gr-Hnsn9Eg7vVYocYc/s220/pomheybokeh.jpg" width="32"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBRDhP8m9EmE0Ci9A0ruI2fH7gJOAdFZ1Voi2wioIewhCWgp0uIkG_t0fUkSSXY-Hym9hAL3cCJWh4upFr11qbrGg_Wn0id3EW4Il7sQZslq9fFcUla7ywrqT9jh_T3kkuTUw8UYrhDO0/s72-w320-h191-c/Incompatibilit%25C3%25A0-app-Android.jpg" width="72"/><thr:total>0</thr:total></entry></feed>