PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → [WD24] [Champ HTML] problème d'accès à une librairie js stockée avec l'exe
[WD24] [Champ HTML] problème d'accès à une librairie js stockée avec l'exe
Iniciado por Greg.D, 26,dic. 2018 00:02 - 3 respuestas
Miembro registrado
16 mensajes
Publicado el 26,diciembre 2018 - 00:02
Bonjour (et joyeux Noël!),

je bloque depuis quelques temps maintenant sur un problème d'exécution d'un script javascript stocké dans le répertoire Exe de l'application

en l’occurrence, il s'agit des librairies leaflet (https://leafletjs.com/) et leaflet.markercluster (https://github.com/Leaflet/Leaflet.markercluster) pour afficher une carte OpenStreetMap, et regrouper des marqueurs en différents clusters en fonction du zoom.

j'ai un code HTML (Test.html) testé OK avec IE 11 et Firefox 64.0, dont voici l'entête:
<head>
<title>Leaflet + MarkerCLuster test</title>

<link rel="stylesheet" href="file:///C:/Mes Projets/Gestion Photos/Exe/leaflet/leaflet.css" />
<script type="text/javascript" src="file:///C:/Mes Projets/Gestion Photos/Exe/leaflet/leaflet-src.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="file:///C:/Mes Projets/Gestion Photos/Exe/leaflet/screen.css" />

<link rel="stylesheet" href="file:///C:/Mes Projets/Gestion Photos/Exe/leaflet/LeafletMarkercluster/dist/MarkerCluster.css" />
<link rel="stylesheet" href="file:///C:/Mes Projets/Gestion Photos/Exe/leaflet/LeafletMarkercluster/dist/MarkerCluster.Default.css" />
<script type="text/javascript" src="file:///C:/Mes Projets/Gestion Photos/Exe/leaflet/LeafletMarkercluster/dist/leaflet.markercluster.js"></script>
</head>
// etc...


si je paramètre mon champ HTML dans WD23 (ou WD24), avec comme seule ligne de code l'appel à ce fichier html (D:\Test.html), ça fonctionne 8)

en revanche, si je copie / colle le code dans mon champ HTML en WD23 (ou WD24, pour tester la possibilité de configurer la version IE d'éxécution), ca ne marche plus (mon champ HTML reste blanc, et le premier appel de mon script html à un élément de la librairie Leaflet me donne un message d'erreur ("L" est indéfini) :o

le problème semble lié au "pointage" de la librairie en local: si je pointe sur la librairie online de leaflet, et me passe de screen.css pour l'affichage, la carte s'affiche, et c'est la fonction MarkerClusterGroup() qui devient inconnue:
<head>
<title>Leaflet + MarkerCLuster test</title>

<link rel="stylesheet" href="https://unpkg.com/leaflet@1.3.4/dist/leaflet.css" />
<script src="https://unpkg.com/leaflet@1.3.4/dist/leaflet.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1.0">

<link rel="stylesheet" href="file:///C:/Mes Projets/Gestion Photos/Exe/leaflet/LeafletMarkercluster/dist/MarkerCluster.css" />
<link rel="stylesheet" href="file:///C:/Mes Projets/Gestion Photos/Exe/leaflet/LeafletMarkercluster/dist/MarkerCluster.Default.css" />
<script type="text/javascript" src="file:///C:/Mes Projets/Gestion Photos/Exe/leaflet/LeafletMarkercluster/dist/leaflet.markercluster.js"></script>
</head>
// etc...


le seul fonctionnement possible en l'état serait de faire écrire le fichier html par mon appli (quoique, je n'ai pas encore essayé), mais peu élégant, et pas certain que cela me permette d'utiliser une fonction WLangage dans mon script, chose dont j'aurais besoin à terme...

j'ai essayé différentes façon d'atteindre mes librairies (syntaxes à commençant par "//" ou "file://", ou rien ald. "file:///", remplacement des espaces par "%20", "\" ald "/", chemin relatif (depuis le répertoire de l'exe, ou depuis le répertoire de IE 11)... rien n'y fait


Quelqu'un aurait-il déjà expérimenté ça ? ou aurait tout simplement une idée ?

Grégoire
Miembro registrado
954 mensajes
Publicado el 26,diciembre 2018 - 01:06
Coucou,

Sa viendrais pas des espaces dans tes href ?
file:///C:/Mes Projets/Gestion Photos/


--
In üs we trust - #92i - #LaPiraterieNestJamaisFinie - #BoobaNeTeBatPasNeFaitPasLeCon
Mensaje modificado, 26,diciembre 2018 - 01:19
Miembro registrado
16 mensajes
Publicado el 26,diciembre 2018 - 08:14
Bonjour,

je me suis bien posé cette question... Mais non :(
un test en plaçant ma librairie à la racine de C: me permet d'avoir des chemins sans espace, mais ça ne marche pas mieux...

...Et j'espère qu'un espace dans le chemin n'est pas bloquant, car je ne maitrise pas le répertoire d'installation choisi par l'utilisateur final :)

Grégoire
Mensaje modificado, 26,diciembre 2018 - 08:14
Miembro registrado
16 mensajes
Publicado el 27,diciembre 2018 - 00:03
Bonsoir,

à force de recherche, le problème était finalement ailleurs }:(

il fallait regarder du coté de l'émulateur web, corrigé grâce à cette excellente ressource:
https://forum.pcsoft.fr/fr-FR/pcsoft.fr.windev/167749-activex-webbrowser-version-superieur-ie7/read.awp

Ce qui est dommage, c'est que la nouvelle option des champs HTML dans WD24 ne permet pas de résoudre ce problème qui semble pourtant récurant, vu le nombre de post traitant ce sujet...

Bon dvp !
Grégoire