document.write('
'); function focusFrame(obj){ console.dir(obj); console.log('focusframe'); obj.contentWindow.focus(); } window.onload = function(){ frames = document.getElementsByClassName('nineleap_gameframe'); document.addEventListener('keydown', function(e) { frames[0].contentDocument.dispatchEvent(e); console.log(e); // e.stopPropagation(); }); document.addEventListener('keyup', function(e) { frames[0].contentDocument.dispatchEvent(e); console.log(e); // e.stopPropagation(); }); console.log('onload',frames); for(var i = 0; i < frames.length; i++){ focusFrame(frames[i]); frames[i].parentNode.addEventListener('click', function(){ console.log('click'); focusFrame(frames[i]); } ); }; } /* Prototype JavaScript framework, version 1.7 * (c) 2005-2010 Sam Stephenson * * Prototype is freely distributable under the terms of an MIT-style license. * For details, see the Prototype web site: http://www.prototypejs.org/ * *--------------------------------------------------------------------------*/ if (!document.getElementsByClassName) document.getElementsByClassName = function(instanceMethods){ function iter(name) { return name.blank() ? null : "[contains(concat(' ', @class, ' '), ' " + name + " ')]"; } instanceMethods.getElementsByClassName = Prototype.BrowserFeatures.XPath ? function(element, className) { className = className.toString().strip(); var cond = /\s/.test(className) ? $w(className).map(iter).join('') : iter(className); return cond ? document._getElementsByXPath('.//*' + cond, element) : []; } : function(element, className) { className = className.toString().strip(); var elements = [], classNames = (/\s/.test(className) ? $w(className) : null); if (!classNames && !className) return elements; var nodes = $(element).getElementsByTagName('*'); className = ' ' + className + ' '; for (var i = 0, child, cn; child = nodes[i]; i++) { if (child.className && (cn = ' ' + child.className + ' ') && (cn.include(className) || (classNames && classNames.all(function(name) { return !name.toString().blank() && cn.include(' ' + name + ' '); })))) elements.push(Element.extend(child)); } return elements; }; return function(className, parentElement) { return $(parentElement || document.body).getElementsByClassName(className); }; }(Element.Methods);