Tip: How to get “Forward” and “Find On Page” back in IE9 Mobile on Windows Phone 7.5?

Find on page and ForwardSo Windows Phone 7.5 “Mango” has almost rolled out to all existing users, and more devices are on the way. While the improvements Microsoft made to Internet Explorer 9 Mobile on the Windows Phone are great (such as hardware acceleration, better rendering and standards support, and minimized chrome), Microsoft also made a few changes that caused some annoyances to users.

Two of these changes are the removal of “Forward” and “Find On Page” functionalities from the mobile browser. Well it appears the guys over at XDA-Developers have come up with a workaround to get these functionalities back, using Internet Explorer 9 Mobile’s bookmarklets (aka Favorites) feature. Here’s how to get it:

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()

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();})()

Using this trick does require a few extra taps to get there, but at least it works. You can check out a video from 1800PocketPC.com (thanks for the tip!) to see it in action:

[youtube_video]1Mx8YHnEEXU[/youtube_video]

Let us know in the comments below if this works for you!