Hello,

Je ne suis franchement ami avec js et j'aurais besoin d'un petit coup de main pour mettre en place une function d'obfuscation (je suis dévéloppeur back).

Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
    <span data-href="<%= Base64.encode64("https://www.cdiscount.com/informatique/ordinateurs-pc-portables/v-10709-10709.html") %>"
      onclick="javascript:window.location.href=atob(event.srcElement.getAttribute('data-href'))"
      tabindex="0" id="link1" role="link" class="link">
      Lien 2
    </span>

Le fonction fonctionne bien, mais j'aurais besoin de pousser un peu plus loin en déportant dans un autre fichier la function de décodage :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
atob(event.srcElement.getAttribute('data-href'))
l'idée ce serait d'avoir un truc dans le genre :

Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
    <span data-href="<%= Base64.encode64("https://www.cdiscount.com/informatique/ordinateurs-pc-portables/v-10709-10709.html") %>"
      onclick="javascript:window.location.href=navigateLink(event.srcElement.getAttribute('data-href'))"
      tabindex="0" id="link1" role="link" class="link">
      Lien 2
    </span>

et une deuxième function, compilée dans un fichier.js à la racine du site

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
function navigateLink(link) {
  return atob(link);
}
Mais j'ai l'erreur suivante :
Uncaught ReferenceError: navigateLink is not defined
Autre question, est ce qu'il possible d'envoyer ma variable ruby directement dans ma première fonction, sans passer par le data-ref= . Dans ce cas, quelle est la syntaxe à adopter ?