Foros del Web » Programando para Internet » Javascript »

Bloqueado un frame de origen null (?)

Estas en el tema de Bloqueado un frame de origen null (?) en el foro de Javascript en Foros del Web. Buenas tardes Soy estudiando de FP Superior Desarrollo de Aplicaciones Web y mañana tendre un examen que otro grupo ha realizado este lunes mismo. Ellos ...
  #1 (permalink)  
Antiguo 18/11/2015, 03:31
 
Fecha de Ingreso: noviembre-2015
Mensajes: 2
Antigüedad: 8 años, 5 meses
Puntos: 0
Bloqueado un frame de origen null (?)

Buenas tardes
Soy estudiando de FP Superior Desarrollo de Aplicaciones Web y mañana tendre un examen que otro grupo ha realizado este lunes mismo. Ellos nos pasaron la imagen de su examen. Lo que pide el examen es lo siguiente:

Vale, pues yo estaba planteandolo con las formas que he tenido de apuntes ... Pero he llegado a un punto que no entiendo porque pasa esto:
Uncaught SecurityError: Blocked a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match.

Todo esto sucede al parecer a entrar en la variable "contenido" y "manipulacion" pero no se ni como solucionarlo. ¿Alguien podria explicarmelo por favor? Os dejo el codigo aqui (Es enorme, el tema optimizaciones pues ... como que no estaba demasiado preocupado XD)

Aun no está terminado pero como estaba probando pues cuando vi que fallo pues pare
Código HTML:
Ver original
  1.     <head>
  2.         <title>Proyecto / Examen</title>
  3.         <script type="text/javascript" src="Examen.js">
  4.         </script>
  5.     </head>
  6.     <body onload="Iniciar()">
  7.         <p id="nombre"></p>
  8.         <textarea id="t" rows="150" cols="150">
  9.         </textarea>
  10.     </body>
  11. </html>
