O Google Chrome pode abrir links locais?

138

Estou vinculando em uma página da intranet a um arquivo local em uma unidade compartilhada:

<a href="file:///s:/test.xls"> Test</a>

Isso funciona no IE e Firefox com um complemento chamado link local.

Como faço para abrir isso no google chrome?

obrigado

Andy
fonte
O que acontece se você deixar cair um file:///pouco?
Nick Bolton
ele não funciona nos outros 2 navegadores que eu ainda não tentei no chrome. tente agora
Andy
1
Parece que você deve conseguir abrir arquivos locais também no chrome. Eu tenho uma unidade Z: e posso ver o conteúdo da pasta usando o arquivo: /// Z: /
dawez
Você pode fazer isso se clicar com o botão direito do mouse e "abrir em uma nova guia". Não sei se isso é bom o suficiente ...
Matt queima
A extensão que funciona com o cromo atual (32.0.1700.107) está aqui: code.google.com/p/locallinks
Zane

Respostas:

42

Você não pode vincular a file:///partir de um documento HTML que não é, file:///por razões de segurança.

Thomas Bonini
fonte
26
Pode ser que isso seja uma "falha de segurança", mas também fornece funcionalidades essenciais em alguns casos, e o Chrome pode nos dar a capacidade de habilitá-lo para determinadas URLs, com um aviso e uma pesquisa para descobrir como fazê-lo, em vez de apenas desativando-o por atacado
Arcan.NET
2
@ Arcan.NET Eu discordo. Isso defenderia más práticas e, uma vez difundida, é mais um vetor de ataque de engenharia social .
Bytecode77
4
@ bytecode77 Você tem um bom argumento. No entanto, eu argumentaria que é uma prática ruim apenas sob certas circunstâncias. Por exemplo, e se isso estivesse em uma intranet corporativa com um conjunto restrito de usuários? Embora possa ser uma prática inadequada, aqueles que escolherem abusar do recurso devem ser responsabilizados por suas ações, em vez de remover um esquema de protocolo útil, para que nenhum possa se beneficiar (quem também o usa apropriadamente).
Rook
1
Nem mesmo o diretório local com o index.html tem permissão para acessar! Como isso seria inseguro? Com essa política, é mais seguro não usar o Chrome.
Eu posso ver a vulnerabilidade de segurança abordada. Mas seria um bom recurso ter na lista de permissões alguns endereços - ou até mesmo permitir páginas da intranet - para que sites confiáveis ​​pudessem ter links para arquivos. Por exemplo, temos um relatório do SSRS que possui links para arquivos em um compartilhamento. Alternativa é como abaixo de @Guilherme Amorim, mas que resulta em usuários o download de cópias infinitas de arquivos em vez de abri-los em um compartilhamento
nonpoliticaltag
21

Essa pergunta está datada, mas agora eu tinha o mesmo problema, a solução que encontrei foi mapear um diretório virtual no IIS para a unidade de rede com os documentos, para que o URL se tornasse um endereço "http: //" amigável.

Configurando diretórios virtuais:

IIS:

http://www.iis.net/configreference/system.applicationhost/sites/site/application/virtualdirectory

Apache:

http://w3shaman.com/article/creating-virtual-directory-apache

Felicidades!

Guilherme Amorim
fonte
Obrigado, isso me ajudou muito. Isso não apenas me permite abrir arquivos hospedados em um servidor diferente, mas também os abre diretamente no navegador.
D.Galvez 10/03
@ D.Galvez Ainda bem que foi útil para alguém.
Guilherme Amorim
Isso me ajudou !! Muito obrigado
AndeeC 4/16
Chrome é um arenque vermelho. A solução está em Apache2, através do "diretório virtual, como discutido neste Resposta (Eu me pergunto se ele vai resolver Firefox.).
Rick James
Obrigado - funciona muito bem para mim! Usuários queria ver arquivos em um compartilhamento de rede
Cordell
11

Pelo que vi disso, o seguinte é verdadeiro para Firefox e Chrome;

1) Se você tiver uma página HTML aberta em um host remoto, os file://links não funcionarão, ou seja, sua barra de endereços será lida http://someserver.domaine a página conterá um link como<a href="file:///S:/sharedfile.txt">

2) Se você tem uma página HTML aberta do seu host local, em seguida, file://as ligações irão trabalhar ou seja, sua barra de endereços lê file:///C:/mydir/index.htmlea página contém um link como<a href="file:///S:/sharedfile.txt">

Para o Internet Explorer, o ponto 1) não é verdadeiro. Um arquivo em seu host local pode ser acessado usando a file://sintaxe do link de uma página da Web em um host remoto. Isso é considerado uma falha de segurança no IE (por quem? Referências?) (E também existe no IE8) porque um host remoto pode acessar arquivos no computador local sem o seu conhecimento ... é certo que eles precisam ter sorte com o nome do arquivo mas há muitos arquivos nomeados com o potencial de conter informações pessoais / privadas.

