sudo npm cache clean -f sudo npm install -g n sudo n stable
Happy coding!
Diario de un desarrollador al que también le gusta correr en sus ratos libres...
sudo npm cache clean -f sudo npm install -g n sudo n stable
sudo npm cache clean -f sudo npm install -g n sudo n stable
<h1>Titulo</h1> <h2>Subtitulo</h2> <p id="p1">Esto es un parráfo y dentro hay un enlace a <a id="link1" class="a1" href="http://www.bing.com">Bing</a> y otro a <a id="link2" class="a1" href="http://www.google.es">Google</a></p> <p id="p2">Tambien podemos tener un listado de idiomas</p> <ul id="list1"> <li>Inglés</li> <li>Español</li> <li>Frances</li> <li>Alemán</li> <li>Italiano</li> </ul>:root
:root { color: #FF0000 }Selectores de hijos (child selectors)
ul :first-child { color: #aaddcc } ul :last-child { color: #336699 }Con este CSS estamos cambiando el estilo del primer y último descendiente de nuestro ul.
ul :nth-child(2) { color: #aaddcc } ul :nth-last-child(2) { color: #336699 }Selectores pseudo-clases
<h1>Titulo</h1> <h2>Subtitulo</h2> <p id="p1">Esto es un parráfo y dentro hay un enlace a <a id="link1" class="a1" href="http://www.bing.com">Bing</a> y otro a <a id="link2" class="a1" href="http://www.google.es">Google</a></p> <p id="p2">Tambien podemos tener un listado de idiomas</p> <ul id="list1"> <li>Inglés</li> <li>Español</li> <li>Frances</li> <li>Alemán</li> <li>Italiano</li> </ul>El aspecto que tiene este ejemplo en Google Chrome (tengamos en cuenta que cada navegador aplica unos estilos por defecto, por lo que este ejemplo se puede ver de diferente manera según el navegador que estemos usando).
* { color: #008080; }Cambiaría el color de todos los elementos de nuestra página. El resultado es el siguiente
* { margin: 0; padding: 0 }Con esto nuestra página tendría el siguiente aspecto
li { color: #00bfff; }Y nuestra página tendría el siguiente aspecto
.a1 { color: red; } #p2 { color: greenyellow; }En este caso estamos cambiado el color de los elementos con la clase a1 y el idenficador p2. Podríamos afinar más combinando el selector de tipo y el de clase (o el de id). La forma de hacerlo sería la siguiente
a.a1 { color: red; } p#p2 { color: greenyellow; }Obteniendo el mismo resultado en ambos ejemplos
[href] { color: #8b0000; }En los condicionales que podemos usar con este selector encontramos la primera novedad en CSS3. Creo que el siguiente listado queda todo más claro.
[class^="a"] { color: #228b22; }Combinando selectores
a, li { color: #228b22; }De esta forma estamos aplicando el mismo estilo a todos los enlaces y elementos de la lista.
p a { color: #00ced1; }Y la forma de seleccionar solo los descendiente directos se hace de la siguiente forma
p > a { color: #00ced1; }En ambos ejemplos estamos seleccionando los enlaces que sean descendientes de un párrafo.
h2 + p { color: #2f4f4f; }Estamos seleccionado los párrafos que se encuentren inmediatamente después de un h2.
h2 ~ p { color: #2f4f4f; }Y con esto termina esta introducción a los selectores que tenemos disponibles en los CSS. Para la próxima entrada dejaremos los selectores denominados pseudo clases que también son bastante útiles a la hora de hacer nuestros estilos.
worker.addEventListener('error', _error, false); function _error(e) { var output = document.querySelector('#output'); output.innerHTML = 'ERROR: Line ' + e.lineno + ' in ' + e.filename + ': ' + e.message; }Y en el worker usaremos el siguiente código para simular un error (lanzaremos un error en caso que el número pasado sea cero)
// Procesamos el mensaje recibido function _message(e) { // Simulamos un error if (e.data == 0) throw new Error(0, "Por favor, introduce un número mayor o igual a uno"); var primes = _getPrimes(e.data); self.postMessage(primes); }Detener el web worker
// Simulamos la detención del worker if (e.data < 0) self.close();En caso que queramos acabar con el worker desde la página web debemos usar el método terminate. En nuestro ejemplo usaremos un botón para detener la ejecución del worker
<input type="button" id="btnTerminate" value="Terminar" onclick="_terminate()"/>Y este es el código del método onclick
function _terminate() { worker.terminate(); }Y con esto acabamos la introducción básica a los web workers. Espero que les sea de utilidad.