Código Javascript:
Ver original
  1. var Introducir = "";
  2. var TuNombre = "";
  3. var TusApellidos = "";
  4. var FechaActual = new Date();
  5. var Dia;
  6. var Mes;
  7. var Meses = [["ENERO","1"], ["FEBRERO","2"], ["MARZO","3"], ["ABRIL","4"], ["MAYO","5"], ["JUNIO","6"], ["JULIO","7"], ["AGOSTO","8"], ["SEPTIEMBRE","9"], ["OCTUBRE","10"], ["NOVIEMBRE","11"], ["DICIEMBRE","12"]];
  8. var Ano;
  9. var AnoActual = FechaActual.getFullYear;
  10. var FechaIntroducida;
  11. function Iniciar () {
  12.     setTimeout("AbrirVentana()", 3000);
  13. }
  14. function AbrirVentana() {
  15.     primeraventana = window.open("","Ventana hija", "width=1200,height=1200,resizable=0");
  16.     URL = location.href;
  17.     Protocolo = location.protocol;
  18.     NombreNavegador = navigator.appName;
  19.     JavaActivado = navigator.javaEnabled();
  20.     if (JavaActivado == true) {
  21.         Java = "Java SI disponible";
  22.         Color = Java.fontcolor("green");
  23.     }
  24.     else {
  25.         Java = "Java NO disponible";
  26.         Color = Java.fontcolor("red");
  27.     }
  28.     Introducir += '<html>\n';
  29.     Introducir += '<head>\n';
  30.     Introducir += '<title>Primera Ventana Hija</title>\n';
  31.     Introducir += '</head>\n';
  32.     Introducir += '<body>\n';
  33.     Introducir += '<h3>Ejemplo de Ventana Nueva por Francisco Javier Yanes Delgado</h3>\n';
  34.     Introducir += '<p align="right">URL: '+URL+'</p>\n';
  35.     Introducir += '<p align="left">Protocolo utilizado: '+Protocolo+'</p>\n';
  36.     Introducir += '<p align="center">Nombre del navegador: '+NombreNavegador+'</p>\n'
  37.     Introducir += Color + '\n';
  38.     Introducir += '</body>\n';
  39.     Introducir += '</html>\n';
  40.     contenido = primeraventana.document;
  41.     contenido.write(Introducir);
  42.     contenido.close();
  43.     SegundaVentana();
  44. }
  45. function SegundaVentana () {
  46.     segundaventana = window.open("","Segunda Ventana Hija");
  47.     TuNombre = 'Nombre Desconocido';
  48.     while (TuNombre == 'Nombre Desconocido') {
  49.         TuNombre = prompt("Introduza su nombre","");
  50.         if (TuNombre == null || TuNombre == '') {
  51.             TuNombre = 'Nombre Desconocido';
  52.         }
  53.     }
  54.     /***************************************************/
  55.     TusApellidos = "Apellidos_desconocidos";
  56.     while (TusApellidos == "Apellidos_desconocidos") {
  57.         TusApellidos = prompt("Introduzca sus apellidos","");
  58.         if (TusApellidos == null ||TusApellidos == '') {
  59.             TusApellidos = "Apellidos_desconocidos";
  60.         }
  61.         busqueda = TusApellidos.split(" ",2);
  62.         if (busqueda[1] == null || busqueda[1] == '' || busqueda[1] == undefined) {
  63.             alert("Solo has introducido un apellido");
  64.             TusApellidos = "Apellidos_desconocidos";
  65.         }
  66.     }
  67.    
  68.     /***************************************************/
  69.     Dias();
  70.     Mes()
  71.     Ano();
  72.     /*****************************************************/
  73.     //Comprobación si la fecha introducida es superior a la actual
  74.     FechaIntroducida = new Date(Ano,Mes,Dia);
  75.     while (FechaIntroducida > FechaActual) {
  76.         alert("Lo siento, pero la fecha introducida es incorrecta (O nacistes en el futuro, quien sabe)");
  77.         Dias();
  78.         Mes();
  79.         Ano();
  80.         FechaIntroducida = new Date(Ano,Mes,Dia);
  81.     }
  82.     Introducir = '<html>\n';
  83.     Introducir += '<head>\n';
  84.     Introducir += '<title>Segunda Ventana Hija</title>\n';
  85.     Introducir += '\x3Cscript type="text/javascript">\n';
  86.     Introducir += 'function Comprobar () {\n';;
  87.     Introducir += '     TuNombre = "'+TuNombre+'";\n';
  88.     Introducir += '     TusApellidos = "'+TusApellidos+'";\n';
  89.     Introducir += '     Dia = "'+Dia+'";\n';
  90.     Introducir += '     Mes = "'+Mes+'";\n';
  91.     Introducir += '     Ano = "'+Ano+'";\n';
  92.     Introducir += '     if(TuNombre == null || TusApellidos == null || Dia == null || Mes == null || Ano == null){\n';
  93.     Introducir += '         alert("Algun campo está incorrecto. Por favor, compruebe los campos de nuevos");\n';
  94.     Introducir += '         return;\n';
  95.     Introducir += '     }\n';
  96.     Introducir += '}\n';
  97.     Introducir += '\x3C/script>\n';
  98.     Introducir += '</head>\n';
  99.     Introducir += '<body onunload="Comprobar()">\n';
  100.     Introducir += '</body>\n';
  101.     Introducir += '</html>\n';
  102.     manipulacion = segundaventana.document;
  103.     manipulacion.write(Introducir);
  104.     manipulacion.close();
  105. }
  106. function Dias() {
  107.     Dia = 00;
  108.     while (Dia == 00) {
  109.         Dia = prompt("Introduce el día de nacimiento","");
  110.         if (isNaN(Dia)) {
  111.             Dia = 0000;
  112.         }
  113.         else if (Dia == "" || Dia == null) {
  114.             alert("No ha introducido un valor al dia de nacimiento");
  115.             Dia = 00;
  116.         }
  117.         else if (Dia <1 && Dia >30) {
  118.             alert("Has introducido un valor superior a los dias del mes");
  119.             Dia = 00;
  120.         }
  121.     }
  122. } /*Introducción del día de nacimiento*/
  123. function Mes() {
  124.     Mes = 00;
  125.     while (Mes == 00) {
  126.         var MesEscrito = prompt("Introduzca el mes de nacimiento","");
  127.         if (MesEscrito == null || MesEscrito == '') {
  128.             Mes = 00;
  129.         }
  130.         MesEscrito = MesEscrito.toUpperCase();
  131.         for (i = 0;i < Meses.length;i++) {
  132.             if (MesEscrito == Meses[i][0]) {
  133.                 Mes = Meses[i][1];
  134.                 return;
  135.             }
  136.             if (i == Meses.length-1) {
  137.                 if (MesEscrito != Meses[i][0]) {
  138.                     Mes = 00;
  139.                     return;
  140.                 }
  141.             }
  142.         }
  143.     }
  144. } /*Introducción del mes de nacimiento*/
  145. function Ano() {
  146.     Ano = 0000;
  147.     while (Ano == 0000) {
  148.         Ano = prompt("Introduzca el año de nacimiento(Numérico con 4 cifras)","");
  149.         if (isNaN(Ano)) {
  150.             Ano = 0000;
  151.         }
  152.         else if (Ano == null || Ano == '') {
  153.             Ano = 0000;
  154.         }
  155.         else if (Ano.length > 4) {
  156.             alert("Has introducido un valor superior a 4 cifra");
  157.             Ano = 0000;
  158.         }
  159.         else if (Ano > AnoActual) {
  160.             alert("Has introducido un año superior al año actual, por lo que o naceras en el futuro o estas aquivocado :P");
  161.             Ano = 0000;
  162.         }
  163.     }  
  164. }/*Introducción del año de nacimiento*/

