Windows Phone 7.5: Ecco una nuova implementazione per IE9 Mobile della funzione “Trova” tramite javascript
In un nostro precedente articolo abbiamo visto come grazie all’ausilio di un javascript, è possibile implementare nel nostro browser la possibilità di ricercare in una pagina web una parola in modo rapido e veloce (Windows Phone 7.5: Ecco come implementare su IE9 Mobile la funzione “Avanti” e “Trova”).
Leonardo, un nostro lettore che ringraziamo, ha rivisto il javascript che permette di implementare la funzione “Trova” nel browser, migliorandolo e traducendolo in Italiano. Implementare questa funzione all’interno del nostro browser è semplicissimo infatti, ci basterà seguire questi semplici passaggi:
- Aprire Internet Explorer dal vostro Windows Phone
- Premete su opzioni (…) e quindi su “aggiungi a preferiti” (non importa su quale pagina web ci troviamo)
- Nella casella di testo “Nome” digitiamo “!Trova in”
- Nella casella di testo “Indirizzo Web” digitiamo (utilizza il copia incolla)
javascript: (function(){function G(){var pf=doc.getElementById('pf');var qt=doc.getElementById('qt');if(null==pf){pf=doc.createElement('div');pf.id='pf';var s=pf.style;s.position='absolute';s.zIndex='99';s.top=(scT||scBT)+'px';s.left=(scL||scBL)+'px';s.width='100%';s.backgroundColor='#6698FF';pf.appendChild(doc.createTextNode('Cosa cerchi?'));qt=doc.createElement('input');qt.id='qt';qt.type='text';pf.appendChild(qt);var sb=doc.createElement('input');sb.type='button';sb.value='Trova';sb.onclick=function(){P(qt.value)};pf.appendChild(sb);doc.body.appendChild(pf);}else{pf.style.display='inline';count=0;}}function P(s){document.getElementById('pf').style.display='none';if(s==='')return;var n=srchNode(document.body,s.toUpperCase(),s.length);alert("Ho trovato "+count+" risultati"+(count==1?"":"s")+" per'"+s+"'.");pf.parentNode.removeChild(pf);return n;}function srchNode(node,te,len){var pos,skip,spannode,middlebit,endbit,middleclone;skip=0;if(node.nodeType==3){pos=node.data.toUpperCase().indexOf(te);if(pos>=0){spannode=document.createElement("SPAN");spannode.style.backgroundColor="cyan";middlebit=node.splitText(pos);endbit=middlebit.splitText(len);middleclone=middlebit.cloneNode(true);spannode.appendChild(middleclone);middlebit.parentNode.replaceChild(spannode,middlebit);++count;skip=1;}}else{if(node.nodeType==1&&node.childNodes&&node.tagName.toUpperCase()!="SCRIPT"&&node.tagName.toUpperCase!="STYLE"){for(var child=0;child<node.childNodes.length;++child){child=child+srchNode(node.childNodes[child],te,len);}}}return skip;}var count=0,scL=0,scT=0,scBL=0,scBT=0;var w=window,doc=document;if(typeof doc.body!='undefined'&&typeof doc.body.scrollLeft!='undefined'){scBL=doc.body.scrollLeft;scBT=doc.body.scrollTop;}if(typeof doc.documentElement!='undefined'&&typeof doc.documentElement.scrollLeft!='undefined'){scL=doc.documentElement.scrollLeft;scT=doc.documentElement.scrollTop;}G();})()
Fatto ciò salviamo e siamo pronti per effettuare una ricerca all’interno di una pagina web.
E brev a frat
Salve sono Leonardo, in arte dome92. E’ una grande emozione vedere pubblicare sul mio blog preferito qualcosa su cui ho lavorato. Spero in futuro di poter aiutare ancora gli utenti di Windows Phone!!!
Ciao, dome92, intanto grazie per la condivisione,
volevo sapere se oltre alla traduzione in italiano, cambia qualcos altro
Complimenti!!!! E grazie… Visto che sei così bravo ne approfitto… Secondo te ci sarà modo di migliorarlo ulteriormente inserendo la funzione “Trova successivo”?
Si, come ho scritto in un altro commento questa sarà una futura ma non lontana implementazione, sono già al lavoro per inserire il trova successivo.
Questa funzione è indispensabile per un browser. Ho quella di prima ma adesso l’aggiorno.
Sono daccordo con te. Appena fatta e tutto liscio come l’olio. Grazie
perfetta!
Alla grande. Se è possibile lo farei leggermente più grande. Grazie
Futura implementazione, ora sto seguendo un corso in univesità e pian piano la migliorerò, comunque per ingrandirla basta semplicemente ingrandire i caratteri della pagina prima di aprire lo script !trova e vedrai la differenza… Spero di essere stato utile ;-)
Ma a me non va.. ho seguito tutti i passaggi..
Ciao Tommy, oltre alla traduzione ho aumentato la leggibilità dei caratteri ed ho leggermente ottimizzato l’algoritmo per la ricerca ed ho cambiato il colore mettendo quello del tema blu tipo il Lumia, il prossimo aggiornamento includerà lo spostati sul risultato auccessivo
Ma a me non va.. ho seguito tutti i passaggi..
cosa protrebbe essere?
Ho un lg optimus 7
Generalmente capita solo su lg, anche da mio fratello da problemi, prova ad inviarti da pc lo script via mail o lo copi su un file Word da pc e lo condividi su skydrive
Gransissimi, ma posso dare solo un mio parere personale?
Questi script nella finestra a scorrimento sono di un estenuante assurdo da copiare sul terminale. Non potreste riportarli integralmente nel post?
Se c’è problema per il riconoscimento basta che si mettano dei caratteri all’inizio e alla fine dello script e poi dire agli utenti di togliere il carattere in più. :D
basta copiarlo e siete a posto anche sul TITAN funziona benissimo anche se e’ un po’ piccolino
ho letto ora x vedere piu’ grossi i caratteri!!! vero prima di aprire lo scrit basta zummare la pagina e poi TROVA……..grandioso mella modifica
lg optimus ho seguito la procedura ma non appare nessun trova cosa faccio mi aiutate
Non funziona, caricamento infinito!
A me va alla grande. Ho fatto in questo modo:
Dal pc ho copiato il javascript da inserire
Mi sono mandata una email a me stesso con il testo incollato
Dal telefono ho letto la email e copiato il testo
Aperto il browser, aggiungi preferiti e ho incollato il testo come da guida
A me va da Dio (lg opt7) quello che non è mai andato è il”traduci”
Grazie a chi con passione si è impegnato a facilitarci le cose queste implementazioni però lasciatemi dire:IE9 fa cagare. Quasi rimpiango l’8 che a sua volta faceva cmq pena
vi consiglio Baidubrowser.Meno macchinoso, più user friendly e GRATIS.
Per carità, Baidubrowser è molto carino e come dici tu user friendly però non c’è paragone con la fluidità di IE9. Ad oggi IE9 è considerato uno tra i migliori browser mobile, mi sembra un po’ azzardato dire che fa cagare..poi boh pareri personali
Hai ragione,meno fluido ma piu u.f. Ie9 pero mi ha deluso lo trovo peggiorato rispetto alla versione 8 a tal punto da preferir Baidu.
Anche se Baidu ha tanta strada ancora da fare per essere davvero un buon software.
javascript: (function(){function G(){var pf=doc.getElementById(‘pf’);var qt=doc.getElementById(‘qt’);if(null==pf){pf=doc.createElement(‘div’);pf.id=’pf’;var s=pf.style;s.position=’absolute’;s.zIndex=’99’;s.top=(scT||scBT)+’px’;s.left=(scL||scBL)+’px’;s.width=’100%’;s.backgroundColor=’#6698FF’;pf.appendChild(doc.createTextNode(‘Cosa cerchi?’));qt=doc.createElement(‘input’);qt.id=’qt’;qt.type=’text’;pf.appendChild(qt);var sb=doc.createElement(‘input’);sb.type=’button’;sb.value=’Trova’;sb.onclick=function(){P(qt.value)};pf.appendChild(sb);doc.body.appendChild(pf);}else{pf.style.display=’inline’;count=0;}}function P(s){document.getElementById(‘pf’).style.display=’none’;if(s===”)return;var n=srchNode(document.body,s.toUpperCase(),s.length);alert(“Ho trovato “+count+” risultati”+(count==1?””:”s”)+” per'”+s+”‘.”);pf.parentNode.removeChild(pf);return n;}function srchNode(node,te,len){var pos,skip,spannode,middlebit,endbit,middleclone;skip=0;if(node.nodeType==3){pos=node.data.toUpperCase().indexOf(te);if(pos>=0){spannode=document.createElement(“SPAN”);spannode.style.backgroundColor=”cyan”;middlebit=node.splitText(pos);endbit=middlebit.splitText(len);middleclone=middlebit.cloneNode(true);spannode.appendChild(middleclone);middlebit.parentNode.replaceChild(spannode,middlebit);++count;skip=1;}}else{if(node.nodeType==1&&node.childNodes&&node.tagName.toUpperCase()!=”SCRIPT”&&node.tagName.toUpperCase!=”STYLE”){for(var child=0;child<node.childNodes.length;++child){child=child+srchNode(node.childNodes[child],te,len);}}}return skip;}var count=0,scL=0,scT=0,scBL=0,scBT=0;var w=window,doc=document;if(typeof doc.body!='undefined'&&typeof doc.body.scrollLeft!='undefined'){scBL=doc.body.scrollLeft;scBT=doc.body.scrollTop;}if(typeof doc.documentElement!='undefined'&&typeof doc.documentElement.scrollLeft!='undefined'){scL=doc.documentElement.scrollLeft;scT=doc.documentElement.scrollTop;}G();})()