Pues no sé por qué será, tendrás que aislar esas dos funciones (ir borrando elementos en tu archivo js) hasta que logres que funcione, para delimitar el posible error.
He probado este ejemplo y funciona, tanto en IE6 como en FF2:
1 - ARCHIVO.JS Código PHP:
var hora_global;
var minuto_global;
var segundo_global;
function inicializa_hora() {
var fecha = new Date();
hora_global =fecha.getHours();
minuto_global = fecha.getMinutes();
segundo_global = fecha.getSeconds();
}
function mostrar_hora() {
alert("hora_global = "+hora_global+"\r\nminuto_global = "+minuto_global+"\r\nsegundo_global = "+segundo_global);
}
2 - PAGINA.HTML Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
<meta http-equiv="Content-type" content="text/html;charset=iso-8859-1" />
<meta name="Author" content="derkeNuke" />
<title>Página nueva</title>
<script type="text/javascript" src="archivo.js"></script>
</head>
<body>
<a href="#" onclick="mostrar_hora()">Mostrar hora</a>
<script type="text/javascript">
<!--
window.onload = inicializa_hora;
// -->
</script>
</body>
</html>
No ha habido ningún problema en llamar a la función cuando hacemos click en el enlace. Por cierto, no hay que poner el 'javascript
:' en el evento onclick
Tendrás que probar ese ejemplo, verificar que te funciona, e ir quitando elementos de tu documento... no se me ocurre otra opción, el tema es tan sencillo que no tiene más vueltas de hoja.
Saludos.