Warning: Undefined array key "HTTP_ACCEPT_LANGUAGE" in /home/lmc77/sites/up310/plugins/content/up/upAction.php on line 2093

Deprecated: locale_accept_from_http(): Passing null to parameter #1 ($header) of type string is deprecated in /home/lmc77/sites/up310/plugins/content/up/upAction.php on line 2093

Warning: Undefined array key "HTTP_ACCEPT_LANGUAGE" in /home/lmc77/sites/up310/plugins/content/up/upAction.php on line 2093

Deprecated: locale_accept_from_http(): Passing null to parameter #1 ($header) of type string is deprecated in /home/lmc77/sites/up310/plugins/content/up/upAction.php on line 2093

Warning: Undefined array key "HTTP_ACCEPT_LANGUAGE" in /home/lmc77/sites/up310/plugins/content/up/upAction.php on line 2093

Deprecated: locale_accept_from_http(): Passing null to parameter #1 ($header) of type string is deprecated in /home/lmc77/sites/up310/plugins/content/up/upAction.php on line 2093

Warning: Undefined array key "HTTP_ACCEPT_LANGUAGE" in /home/lmc77/sites/up310/plugins/content/up/upAction.php on line 2093

Deprecated: locale_accept_from_http(): Passing null to parameter #1 ($header) of type string is deprecated in /home/lmc77/sites/up310/plugins/content/up/upAction.php on line 2093

Cette action permet d'ajouter un fichier JS dans le head ou du code JS ou JQuery dans le head ou à la position du shortcode.

🆙 addscript : ajoute du code ou un fichier JS ou JQuery

Cliquer pour lire la documentation

Par défaut, le code est ajouté dans le head.
Si le paramètre principal est body, le code est inséré à la position du shortcode
syntaxe {up addScript=body | jquery }code ou fichier{/up addScript}
@author: LOMART @version: UP-1.3.1 @license: GNU/GPLv3 @tags: Expert
  • addscript = head: ou body pour insérer le code à la position du shortcode
  • jquery: 1: entoure avec appel jquery (sauf fichier)
  • filter: conditions. Voir doc action filter (v1.8)
  • id: identifiant

Pour tous les exemples de cette page, il faut afficher le source de la page avec Ctrl+U ou utiliser l'inspecteur de code pour voir le résultat.

Ajouter un fichier JS dans le head

Le fichier doit avoir une extension .JS. Le chemin complet peut être indiqué, sinon le fichier est cherché sur le serveur.

{up addScript}plugins/content/up/actions/sameheight/sameheight.js{/up addScript}
{up addScript}https://unpkg.com/leaflet@1.3.1/dist/leaflet.js{/up addScript}

Le code ci-dessus doit afficher ces lignes dans le head de cette page. Vous pouvez le vérifier avec un inspecteur de code

Ajouter du code JavaScript

dans le head

Voici le code ajouté dans l'article pour faire fonctionner ce bouton

{up addscript}function myAlertJSHead(){alert('Coucou. Ici le test d\'insertion JS dans le head')};{/up addscript}
<button onclick='myAlertJSHead()'>Cliquer pour tester l'insertion de code JS dans le head</button>
A la place du code ci-dessus pour le bouton, j'ai préféré utiliser l'action HTML pour éviter qu'un éditeur WYSIWIG efface l'attribut onclick.
{up addscript}function myAlertJSHead(){alert('Coucou. Ici le test d\'insertion JS dans le head')};{/up addscript}
{up html=button | onclick=myAlertJSHead() | class=btn btn-primary}Cliquer pour tester l'insertion de code JS dans le head{/up html}

Un autre intérêt de l'action HTML est de voir tous les attributs de la balise. Pratique pour se relire !

A la position du shortcode

Voici le code ajouté dans l'article pour faire fonctionner ce bouton

{up addscript=body}function myAlertJSBody(){alert('Coucou. Ici le test d\'insertion JS à la position du shortcode')};{/up addscript}
{up html=button | onclick=myAlertJSBody() | class=btn btn-primary}Cliquer pour tester l'insertion de code JS dans le body à la position du shortcode{/up html}

Par défaut, le code est inséré dans le head. Pour le mettre à la position du curseur, il suffit de mettre 'body' comme argument principal

Ajouter du code jQuery

L'ajout du paramètre 'jquery' permet d'encapsuler le code avec l'appel à jQuery recommandé pour Joomla.

jQuery(document).ready(function($) {
  // --- le code ---
});

dans le head

Le bloc bordé de rouge est affiché par les shortcodes ci-dessous. Cela a peu de sens, mais il fallait bien faire une démo ;)

{up addscript | jquery}
  $('#messageJQuery').html('Hello world. Ce texte est affiché par jQuery.');
{/up addscript}
{up html=div | id=messageJQuery | style=border:2px red solid;text-align:center}

A la position du shortcode

Pour obtenir cet effet, on utilise les shortcodes ci-dessous.
L'utilisation de l'action HTML n'est pas indispensable car le bouton ne définit pas d'attribut à risque. Toutefois, elle permet de voir l'id du bouton.

{up addscript=body | jquery}
  $("#btn").click(function() {
    $("body").toggleClass("bg-bleuPale");
  }); 
{/up addscript}
{up html=button | id=btn | class=btn btn-primary}
  Permuter la couleur d'arrière-plan de la page de blanc à bleu pâle
{/up html}

ATTENTION - RISQUE DE PAGE BLANCHE !

Comme pour toutes les actions qui vous permettent d'insérer du code dans vos articles, vous en êtes responsable.
En cas de souci, supprimer votre code et procéder étape par étape pour le remettre.
Dans un premier temps, contrôler l'appairage des parenthèses et la présence des points-virgules.

Version 2.2

Nettoyage du code pour palier à la fâcheuse habitude des éditeurs wysiwyg d'ajouter des sauts de ligne en HTML et de convertir des caractères en entités HTML 

&amp, &lt; $gt; &quote;

Pour info, cette page utilise 12 action(s) :
upactionslist (1) addScript (2) addscript (4) html (4) jcontent-info (1)