Tabla de Contenidos

JavaScript (en el navegador)

Básico

Usar en HTML

Para agregar un script externo a una página html hacemos:

<script src="scripts/jquery.js" type="text/javascript"></script>

Para introducir código directamente en la página:

<script type="text/javascript">
[[ CODIGO ]]
</script>

Ventana

:?:

Funciones

Como...

JSON

Mirar combinación de JSON con JavaScript.

Descargar datos

Esta es la principal acción que se realiza en una petición AJAX.

XMLHttpRequest

En el siguiente ejemplo se descargan datos en formato JSON utilizando el objeto XMLHttpRequest:

var http_request = new XMLHttpRequest();
var url = "./controller.ashx";
 
http_request.onreadystatechange = handle_json;
http_request.open("GET", url, true);
http_request.send(null);
 
function handle_json() {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            var json_data = http_request.responseText;
            var the_object = eval("(" + json_data + ")");
        } else {
            alert("Ha habido un problema con la URL.");
        }
        http_request = null;
    }
}
  1. Se crea un objeto XMLHttpRequest para conectar a datos externos.
  2. Se inicializa, indicando la función a la que se llamará cuando se reciban los datos mediante la propiedad onreadystatechange y se indica la acción que se hará mediante la función open (URL, forma de llamada a los datos…).
  3. Se llama a send que hará una petición a la URL indicada.
  4. Cuando se reciban datos se llamará a la función que se ha indicado, en ese caso handle_json, si el readyState es 4 y el status 200 es que todo ha ido bien y podremos recoger los datos de la propiedad responseText.

Pequeños "code snippets"

Impedir cerrar la ventana\pestaña

En IE podemos utilizar el evento onbeforeunload, ya sea desde el mismo body (<body onbeforeunload=“javascript:OnClose();”>) o agregándolo dinámicamente:

function window.onload() {
  window.attachEvent("onbeforeunload", OnClose);
}
function OnClose() {
  event.returnValue = "Are you sure you want to close this window?";
}

Trabajar con iFrames

Acceder al iframe:

document.frames.<id>.location = 'http://www.google.es';

Acceder al padre desde el iframe:

parent.funcion(id);

Saber la resolución de la pantalla

var ancho = screen.width;
var alto = screen.height;

Copiar al portapapeles

window.clipboardData.setData('Text', $('#divNombre').text());

Notas

Consejos

:!: Deberían ser releidos y reformateados.

<script type="text/javascript">
...
</script>
var arr = ['item 1', 'item 2', 'item 3'];  
var list = '<ul><li>' + arr.join('</li><li>') + '</li></ul>';  
var name = 'Jeffrey';
var lastName = 'Way';
function doSomething() {...}
console.log(name); // Jeffrey -- or window.name
var DudeNameSpace = {
   name : 'Jeffrey',
   lastName : 'Way',
   doSomething : function() {...}
}
console.log(DudeNameSpace.name); // Jeffrey
var o = new Object();
o.name = 'Jeffrey';
o.lastName = 'Way';
o.someFunction = function() {
   console.log(this.name);
}
var o = {
   name: 'Jeffrey',
   lastName = 'Way',
   someFunction : function() {
      console.log(this.name);
   }
};
var someItem = 'some string',
    anotherItem = 'another string',
    oneMoreItem = 'one more string';
(function doSomething() {
   return {
      name: 'jeff',
      lastName: 'way'
   };
})();