>>5122
Can't remember where I found this but it's great for flash games. Just bookmark it and click when needed.
javascript:(function(){setTimeout(initFlashControls,100);function%20initFlashControls(){var%20count=0;function%20tt(elem){if(typeof%20elem.TotalFrames!="undefined"){addFlashControls(elem);++count;}}var%20i,x;for(i=0;x=document.getElementsByTagName("object")[i];++i)tt(x);for(i=0;x=document.getElementsByTagName("embed")[i];++i)tt(x);if(!count)alert("No%20scriptable%20flash%20on%20this%20page.");}function%20addFlashControls(flash){var%20controlsDiv=document.createElement("div");var%20where=flash;while(where.parentNode.tagName.toLowerCase()=="object")where=where.parentNode;where.parentNode.insertBefore(controlsDiv,where.nextSibling);var%20table=document.createElement("table");controlsDiv.appendChild(table);var%20row=table.insertRow(-1);var%20pauseButton=document.createElement("button");pauseButton.appendChild(document.createTextNode("Pause"));var%20buttonCell=row.insertCell(-1);buttonCell.appendChild(pauseButton);var%20slider=row.insertCell(-1);slider.width="100%";var%20visibleSlider=document.createElement("div");visibleSlider.style.position="relative";visibleSlider.style.height="10px";visibleSlider.style.width="100%";visibleSlider.style.MozBorderRadius="4px";visibleSlider.style.background="#aaa";slider.appendChild(visibleSlider);var%20thumb=document.createElement("div");thumb.style.position="absolute";thumb.style.height="20px";thumb.style.width="10px";thumb.style.top="-5px";thumb.style.MozBorderRadius="4px";thumb.style.background="#666";visibleSlider.appendChild(thumb);var%20sliderWidth;var%20paused=false;var%20dragging=false;table.width=Math.max(parseInt(flash.width)||0,400);addEvent(pauseButton,"click",pauseUnpause);addEvent(slider,"mousedown",drag);addEvent(slider,"drag",function(){return%20false;});window.setInterval(update,30);function%20pauseUnpause(){paused=!paused;pauseButton.style.borderStyle=paused?"inset":"";if(paused)flash.StopPlay();else%20flash.Play();}function%20update(){sliderWidth=parseInt(getWidth(slider)-getWidth(thumb));if(!paused&&!dragging)thumb.style.left=parseInt(flash.CurrentFrame()/totalFrames()*sliderWidth)+"px";}function%20dragMousemove(e){var%20pageX=e.clientX+document.body.scrollLeft;var%20pos=bounds(0,pageX-getX(slider)-5,sliderWidth);var%20frame=bounds(1,Math.ceil(totalFrames()*pos/sliderWidth),totalFrames()-2);thumb.style.left=pos+"px";flash.GotoFrame(frame);}function%20release(e){removeEvent(document,"mousemove",dragMousemove);removeEvent(document,"mouseup",release);if(!paused)flash.Play();dragging=false;}function%20drag(e){addEvent(document,"mousemove",dragMousemove);addEvent(document,"mouseup",release);dragging=true;dragMousemove(e);}function%20bounds(min,val,max){return%20Math.min(Math.max(min,val),max);}function%20totalFrames(){if(typeof%20flash.TotalFrames=="number")return%20flash.TotalFrames;else%20if(typeof%20flash.TotalFrames=="function")return%20flash.TotalFrames();else%20return%201;}function%20getWidth(elem){if(document.defaultView&&document.defaultView.getComputedStyle)return%20parseFloat(document.defaultView.getComputedStyle(elem,null).getPropertyValue("width"));else%20return%20parseFloat(elem.offsetWidth);}function%20getX(elem){if(!elem)return%200;return(elem.offsetLeft)+getX(elem.offsetParent);}function%20addEvent(elem,eventName,fun){if(elem.addEventListener)elem.addEventListener(eventName,fun,false);else%20elem.attachEvent("on"+eventName,fun);}function%20removeEvent(elem,eventName,fun){if(elem.addEventListener)elem.removeEventListener(eventName,fun,false);else%20elem.detachEvent("on"+eventName,fun);}}})()