evilsky a dit:Oui iMatthieu chez moi aussi ça marche, mais si tu place ton fichier html sur un serveur distant, tu pourra constater qu'un lien de type :
<a href="file:///Volumes/MonVolumes/MonDossier" target="_blank">ouvrire le dossier</a>
ne fonctionne pas.
http://forums.macg.co/vbulletin/member.php?u=14016
evilsky a dit:Oui iMatthieu chez moi aussi ça marche, mais si tu place ton fichier html sur un serveur distant, tu pourra constater qu'un lien de type :
<a href="file:///Volumes/MonVolumes/MonDossier" target="_blank">ouvrire le dossier</a>
ne fonctionne pas.
http://forums.macg.co/vbulletin/member.php?u=14016
iMatthieu a dit:Si la camomille se fume j'en prendrai un paquet en plus de Stéph
Nous ne doutons pas du sérieux de ton problème, mais plutôt de la façon dont il est posé. Malgré mes (nos) relances et toute ma (notre) bonne volonté, je ne parviens toujours pas à circonscrire ton problème. Il me semble par ailleur, que je ne sois pas le seul.evilsky a dit:Nan, svp mon problème est sérieux, si vous n'avez pas de réponse à me fournire c'est pas grave, mais je vous en prie ne polué pas ce topic.
merci
evilsky a dit:Bon, ce que je vous propose, c'est une petite manip
1- Creér un nouveau fichier .htm
2- Ouvrez le fichier (en édition) et écrivez :
<a href="file:///Applications">ouvrire le dossier</a>
3- Enregistrer et fermé.
4- Ouvrez le fichier (cette fois dans le navigateur) et cliquer sur le lien
Vous pouvez constatez que le lien fonctionne.
5- Maintenant, placé votre fichier sur un serveur distant. Ouvrez la page htm et cliquer sur le lien.
Vous pouvez constatez que le lien ne fonctionne pas
6- Faite sur le lien, ctrl+clic et sélectionner ouvrire dans une nouvelle fenêtre.
Vous pouvez constatez que /Applications s'ouvre.
Ce que je cherche à faire, c'est pouvoir ouvrire le lien sans passer par ctrl+clic.
header('Location:file:///Applications');
exit;
iMatthieu a dit:J'ai remarqué quelque chose d'intéressant pour toi evilsky, lorsque j'ouvre ton fichier html en cliquant dessus (soit sans serveur web donc en file:///), alors ça marche. Par contre sur un serveur web (et même en local avec apache), ça ne marche effectivement pas.
J'ai essayé avec du javascript, pas moyen... Et là, miracle, en php ça marche (j'ai aussi testé sur un serveur distant). Tu connais ce language (qui s'exécute côté serveur et qui renvoit du code html) ?
Si oui, voici le code utilisé (ce script doit être placé avant tout code html) :
Par contre si tu ne sais pas comment l'utiliser (soit le placer dans une ou deux conditions), il va falloir te mettre au php.. au moins un minimum mais tu verras c'est génial.Bloc de code:header('Location:file:///Applications'); exit;
Bon on peut déconner maintenant
<?php
if (isset($_GET['openFinder'])) {
header('Location:file:///'.$_GET['openFinder']);
exit;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<a href="evilsky.php?openFinder=Applications">Voilà mon petit dragon</a>
</body>
</html>
iMatthieu a dit:Bon aller, j'ai fais un exemple avec petit clique pour petit dragon par ici
Evidemment le code suivant dois être exécuté par un serveur web qui peut interpréter du php, c'est à dire quasi tous les serveurs web... mais en mettant ça dans un fichier html et en l'ouvrant directement dans un navigateur ça va pas le faire
Bloc de code:<?php if (isset($_GET['openFinder'])) { header('Location:file:///'.$_GET['openFinder']); exit; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title></title> </head> <body> <a href="evilsky.php?openFinder=Applications">Voilà mon petit dragon</a> </body> </html>
oui, je connais la commande Header. Le problème est qu'une page contenant un code de cette nature puisse agir sur mon mac ; ça me rappel les Control activeX sur Windows.iMatthieu a dit:Merci
En fait il me semble que la commande header('Location:file:///Applications'); change simplement l'url du navigateur...
Oui, mais dans ce cas, c'est moi qui choisi de taper cette ligne sur ma machine..iMatthieu a dit:... tappes file:///Applications et ça fera pareil.. Et après avoir ouvert la fenêtre du finder safari retourne à la page précédente (tu restes sur la même page). ...
iMatthieu a dit:... Ce truc pour être rigolo en intranet mais je trouve pas ça vraiment très intéressant. Quoique dans des applications web pourquoi pas, genre ça te génère un pdf et ça t'ouvre le dossier qui le contient
<?php
/************************************************************************************
* DESCRIPTION : Permet de détecter la plate-forme de l'utilisateur
* et d'afficher un lien en fonction du résultat.
*
* AUTEUR : Ducommun Informatique SA
*
* DATE DE CREATION :23.11.2005
*
* DATE DE MODIFICATION :
* DESCRIPTION :
*
* VERSION : 1.0
*
* REMARQUE : Sous Safari il faut faire ctrl+clic et choisire ouvrire le lien dans
* dans une nouvelle fenêtre.
* Ne fonctionne pas sous FireFox
/************************************************************************************/
//Déclaration des variables
//Nom du dossier à ouvrire
$strDirectoryName = '200511308' ;
/************************************************************************************/
//Charge le fichier contenant le Javascript
echo '<script src="user_syst.js"></script>' ;
echo '<script type="text/javascript">' ;
//Affiche le lien approprié en fonction de l'OS de l'utilisateur
echo "detectSystem('$strDirectoryName')" ;
echo '</script>' ;
echo '<script type="text/javascript">' ;
echo "function finder() {";
echo "window.open('./finder.php?directory=$strDirectoryName','_blank','toolbar=0,location=0,directories=0,status=finder,scrollbars=0,resizable=0,copyhistory=0,menuBar=0,width=50,height=50');";
echo "}";
echo '</script>' ;
?>
/************************************************************************************
* DESCRIPTION : Détecte l'OS de l'utilsateur et affiche un lien
*
* AUTEUR : Ducommun Informatique SA
*
* DATE DE CREATION :23.11.2005
*
* DATE DE MODIFICATION :
* DESCRIPTION :
*
* VERSION : 1.0
*
* REMARQUE :
/************************************************************************************/
function detectSystem(strDirectoryName) {
// on teste si on trouve la mention '95' dans le nom du navigateur
if ( navigator.userAgent.indexOf('Win') != -1 )
{
//Lien pour une machine fonctionnant sous WIN
document.write('<a href="file://\\\\Production\\PMI\\JOBS\\'+strDirectoryName+'" target="_blank">ouvrire le dossier</a>');
}
else if ( navigator.userAgent.indexOf('Mac') != -1 )
{
//Lien pour machine fonctionnant sous MAC
document.write('<a href="#" onclick="finder()">ouvrire le dossier</a>');
}
else // si rien n'a ete reconnu...
{
//Message d'alert pour une machine inconnue
alert('Votre Plate-forme est inconnue');
}
}
<?php
/************************************************************************************
* DESCRIPTION : Ouvre une fenêtre du Finder et ferme la page
*
* AUTEUR : Ducommun Informatique SA
*
* DATE DE CREATION :30.11.2005
*
* DATE DE MODIFICATION :
* DESCRIPTION :
*
* VERSION : 1.0
*
* REMARQUE :
/************************************************************************************/
header('Location:file:///Volumes/PMI/JOBS/'.$_GET['directory']);
?>