J'ai une application web locale qui permet aux utilisateurs de joindre et d'afficher des fichiers. L'affichage des fichiers est simplement window.open (nomfichier), cependant, chaque fois que le nom de fichier a un signe #, le fichier ne s'ouvre pas avec une erreur DNS. J'ai essayé d'échapper le symbole # avec %23
, et \#
mais il ne parvient toujours pas à ouvrir ... est-ce qu'il y a quelque chose de spécial que je dois faire pour échapper le symbole # dans une fenêtre window.open?Javascript: Window.Open avec un signe # dans l'URL?
J'ai copié le chemin de fichier à partir du fichier source directement vers un navigateur Web et il s'ouvre très bien, donc je supposais que c'était un problème avec la commande window.open.
EDIT: code window.open comme demandé. L'URL est toujours quelque chose de local sur notre réseau tel que \\ chemin \ filename.pdf
window.open('file:' + url, '', 'top=10,left=10,height=' + (screen.height - 50) + ',width=' + (screen.width - 50) + ',titlebar=no,resizable=yes,scrollbars=1');
EDIT # 2: J'ai essayé d'échapper à la # juste avant la chaîne window.open avec 23% et affiché avec une invite juste avant window.open, et je peux copier/coller la chaîne à IE et il s'ouvre bien, mais le code window.open échoue toujours.
URL Chemin: file:\\NetworkPath\DoC#1.pdf
Valeur window.open me donne: res://ieframe.dll/dnserror.htm#file://NetworkPath/Doc
L'application est hébergé dans un navigateur Web intégré au sein de notre application logicielle qui utilise IE (je pense 6)
Le '% 23' devrait fonctionner, mais en fonction de la situation, vous devrez peut-être l'encoder deux fois, pouvez-vous coller le code' window.open() 'que vous essayez? –
Je l'ai ajouté à l'article original – Rachel
Il semble être un problème spécifique au navigateur. Cause dans IE cela fonctionne si j'ouvre l'URL contenant '#' en émulant un clic sur une telle étiquette: file:///C:/Users/ehpc/Desktop/file#fdfds.txt. Mais cela ne fonctionne pas si j'applique target = "_ blank" à . – ehpc