Dia 30
This commit is contained in:
parent
ad08f8d30d
commit
96759acedd
|
|
@ -0,0 +1,92 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="es">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Lista de invitados</title>
|
||||
<link rel="stylesheet" href="css/estilos.css" />
|
||||
</head>
|
||||
<body>
|
||||
<h1>Lista de Invitados</h1>
|
||||
|
||||
<button onclick="agregarInvitado()">Agregar Invitado</button>
|
||||
<button onclick="verLista()">Ver Lista</button>
|
||||
<button onclick="borrarLista()">Borrar Lista</button>
|
||||
<button onclick="borrarInvitado()">Eliminar Invitado</button>
|
||||
<button onclick="editarInvitado()">Editar Invitado</button>
|
||||
<script>
|
||||
|
||||
// Array para almacenar la lista de invitados
|
||||
let listaInvitados = [];
|
||||
|
||||
// Función para agregar un nuevo invitado a la lista
|
||||
function agregarInvitado() {
|
||||
let nombreInvitado = prompt("Ingrese el nombre del invitado:");
|
||||
|
||||
if (nombreInvitado !== null && nombreInvitado !== '') {
|
||||
listaInvitados.push(nombreInvitado);
|
||||
alert(`Invitado ${nombreInvitado} agregado a la lista.`);
|
||||
}
|
||||
}
|
||||
|
||||
// Función para ver la lista de invitados
|
||||
function verLista() {
|
||||
if (listaInvitados.length === 0) {
|
||||
alert("La lista de invitados está vacía.");
|
||||
} else {
|
||||
let listaTexto = "Lista de Invitados:\n";
|
||||
listaInvitados.forEach(function (invitado, indice) {
|
||||
listaTexto += `${indice + 1}. ${invitado}\n`;
|
||||
});
|
||||
alert(listaTexto);
|
||||
}
|
||||
}
|
||||
|
||||
// Función para borrar la lista de invitados con confirmación
|
||||
function borrarLista() {
|
||||
let confirmacion = confirm("¿Estás seguro de que deseas borrar la lista de invitados?");
|
||||
|
||||
if (confirmacion) {
|
||||
listaInvitados = []; // Borrar la lista
|
||||
alert("La lista de invitados ha sido borrada.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Función para borrar un invitado específico de la lista
|
||||
function borrarInvitado() {
|
||||
let nombreInvitadoEliminado=prompt("Ingrese el nombre del invitado que se eliminará:");
|
||||
let indice = listaInvitados.indexOf(nombreInvitadoEliminado);
|
||||
|
||||
if (indice !== -1) {
|
||||
// Si el invitado se encuentra en la lista, lo eliminamos
|
||||
listaInvitados.splice(indice, 1);
|
||||
alert(`Se ha eliminado a ${nombreInvitadoEliminado} de la lista.`);
|
||||
} else {
|
||||
alert(`"${nombreInvitadoEliminado}" no se encuentra en la lista.`);
|
||||
}
|
||||
}
|
||||
|
||||
// Editar un invitado
|
||||
function editarInvitado() {
|
||||
//Busca por nombre
|
||||
let nombreInvitadoModificado=prompt("Ingrese el nombre del invitado a modificar:");
|
||||
//Obten su indice
|
||||
let indice = listaInvitados.indexOf(nombreInvitadoModificado);
|
||||
if (indice !== -1) {
|
||||
// Pregunta el nombre que lo sustituye
|
||||
let nombreAnterior = listaInvitados[indice];
|
||||
let nuevoNombre = prompt("Ingrese el nuevo nombre del invitado:", nombreAnterior);
|
||||
// Realiza la edición
|
||||
listaInvitados[indice] = nuevoNombre;
|
||||
} else {
|
||||
alert("No se encontró el invitado con el nombre indicado.");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -8,6 +8,7 @@
|
|||
<title>Arrays 04</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Lista de Invitados</h1>
|
||||
<button style="width: 16em;" onclick="addInvitado()">Añadir Invitado</button>
|
||||
<button style="width: 16em;" onclick="showLista()">Ver Lista de Invitados</button>
|
||||
<button style="width: 16em;" onclick="delLista()">Borrar lista de invitados</button>
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
let invitados = [];
|
||||
let listaInvitados = [];
|
||||
|
||||
function showLista() {
|
||||
if (invitados.length) {
|
||||
if (listaInvitados.length) {
|
||||
let text = "Lista de invitados: \n";
|
||||
invitados.forEach((el, index) => {
|
||||
listaInvitados.forEach((el, index) => {
|
||||
text = text + `${index + 1} - ${el} \n`;
|
||||
});
|
||||
alert(text);
|
||||
|
|
@ -14,21 +14,21 @@ function showLista() {
|
|||
function addInvitado() {
|
||||
invitado = prompt("Introduce el nombre del invitado");
|
||||
if (invitado !== null && invitado !== "") {
|
||||
invitados.push(invitado);
|
||||
listaInvitados.push(invitado);
|
||||
}
|
||||
}
|
||||
|
||||
function delLista() {
|
||||
if (confirm("¿Seguro que deseas eliminar la lista?")) {
|
||||
invitados = [];
|
||||
listaInvitados = [];
|
||||
}
|
||||
}
|
||||
|
||||
function delInvitado() {
|
||||
invitado = prompt("Introduce el nombre del invitado");
|
||||
index = invitados.indexOf(invitado);
|
||||
index = listaInvitados.indexOf(invitado);
|
||||
if (index != -1) {
|
||||
invitados.splice(index, 1);
|
||||
listaInvitados.splice(index, 1);
|
||||
} else {
|
||||
alert("No existe el invitado especificado");
|
||||
}
|
||||
|
|
@ -36,11 +36,11 @@ function delInvitado() {
|
|||
|
||||
function editInvitado() {
|
||||
invitado = prompt("Introduce el nombre del invitado a editar");
|
||||
index = invitados.indexOf(invitado);
|
||||
index = listaInvitados.indexOf(invitado);
|
||||
if (index != -1) {
|
||||
invitadoEditado = prompt("Introduce el nuevo nombre",invitado);
|
||||
invitadoEditado = prompt("Introduce el nuevo nombre", invitado);
|
||||
if (invitadoEditado !== null && invitadoEditado !== "") {
|
||||
invitados[index] = invitadoEditado;
|
||||
listaInvitados[index] = invitadoEditado;
|
||||
}
|
||||
} else {
|
||||
alert("No existe el invitado especificado");
|
||||
|
|
|
|||
68
Practicas/Practicas JS/Bucles 01/01_bucles_javascript.html
Normal file
68
Practicas/Practicas JS/Bucles 01/01_bucles_javascript.html
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="es">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>01 Bucles javascript</title>
|
||||
<link rel="stylesheet" href="css/estilos.css" />
|
||||
</head>
|
||||
<body>
|
||||
<h1>Bucles Javascript 01</h1>
|
||||
|
||||
<script>
|
||||
//1 Suma de los números del 1 al 100
|
||||
let suma = 0;
|
||||
// Utilizando un bucle for para sumar los números del 1 al 100
|
||||
for (let i = 1; i <= 100; i++) {
|
||||
suma += i;
|
||||
}
|
||||
document.write("1. " + "La suma de los números del 1 al 100 es: " + suma + "<br>");
|
||||
|
||||
//2 Suma de los pares del 0 al 100
|
||||
let sumaPares = 0;
|
||||
// Utilizando un bucle for para sumar los números pares del 0 al 100
|
||||
for (let i = 0; i <= 100; i += 2) {
|
||||
sumaPares += i;
|
||||
}
|
||||
document.write("2. " + "La suma de los números pares del 0 al 100 es: " + sumaPares + "<br>");
|
||||
|
||||
//3 Suma de los múltiplos de 3 del 0 al 100
|
||||
let sumaMultiplosDe3 = 0;
|
||||
// Utilizando un bucle for para sumar los múltiplos de 3 del 0 al 100
|
||||
for (let i = 0; i <= 100; i++) {
|
||||
if (i % 3 === 0) { // Verifica si el número es divisible por 3
|
||||
sumaMultiplosDe3 += i;
|
||||
}
|
||||
}
|
||||
document.write("3. " + "La suma de los números múltiplos de 3 del 0 al 100 es: " + sumaMultiplosDe3 + "<br>");
|
||||
|
||||
//4 Escribe los múltiplos de 3 del 0 al 100
|
||||
document.write("4. Múltiplos de 3 del 0 al 100 : " + "<br>");
|
||||
// Utilizando un bucle while para escribir los múltiplos de 3 del 0 al 100
|
||||
let i = 0;//Inicialización
|
||||
while(i <= 100) {//Condición
|
||||
if (i % 3 === 0) { // Verifica si el número es divisible por 3
|
||||
if (i!=0) {//Verifica que no es el primero
|
||||
document.write(" -- ");
|
||||
}
|
||||
document.write(i);
|
||||
}
|
||||
i++;
|
||||
}
|
||||
document.write("<br>");
|
||||
|
||||
//5 Escribe los múltiplos de 5 del 0 al 100 y del 100 al 0 uno debajo de otro separados por un guion.
|
||||
|
||||
document.write("5. Múltiplos de 5 del 0 al 100 y del 100 al 0 : " + "<br>");
|
||||
|
||||
for (let i = 0, j = 100; i <= 100 && j >= 0; i += 5, j -= 5) {
|
||||
document.write(i + " -- " + j + "<br>");
|
||||
}
|
||||
|
||||
document.write("<br>");
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
50
Practicas/Practicas JS/Bucles 01/index.html
Normal file
50
Practicas/Practicas JS/Bucles 01/index.html
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Bucles 01</title>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
let suma=0;
|
||||
for (let i = 1; i <= 100; i++) {
|
||||
suma += i;
|
||||
}
|
||||
document.write(`1. la suma del 1 al 100 = ${suma}` + '<br>')
|
||||
|
||||
suma=0;
|
||||
for (let i = 2; i <= 100; i+=2) {
|
||||
suma += i;
|
||||
}
|
||||
document.write(`2. La suma de los numero pares del 1 al 100 = ${suma}` + '<br>')
|
||||
|
||||
suma=0;
|
||||
for (let i = 3; i <= 100; i+=3) {
|
||||
suma += i;
|
||||
}
|
||||
document.write(`3. La suma de los multiplos de tres del 1 al 100 = ${suma}` + '<br>')
|
||||
|
||||
document.write(`4. Imprimir los multiplos de 3 entre el 0 y el 100 ` + '<br>')
|
||||
for (let i = 3; i <= 100; i+=3) {
|
||||
if (i>3){document.write('--')}
|
||||
document.write(i)
|
||||
}
|
||||
|
||||
document.write('<br>')
|
||||
document.write(`5. Multiplos de 5 del 0 al 100 en columnas` + '<br>')
|
||||
for (let i = 0; i <= 100; i+=5) {
|
||||
document.write(i + ' - ' + (100-i) + '<br>')
|
||||
}
|
||||
|
||||
|
||||
document.write('<br>')
|
||||
document.write(`5. Multiplos de 5 del 0 al 100 en columnas for con dos contadores` + '<br>')
|
||||
for (let i = 0, j = 100; i <= 100 && j>=0; i+=5, j-=5) {
|
||||
document.write(i + ' - ' + j + '<br>')
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="es">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>01 Condicionales javascript</title>
|
||||
<link rel="stylesheet" href="css/estilos.css" />
|
||||
</head>
|
||||
<body>
|
||||
<h1>Condicionales Javascript 01</h1>
|
||||
|
||||
<script>
|
||||
//Ejercicio nota alumno
|
||||
|
||||
// Paso 1: Solicitar al alumno que ingrese una calificación numérica
|
||||
let calificacionNumerica = parseInt(prompt("Ingresa tu calificación (0-100):"));
|
||||
|
||||
// Paso 2: Utilizar 'if' para determinar la letra asignada
|
||||
let calificacionLetra;
|
||||
|
||||
if (calificacionNumerica >= 90 && calificacionNumerica <= 100) {
|
||||
calificacionLetra = 'A';
|
||||
} else if (calificacionNumerica >= 60 && calificacionNumerica < 90) {
|
||||
calificacionLetra = 'B';
|
||||
} else if (calificacionNumerica >= 50 && calificacionNumerica < 60) {
|
||||
calificacionLetra = 'C';
|
||||
} else if (calificacionNumerica >= 30 && calificacionNumerica < 50) {
|
||||
calificacionLetra = 'D';
|
||||
} else if (calificacionNumerica >= 0 && calificacionNumerica < 30) {
|
||||
calificacionLetra = 'F';
|
||||
} else {
|
||||
// Dato no valido
|
||||
alert("La calificación debe estar en el rango de 0 a 100.");
|
||||
|
||||
}
|
||||
|
||||
// Paso 3: Utilizar 'switch' para mensajes con alert
|
||||
switch (calificacionLetra) {
|
||||
case 'A':
|
||||
document.write("¡Excelente trabajo!");
|
||||
break;
|
||||
case 'B':
|
||||
document.write("Buen trabajo, sigue así.");
|
||||
break;
|
||||
case 'C':
|
||||
document.write("Has pasado, pero puedes mejorar.");
|
||||
break;
|
||||
case 'D':
|
||||
document.write("Necesitas esforzarte más.");
|
||||
break;
|
||||
case 'F':
|
||||
document.write("Esto no hay por donde cogerlo.");
|
||||
break;
|
||||
default:
|
||||
document.write("Calificación no reconocida. Revisa la entrada.");
|
||||
// Dato no reconocido
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="es">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>01 Condicionales javascript</title>
|
||||
<link rel="stylesheet" href="css/estilos.css" />
|
||||
</head>
|
||||
<body>
|
||||
<h1>Condicionales Javascript 01</h1>
|
||||
|
||||
<script>
|
||||
// Ejercicio nota alumno
|
||||
|
||||
// Solicitar nota
|
||||
let calificacionNumerica = parseInt(prompt("Ingresa tu calificación (0-100):"));
|
||||
|
||||
// Utilizar 'switch' para determinar letra y mensaje
|
||||
let calificacionLetra;
|
||||
|
||||
switch (true) {
|
||||
case (calificacionNumerica >= 90 && calificacionNumerica <= 100):
|
||||
calificacionLetra = 'A';
|
||||
document.write("¡Excelente trabajo!");
|
||||
break;
|
||||
case (calificacionNumerica >= 60 && calificacionNumerica < 90):
|
||||
calificacionLetra = 'B';
|
||||
document.write("Buen trabajo, sigue así.");
|
||||
break;
|
||||
case (calificacionNumerica >= 50 && calificacionNumerica < 60):
|
||||
calificacionLetra = 'C';
|
||||
document.write("Has pasado, pero puedes mejorar.");
|
||||
break;
|
||||
case (calificacionNumerica >= 30 && calificacionNumerica < 50):
|
||||
calificacionLetra = 'D';
|
||||
document.write("Necesitas esforzarte más.");
|
||||
break;
|
||||
case (calificacionNumerica >= 0 && calificacionNumerica < 30):
|
||||
calificacionLetra = 'F';
|
||||
document.write("Esto no hay por donde cogerlo.");
|
||||
break;
|
||||
default:
|
||||
alert("La calificación debe estar en el rango de 0 a 100.");
|
||||
// Salir del programa o manejar la entrada inválida según sea necesario
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
51
Practicas/Practicas JS/Condicionales 01/index.html
Normal file
51
Practicas/Practicas JS/Condicionales 01/index.html
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="../Introduccion/estilos.css">
|
||||
<script>
|
||||
/* Generica para recoger un numero y validarlo*/
|
||||
function solicitaNumero(txtPregunta) {
|
||||
let numero;
|
||||
do {
|
||||
numero = parseFloat(prompt(txtPregunta));
|
||||
if (isNaN(numero) || numero <= 0 || numero > 100) {
|
||||
alert("El numero introducido es incorrecto");
|
||||
}
|
||||
} while (isNaN(numero) || numero <= 0 || numero > 100);
|
||||
return numero;
|
||||
}
|
||||
|
||||
|
||||
let calificacion = solicitaNumero('Ingresa una calificacion numerica (entre 0 y 100)')
|
||||
switch (true) {
|
||||
case (calificacion <= 29):
|
||||
document.write("Esto no hay por donde cogerlo.")
|
||||
break;
|
||||
case (calificacion <= 49):
|
||||
document.write("Necesitas esforzarte más.")
|
||||
break;
|
||||
case (calificacion <= 59):
|
||||
document.write("Has pasado, pero puedes mejorar.")
|
||||
break;
|
||||
case (calificacion <= 89):
|
||||
document.write("Buen trabajo, sigue así.")
|
||||
break;
|
||||
case (calificacion <= 100):
|
||||
document.write("¡Excelente trabajo!")
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
</script>
|
||||
<title>Document</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -0,0 +1,81 @@
|
|||
<!Doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Condicionales Javascript</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
/*// IF
|
||||
var n1 =prompt("Introduce tu nota","5");
|
||||
if (n1>=5) {
|
||||
document.write("Estas aprobado");
|
||||
} else {
|
||||
document.write("Estas suspenso");
|
||||
}*/
|
||||
|
||||
/*//IF anidado
|
||||
if (condicion1) {
|
||||
// código a ejecutar si condicion1 es verdadera
|
||||
} else if (condicion2) {
|
||||
// código a ejecutar (no cumple la condicion1 pero cumple la condicion2)
|
||||
} else {
|
||||
// código a ejecutar (no cumple ninguna)
|
||||
}*/
|
||||
|
||||
|
||||
/*// SWITCH
|
||||
switch (variable) {
|
||||
case valor1:
|
||||
// código a ejecutar si la variable es igual a valor1
|
||||
break;
|
||||
case valor2:
|
||||
// código a ejecutar si la variable es igual a valor2
|
||||
break;
|
||||
default:
|
||||
// código a ejecutar si ninguna de las condiciones anteriores es verdadera
|
||||
}*/
|
||||
|
||||
/*Ejemplo Switch
|
||||
let valoracionUsuario = 2; // De 1 a 5 estrellas
|
||||
|
||||
switch (valoracionUsuario) {
|
||||
case 1:
|
||||
console.log("Pesima");
|
||||
break;
|
||||
case 2:
|
||||
console.log("Mala");
|
||||
break;
|
||||
case 3:
|
||||
console.log("Regular");
|
||||
break;
|
||||
case 4:
|
||||
console.log("Buena");
|
||||
break;
|
||||
case 5:
|
||||
console.log("Excelente");
|
||||
break;
|
||||
default:
|
||||
console.log("No has valorado nuestro servicio.");
|
||||
}*/
|
||||
|
||||
|
||||
/*//Operador ternario
|
||||
|
||||
condicion ? expresion_si_verdadero : expresion_si_falso;
|
||||
|
||||
Ejemplo:
|
||||
|
||||
let edad = 20;
|
||||
let mensaje = (edad >= 18) ? "Eres mayor de edad" : "Eres menor de edad";
|
||||
|
||||
console.log(mensaje);
|
||||
|
||||
|
||||
*/
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,82 @@
|
|||
<!Doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Bucles Javascript</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
// BUCLES
|
||||
// Prueb WHILE (No sabes cuantas veces va a iterar)
|
||||
/*j=4; // Inicialización
|
||||
while (j<100) { // Condición
|
||||
document.write("El valor de j es:" + j + "<br>"); // Instrucción
|
||||
j=j+2; // Incremento
|
||||
}*/
|
||||
|
||||
/* While con pares e impares
|
||||
i=2;
|
||||
document.write("Imprimiendo los pares"+"<br>");
|
||||
while (i<10) {
|
||||
document.write( i + "<br>");
|
||||
i +=2;
|
||||
}
|
||||
|
||||
i=1;
|
||||
document.write("Imprimiendo los impares"+"<br>");
|
||||
while (i<10) {
|
||||
document.write( i + "<br>");
|
||||
i=i+2;
|
||||
}*/
|
||||
|
||||
// Do-while: (garantiza que el bloque de código se ejecute al menos una vez antes de verificar la condición)
|
||||
/*
|
||||
let i = 0;
|
||||
do {
|
||||
// Código a repetir
|
||||
document.write(i + "<br>");
|
||||
i++;
|
||||
} while (i < 5);
|
||||
*/
|
||||
|
||||
|
||||
/* Prueba FOR (Sabes cuantas veces va a iterar)
|
||||
// FOR (inicialización; condición; incremento)
|
||||
for (i=0;i<100;i++) {
|
||||
document.write(i + "<br>");
|
||||
}*///Puede ser por ejemplo con 2 contadores, 2 condiciones y 2 incrementos.
|
||||
|
||||
/*// Prueba FOR con array
|
||||
var dias = ["Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo"];
|
||||
|
||||
for(var i=0; i<7; i++) {
|
||||
document.write(dias[i] + "<br>");
|
||||
}*/
|
||||
|
||||
|
||||
// for...of: ECMAScript 6, itera sobre los valores de un iterable (por ejemplo, un array o un string).
|
||||
/*
|
||||
const miArray = [1, 2, 3];
|
||||
for (const valor of miArray) {
|
||||
// Código a repetir
|
||||
console.log(valor);
|
||||
}
|
||||
*/
|
||||
|
||||
// for...in: Itera sobre las propiedades enumerables de un objeto. Se utiliza principalmente para objetos.
|
||||
/*
|
||||
const miObjeto = { a: 1, b: 2, c: 3 };
|
||||
for (let key in miObjeto) {
|
||||
// Código a repetir
|
||||
console.log(key, miObjeto[key]);
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Reference in New Issue
Block a user