Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - @XSStringManolo

#551
En tu ejemplo no tienes posPx definido en ningún sitio.

Haz un: alert(typeof(this.posPx[1])); justo antes del if, a ver si es un número o un objeto, o algo distinto.
Si usas por ejemplo new Number(10) estás creando un objeto, no un tipo number primitivo.
Ten cuidado con tu código y las conversiones implícitas. Estaría bien que pusieras todo el código si no es excesivamente grande para poder ver cual es el problema.


Probablemente si haces esto:
posPy[1] = +(posPy[1].toFixed(1));
se te solucione.
#552
Desarrollo Web / Usar react offline?
1 Mayo 2020, 19:11 PM
Hola, estoy intentando correr React offline y no tengo nada claro cual es el problema.

En su web tienen estos script src:
<script src="https://unpkg.com/react@16/umd/react.development.js" crossorigin></script>

<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js" crossorigin></script>

Entonces accedí a cada link y usando este programa:
https://github.com/StringManolo/Smpider/blob/master/shortVersion.js

seleccioné el innerHTML de los pre tag de los links y me los descargué como 2 archivos. reactDev.js y reactDevDom.js

Utilicé un ejemplo que tienen en la web y substituí los valores de ambos atributos src por la ruta de los nuevos archivos.

Por último hice un servidor en node.js para responder al navegador con los content-type en la cabecera.

