JASoft.org

¿Qué diferencias existen entre null y undefined en JavaScript?

¿Qué diferencias existen entre null y undefined en JavaScript?
Tanto null como undefined en JavaScript son valores bastante extraños, sobre todo para los principiantes. Ambos sirven para algo muy parecido, que es indicar la ausencia de valor. Lo que ocurre es que undefined es un valor que denota que no hay valor porque no se ha definido todavía, mientras que null se usa para indicar que no hay valor porque así lo hemos querido indicar expresamente. Pero en ambos casos el significado último de "ausencia de valor" es el mismo. Sin embargo ¿en qué se diferencian? Pues en muchas cosas... Vamos a verlas. [Más]

Cómo cambiar los valores de variables CSS desde código JavaScript

Cómo cambiar los valores de variables CSS desde código JavaScript
Ya he hablado en este blog hace mucho tiempo acerca de las variables CSS y cómo nos permiten obtener una gran potencia sin necesidad de recurrir a metalenguajes como Sass/SCSS o similares solo para parametrizar los diseños. Hoy voy a comentar brevemente cómo podemos modificar dinámicamente los valores de estas variables CSS mediante JavaScript, por ejemplo para cambiar los colores de la página, sin recargarla, cambiando tan sólo el valor de las variables CSS que controlan su aspecto. [Más]

La problemática de los eventos unload, beforeunload y similares en dispositivos móviles y cómo gestionarlos

La problemática de los eventos unload, beforeunload y similares en dispositivos móviles y cómo gestionarlos
Aunque todos los desarrolladores Web tienen más o menos claro el funcionamiento de los eventos unload, beforeunload y otros similares en un navegador de escritorio, el tema de la descarga de páginas en los navegadores móviles es bastante complejo por la forma particular que tienen de funcionar respecto a un navegador de escritorio. Es largo de contar y con muchas ramificaciones, pero voy a intentar resumirlo. [Más]

