Archivo

Entradas Etiquetadas ‘javascript’

Fixing the Time

domingo, 7 de diciembre de 2008 Sin comentarios

Fixing the Time

function total(year) {
  var seconds = 365 * 24 * 60 * 60; //Normal Year;
  var plus = 24 * 60 * 60; // Leap year have one more day
  var leap = false;
  if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) leap = true;
  if (leap) seconds += plus;
  if (year == 1972) seconds += 2;
  if (year > 1972 && year < 1980) seconds += 1;
  if (year > 1980 && year < 1984) seconds += 1;
  if (year > 1988 && year < 1991) seconds += 1;
  if (year > 1991 && year < 1996) seconds += 1;
  if (year > 1996 && year < 1999) seconds += 1;
  if (year == 1985 || year == 1987 || year == 2005 || year == 2008) seconds += 1;
  document.write('Year: '+year+', Total of secods: '+seconds+'<br />');
}
total(1972);
total(1975);
total(1980);
total(1981);
total(2004);
total(2005);
total(2006);
total(2007);
total(2008);
total(2009);

Result:
Year: 1972, Total of secods: 31622402
Year: 1975, Total of secods: 31536001
Year: 1980, Total of secods: 31622400
Year: 1981, Total of secods: 31536001
Year: 2004, Total of secods: 31622400
Year: 2005, Total of secods: 31536001
Year: 2006, Total of secods: 31536000
Year: 2007, Total of secods: 31536000
Year: 2008, Total of secods: 31622401
Year: 2009, Total of secods: 31536000

Leap Second (http://en.wikipedia.org/wiki/Leap_second)
Leap Years (http://en.wikipedia.org/wiki/Leap_year)

Categories: develop, security, web Tags: , , ,

CSS and MSIE

lunes, 1 de septiembre de 2008 Sin comentarios

CSS and MSIE

MSIE (Microsoft Internet Explorer) CSS Hack:

.somediv {
    height: 15px; /* all browsers */
    #height: 20px; /* all IE Browser */
    _height: 25px; /* only IE6 Browser */
}

MSIE usa comentarios condicionales: (http://msdn.microsoft.com/en-us/library/ms537512.aspx)

 <!--[if IE 6]>
    <script src="js/iefix.js" type="text/javascript"></script>
    <link rel="stylesheet"  href="css/iefix.css" type="text/css"></style>
    <div> some html code </div>
<![endif]-->

En este ejemplo si se usa IE6 agrega este codigo:

<script src="js/iefix.js" type="text/javascript"></script>
<link rel="stylesheet"  href="css/iefix.css" type="text/css"></style>
<div> some html code </div>

Para los navegadores viejos (MSIE) soporta :hover, :active y :focus:
http://www.xs4all.nl/~peterned/csshover.html

<style type="text/css">
    body {
        behavior:url("csshover.htc");
    }
</style>

Hacer que MSIE sea compatible con los estándares. Arregla algunos detalles del HTML y CSS y hace PNG transparentes funciona correctamente en IE5 y IE6 http://code.google.com/p/ie7-js/

Categories: web Tags: ,

Safe and Dirty Remote XMLHttpRequest

miércoles, 27 de agosto de 2008 2 comentarios

Safe and Dirty Remote XMLHttpRequest Algunas veces necesitamos que el XMLHttpRequest funcione en diferentes dominios, una solucion simple, necesitas JavaScript y Perl:

El XMLHttpRequest(); ejemplo:

var req = new XMLHttpRequest() // IE7, Firefox, Safari, Opera
req.open('GET', 'http://localhost/cgi-bin/remote.pl?url='+url, false);
req.send(null);

Para hacer que funcione usamos remote.pl:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/perl
use LWP::UserAgent;
use CGI qw(:standard);
print "Content-type: text/plain\n";
my $url = param ('url');
$ua = LWP::UserAgent->new;
$ua->agent("Mozilla/8.0");
$req = HTTP::Request->new(GET => $url);
$req->header('Accept' => 'text/html');
$res =$ua->request($req);
if ($res->is_success) {
	$page = $res->content;
} else {
	$page = "error";
} print $page;

Aqui un ejemplo:

El remote.pl se puede implementar mucho mejor (metodos GET y POST, parametros y sus valores).

Categories: develop, web Tags: ,

JSC JavaScript Collection

domingo, 24 de agosto de 2008 Sin comentarios

JSC JavaScript Collection

Necesitamos jsmin y gzip, compilamos el jsmin.c:

gcc -o jsmin jsmin.c

Script que genera una coleccion de todos los javascripts:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/bash
 
echo "JavaScript Collection"
 
  EXPECTED_ARGS=1
  E_BADARGS=65
 
if [ $# -ne $EXPECTED_ARGS ]
then
  echo "Usage: `basename $0` {path of the javascripts}"
  exit $E_BADARGS
fi
 
# Join the javascript scripts in one file
cat $1/*.js >> $1/.__fullscripts.tmp
 
# use JSMIN to minifier the script
cat $1/.__fullscripts.tmp | jsmin > $1/.__fullscripts.min.tmp
 
# awk remove the first blank line, gzip compress the script
awk 'FNR>1{print}' $1/.__fullscripts.min.tmp | gzip > $1/collection_scripts.js.gz
 
# remove temporal files
rm $1/.__fullscripts.tmp $1/.__fullscripts.min.tmp

Modo de uso: jsc public_html/web/js/

Ahora creamos un script de php que remplazara a los javascripts:

<script type="text/javascript" src="collection_scripts.php"></script>

Contenido de collection_scripts.php:

<?php
    header("Content-type: text/javascript; charset: UTF-8?");
    header("Content-Encoding: gzip");
    readfile("collection_scripts.js.gz");
?>
Categories: unix/linux Tags: , ,

Insert Any Video Of YouTube

sábado, 23 de agosto de 2008 Sin comentarios

Insert Any Video Of YouTube

Hice esta pequeña funcion de Javascript que nos proporciona insertar cualquier Video de YouTube en un <div>.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Script: YouTubeVideo Version 1.0 (2008/07/22)
// Author: Alberto Isaac Ayala Esquivias (Albertux)
// Licence: http://creativecommons.org/licenses/by-nc-sa/3.0/
// FeedBack to: albertoi7@gmail.com
// About: Insert youtube video on a div doesn't matter if embed code is disable this script insert the video.
 
function YouTubeVideo(id,url) {
 
	var video_html ='<object width="425" height="344"><param name="movie" value="http://www.youtube.com/swf/l.swf?video_id=VIDEO&rel=1&iurl=null&autoplay=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/swf/l.swf?video_id=VIDEO&rel=1&iurl=null&autoplay=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object>';
 
	var n = url.indexOf('v=');
 
	var id_video = url.substring(n+2,n+14);
 
	document.getElementById(id).innerHTML=video_html.replace(/VIDEO/g, id_video);
 
}

Modos de uso:

<input type="button" onclick="YouTubeVideo('contenedor','http://www.youtube.com/watch?v=7ykWgiZVJe0');" value="Watch  Video">
 
<div id="contenedor"></div>
  

Cuando carga la pagina:

// JavaScript onload event example:
window.onload = function() { YouTubeVideo('contenedor','http://www.youtube.com/watch?v=7ykWgiZVJe0'); }
 
// jQuery example:
$(document).ready(function() {
	YouTubeVideo('contenedor','http://www.youtube.com/watch?v=7ykWgiZVJe0');
});
Categories: develop, web Tags: ,

Switch to our mobile site