J'ai fait un copier / coller de ton code et j'ai supprimé tous les document.write.
Mais je n'ai eu que la première boite d'alerte.
Francois
J'ai fait un copier / coller de ton code et j'ai supprimé tous les document.write.
Mais je n'ai eu que la première boite d'alerte.
Francois
Il s'agit bien d'ECMAScript
pour être plus précis de JScript qui est le moteur JavaScript de Microsoft
et celui-ci à accès au système de fichier moyennant certaines conditions.
il suffit d'aller sur msdn et de chercher GetExtensionName
pour tout ceux qui trouve une ressemblance avec VB il faut savoir que GetExtensionName n'est ni une fonction JScript ni VBScript
c'est une méthode d'un objet de la bibliothèque de MS pour traiter les fichiers.
tout comme getElementByID n'est pas une méthode JavaScript mais une méthode du DOM
dans les deux cas une liaison est défini au niveau du langage hôte pour scripter l'objet.
la méthode GetExtensionName existe dans tous les langages hôte pour les quel il existe un binding de cette librairie.
De la même façon pour getElementById qui est une méthode du DOM se retrouve dans Javascript mais aussi dans java
Code java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 package org.w3c.dom; public interface Document extends Node { ... public Element getElementById(String elementId); }
un autre exemple pour comprendre cette dé-corrélation. la fonction mysql_connect
cette fonction est définie dans la librairie permettant une connexion à mysql. on la retrouve dans C/C++Mais aussi dans php
Code : Sélectionner tout - Visualiser dans une fenêtre à part MYSQL *mysql_connect(...)etc.
Code : Sélectionner tout - Visualiser dans une fenêtre à part resource mysql_connect (...)
pour finir JavaScript en lui même ne possède pas de fonction et un seul objet : Null
tout le reste n'est que complément.
la norme prévoit tout de même quelque objet standard un peut comme les lib par défaut de certain autre langage
il s'agit de Date et de Math. il y a aussi des prototypes pré-définis : Array et RegExp
le reste window document etc. tout cela est défini par le DOM est non par javascript
pour ce qui est des objets comme ActiveXObject JScript, qui est conforme à la norme, les ajoute tout comme le DOM ajoute les siens.
A+JYT
Essai fait avec:
Résultat négatif: je n'ai tjs pas la deuxième boite d'alerte.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 var sExt = f1.item().match(/\.([^.]+)$/); alert("sExt0: "+sExt[0]);
Francois
un Enumerator object retourne de objet de type file, dans ton cas, pour y accéder on utilise la méthode item() qui pointe donc sur un objet FILE.
Faire un split ou autre manipulation sur un objet n'aboutis à RIEN.
Il faut donc utiliser les propriétés des FILES pour récupérer le name
il faut prendre la peine de parcourir les liens donnés...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 var fso = new ActiveXObject("Scripting.FileSystemObject"); var f = fso.GetFolder(repertoire); var f1 = new Enumerator(f.files); var s = ""; for (; ! f1.atEnd(); f1.moveNext()) { // recup propriete name var sFile = f1.item().Name; s += 'File : ' + sFile; // methode MSDN s += '<br>- Ext #0 : ' + fso.GetExtensionName(sFile); // methode 1 s += '<br>- Ext #1 : ' + sFile.split('.').reverse()[0]; // methode 2 s += '<br>- Ext #2 : ' + sFile.match(/\.([^.]+)$/)[1]; s += "<br>"; } document.write(s);
Les joies du CSS | Réponses sur forum | Simple comme JS | Essais libres autour de l'API G$$gle Maps
✂ ---------------------------------------------
developpez.net c'est aussi :
✔ Les meilleurs cours et tutoriels pour apprendre le CSS
✔ Les meilleurs cours et tutoriels pour apprendre le (X)HTML
✔ Les meilleurs cours et tutoriels pour apprendre le JavaScript
bonjour NoSmoking et merci de ton aide qui a été décisive.
Comme je ne voulais prendre que les photos présentes dans un dossier, j'ai pu sélectionner les fichiers sur leur extension.
Et, si j'ai raté un lien, ça peut être simplement pour ne pas l'avoir compris car mes connaissances en JS sont limitées comme tu l'as compris.
Merci encore.
Francois
Partager