¿Acceder a un elemento dentro de un iFrame de dominios cruzados creado dinámicamente?

Quiero acceder a un elemento dentro de un iFrame, pero debido a la forma en que se llama a iFrame, no estoy teniendo éxito.

Esta es la página de destino (www1.k9webprotection.com / …).

El iframe está en un subdominio diferente:

 

Configurar un tiempo de espera o un detector de eventos para cuando se carga el iframe, no ayudó.

Ambos documentos se colocan en diferentes (sub) dominios, por defecto no pueden interactuar a través de javascript.

Debe establecer el domain de ambos documentos en el mismo valor.

Coloca esto en algún lugar en la de ambas páginas:

  

… luego espere el evento onload del iframe y debería poder acceder al documento dentro del iframe desde la página principal (y viceversa).

Sample-Script para GreaseMonkey (simplemente sobrescribe el cuerpo del iframe):

 // ==UserScript== // @name k9 // @namespace k9 // @include http://www1.k9webprotection.com/get-k9-web-protection-free // @include http://license.k9webprotection.com/license.jsp* // @version 1 // @grant none // ==/UserScript== document.domain= 'k9webprotection.com'; if(self===top){ try{ $('iframe.getk9iframe').load(function(){ $('body',this.contentDocument) .text('gotcha') .css({background:'red',fontSize:'3em'}); }); alert("I'm the document in the top-window"); } catch(e){} }