Template widget dashboard provoque 403 sur chargement JS

Hello tous !

j’ai un petit soucis d’emplacement de fichier, je dois passer à côté de qlq chose…!

j’utilise une modale desktop\modal\maModal.php qui utilise un js desktop\js\monJS.js, jusque là tout va bien et tout se comporte comme parfaitement comme prévu lorsque j’ouvre la modale depuis la page du plugin → le js s’exécute comme il faut.

je souhaite créer un widget à placer sur le dashboard. je me suis donc fait un petit fichier html core\template\dashboard\monWidget.html dans lequel j’aimerais pouvoir réutiliser des éléments que j’ai créé dans mon précédent fichier js.
à la fin du fichier html, j’ajoute donc un

<script src="plugins/monPlugin/desktop/js/monJS.js"></script>

je rafraichis la page du dashboard … page blanche.
je regarde dans la console => erreur 403 au niveau du chargement du fichier monJS.js .

C’est grave docteur ?

j’ai oublié quelque chose ? quoi ? où ? comment ? :slight_smile:
Ou
on ne peut pas partager des ressources dispo sous desktop au niveau d’un template ? et il faut tout dupliquer (:nauseated_face:)

Merci de vos éclaircissement et aide :slight_smile:

Hello,

en creusant un peu

si j’ajoute le js « normalement » :

<script src="plugins/JeedomConnect/desktop/js/monJS.js"></script>

j’obtiens une erreur 403

si je regarde ce qui est fait lorsqu’on utilise la fonction include_file en php, la balise suivante est automatiquement généré :

<script
    src="core/php/getResource.php?file=plugins/JeedomConnect/desktop/js/monJS.js&md5=abcdef_super_long_md5&lang=fr_FR"></script>

si je copie/colle cette balise dans mon fichier html sous dashboard, alors dans ce cas je n’ai plus de 403 et tout fonctionne très bien !

du coup ma vraie question :
y a t il un moyen d’inclure un fichier JS dans un template html (à l’instar de include_file en php) ?
ou
faut il que je saisisse la source avec le md5 calculé « à la main » comme plus haut ?
ou
totalement autre chose qui fonctionne bien aussi ? :slight_smile:

merci de votre aide !

Bonjour,

Pour ma part, j’ai inclus un .js dans mon plugin netatmopro pour visualiser le flux d’une caméra et je n’ai aucun souci avec le code suivant :

<script type="text/javascript" src="plugins/netatmopro/3rdparty/hls.js/hls.js"></script>

Cette ligne de code est présente dans le fichier netatmopro/core/template/dashboard/NACamera.html

1 « J'aime »

Salut,

De mémoire, en javascript une inclusion sous cette forme fonctionne bien :

$.include(['plugins/JeedomConnect/desktop/js/monJS.js'], function() {
// Ton code js
})
1 « J'aime »

Et en complément, pour l’inclusion de plusieurs fichiers js :

$.include(['plugins/JeedomConnect/desktop/js/monJS1.js', 'plugins/JeedomConnect/desktop/js/monJS2.js'], function() {
// Ton code js
})
1 « J'aime »

Il me semble qu il y a une exception pour ce sous dossier


@noodom @Salvialf
Merci messieurs !
Je teste a mon retour de la maternité ! :slight_smile:

J’utilise ce code dans la version stable de mon plugin dans la dernière version de Jeedom et je n’ai aucun soucis.
Qu’entends-tu par exception ?

Exception sécurité au niveau du core :wink:

ça fonctionne niquel.
merci !

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.