Script

Fermé
Youn - 5 nov. 2021 à 17:30
 Meddle50yr - 6 nov. 2021 à 11:24
Bonjoour, j'ai créé une page pour visualiser des images qui se situent dans un fichier "Tableaux" sur pc tout fonctionne mais sur site non ? une idée
<script>
var content=new Array()
//Modifiez le tableau ci-dessous pour y inscrire le texte associé à vos liens. Vous pouvez augmenter ou réduire ce tableau, selon la quantité de vos liens
// phrase sous le tableau
content[0]='<br><img src="Tableaux/Bretonne_a_la_pipe_1.jpg" border="1" width="486" height="575" alt="Huile - Format F10" align="middle">;'
content[1]='<br><img src="Tableaux/Martelod.jpg" border="1" width="435" height="575" alt="" align="middle" border="2" alt=" Acrylique - Format 8F">'
content[2]='<br><img src="Tableaux/Elegante.jpg" border="1" width="464" height="575" alt="" align="middle"alt="Acrylique - Format 8F ">'
content[3]='<br><img src="Tableaux/Goemonieres_1.jpg" border="1" width="473" height="575" alt="" align="middle"alt="Acrylique - Format 8F ">'
content[4]='<br><img src="Tableaux/Erwan stivell.jpg" border="1" width="800" height="575" alt="" align="middle"alt="Format">'
content[5]='<br><img src="Tableaux/Lavandiere.jpg" border="2" width="716" height="575" alt="" align="middle"alt="Format">'
content[6]='<br><img src="Tableaux/Breton_1.jpg" border="0" width="458" height="575" alt="" align="middle"alt="Format">'
content[7]='<br><img src="Tableaux/MenHir_perdu.jpg" border="0" width="706" height="575" alt="" align="middle"alt="Format">'
content[8]='<br><img src="Tableaux/Retour_des_champs.jpg" border="0" width="467" height="575" alt="" align="middle"alt="Format">'
content[9]='<br><img src="Tableaux/Cour_de_ferme.jpg" border="0" width="706" height="575" alt="" align="middle"alt="Format">'
content[10]='<br><img src="Tableaux/Ca_sombrit.jpg" border="0" width="698" height="575" alt="" align="middle"alt="Format">'
content[11]='<br><img src="Tableaux/Coucher_Soleil.jpg" border="0" width="686" height="575" alt="" align="middle" alt="Acrylique - Format 10F ">'
content[12]='<br><img src="Tableaux/Veuve_a_la_pipe.jpg" border="0" width="469" height="575" alt="" align="middle" alt="Format">'
content[13]='<br><img src="Tableaux/Huelgoat.jpg" border="0" width="800" height="567" alt="" align="middle" alt="Acrylique - Format 4F">'
content[14]='<br><img src="Tableaux/Retour_de_peche.jpg" border="0" width="430" height="575" alt="" align="middle">'
content[15]='<br><img src="PresentationTableaux/Formats Toiles.jpg" border="0" width="483" height="506" alt="" align="middle">'
function changetext(whichcontent){
if (document.all)
descriptions.innerHTML='<font face="Verdana"><small>'+whichcontent+'<font></small>'
}


function reset(){
if (!scriptmenu.contains(event.toElement))
descriptions.innerHTML=temphtml
}

</script>Bonjour,



Configuration: Windows / Chrome 95.0.4638.69
A voir également:

1 réponse

jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
5 nov. 2021 à 21:57
Bonjour,

Déjà, pour poster du code sur ce forum, il faut utiliser les BALISES DE CODE.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Ensuite, pour que ce script fonctionne, il faut que tu aies envoyés sur le serveur de ton site, les photos qui correspondent...
Et attention à bien respecter les majuscules/minuscules dans le nom de tes fichiers et des dossiers de ton serveur...
Je te conseillerai d'ailleurs de tout remettre en minuscule ( aussi bien dans ton code, que dans le nom des fichiers/dossiers)