Un detalle mas ... La function Comprobar () ... Realmente como lo tengo planteado nunca podria no pasar un dato por lo que creo que es inutil, pero como el examen lo pide pues me toca ponerlo
Edito: Y otra pregunta más que queria hacer a mi profesora pero como hoy no voy para practicar no puedo realizarla. Tenemos la variable TusApellidos ... En ella metemos el apellidos "Yanes Delgado" y con el split es sencillo sacarle cual es el primer y cual es el segundo apellido pero ... ¿Y si es apellido es "Del Rio Gomez" como saco cual es el primero y cual es el segundo? Y hay mas variaciones de apellidos que el primero y el segundo estan unidos por - ... No se como contemplar todas esas posibilidades (Mi profesora es la tipica que va a matar XD)

Muchas gracias por su atencion

Última edición por kikoflu; 18/11/2015 a las 03:42 Razón: Restructuración de cambios mas nueva pregunta
  #2 (permalink)  
Antiguo 18/11/2015, 08:50
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Bloqueado un frame de origen null (?)

ese error se produce por que estás trabajando del lado del cliente. ejecuta el archivo en el servidor y el error desaparecerá.

con respecto a tu segundo cuestión, como bien dices, las posibilidades son muchas. tengo una amiga que se llama maría victoria ruíz de alarcón cuesta. lo que te quiero decir es que no es algo que puedas solventar con un simple split()
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #3 (permalink)  
Antiguo 19/11/2015, 13:04
 
Fecha de Ingreso: noviembre-2015
Mensajes: 2
Antigüedad: 8 años, 5 meses
Puntos: 0
Respuesta: Bloqueado un frame de origen null (?)

Vale, ¿Y como lo puedo solventar? Es decir, sin separarlos en variables me es imposible ...
Igualmente hoy tuve otro ejercicio que era el examen y era superparecido, la diferencia era cambiar Año/Mes/Dia por Precio/IGIC/Descuento/Total ... Pero me toco un gran problema que no logre solucionar que fue la suma de dos parseFloat(variable).toFixed(2), lo que me hacia era la concatenación, si puedo lo subire para que lo veais y me digais en que he cometido el error (Mas el tema de "Cuando cierres la ventana, ejecuta esta funcion. Probe con onunload=Funcion(), probe con function confirmExit() {Continuar(); return "Si desea salir de la página pulse en aceptar";} y a Ventana2.onbeforeunload = confirExit ..." pero nada funciono
}

Etiquetas: bloqueado, frame, html, js, null, origen, valor, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:42.