Me gustaría resumir cuál fue la solución a este problema. Puede encontrar una URL útil here.
Esencialmente, se inyecta código a través de la etiqueta de las páginas <script>
al importar JavaScript. Todo lo importado a través de esta etiqueta se ejecuta inmediatamente en el contexto global. Entonces, en lugar de pasar un archivo JavaScript, ingrese una URL a un sitio web que devuelve una página no de etiquetas HTML, sino una página que devuelve texto de código JavaScript que llama a una devolución de llamada en su código.
Utiliza parámetros de URL para indicar a la página qué devolución de llamada se debe devolver y los parámetros que deben introducirse en la devolución de llamada. Por ejemplo:
<script type="text/javascript" src="http://crossdomainhost/CrossDomainConsumerSite/Default.aspx?callback=myCallback¶m1=myParam"></script>
Cuando esto se evalúa, el contenido de la página devuelta por el parámetro 'origen' es:
myCallback(myParam);
En el lado del servidor, se creará un sitio en esa dirección URL que anula la Equivalente de OnLoad (con el idioma del lado del servidor que esté usando). En lugar de HTML de página, OnLoad tomará los parámetros de URL y los volverá a mezclar para que coincidan con la llamada de devolución de llamada anterior.
Cuando se realiza la sustitución, se llama inmediatamente a la devolución de llamada cuando el cliente carga la página. El beneficio de esto es que la URL 'src' no tiene que coincidir con el dominio de la página alojada.
Esto es lo que la página HTML cliente se verá como al final:
<script type="text/javascript">
var myCallback = function(myParam) {
alert("this was called across domains!");
};
</script>
<script type="text/javascript" src="http://crossdomainhost/CrossDomainConsumerSite/Default.aspx?callback=myCallback¶m=myParam></script>
Obtener una herramienta como Fiddler2 y ver la magia – epascarello
Esto no funcionaba para mí. Lo intenté, y todavía obtuve la negación de los errores de permiso en Chrome y Firefox. – Merritt
@Merritt - Tendrá que depurar esto en partes. Si navega a su página de proxy en un navegador web, ¿recibe de vuelta el texto cuyos contenidos son la llamada de JavaScript? –