11521 sujets

JavaScript, DOM et API Web HTML5

Bonjour à toutes et à tous,

Il y a quelques années (12 ans ça date quand même...), j'avais créé un petit site utilisable en intranet qui utilisait un menu dynamique fonctionnant toujours très bien sous windows, mais qui ne fonctionne plus du tout sur mon Mac.

La page principale se compose de 3 frames (gauche, haut, bas). Dans celle du bas figure le menu dynamique et celle du haut affiche les pages auxquelles le menu fait référence...

Sur PC, les liens faisaient référence à des adresses relatives (du genre ../dossier/page.htm) et c'est cela qui semble bugger sur Mac...

Ma question est donc : "Y a-t-il un codage particulier des liens pour les faire de nouveau fonctionner dans des frames sur mon Mac ?"

Je vous remercie par avance de l'éclairage que vous m'apporterez.

Bonne journée Smiley smile
Modérateur
Bonjour,

Question : est-ce le serveur qui est maintenant sur un mac au lieu d'un PC, ou bien s'agit de la machine avec laquelle on visite le site ?

La seule différence qu'il pourrait y avoir en ce qui concerne les liens est que parfois, sur PC on voit des "\" au lieu de "/" dans les chemins de fichier, tandis que c'est toujours "/" sur Mac. Et ça ne concerne que le serveur, pas les ordinateurs des visiteurs.

EDIT : attention aussi aux minuscules et majuscules dans les noms de fichier !

Et de plus, c'était déjà comme ça il y a 10 ou même 20 ans.

Aucune raison qu'il y ait une différence entre PC et Mac sauf particularité particulièrement particulière ! Smiley lol

Amicalement,
Modifié par parsimonhi (22 Dec 2021 - 20:19)
Bonsoir Parsimonhi,

Et merci de votre réponse rapide.

En fait, on avait commencé par le mettre en local sur l'intranet de la fac, puis on a jugé plus intéressant de le distribuer aux étudiants, pour qu'ils puissent l'utiliser sur leur propre PC...

Le dossier contenant l'ensemble des pages se trouvait sur leur disque dur (C:) ou sur une clé USB et permettait une navigation sans connexion.

Dans l'idée, on souhaiterait faire la même chose aujourd'hui.. mais comme de nombreux étudiants ont un MacBook et rencontrent ce problème... Comme moi...

Encore merci pour vos lumières
Modérateur
Bonjour,

Cela signifie-t-il qu'ils naviguent avec des url commençant par file://, ou bien y-a-t-il une installation d'un serveur local sur leurs PC ou Macs ?

Amicalement,
Bonjour

Effectivement, les URL sont de type File:// avec les pages enregistrées dans un dossier spécifique sur le disque dur C:

Amicalement
MM
Modérateur
Bonjour,

Quand on navigue en file:// (ce qui n'est pas loin d'être le mal absolu Smiley lol ), il peut y avoir des problèmes de limitation à la navigation pour des raisons de sécurité. C'est dépendant de ce qu'il y a dans le code, mais aussi des navigateurs, et ça peut expliquer que certains arrivent à surfer et pas d'autres. Mais ça ne dépend pas vraiment de la machine si ce n'est qu'on peut imaginer que ceux sur Mac utilisent Safari tandis que ceux sur PC utilisent autre chose.

La tendance est à l'augmentation des sécurités. Il ne faut donc pas espérer que le surf devienne plus facile en file://. Il va au contraire devenir de plus en plus contraint.
EDIT: et ça peut expliquer pourquoi ça marchait partout il y a 10 ans et que ça ne marche plus maintenant qu'à certains endroits.

