Javascript

Evenement onload

Posted in Javascript on novembre 26th, 2009 by Stéphane – Be the first to comment

Comment lancer une fonction Javascript au chargement d’une page web (onLoad). Si vous codez en Javascript dans votre page HTML, cela ne pose pas de problème majeur :

<script type="text/javascript">
function Init()
{
alert('coucou');
}
</script>
<body onload='Init()'>

Si par contre vous n’utilisez pas de framework JS particulier comme Prototype, Yahoo! ou JQuery, vous constaterez avec effroi qu’externaliser cette méthode dans un fichier Javascript pose des problèmes de compatibilité entre les navigateurs, voici comment faire :

function Init()
 {
 alert('coucou');
 }
onload = Init;

Cela fonctionne sur tous les navigateurs que j’ai testé (c’est à dire quand même pas mal : IE5+, Firefox, Opera, Safari, Chrome etc.)

Copier/coller en Javascript

Posted in Javascript on octobre 23rd, 2009 by Stéphane – Be the first to comment

Il est parfois très pratique d’offrir ce type de fonctionnalité en Javascript, on peut la mettre en place en très peu de temps, grâce à la class TextRange et à sa méthode execCommand : imaginons le code hml suivant

<html>
<head>
<title>Hello</title>
</head>
<body>
    <p id="mon_texte">Bonjour</p><a href="#" onclick="copier()">Copier le texte</a>
</body>
</html>

Dans la fonction copier :

copier = function()
{
  var oTextRange = document.getElementById('mon_texte').createTextRange();
  oTextRange.execCommand('copy');
}

Récupérer la sélection de texte en Javascript

ça peut aussi être utile, cette fonction récupère la sélection effectuée à la souris :

getSelectedText = function()
{
    if (window.getSelection){
       var sz = window.getSelection();
    }else if (document.getSelection){
       var sz = document.getSelection();
    }else {
       var sz = document.selection.createRange().text;
    }
    return sz;
}

A noter qu’execCommand accepte pas mal de paramètre ‘copy’, ‘paste’, ‘cut’, ’saveAs’ (moins sur pour celle là, trouvé chez MS), si vous connaissez une liste, je suis preneur :)

D’après la doc de microsoft, execCommand prend 3 paramètres…que je n’ai pas essayé. Si vous souhaitez aller plus loin en Javascript, outre le site de MS très complet, il existe en français le coin web de Quentinc, qui est relativement complet et très bien foutu.

Cela dit, execCommand semble ne plus très bien fonctionner …