Problème d'accès aux fichiers locaux avec JS dans firefox 10

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
tfu_ch
Arias
Messages : 4
Inscription : 29 févr. 2012, 14:57

Problème d'accès aux fichiers locaux avec JS dans firefox 10

Message par tfu_ch »

Bonjours à toutes et à tous,

Je suis en train de travailler sur une application web d'où j'ai besoins d'ouvrir une nouvel fenêtre navigateur (firefox 10.0.1) avec un url qui point vers un ficher XLS sur le réseau interne.

Le code resemeble à ceci:
<html>
<body>
<a href="file://///servername/generated.xls" target="_blank">Click with link</a>
<br>
<a href="javascript:window.open('file://///servername/generated.xls')" target="_blank">Click with JS</a>
</body>
</html>


Le poblème c'est lors que je clique sur n'import quel de ces deux lien, ça ne fonctionne pas (aucun message d'erreur). Si je remplace file://... par http://..., ça marche.
Vous avez une idée de cela? J'ai passé deux jours dessus, mais pas de solution.

Merci d'avance de votre aide
Avatar de l’utilisateur
Abraxas
Animal mythique
Messages : 10180
Inscription : 28 juil. 2011, 14:06

Re: Problème d'accès aux fichiers locaux avec JS dans firefo

Message par Abraxas »

Normalement c'est 3 / (///) après file:
tfu_ch
Arias
Messages : 4
Inscription : 29 févr. 2012, 14:57

Re: Problème d'accès aux fichiers locaux avec JS dans firefo

Message par tfu_ch »

merci d'abord de ta réponse si rapide.

Comme vos dits, normalement c'est trois '/', voici un autre exemple
<a href="javascript:window.open('file:///c:/fixok.txt')" target="_blank">Click with JS</a>

Sauf, quand je clique, ça ne passe rien. Apparament, ça lié à la politique de sécurité de Firefox et je ne sais pas comment sauter cette barrière.
Avatar de l’utilisateur
Abraxas
Animal mythique
Messages : 10180
Inscription : 28 juil. 2011, 14:06

Re: Problème d'accès aux fichiers locaux avec JS dans firefo

Message par Abraxas »

La doc: https://developer.mozilla.org/fr/DOM/window.open
A priori, tu dois respecter la règle de même origine: https://developer.mozilla.org/En/Same_o ... JavaScript afin que la fenêtre principale puisse ouvrir une 2nde fenêtre.
Ceci dit, tu peux très bien suivre cette règle et ouvrir ensuite le fichier dans la seconde fenêtre avec d'autres commandes JS.
Par ex: ton app web ouvre un lien popup.html de la même origine, puis cette page popup.html exécute l'ouverture du fichier en question.
tfu_ch
Arias
Messages : 4
Inscription : 29 févr. 2012, 14:57

Re: Problème d'accès aux fichiers locaux avec JS dans firefo

Message par tfu_ch »

Je pense le souci se pose sur "file:///...", sous firefox, pas comme IE, on n'autorise pas d'accéder aux fichiers locaux via JS, mais si l'on colle file:///... directement dans la bar d'adresse, ça marche :?

Je essaie de chercher dans "about:config" s'il existe une option pour authoriser cela.
Merci quand même (j'ai fait le test comme tu dit, ça n'a pas marché) :cry: .
Avatar de l’utilisateur
Abraxas
Animal mythique
Messages : 10180
Inscription : 28 juil. 2011, 14:06

Re: Problème d'accès aux fichiers locaux avec JS dans firefo

Message par Abraxas »

Si, tu peux accéder aux fichiers locaux comme aux fichiers sur d'autres domaines. Copie ce code et sauve-le dans une page .html, tu verras que la page ouvre une fenêtre et affiche le logo de FF hébergé sur http://imgur.com
Si tu remplaces http://i.imgur.com/T4eIT.jpg par le chemin local de la même image, genre file:///C:/Users/<User>/Pictures/T4eIT.jpg t'auras le mm résultat.

Code : Tout sélectionner

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript">
function openWindow(LinkURL,LinkName)
{
myWindow=window.open(LinkURL,LinkName,'width=300,height=200');
myWindow.focus();
}
</script>
</head>
<body>

<input type="button" value="Open window" onclick="openWindow('http://i.imgur.com/T4eIT.jpg','logoFF')" />

</body>
</html>
tfu_ch
Arias
Messages : 4
Inscription : 29 févr. 2012, 14:57

Re: Problème d'accès aux fichiers locaux avec JS dans firefo

Message par tfu_ch »

Chère amis, suivant ton conseil, j'ai créé un .html avec ton code :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript">
function openWindow(LinkURL,LinkName)
{
myWindow=window.open(LinkURL,LinkName,'width=300,height=200');
myWindow.focus();
}
</script>
</head>
<body>
<input type="button" value="Open window" onclick="openWindow('file://///de-shareapplis/generate.xls','logoFF')" />

</body>
</html>
Sous IE, ça marche bien. Mais toujours pas sous FireFox avec le code d'erreur :
Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMJSWindow.open]
[Stopper sur une erreur]

myWindow=window.open(LinkURL,LinkName,'width=300,height=200');
Avatar de l’utilisateur
Abraxas
Animal mythique
Messages : 10180
Inscription : 28 juil. 2011, 14:06

Re: Problème d'accès aux fichiers locaux avec JS dans firefo

Message par Abraxas »

A mon avis c'est parce que le fichier est pas dans la même arborescence que ton fichier HTML.

Mais je le redis, ce bout de code marche.
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Re: Problème d'accès aux fichiers locaux avec JS dans firefo

Message par calimo »

Pour des raisons de sécurité, Firefox ne permet pas d'accéder à des fichiers en file: depuis une page http:.
Il me semble qu'il y a moyen de configurer le poste client pour autoriser ça.
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 14 invités