Hago un url.parse con el módulo url y en base a la extensión escribi el content type adecuado.
Algo así:
Código (javascript) [Seleccionar]
if (pathname.substr(pathname.length-3 == ".js") {
response.writeHead(200, { "Content-Type": "text/html"});
} else {
response.writeHead(200, { "Content-Type": "text/javascript"});
}
response.write(contenidoArchivo);


Probé varios content-type en lugar de text/javascript, no sé si estará ahí el error.


Cuando cargo el index.html simplemente no carga el botón que se supone que tiene que cargar.

El ejemplo es este de carga react en un minuto con las etiquetas script.
https://reactjs.org/docs/add-react-to-a-website.html



Básicamente quiero poder desarrollar offline y cachear las libs para que con mi caca internet no tarde 5 minutos en descargar las libs cada vez que abra una app en el navegador.

#553
Redes / Re: ¿Estoy abriendo los puertos?
1 Mayo 2020, 06:23 AM
Hola, para comprobar si abriste los puertos puedes utilizar el netcat.

Instalas el netcat, abres la consola de comandos o la terminal y escribes:
netcat -v -l ipPublica/ipLocal -p puerto

Minimizas, vas al navegador y escribes:
ip:puerto

Por ejemplo:
consola:
netcat -v -l -k 192.168.30.1 -p 9191

navegador:
http://192.168.30.1:9191

Tras escribir en el navegador, debería llegarte al netcat(consola) info sobre el navegador como el idioma, el userAgent, etc.

Pd: Algunos proveedores de internet no te habilitan a abrir puertos por seguridad. A mi lla me pasó que abrí los puertos correctamente en el router y poniendo un programa a la escucha en dicho puerto y dirección ip, y tras analizar con varios scanner se mostraban como cerrados. Tuve que llamar al servicio técnico para que me permitieran abrir cualquier puerto.
Ya hace de esto, me imagino que ahora ya no lo hacen, pero nunca se sabe.
#554
Tal y como me vendes react te lo compro!
Me gustaría masterizar vanilla primero, tiene muchísima API que aún no toqué casi nada o nada, como la de de audio, funciones en smartphones como la de vibrar... También estaba dando prioridad a webassembler porque se me empiezan a quedar los programas muy cortos de rendimiento. El DOM va mal mal a poco que haces. Incluso con un simple requestAnimationFrame escribiendo en un textarea letras con colores, a los 200 caracteres ya me caen los frames a la mitad. No puedo escribir en el DOM archivos de pocos megas... Me limita bastante en mis proyectos.
#555
No la probé pero creo que la forma de unsigned es mejor.

Te hice un código para que guardes como html y lo uses para quitar los espacios. Copias el código, lo guardas como espacios.html y lo abres en el navegador. Pengas dentro del area el texto, de das al botón y ya te los quita. Después click derecho y seleccionar todo.
También te dejé entre comentarios /* */ para quitar los saltos de linea. Si borras /* */ ya te quita también los saltos de línea. Si tiene más de 10 espacios consecutivos dale varias veces al botón xD.

Código (javascript) [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
textarea {
  width: 99%;
  height: 600px;
  overflow: scroll;
}
</style>
</head>
<body>
<button type="button" id="xD2">Quita Espacios</button>
<br />
<textarea id="xD" placeholder="Pon aquí tu texto">          10
         9
        8
       7
      6
     5
    4
   3
  2
1
0</textarea>
<script>
var ta=document.querySelector("#xD");
document.querySelector("#xD2").onclick=function(){ta.value=Formatear(ta.value)};

function Formatear(texto) {
  return texto/*.replace(/(\r\n|\n|\r)/gm,"")*/
.replace("          "," ")
.replace("         "," ")
.replace("        "," ")
.replace("       "," ")
.replace("      "," ")
.replace("     "," ")
.replace("    "," ")
.replace("   "," ")
.replace("  "," ")

}</script>
</body>
</html>
#556
Yo llevo 1 mes entrándole a vue.js de forma esporádica y la impresión que tengo hasta el momento es que es prácticamente un lenguaje nuevo. A mi personalmente no me gustan nada los frameworks, son muy a alto nivel para mi gusto.
Probablemente puedas aprender a programar en vue directamente sin manejar nada de javascript. Entiendo todas las ventajas que ofrece, sobre todo en enfoque comercial.
#557
Muchas gracias. Coincido con lo que dices. Yo me animaría mas a probar un set más pequeño que un superset. Ya tiene bastante chicha js de por sí, aunque typescript parece que añade cosas bastante útiles para quien venga de otros lenguajes.


Una de las cosas que peor llevo es distribuir bien los programas. Suelo acabar mezclando todo a pesar de hacer mucha función pura o encapsular la funcionalidad. Creo que el lenguaje invita bastante a atajar en lugar de escribir más código para que quede todo más isolado.
#558
Es mejor usar addEventListener. Te permite elegir como manejar la dispersión del evento y al contrario que onclick puedes adjuntar un evento a cualquier elemento del DOM. addEventListener también te permite añadir múltiples eventos iguales en un bucle o en una llamada recursiva utilizando la sintaxis de la función anónima flecha para definir el callback en lugar de una función anónima clásica. En caso de que usases la función anónima clásica, se descartarán totalmente los eventos añadidos a posteriori por considerar que ya se añadieron.
A parte que, si volvieses a asignarle al evento onclick una función, sobrescribirías el evento anterior. Ej:
Código (javascript) [Seleccionar]
btnlevel.onclick=function(){alert(1)};
btnlevel.onclick=function(){alert(2)};


Se imprime solo el alert(2) porque sobrescribes/reasignas el método onclick del botón.


Código (javascript) [Seleccionar]
btnlevel.onclick=function(){alert(1)};
btnlevel.addEventListener("click", function(){alert(2)});


Ahora en cambio se ejecutan alert(1) y alert(2) porque ya no sobrescribiste el evento onclick, si no que añadiste un nuevo evento.

Lo mejor es utilizar siempre que tengas dudas addEventListener para no sobrescribir eventos sin querer dada la naturaleza de que es sencillo que por hoisting de alguna referencia se te ejecute primero un addEventListener y después el onclick sobrescribiendo todo evento asignado al boton.
También es la opción más segura a la hora de trabajar con librerías y código de tercera y también es la forma recomenda por diversos estandares.

En caso de que forzosamente necesites pasar una función sin que se ejecute auto en el onclick sin wrapear en funciones anónimas, puedes pasarle una referencia.

Código (javascript) [Seleccionar]
function AlPulsarBoton() {
alert(1);
alert(2);
}

bttnlevel.onclick=AlPulsarBoton;



[quote author=nsigned link=topic=504431.msg2220757#msg2220757 date=1588297273]PD: espero que sea solo por practica o fines didacticos, porque en el mundo real nadie usa js asi a tan bajo nivel, para eso estan los frameworks frontend, como Vue, React, Angular o Svelte. Si nunca usaste uno y te interesa dar el siguiente paso, te recomiendo empezar por Vue.
[/quote]
Qué es javascript a bajo nivel aquí?

js bajo nivel en navegador para mi sería compilar en runtime a webassembler, crear gráficos con webgl, manejo de video en canvas, paralelismo con workers...

No sé que es tan complejo de crear un elemento, ponerle un string de id y arrancar un juego pasándole como paramátro un string xD
#559
Pon el error exacto. getline está definido en la biblioteca std string. #include <string>
#560
PHP / Re: ¿Como puedo optener la hora local?
30 Abril 2020, 00:17 AM
Puedes hacerlo directamente desde javascript en el navegador sin hacer la petición al servidor de la siguiente forma:
Código (javascript) [Seleccionar]
new Date().getHours() > 19 ? ActivarModoNoche() : "nada" ;

function ActivarModoNoche() {
/* Aquí haces lo que quieras, ya sea cambiar el color del background o lo que tengas pensado. Ej:
document.body.style.backgroundColor = "#000"; */
}