HTML: Forzar la apertura de un archivo local

Anonyme209 Mensajes publicados 761 Estado Miembro -  
Anonyme209 Mensajes publicados 761 Estado Miembro -
Bonjour,

Estoy creando una página HTML que contiene enlaces a archivos locales en mi computadora (archivos de diferentes formatos).
Cuando hago clic en un enlace, si el archivo de destino NO se puede leer en el navegador (archivos ejecutables, Word, Excel, etc.), mi navegador abre una ventana y me propone "descargar" el archivo. Sin embargo, quiero que mi navegador abra directamente el archivo con el programa asociado.
Aclaró que no puedo usar PHP...

Gracias por su ayuda.

1 respuesta

  1. artaglan
     
    Hola,
    bueno, ese es el funcionamiento normal de un navegador.
    Lo contrario está prohibido intencionadamente (y lógicamente, la web y http no son -afortunadamente- propiedad de Microsoft).

    Un archivo ejecutable está diseñado para funcionar localmente y no puede ejecutarse desde el navegador web (afortunadamente, solo hay que pensarlo: un .exe que se lanza al visitar una página web = ordenador pirateado y abierto a todo solo por consultar una página), que como su nombre indica, está hecho para mostrar páginas web y su contenido.

    Por otro lado, desde HTML5, tienes el atributo download:
    http://www.w3schools.com/tags/att_a_download.asp

    que permite indicarlo como contenido descargable y evitar que el navegador busque una forma de abrir el archivo y refinar el SEO.

    Para archivos de oficina (LibreOffice es mucho mejor que Office de Microsoft y gratuito, reemplazando progresivamente en administraciones + empresas la solución comercial), tienes extensiones que permiten leer estos archivos.
    No es lo ideal y la visualización de los archivos no garantiza el respeto, lo que obliga a los usuarios a tener la extensión y saber cómo usarla.

    No sé por qué hablas de PHP, puede que haya librerías de codificación hacia archivos de oficina.

    No sé cuál es tu propósito, pero usar soluciones de oficina diseñadas para secretaría y administración local en una red extensa (mundial) es incoherente.
    La oficina es, como su nombre indica, para hacer trabajo de oficina; para hacer una publicación web, no puedes (ni debes) usar tales herramientas.

    Utiliza herramientas adecuadas, como una base de datos que alimente tu sitio y genere documentos PDF si es necesario descargarlos.
    Tendrás que usar PHP o equivalente, eventualmente un CMS que los genere, todo depende de las necesidades específicas de tu sitio/programa. Hablamos de sistemas de información:
    https://www.commentcamarche.net/contents/1083-systeme-d-information

    No solo es la forma que hay que hacer, sino también el medio de automatizar, es decir, hacer de una vez para todas las hojas de cálculo o páginas de procesamiento de texto toda la maquetación (por documento del mismo tipo, por supuesto) con HTML y CSS, lo que permitirá reutilizar infinitamente esta maquetación a través de lo que se llama páginas dinámicas. Tu solución no lo es, ya que obligará a todos a hacer un archivo de texto o de hoja de cálculo para poder convertirlo (hacia una página web o mejor una base de datos) y difundirlo.

    Simplifícate la vida, a veces eso significa aprender herramientas eficaces y adaptadas.
    La oficina es para la oficina; para la web debes utilizar las tecnologías (la mayoría gratuitas y libres) que les son asociadas (más simples y normalizadas que las de la oficina, que como su nombre indica, están diseñadas para hacer trabajo de oficina).
    1
    1. artaglan
       
      ps: claro que todos los archivos que aparecen en la página HTML se descargan en el ordenador (así que en local). Los archivos que usted indica simplemente no están destinados a ser utilizados por el navegador. Ya sea por motivos de seguridad (archivos ejecutables) o porque requieren un programa especial. La pertinencia de las hojas de cálculo y procesadores de texto no tiene absolutamente ningún sentido en una página web: HTML con CSS es un sistema de maquetación que permite tener todas las visualizaciones que se deseen (mejor y más simple que los tratamientos de texto y hojas de cálculo). Para guardar información, puede usar una base de datos que es mucho más eficiente y simple de usar (ese es su propósito).
      Con los textos y valores en la hoja de cálculo guardados en una base, tendrá un rendimiento mucho mejor que con Word o Excel (mucho más) y se actualizará instantáneamente para el o los públicos a los que se destina la publicación. Si aún así está obstinado en utilizar tales archivos, lo más simple es transformarlos en .txt (sin formato de Word) y para las hojas de cálculo en formatos denominados de separador (como CSV) para poder usarlos en sus páginas (su contenido).
      0
    2. Anonyme209 Mensajes publicados 761 Estado Miembro 19
       
      Bonjour,

      Creo que no nos entendemos muy bien.
      En una página HTML, enumero documentos que están ubicados en mi computadora y que no son accesibles en línea.
      Luego, abro esta página localmente con mi navegador.
      Y deseo que, cuando haga clic en el enlace de un documento, se abra directamente (o me pregunte si quiero abrirlo) en lugar de ofrecerme la opción de descargarlo.
      Cité archivos ejecutables, Word, Excel como ejemplos, pero podría ser cualquier otro tipo.
      El atributo download no me es útil, precisamente eso es lo que quiero evitar.

      Gracias por su ayuda.
      0
    3. artaglan
       
      Ok, no entendía eso.
      Pero el razonamiento sigue siendo el mismo, abrir un archivo sin que el usuario lo pida explícitamente (un clic no lo es, es la forma en que la web nos coloca a los desarrolladores y no al revés) no deja opción.
      Para eso están las preferencias del navegador (por defecto o modificadas por el usuario si desea ese comportamiento) y representaría un riesgo.

      El dispositivo que utiliza el internauta también juega un papel:
      ¿Qué pasaría si eso fuera posible? Primero, el usuario debería tener un programa que pueda leer el archivo y que ese programa (el que desea el usuario) sea el programa predeterminado para el tipo de archivos correspondiente.
      Esto presenta más riesgos de errores y problemas que otra cosa:
      Usted propone abrir un archivo de Word a alguien que no tiene un procesador de textos instalado, que utiliza un móvil...
      Usted propone un .exe pero el usuario utiliza un Mac, Linux, su móvil o su tableta, sin mencionar la seguridad de abrir un archivo directamente, ya sea un .exe o cualquier otro, ¡puede contener un programa malicioso!

      Ni siquiera hablo de las razones de seguridad (archivo infectado abierto directamente = no bueno).

      Para la otra información, revise mi opinión y la posibilidad (ventajosa y más simple) de presentar directamente sus documentos, de lo contrario tendrá un sistema de información que no se sostiene y será pesado (basta con comparar el peso de un archivo con el de un registro del mismo contenido en texto para los contenidos textuales, en texto para un enlace a otro recurso).
      Como menciona archivos de imágenes, si el objetivo es mostrarlas, mejor hacerlo en la página web en lugar de hacer que el usuario las descargue (lo que hace el navegador, que es su trabajo).

      Forzar a un sistema operativo a abrir un archivo afortunadamente es imposible.

      Esperando ayudarles a orientarse hacia una buena manera de hacerlo. No conozco su necesidad, pero por razones de mejorar con un clic la ergonomía, van en contra de las prácticas normales y saludables, que también son obligatorias.
      Por lo tanto, revise su forma de hacer las cosas si desea mejorar su sitio, ya que este camino que no conduce a nada me parece desventajoso en comparación con una solución normal de visualización en la página (y una gestión de contenidos limpia y viable a largo plazo, que no es su método).
      0
    4. Anonyme209 Mensajes publicados 761 Estado Miembro 19
       
      De acuerdo, gracias.
      0