Bonjour,

J'ai un petit problème qui me fais tourner la tête depuis un certain temps et qui reste sans solution . Si quelqu'un parmis vous pourrait m'aider svp.

En fait, j'ai une application conçu en java qui tourne sur un serveur que je vais appeler ici "server-1" et qui fonctionne parfaitement sous IE8. Dans le cadre d'un d'un projet d'étude de compatibilité avec Firefox, j'ai un problème d'accès aux fichiers sur un drive monté localement sous windows xp.

Voici un aperçu de code utilisé et qui produit la même erreur que via l'application elle même


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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=iso-8859-1">
  <TITLE>Test Ouverture des fichiers livrables</TITLE>
</HEAD>
 
<script type="text/javascript">
var Wextviewer = null, extviewer = "extviewer", extviewerWindow = "extviewer";
 
function GotoViewer(ViewerName,IdTgt) {
	// Utilise var globales : xxxviewer, Wxxxviewer et xxxviewerWindow
	var CurW = null;
	var toURL = null;
	var sF = null;
	var wh = 0;
	var ww = 0;
	var xc = 0;
	var yc = 0 ;
	var ah = 600;
	var aw = 800 ;
	if (screen.availHeight) ah = screen.availHeight;
	if (screen.availWidth) aw = screen.availWidth;
	var fnd = false;
	var ArgTitle = new String(arguments[2]); // Contient Titre si effectivement passe
 
	// -- Lancement External-Viewer
	// IdTgt contient le PathFileName complet du fichier html
	if (ViewerName == extviewer) {
		if (Wextviewer && Wextviewer.open && !Wextviewer.closed) {
			Wextviewer.focus();
		}
 
		ww = (5/6)*aw ;
		wh = (5/6)*ah + 20;
		xc = aw - ww - 10; yc = 5 ;
		sF = "height=" + wh + ",innerHeight=" + wh ;
		sF += ",width=" + ww + ",innerWidth=" + ww ;
		sF += ",left=" + xc + ",screenX=" + xc ;
		sF += ",top=" + yc + ",screenY=" + yc ;
		sF += ",titlebar=yes,scrollbars=yes,resizable=yes,location=yes,toolbar=yes,status=yes,menubar=yes";
 
		toURL = IdTgt;
		//Wextviewer = window.open('file://'+toURL,extviewerWindow,sF);
		Wextviewer = window.open(toURL,extviewerWindow,sF);
		CurW = Wextviewer ;
		fnd = true;
	}
 
	//-- Verif lancement trait�
	if (!fnd) {
		alert("GotoViewer() Error: Invalid ViewerName parameter ("+ViewerName+")!");
		return false;
	}
	if (CurW == null) {
		alert("GotoViewer Error: unable to open() " + ViewerName);
		return false;
	}
 
	return true;
}
</script>
<style type="text/css">
  TABLE.TBloc TD.C2 { 
	width: 360px;
	text-align: left;
	padding-top: 4px;
}
</style>
 
<body>
<table border="1">
 
	<TR> 
		<TH> Under firefox 29.0.1 </TH> 
		<td class="C2" align="center">
			<a href="javascript:if (!GotoViewer(extviewer,'file://P:\\livrables\pB27.pdf')) alert(s);"><span class="Alert">Display Results PDF </span></a> 
		</td>
 
		<td class="C2" align="center">
			<a href="javascript:if (!GotoViewer(extviewer,'file://P:\\livrables\pB27.xls')) alert(s);"><span class="Alert">Display Results XLS</span></a>
		</td>
		<td class="C2" align="center">
			<a href="javascript:if (!GotoViewer(extviewer,'file://P:\\livrables\pB27.html')) alert(s);"><span class="Alert">Display Results HTML</span></a>
		</td>					
	</TR> 
 
	<TR> 
		<TH> Under firefox 29.0.1 (files stored in C:)</TH> 
		<td class="C2" align="center">
			<a href="javascript:if (!GotoViewer(extviewer,'file://C:\\livrables\pB27.pdf')) alert(s);"><span class="Alert">Display Results PDF </span></a> 
		</td>	
 
		<td class="C2" align="center">
			<a href="javascript:if (!GotoViewer(extviewer,'file://C:\\livrables\pB27.xls')) alert(s);"><span class="Alert">Display Results XLS</span></a>
		</td>
		<td class="C2" align="center">
			<a href="javascript:if (!GotoViewer(extviewer,'file://C:\\livrables\pB27.html')) alert(s);"><span class="Alert">Display Results HTML</span></a>
		</td>					
	</TR> 
 
        <TH> Under IE 8 with file option </TH> 
		<td class="C2" align="center">
			<a href="javascript:if (!GotoViewer(extviewer,'file://P:\\livrables\pB27.pdf')) alert(s);"><span class="Alert">Display Results PDF </span></a> 
		</td>
		<td class="C2" align="center">
			<a href="javascript:if (!GotoViewer(extviewer,'file://P:\\livrables\pB27.xls')) alert(s);"><span class="Alert">Display Results XLS</span></a>
		</td>
		<td class="C2" align="center">
			<a href="javascript:if (!GotoViewer(extviewer,'file://P:\\livrables\pB27.html')) alert(s);"><span class="Alert">Display Results HTML</span></a>
		</td>
	</tr>
 
</table>
</body>
</html>

Le code fonctionne très bien sous IE8 mais n'est pas fonctionnel sous Firefox (29.0.1 ).

Le debugger de firefox affiche le message d'erreur suivant lors de l'appuie sur le lien :

Error: Access to 'file:///C:/livrables/pB27.pdf' from script denied


Voici les choses que j'ai testé et qui n'ont pas donné des résultats :

1- Pour des raisons de sécurité Firefox empêche l'accès aux fichiers locaux, ils conseillent de désactiver la sécurité en ajoutant des paramètre à Firefox : http://www.meccanoindex.co.uk/Firefox.php?id=1313562748 ==> Sans résultats pour moi

2- J'ai tenté d'installer l'extension "No Script" qui à priori autorise à un site d'accéder aux fichiers locaux, mais cela n'a pas fonctionné non plus.


Si vous avez des idées il sont les bienvenus.

Je vous remercie d'avance