Si le souci persiste, il faudra regarder dans la CONSOLE javascript de ton navigateur si il n'y aurait pas d'éventuelles erreurs
Tu pourrais aussi nous fournir le code source généré (c'est à dire celui obtenu DEPUIS le NAVIGATEUR (via le raccourci CTRL+u ))

0
Salut,
Une chose est sûre cela pourrait être optimisé.
Comme chaque élément du tableau sert à l'affichage de façon identique vous pouvez automatiser et retenir que les données (url image, ses attributs) et vous créez une fonction pour écrire une ligne avec sa boucle.

Sinon connaissez vous JSON ou les objets en JavaScript? Cela serait plus pratique.
Et bien sûr CSS parce que la balise font et l'attribut align et border ne sont plus à utiliser depuis plus de 10 ans, tout doit se faire avec CSS.
(et width et height non plus pareil tout se fait en CSS pour la présentation on distingue bien le contenu en HTML de sa mise en page/couleur/taille/positionnement qui doivent être faits en CSS)
Avec Array vous avez aussi la méthode push ou des écritures qui sont plus simples en séparant par des virgules les éléments.


Exemples:

var monArray=['élément 0', 'élément 1', 'élément 2'];
//-- voilà déjà vous gagnez pas mal de temps d'écriture plutôt que faire ligne par ligne
monArray.push('élément3');
//-- la méthode .push ajoute à la fin donc pas besoin d'avoir à indiquer un indice entre crochets

//-- Un objet JSON en notation littérale directement utilisable
var objetJSON={
  url:'Tableaux/Bretonne_a_la_pipe_1.jpg',
  border:1,
  width:486,
  height:575,
  alt:"Huile - Format F10",
  align:"middle" 
}

console.log('attribut align de objetJSON '+objetJSON.align);

// bien sûr on peut combiner les 2
//-- comme ceci
var monTableau =[
  objetJSON , /** monTableau[0]*/
  { url:'Tableaux/Martelod.jpg',
    border:2,
    width:435,
    height:575,
    align:"",
    alt:'Acrylique - Format 8F'}/** monTableau[1]*/
]

//--une fonction pour créer chaque ligne de façon automatisée

function imageEnLigne(url, border,width,height, alt, align){
 return '<br><img src=\"'+url+'\" border=\"'+border+'\" width=\"'+width+'\" height=\"'+height+' \" alt=\"'+alt+'\"/> ';
}

var uneLigneImage= imageEnLigne( monTableau[0].url, monTableau[0]. border, monTableau[0].width, monTableau[0].height, monTableau[0].alt, monTableau[0].align);

console.log(' fonction imageEnLigne'+uneLigneImage);


var toutesLesImages=''
for(let i=0, i<monTableau.length;i++){
   toutesLesImages+= imageEnLigne(monTableau[i].url,monTableau[i].border,monTableau[i].width,monTableau[i].height,monTableau[i].alt,monTableau[i].align);
}

console.log('avec  la fonction dans une boucle \n'+toutesLesImages);




/!\ IMPORTANT tout comme pour les dossiers et nom de fichiers vous évitez les majuscules parce que selon les systèmes ils ne seront pas pris en compte vous ne pouvez pas avoir d'espace dans un nom de fichier/URL d'image. Sur le WWW un espace est un élément de séparation donc un fichier nommé ainsi:
"Formats Toiles.jpg"
est tout simplement interdit car ça ne fonctionnera pas.

Toutefois si vous ne faites pas de boucle et de fonction dans la boucle autant ne pas utiliser de tableau et écrire directement la chaîne de caractère ou même directement dans le HTML et afficher/masquer le container lors de l'événement souhaité(un clic par ex).

L'élément BR aussi est à éviter au maximum toujours au profit d'une mise en page CSS

Un JSON peut être en fichier externe à la page ce qui permet de changer le contenu facilement et d'y voir plus clair(chacun dans son fichier). Le meilleur système est d'utiliser une base de données, pensez y si vous voulez un site durable et facilement mis à jour.

Si vous n'utilisez pas CSS votre site n'est pas au norme actuelle et cela peut éventuellement poser des problèmes d'accessibilité et de référencements. L'attribut alt doit toujours être renseigné dans ce but.
0