Es decir, acceso denegado 8.0 al intentar abrir archivos locales

Esta secuencia de comandos funciona en IE 6 pero no en IE 8.0. Mis usuarios ahora obtienen un “Error de acceso denegado”. ¿Qué configuraciones recomiendo a mis usuarios habilitar el acceso a archivos locales para que este script funcione?

 function viewFile(selectedItem) { for (i=0; i<selectedItem.options.length; i++) { if ((selectedItem.options[i] != null) && (selectedItem.options[i].selected == true)) { window.open("file://"+selectedItem.options[i].text); } } }  

Los usuarios pueden seleccionar varios archivos de la unidad local. La lista se almacena en un cuadro de texto y luego hace clic en un archivo seleccionado de la lista.

Ejemplo:

 selectedItem.options[i].text = C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\Sunset.jpg 

Ya no podrá hacer eso “fuera de la caja” ya que el modelo de seguridad de IE8 es mucho más estricto que IE6.

Sus opciones son limitadas, pero pueden incluir:

  1. desarrollando un componente flash para acceder al disco local del usuario.

  2. Implemente el sitio como una HTA (aplicación html) que otorgue acceso promovido al sistema de archivos del usuario.

  3. Haga que los visitantes personalicen su configuración de seguridad de IE agregando su sitio a la lista de dominios de confianza y luego dé a los dominios de confianza acceso al archivo: /// protocolo (no estoy seguro de qué configuración de seguridad se aplica a esta característica en particular, o si alguna incluso está disponible.)

  4. Desarrolle un objeto pluggin o bho (similar a un componente flash, pero escrito en C ++ o C #)

  5. Cree un menú contextual de IE: http://msdn.microsoft.com/en-us/library/bb735853(v=vs.85).aspx que también tendrá privilegios elevados.

Como nota al margen, los esquemas de archivo adecuados para c: \ rutas deberían tener este aspecto:

file:///c:/documents%20and%20settings/file.jpg

Observe el file: tres / after file: espacios uri-escapados, y todos \ se cambian a /