soy saltarse remove quitar que omegle google eres eliminar demuestra demostrar como chrome javascript html5 iframe embed

javascript - saltarse - recaptcha



Cómo pasar mensajes de iFrame en todos los navegadores (3)

El principal método de solución de problemas que he visto utilizado consiste en establecer un valor hash en la ventana principal y detectar el valor hash en el padre, analizar el valor hash para obtener los datos y hacer lo que quiera. Aquí hay un ejemplo de hacerlo: http://www.onlineaspect.com/2010/01/15/backwards-compatible-postmessage/ . Hay más opciones a través de Google como esta: http://easyxdm.net/wp/ .

Tengo un iframe incrustable que se usará en sitios de terceros. Tiene que rellenar varios formularios y, al final, debe informar a la página principal que se ha completado.

En otras palabras, el iframe necesita pasar un mensaje a su padre cuando se hace clic en un botón.

Después de atravesar océanos de "No, la política de dominios cruzados es una imbécil", encontré window.postMessage , parte de la especificación de borrador de HTML5.

Básicamente, coloca el siguiente JavaScript en su página para capturar un mensaje del iframe:

window.addEventListener(''message'', goToThing, false); function goToThing(event) { //check the origin, to make sure it comes from a trusted source. if(event.origin !== ''http://localhost'') return; //the event.data should be the id, a number. //if it is, got to the page, using the id. if(!isNaN(event.data)) window.location.href = ''http://localhost/somepage/'' + event.data; }

Luego, en el iframe, tenga algo de JavaScript que envíe un mensaje al padre:

$(''form'').submit(function(){ parent.postMessage(someId, ''*''); });

Impresionante, ¿verdad? El único problema es que no parece funcionar en ninguna versión de IE. Entonces, mi pregunta es la siguiente: dado que necesito pasar un mensaje de un iframe a su padre (los cuales controlo), ¿hay algún método que pueda usar que funcione en cualquier navegador (> IE6)?


Esto es mucho más simple que eso.

Usted dice que controla tanto el padre como el contenido del marco, puede configurar la comunicación bidireccional en javascript.

Todo lo que necesitas es

yourframename.document.getElementById(''idofsomethinginttheframe'')

Y luego, desde dentro del marco, direccionar cualquier cosa fuera de él con

parent.document


En IE debes usar

attachEvent("onmessage", postMessageListener, false);

en lugar de

addEventListener("message", postMessageListener, false);