Rory
fonte
12
"Uma página da Web de um host remoto pode acessar arquivos em seu host local" Que suporte você tem para esta reivindicação? Vincular um arquivo e acessá-lo não são a mesma coisa, pois o host remoto não pode ler o arquivo e não pode determinar se o arquivo existe. Existe algum truque que eu não saiba?
styfle
1
Não funciona para mim. Estou abrindo um arquivo local no Chrome com o arquivo: ///, mas ele se recusa a carregar outros arquivos locais.
Mcv 23/12/16
10

O LocalLinks agora parece estar obsoleto.

O LocalExplorer parece ter ocorrido e fornece funcionalidade semelhante:

https://chrome.google.com/webstore/detail/local-explorer-file-manag/eokekhgpaakbkfkmjjcbffibkencdfkl/reviews?hl=en

É basicamente um plug-in chrome que substitui file://links por localexplorer://links, combinado com um manipulador de protocolo instalável que intercepta localexplorer://links.

A melhor coisa que posso encontrar disponível agora, não tenho afiliação com o desenvolvedor.


fonte
1
Obrigado! Esta extensão realmente vale a pena se você deseja acessar um arquivo local de outro protocolo no Chrome.
AstralisSomnium
6

A extensão LocalLinks da resposta mais popular não funcionou para mim (como eu estava tentando usar o arquivo: // para abrir um diretório no Windows Explorer, não um arquivo), então procurei outra solução alternativa. Descobri que essa extensão "Abrir no IE" é uma boa solução alternativa: https://chrome.google.com/webstore/detail/open-in-ie/iajffemldkkhodaedkcpnbpfabiglmdi

Essa não é uma correção ideal, pois em vez de clicar no link, os usuários terão que clicar com o botão direito do mouse e escolher Abrir no IE, mas pelo menos isso o tornará funcional.

No entanto, no IE10 (e no IE9 após um certo ponto de atualização), você precisará adicionar o site aos sites confiáveis ​​(Opções da Internet> Segurança> Sites confiáveis). Se o site não estiver em sites confiáveis, o arquivo: // link também não funcionará no IE.

BryPie
fonte
1
Eu vi o mesmo comportamento no IE11. Você precisará adicionar uma lista de sites confiáveis ​​para fazê-lo funcionar.
ppant 6/05/15
plugin não compatível com o mais recente Chrome
Yannick Smits
1

Não é realmente uma resposta, mas uma solução alternativa para abrir um link local no chrome usando python.

Copie o link local que você deseja executar e execute o código abaixo (usando um atalho); ele abrirá o seu link.

import win32clipboard
import os

win32clipboard.OpenClipboard()
clipboard_data= win32clipboard.GetClipboardData()
win32clipboard.CloseClipboard()

os.system("start "+clipboard_data)
JinSnow
fonte
0

Acabei de encontrar o mesmo problema e encontrei a extensão do Chrome Open IE .
Esse é o único que funciona para mim (Chrome V46 e V52). A única desvantagem é que você precisa instalar um programa adicional, significa que você precisa de direitos de administrador.

Stefan
fonte
1
Abrir o IE abre o IE. Por que não usar o IE em primeiro lugar. Definitivamente não é uma solução alternativa.
23617 Mike
porque o IE é ultrapassado, de longe não como goog como FF ou Chrome mas há alguns apps / sites internos que Stil retransmitir no IE
Stefan
0

Espero que isso ajude outras pessoas em um ambiente corporativo à procura de uma solução. Minha solução após muitos ajustes foi a seguinte:

Siga as etapas no link a seguir para instalar a extensão do navegador herdado e as configurações de GPO: https://support.google.com/chrome/a/answer/3019558?hl=pt_BR&ref_topic=3062034

Redirecionamento de navegador herdado ativado para "file: //" por meio da configuração do Chrome GPO Google Chrome -> Suporte ao navegador herdado -> "Sites a serem abertos em navegador alternativo"

Configure o gpo para também instalar a extensão: https://chrome.google.com/webstore/detail/enable-local-file-links/nikfmfgobenbhmocjaaboihbeocackld que redireciona file: // links para ignorar o arquivo chrome: // bloco de links.

A extensão abre os links que acionam o google chrome para abrir o link no Internet Explorer. O resultado é que o IE abre uma janela, abre o arquivo / pasta para o usuário e o IE se fecha.

diegorodny
fonte
3
os links expiram. Poste aqui o essencial para manter sua resposta pronta para o futuro.
ZF007 27/12/19