Javascript Micro API

Variables et fonctions accessibles par votre javascript dans un composant texte brut/HTML.

Variables

ws_mode: le mode d'accès actuel

0 pour la visite simple, WS_EDIT, WS_PREVIEW, WS_EXPLORE, ou WS_DEBUG, pour les modes édition.
ws_currentPageName: le nom de la page tel qu'il apparaît dans le menu
ws_user_lang: la langue de la page courante
ws_page_langs: les langues disponibles pour la page actuelle

Exemple:

<script type="text/javascript">
if (!ws_mode){   <================= APPEL DU COMPTEUR DE VISITES UNIQUEMENT DANS LE MODE VISITE SIMPLE
.... your counter code...
}
</script>

Fichiers associés à un texte brut

Les attributs HTML data-attached_files et data-server_files du texte brut permettent de créer des tables de noms de fichiers.


Exemple:

<script id="myScriptId">

(function(){

var container = document.getElementById('myScriptId').parentNode;

var originalFilenames = eval('[' + container.getAttribute('data-attached_files') + ']');

var realFilenames = eval('[' + container.getAttribute('data-server_files') + ']');

var innerHTML = container.innerHTML;

for (i = 0; realFilenames [i]; i++)

  innerHTML += '<img src="data/rawdata/' + realFilenames[i] + '" alt="' + originalFilenames[i] + '">';

container.innerHTML = innerHTML;

})();

</script>

Fenêtre popup

ws_popupElement(id, style, days): récupère un élément du site par son id (une chaîne de caractères de la forme '<page>/<id>') et le met dans une fenêtre popup stylisée par la chaîne CSS style. La fenêtre ne sera pas réaffichée pendant days jours (days=-1 pour forcer l'affichage systématique).

Fonctions asynchrones

ws_request(url, callBack): appelle un traitement asynchrone, avec une réponse HTML qui sera reçue par callBack(response)
ws_htmlRequest(url, domRecipient, callBack): demande du HTML à l'adresse url , le met dans le innerHTML d'un élément du DOM, puis appelle callBack(response) si présent
ws_getElementById(id, bufId, callBack): récupère un élément du site par son id (une chaîne de caractères de la forme '<page>/<id>'), le met dans le innerHTML d'un élément du DOM ayant pour id bufId, puis appelle callBack(response) si présent

Exemple: un slider basique (http://basic-slider.com) avec 3 slides definies comme 3 blocs dans une autre page, pour permettre des mises à jour aisées

<link rel="stylesheet" href="basic-jquery-slider.css">
<script src="jquery-1.6.2.min.js"></script>
<script src="basic-jquery-slider.min.js"></script>

<div id="container">
 <div id="banner">
  <ul class="bjqs">
          <li><dd id="actu01"></dd></li>
          <li><dd id="actu02"></dd></li>
          <li><dd id="actu03"></dd></li>
  </ul>
 </div>
</div>
   
<script type="text/javascript">
    ws_getElementById("news-home/Z502a12caf0dbe", "actu01");
    ws_getElementById("news-home/Z506c2ac8bee2e", "actu02");
    ws_getElementById("news-home/Z502a1ebae1238", "actu03");

        $(document).ready(function() {
          // Let some time to get the slides before animation
          setTimeout("$('#banner').bjqs({animation: 'slide'});", 1000);
       });
</script>