Mi página Web Forms con UpdatePanel elimina el hash (#) de la dirección

Mi página Web Forms con UpdatePanel elimina el hash (#) de la dirección
Bueno, esto es tecnología viejuna pero que está en uso en miles (o millones) de Web de todo el mundo, incluyendo este blog en el momento de escribir esto en 2020. La maravillosa tecnología ASP.NET Web Forms fue un invento de Scott Guthrie (sí, ese Scott del polo rojo que manda tanto en Microsoft y parece un tipo tan majo) que permitía crear aplicaciones Web orientadas a datos aunque no tengas mucha idea de la Web. Y de hecho aún lo permite, viene incluida de serie en Windows junto con la plataforma .NET, y sigue siendo muy interesante para ciertos tipos de aplicaciones. Bien, el caso es que hay un efecto secundario del uso de estas tecnologías que puede volverte loco, aunque no se da con frecuencia. Si utilizas algún tipo de hash en tu URL (esas direcciones que terminan en un # con algo a continuación y que sirven para navegación interna en la página) de modo que permitas saltar directamente a alguna parte de la página, tanto los Web Forms "puros" como los UpdatePanel para AJAX se lo cargan. Vamos a ver cómo evitarlo. [Más]

ClickOnce: los ajustes de seguridad no permiten que esta aplicación se instale

ClickOnce: los ajustes de seguridad no permiten que esta aplicación se instale
Muchas aplicaciones para Windows, tanto creadas con Windows Forms, WPF o incluso de consola, se distribuyen a los usuarios usando una tecnología vetusta pero muy útil llamada ClickOnce. Esta tecnología apareció en junto con la versión 2.0 de .NET Framework allá por 2005 y es extremadamente útil porque te permite empaquetar tus aplicaciones de modo que se puedan descargar e instalar desde una ubicación remota, en Internet, en la red local o en cualquier ubicación fija, y que al mismo tiempo se instalen las dependencias que necesites e incluso se determine si existe una versión nueva y se actualice sola automáticamente. Si vas a instalar una app con esta tecnología y el sistema no te lo permite, te explico cómo puedes conseguirlo. [Más]

Cómo evitar que se pueda seleccionar contenido en una página web sin usar JavaScript (sólo con CSS)

Cómo evitar que se pueda seleccionar contenido en una página web sin usar JavaScript (sólo con CSS)
Tradicionalmente, si por algún motivo queremos que los usuarios no sean capaces de seleccionar ciertas partes del contenido de nuestra página Web, hemos tenido que recurrir a JavaScript. Se marcaban los elementos a "proteger" de alguna manera (por ejemplo con una clase determinada) y tras la carga de la página un código los buscaba e interceptaba ciertos eventos para anularlos e impedir así que fueran seleccionables. La versión 4 de la especificación CSS incluye una nueva funcionalidad precisamente para esto. Todavía está en borrador pero ya hace tiempo que todos los navegadores del mercado lo soportan. Vamos a conocerla. [Más]

JavaScript: cómo acceder y modificar pseudo-elementos como ::after y ::before

JavaScript: cómo acceder y modificar pseudo-elementos como ::after y ::before
Acceder a un elemento del DOM con JavaScript es muy sencillo. Mientras esté definido en el HTML tiene un elemento JavaScript correspondiente en el DOM y hay métodos para acceder a ellos. Sin embargo, cuando se trata de un pseudo-elemento, al tratarse de elementos ficticios, la cosa cambia por completo. No somos capaces de acceder a ellos de manera directa y presentan además otros retos. En este artículo vamos a ver qué son estos pseudo-elementos, como podemos acceder a sus propiedades para leerlas o modificarlas y cómo podemos usar un "hack" para modificar una propiedad especial que, en principio, no es posible modificar. [Más]

VÍDEO: Cómo activar una clave de API para Google Maps

VÍDEO: Cómo activar una clave de API para Google Maps
Aunque existen unas cuantas opciones hoy en día para poder usar mapas en tus desarrollos Webs, algunas de ellas de código abierto, de todas ellas la más conocida, completa y ampliamente utilizada es Google Maps. Se trata del servicio de mapas más popular del mundo, con una ingente cantidad de datos y funcionalidades a tu disposición, y además de uso gratuito en la mayor parte de los casos. La única "pega" que tiene es que, para usarla, debes dar de alta un proyecto en Google Cloud y activar y configurar ciertas APIs. En este post y vídeo te cuento paso a paso cómo hacerlo. [Más]

Carpetas remotas compartidas en la nube con Azure Storage - Guía paso a paso

Carpetas remotas compartidas en la nube con Azure Storage - Guía paso a paso
Las carpetas compartidas en la nube de Azure nos proporcionan con facilidad una manera de compartir archivos a través del protocolo SMB de la misma manera que si estuviésemos en la red local de una oficina, pero a través de Internet. Nos permiten olvidarnos de mantener servidores de archivos, VPNs, copias de seguridad y disponibilidad. Y todo por un precio ridículo (incluso gratuitamente si compartimos pocos datos: 5GB máximo). En el caso de utilizar máquinas virtuales para aplicaciones, nos dan la posibilidad de tener almacenamiento compartido entre todos los servidores, con acceso simultáneo a los archivos. Si tenemos un Directorio Activo, un Azure AD o un directorio de Office 365, podemos además establecer permisos a usuarios y grupos de la misma manera que lo haríamos en un servidor de archivo Windows de toda la vida. En esta guía vamos a ver cómo se crean y se administran, y cómo podemos hacer sus copias de seguridad. [Más]

Cómo ejecutar al inicio del sistema una aplicación de la tienda de Windows

Cómo ejecutar al inicio del sistema una aplicación de la tienda de Windows
Aunque no haya muchas aplicaciones buenas, instalarlas desde la tienda de Microsoft tiene sus ventajas: se actualizan solas y nos las podemos llevar de equipo en equipo, como en un móvil, lo cual mola. Sea como fuere, a veces no nos queda más remedio que usarlas. Quizá sólo existe la versión de la Store, quizá sea una aplicación corporativa, o quizá simplemente nos gusta 😉 Existe un problema con estas aplicaciones: si queremos que se ejecuten con el sistema, para tenerlas disponibles desde el primer momento o no olvidarnos de abrirlas, no tenemos forma sencilla de lograrlo. De todos modos siempre existe una vía, y hace poco tuve la necesidad de hacerlo y me tuve que buscar la vida. Así que te cuento como lo logré. [Más]

Este soy yo y este es mi blog técnico, dedicado al software y a la programación.

¡Sígueme en Twitter!

Mis otros blogs

- JM Alarcón @ campusMVP.es
Contenido técnico en español orientado a desarrolladores
- JMAlarcon.es
Blog personal no técnico: sociedad, innovación, empresa...

Krasis

- campusMVP.es:
Los mejores cursos online de programación en español

- SELF LMS:
La plataforma de elearning más potente del mercado.

Histórico