Par ailleurs, faire des mises en page avec des iframes (ce qui n'est pas loin du mal absolu aussi Smiley lol ) n'aident pas.

Mais pour vérifier que c'est bien ça, il faudrait que tu fasses un exemple minimal qui reproduit le problème, que tu nous le montres, et que tu nous dises avec quelle machine et quel navigateur tu obtiens le dysfonctionnement.

Amicalement,
Modifié par parsimonhi (23 Dec 2021 - 17:27)
Bonjour Parsimonhi

Contexte de fête oblige, je ne reviens sur le forum que cet après midi...

Voici de quoi à l'air le petit site en question :
upload/1640539134-84005-page1.jpg

Voici le code de la page qui contient les frames (ma page "index")
upload/1640539198-84005-page2.jpg

Une image du menu que je souhaite qui dysfonctionne
upload/1640539274-84005-page3.jpg

Voici un extrait de code en javascript qui dysfonctionne sur Mac
L'en-tête :
<html>
<head>
<title>Detminero - Clé de détermination des minéraux des lames minces de roches au microscope polarisant</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript" language="JavaScript1.2" src="stm31.js"></script>
</head>
<script type="text/javascript" language="JavaScript1.2">


Un exemple de code pour activer un lien dans la frame haute :
beginSTMB("auto","0","0","vertically","arrow_r.gif","0","0","0","3","#ffffff","","tiled","#000000","1","solid","0","Normal","50","0","0","0","0","0","0","0","#7f7f7f","false","#000000","#000000","#000000","none");
appendSTMI("false","Menu&nbsp;Item&nbsp;1","left","middle","","","-1","-1","0","sepline","#000000","#000084","blank.gif","1","-1","-1","","","-1","-1","0","","","_self","Arial","9pt","#000000","normal","normal","none","Arial","9pt","#ffffff","normal","normal","none","0","solid","#d6d6ce","#d6d6ce","#d6d6ce","#d6d6ce","#d6d6ce","#d6d6ce","#d6d6ce","#d6d6ce","","","","tiled","tiled");
appendSTMI("false","Présentation","left","middle","","","-1","-1","0","normal","#d6d6ce","#000084","","1","-1","-1","blank.gif","blank.gif","-1","-1","0","Présentation&nbsp;du&nbsp;logiciel","file:///C|/detminero/html/pres.htm","droite","Arial","9pt","#000000","normal","normal","none","Arial","9pt","#ffffff","normal","italic","none","0","solid","#d6d6ce","#d6d6ce","#d6d6ce","#d6d6ce","#d6d6ce","#d6d6ce","#d6d6ce","#d6d6ce","C:\detminero\html\pres.htm","","","tiled","tiled");
appendSTMI("false","Menu&nbsp;Item&nbsp;1","left","middle","","","-1","-1","0","sepline","#000000","#000084","blank.gif","1","-1","-1","","","-1","-1","0","","","_self","Arial","9pt","#000000","normal","normal","none","Arial","9pt","#ffffff","normal","normal","none","0","solid","#d6d6ce","#d6d6ce","#d6d6ce","#d6d6ce","#d6d6ce","#d6d6ce","#d6d6ce","#d6d6ce","","","","tiled","tiled");
appendSTMI("false","Guide&nbsp;d\'utilisation","left","middle","","","-1","-1","0","normal","#d6d6ce","#000084","","1","-1","-1","blank.gif","blank.gif","-1","-1","0","Quelques&nbsp;pistes&nbsp;d\'utilisation&nbsp;du&nbsp;logiciel","","droite","Arial","9pt","#000000","normal","normal","none","Arial","9pt","#ffffff","normal","italic","none","0","solid","#d6d6ce","#d6d6ce","#d6d6ce","#d6d6ce","#d6d6ce","#d6d6ce","#d6d6ce","#d6d6ce","","","","tiled","tiled");
appendSTMI("false","Menu&nbsp;Item&nbsp;1","left","middle","","","-1","-1","0","sepline","#000000","#000084","blank.gif","1","-1","-1","","","-1","-1","0","","","_self","Arial","9pt","#000000","normal","normal","none","Arial","9pt","#ffffff","normal","normal","none","0","solid","#d6d6ce","#d6d6ce","#d6d6ce","#d6d6ce","#d6d6ce","#d6d6ce","#d6d6ce","#d6d6ce","","","","tiled","tiled");
appendSTMI("false","Informations&nbsp;complémentaires","left","middle","","","-1","-1","0","normal","#d6d6ce","#000084","","1","-1","-1","blank.gif","blank.gif","-1","-1","0","A&nbsp;propos&nbsp;du&nbsp;logiciel&nbsp;DetMinero","","droite","Arial","9pt","#000000","normal","normal","none","Arial","9pt","#ffffff","normal","italic","none","0","solid","#d6d6ce","#d6d6ce","#d6d6ce","#d6d6ce","#d6d6ce","#d6d6ce","#d6d6ce","#d6d6ce","","","","tiled","tiled");
endSTMB();


Après avoir tenté de réfléchir à des hypothèses, je pense que le fait que les liens soient en "absolu" ne permette pas au Mac de retrouver une adresse commençant par "C:"

Le menu en question avait été élaboré avec un outil gratuit qui permettait de générer un menu dynamique en javascript mais dont je ne retrouve plus le nom...

Encore merci du coup de main

Amicalement
Mehdi
Modifié par MMimoune (26 Dec 2021 - 19:25)
Modérateur
Bonjour,

Ça, c'est sur que si tu fais commencer tes chemins pas "C:/", ça ne risque pas de fonctionner sur Mac. Smiley lol

Il faut passer tous les chemins en relatif.

Note : <frameset> et <frame> sont obsolètes. Ça peut s'arrêter de fonctionner à n'importe quel moment.

Amicalement,