Archivo | javascript RSS feed for this section

Fechas en javascript

4 Abr

Esta vez escribo sobre un problema que tuve con Javascript y… Mozilla! (Sí, no fue con Internet Explorer!).

Si bien parece ser que tanto IE como Chrome reconocen esta expresión javascript como una fecha:

fecha_fin = new Date (“mm-dd-yyyy’); (Ej. fecha_fin = new Date (“01-22-2000′))

No ocurre lo mismo con Mozilla. Entonces, si tenemos que evaluar una fecha (para por ejemplo compararla con otra), una buena forma es transformar esa fecha a un formato “mm/dd/yyyy hh:mm:ss” . Para eso, si teníamos una fecha en formato “mm-dd-yyyy”, podemos hacer algo así:

fecha = “04-22-2000”;
re = new RegExp(“-“, “g”); // Creamos expresión regular para remplazar “-” por “/”
fecha_barra = fecha.replace(re,”/”); // reemplazamos
fecha_convertida = new Date fecha_barra +” 00:00:00″);
Bastante complicadito la verdad para algo que debería ser tan sencillo! Pero bueno, haciéndolo así, funciona en todos lados :D.

Popup de agregar producto en Virtuemart – IE

26 Nov

Estaba teniendo un problema con el popup que aparece cuando se agrega un producto al carrito en Virtuemart. En Internet Explorer, el popup aparecía bien arriba en la pantalla y no se leía bien. El popup se genera con Mootools. En mi caso, el problema se solucionó activando el plug-in System – Mootools upgrade de Joomla!.

Modificar el tamaño de letra con javascript

19 Oct

Estaba tratando de agregarle a Joomla un componente para agrandar y achicar el tamaño de letra. Si bien hay varios, ninguno funcionaba correctamente. Encontré entonces un script que funciona super bien, y que funciona para cuando tenemos los tamaños de letra en px (que es lo que uso habitualmente).

El script es el siguiente:

var min=8;
var max=18;
function increaseFontSize() {

   var p = document.getElementsByTagName('p');
   for(i=0;i<p.length;i++) {

      if(p[i].style.fontSize) {
         var s = parseInt(p[i].style.fontSize.replace("px",""));
      } else {

         var s = 12;
      }
      if(s!=max) {

         s += 1;
      }
      p[i].style.fontSize = s+"px"

   }
}
function decreaseFontSize() {
   var p = document.getElementsByTagName('p');
   for(i=0;i<p.length;i++) {

      if(p[i].style.fontSize) {
         var s = parseInt(p[i].style.fontSize.replace("px",""));
      } else {

         var s = 12;
      }
      if(s!=min) {

         s -= 1;
      }
      p[i].style.fontSize = s+"px"

   }
}
Y se usa, así:
<a href="javascript:decreaseFontSize();">-</a> 
<a href="javascript:increaseFontSize();">+</a>
(Tomado de: http://www.white-hat-web-design.co.uk/blog/controlling-font-size-with-javascript/)

Pasar variable de Javascript a PHP

13 Abr

Si bien en teoría no es posible pasar variables directamente de Javascript a PHP, existe un workaround bastante interesante utilizando cookies. Por ejemplo, el siguiente código podría utilizarse para saber en PHP cuál es el ancho de pantalla que se está utilizando:

<?php
// Ancho del monitor para el popup
if(isset($_COOKIE[“ancho_monitor”]))
$screen_res = $_COOKIE[“ancho_monitor”];
else //means cookie is not found set it using Javascript
{
?>
<script language=”javascript”>
<!–
writeCookie();
function writeCookie()
{
var today = new Date();
var the_date = new Date(“December 31, 2023”);
var the_cookie_date = the_date.toGMTString();
var the_cookie = “ancho_monitor=”+ screen.width;
var the_cookie = the_cookie + “;expires=” + the_cookie_date;
document.cookie=the_cookie;
window.location = “index.php”;
}
//–>
</script>
<?php
}
$ancho_monitor = $_COOKIE[“ancho_monitor”];
// Termina ancho del monitor
?>

(Esto lo que hace es setear una cookie en el caso de que aún no esté seteada, y utiliza javascript para saber el ancho del monitor. Podría también obtenerse el alto con screen.height).

Se refresca la página en el script de javascript (en este caso index.php), porque sino la cookie no la agarra PHP.

Finalmente, podemos en el código php utilizar la variable $ancho_monitor.

A %d blogueros les gusta esto: