new Date() Javascript no funciona en Safari

Quizás manejando una fecha en javascript nos devuelva NaN o Invalid Date.

Si tecleamos el anterior código en la consola de safari (para hacerlo más rapido);
nos devolverá el siguiente error:

errorjavascritpnewdatesafari

En Safari no va a funcionar por problemas de codificación… concretamente por “ECMAScript 5 ISO-8601 format support

Ya que espera la fecha en formato:
2017-11-14T20:00:00
Y se la estamos pasando:
2017-11-14 20:00:00

Para ello, podemos hacer un replace del espacio en blanco sobre la fecha que le pasamos.

Funcionará correctamente:
correctformatdatesafarijavascript

* Para abrir la consola de Safari debemos ir al menú “Desarrollador>Abrir inspector web


Tu opinión es importante para mi 🙂
¿Te ha sido útil este artículo?

El huevo de pascua de Wallapop

A muchos desarrolladores nos gusta meter “easter eggs” (o huevos de pascua) en nuestras apps.

¿Qué es esto?

Es un juego oculto que se esconde en una app o web cuando suceden una serie de condiciones, por ejemplo. Cuando el navegador Chrome se queda conexión, aparece un dinosaurio, que pulsando la barra espaciadora empiezas a jugar con él.

Parece que Wallapop también ha querido introducir su propio easter egg y ha creado su juego “Crush the Bug“!!

El juego aparece cuando hay problemas con el servidor.

Pero… esto puede que suceda muy pocas veces, aún así, podemos acceder al juego con un pequeño truco.

Para ellos nos dirigiremos al buscador e introducimos las siguientes letras:

UUDDLRLRBA

Que en verdad es como un comando de de un mando de consola.

IMG_7345

Nos aparecerá esta pantalla y aquí le hacemos clic a “Jugar un rato“:

IMG_7346

Ya estaremos dentro de “CRUSH THS BUGS“!

IMG_7347

Y a partir de ahora solo tenemos que aplastar a los “bugs“.

IMG_7348

Cuando perdemos…

IMG_7349

O si queremos pulsamos a en la lupa para volver a buscar y aún no está listo el servidor nos dice que…

IMG_7351

Moláis Wallapop!!!
🙂


Tu opinión es importante para mi 🙂
¿Te ha sido útil este artículo?

Contar las veces que aparece un carácter en un String de Javascript

Para saber las veces que aparece un carácter en un string de Javascript podemos hacerlo de la siguiente forma:

Esto nos devolverá “8“, que son las veces que aparece la “A” en toda la cadena.

Podemos verlo funcionando en:

O utilizar la siguiente función:

Donde le pasaríamos la cadena que queremos y el carácter a buscar…
Algo así por ejemplo:

Y esto nos devolvería: 8

Para trastear:


Tu opinión es importante para mi 🙂
¿Te ha sido útil este artículo?

Detectar si un Dialog de jQuery UI está abierto.

Si queremos saber si un Dialog de jQuery UI está abierto podemos usar el siguiente condicional:


Tu opinión es importante para mi 🙂
¿Te ha sido útil este artículo?

El icono del botón de cerrar de jQuery UI Dialog no aparece

Puede que no te aparezca el icono del botón de cerrar y los estilos hayan desaparecido. Si esto ocurre, seguramente es por la carga de la librería jQuery UI.

Trata de cargarla lo más “tarde” posible.

Si por ejemplo, quieres cargar estos tres JS’s.

Prueba a cargar jquery-ui.min.js el último.


Tu opinión es importante para mi 🙂
¿Te ha sido útil este artículo?

Eliminar objetos duplicados en un array javascript

Si queremos eliminar los Objetos duplicados de un Array Javascript podemos usar la siguiente función:

Teniendo este Array con el Objeto con firstName “Janis” duplicado:

Podríamos aplicar la función de la siguiente manera:

Con lo que nos quedaría el array de objetos:


Aquí tenemos el Fiddle para toquetear cositas:


Tu opinión es importante para mi 🙂
¿Te ha sido útil este artículo?

No ‘Access-Control-Allow-Origin’

Si estamos trabajando con el dominio configurado en https y accedemos desde http es posible (si el servidor no está bien configurado) que recibamos el error este, tanto en mi llamadas CURL como en archivos.

Es un problema de CORS (Un recurso hace una solicitud HTTP de origen cruzado cuando solicita otro recurso de un dominio distinto al que pertenece). + info.

Error:

Failed to load https://www.nuestra-url.es/service.php: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://www.nuestra-url.es’ is therefore not allowed access.

Si estamos atacando a un servicio con CURL mediante ajax por ejemplo deberiamos poner en el php que pinta las llamadas el siguiente header:


Error:

Access to Font at ‘https://www.nuestra-url.es/fonts/bentonsans/bentonsansbold.woff’ from origin ‘http://www.nuestra-url.es’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://www.nuestra-url.es’ is therefore not allowed access.

Si estamos nos aparece el error también para las fuentes, tipografías, iconos… podemos añadir esto en el archivo .htaccess:

Y por supuesto, debemos tener el módulo mod_headers activado.


Tu opinión es importante para mi 🙂
¿Te ha sido útil este artículo?

Pasar a Objeto un Form con Javascript

Si recuperamos un form con .serializedArray() y queremos transformarlo en un Objeto podemos usar la siguiente función:

La llamaríamos:

En oForm ya tendríamos el “form” en un objeto 🙂

O directamente podemos saltarnos el “.serializedArray()” con la siguiente función:

Llamándolo de la siguiente manera:


Ejemplo.
Con un form tipo:

Nuestro JS podría ser algo:

Con lo que la variable “oForm” sería (con datos rellenos…):


Tu opinión es importante para mi 🙂
¿Te ha sido útil este artículo?

Illuminate\Session\TokenMismatchException al enviar ajax con Laravel

Si al enviar un formulario con Laravel mediante Ajax nos encontramos con la siguiente respuesta:

Illuminate\Session\TokenMismatchException
in /projectName/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:67

es porque hemos olvidado la maravillosa protección CSRF (Cross-site request forgery) que Laravel incorpora… para ellos, añadiremos a nuestra vista el csrf_token. Podemos añadirlo como etiqueta meta, ya que va a ser común en todo el entorno.

Y, tenemos que enviarlo en los headers de la request… podríamos hacer algo parecido a esto:


Tu opinión es importante para mi 🙂
¿Te ha sido útil este artículo?