he hecho un pequeño menu en flex que usa esta función para cargar a traves de AJAX un codigo html en un campo DIV.
Y me da el error "Permiso denegado" cuando hago el open desde javascript.
El fichero "prueba.txt" esta en la misma carpeta que el fichero index.html que contiene el codigo javascript y el html.
Estoy haciendo las pruebas en local, a traves de easyphp.
Si lo hago todo con codigo javascript, es decir, invoco todo el proceso sin que intervenga FLEX, funciona correctamente.
Código HTML:
<div align="center" class="Estilo1" onmousedown="cargar_pagina('prueba.txt')">cargar_pagina</div>
No entiendo por que...
¿a alguien se le ocurre algo?
Codigo FLEX:
Código:
Codigo HTML:import flash.external.*; public function processAjax():void {if (ExternalInterface.available) {}var _f:String = "cargar_pagina"; var _m = ExternalInterface.call(_f,"prueba.txt"); trace("Call realizado:" + _m);} else {trace("La external interface no esta disponible.");}
Código:
Codigo JAVASCRIPT:<html><div id="contenedor" style="width:100%; height:100%; left:0px; top:0px; background-color:#0099FF"/></html>
Código:
<script>function NuevoAjax() {</script>var xmlhttp=false; try {} function cargar_pagina (url) {xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");} catch(e) {try {} if(!xmlhttp && typeof XMLHttpRequest!='undefined') {xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");} catch(E) {xmlhttp = false;}xmlhttp = new XMLHttpRequest();} return xmlhttp;alert("cargar_pagina"); ajax=NuevoAjax(); ajax.onreadystatechange=function()}{alert("open"); try {alert("hola"); alert("readystate: "+ajax.readyState); if (ajax.readyState==1) { //Sucede cuando se esta cargando la pagina}document.getElementById("contenedor").innerHTML = "cargando..."} else if (ajax.readyState==4) { //Sucede cuando la pagina se cargóif(ajax.status==200) { //Todo OK}document.getElementById("contenedor").innerHTML = ajax.responseText;} else if (ajax.status==404) { //La pagina no existedocument.getElementById("contenedor").innerHTML = "La página no existe";} else { //Mostramos el posible errordocument.getElementById("contenedor").innerHTML = "Error:".ajax.status;}ajax.open("GET", url, true);} catch (E) {alert("Error con open: "+E.name); alert("Mensaje: "+E.message);} alert("send"); ajax.send(null);