Neat hack to restore Forward and Find in Page to IE9 Mobile

Reading time icon 3 min. read


Readers help support MSPoweruser. When you make a purchase using links on our site, we may earn an affiliate commission. Tooltip Icon

Read the affiliate disclosure page to find out how can you help MSPoweruser effortlessly and without spending any money. Read more

Bookmarklets are very useful on the desktop, and it turns out they work equally well in IE9 Mobile.

Gooddaytodie on XDA-Dev has crafted these JavaScript bookmarklets to restore Forward and Find in Page functions removed with the upgrade to Mango.

To add the Forward function:

Forward

  1. Go to Internet Explorer 9 Mobile, tap the “…” to bring up the menu, and tap “add to favorites” (it doesn’t matter which website you do it on)
  2. Change the “Name” field to “Forward” (or to make it stay at the top of the list, use “! Forward”)
  3. Change the “Web address” field to the following code:
    javascript:history.forward()

The code for adding find in Page is a bit more complicated, but the procedure is the same.

Find On Page

  1. Go to Internet Explorer 9 Mobile, tap the “…” to bring up the menu, and tap “add to favorites” (it doesn’t matter which website you do it on)
  2. Change the “Name” field to “Find on page” (or to make it stay at the top of the list, use “! Find on page”)
  3. Change the “Web address” field to the following code (use Copy and Paste on your phone!):
    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='#FFFF00';pf.appendChild(doc.createTextNode('Search: '));qt=doc.createElement('input');qt.id='qt';qt.type='text';pf.appendChild(qt);var sb=doc.createElement('input');sb.type='button';sb.value='Find';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("Found "+count+" occurrence"+(count==1?"":"s")+" of '"+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="red";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();})()

Thanks to LiveSide.net for creating the simple to use instructions.  Video demo by 1800pocketpc.com

More about the topics: bookmarklets, ie9 mobile, mango, windows phone 7.5

Leave a Reply

Your email address will not be published. Required fields are marked *