[Resolvido] Leitor de Código de Barras + Google Chrome

Boa tarde!

Tenho um pequeno grande problema… Estou com um sistema web, fazendo uma pesquisa no banco de dados a partir da leitura de um código de barras. Consigo pegar o código, pesquisar e retornar o produto correspondente sem problemas, mas eis que depois disso me aconteceu o seguinte:

  • Se eu estiver usando o Firefox, tudo ocorre normalmente.
  • Mas se eu estiver com o Google Chrome, após fazer a leitura, abre uma nova aba no navegador, com os downloads :shock:

E isso acontece em qualquer página… se eu deixar o cursor na pesquisa do google e fazer a leitura, vai pesquisar e abrir a aba downloads :expressionless:

Alguém já passou por este problema ?

O padrão da leitora é ler o código e dar um enter, será que o chrome entende esse enter de outra forma… ?

Valeeeu!

Tente, ao invés de ler o código de barras, escrever no campo de texto usando o teclado e em seguida dê enter. O efeito é o mesmo e vc consegue testar esse comportamento sem a leitora mesmo.

Dessa forma você consegue ver o comportamento do enter.
Trabalhei com leitoras que podem ser programadas para retirar o enter. A leitora que você usa permite isso? Se sim, verifique também se vale a pena manter o enter após cada leitura.

[quote=Rodrigo Vieira Pinto]Tente, ao invés de ler o código de barras, escrever no campo de texto usando o teclado e em seguida dê enter. O efeito é o mesmo e vc consegue testar esse comportamento sem a leitora mesmo.

Dessa forma você consegue ver o comportamento do enter.
Trabalhei com leitoras que podem ser programadas para retirar o enter. A leitora que você usa permite isso? Se sim, verifique também se vale a pena manter o enter após cada leitura.[/quote]

Obrigado pela resposta. Vou te explicar a situação:

Tenho, na seguinte ordem: Label Código EAN, Input para o código e Botão de pesquisar.
A idéia é que, ao pesquisar pelo código, tenha sim o enter no final, para que isso “clique” o botão pesquisar e já carregue os dados do produto.
Fiz o que você falou e digitei o código na mão e dei enter. E o resultado foi o que eu espero: apenas o carregamento das informações!

Mas se for ler o código, da enter, e, sabe-se lá por que, abre a aba downloads! :cry:

Isso quer dizer que seu leitor está mandando também algum caractere esquisito, que está fazendo com que o Chrome abra a aba downloads.

Não tenho o Chrome instalado aqui, mas qual é o shortcut para abrir essa aba no Chrome?

Isso quer dizer que seu leitor está mandando também algum caractere esquisito, que está fazendo com que o Chrome abra a aba downloads.

Não tenho o Chrome instalado aqui, mas qual é o shortcut para abrir essa aba no Chrome?
[/quote]

Para abrir os Downloads é Ctrl + J

Ctrl+M = CR (Carriage Return) = ‘\r’ = Enter
Ctrl+J = LF (Line Feed) = ‘\n’

Acho que o tal leitor está mandando, no final de cada linha, Ctrl+M Ctrl+J ("\r\n"). E isso está confundindo o Chrome que aceita o Ctrl+J.

[quote=entanglement]Ctrl+M = CR (Carriage Return) = ‘\r’ = Enter
Ctrl+J = LF (Line Feed) = ‘\n’

Acho que o tal leitor está mandando, no final de cada linha, Ctrl+M Ctrl+J ("\r\n"). E isso está confundindo o Chrome que aceita o Ctrl+J.
[/quote]

Bah, que coisa… Tem alguma sugestão do que eu possa fazer ou vai ter que ficar assim ?

Não sei se dá para configurar um handler para a tecla Ctrl+J (infelizmente não sou muito bom em JavaScript). Se for o caso, você pode fazer igual aqueles caras que tentam bloquear a cópia de um site bloqueando o click com o botão direito (ou seja, criando um handler vazio).

Estou tendo exatamente o mesmo problema. Encontrei um código que pode resolver, mas ainda não testei pois não estou com o leitor em mãos. A ideia é simplesmente bloquear o Ctrl + J. Teoricamente funcionaria. O código tá aqui: http://codigofonte.uol.com.br/codigo/js-dhtml/diversos/bloquear-a-acao-de-algumas-teclas. Só fazer os ajustes necessários.

Valeu! Estou tentando… Mas… o KeyCode da tecla J é 106 ou 47 ?

Hum… agora estou com outro problema:

Error Traced[line: 46] The entity name must immediately follow the ‘&’ in the entity reference.

Minha função está assim:

function Verificar(){   // Verificação das Teclas
                var tecla=window.event.keyCode;
                var ctrl=window.event.ctrlKey;    //  Para Controle da Tecla CTRL

                if (ctrl && tecla==106)    //Evita teclar ctrl + j
                {
                    event.keyCode=116;
                    event.returnValue=false;
                }
            }

Essa function aqui funcionou. Pelo menos funcionou tentando pressionar ctrl + j manualmente. Resta saber se com o leitor tbm vai funfar.

function bloquear_ctrl_j(){
	if (window.event.ctrlKey && window.event.keyCode == 74){
		event.keyCode = 0;
		event.returnValue = false;
	}
}

Depois só colocar onKeyDown=“bloquear_ctrl_j()” no campo.

Todo código JavaScript deve ficar dentro de um

http://codare.net/2006/10/03/javascript-validacao-dentro-do-xhtml-com-cdata/

Funcionou! No fim, ficou assim:

[code]function bloquearCtrlJ(){ // Verificação das Teclas
var tecla=window.event.keyCode; //Para controle da tecla pressionada
var ctrl=window.event.ctrlKey; //Para controle da Tecla CTRL

            if (ctrl && tecla==74){    //Evita teclar ctrl + j
                event.keyCode=0;
                event.returnValue=false;
            }
        }[/code]

<p:inputText value="#{vendaCondicionalMB.codigoEan}" size="59" id="cod_ean" onkeydown="bloquearCtrlJ();"/>

Com isso da pra fazer a leitura dos códigos de barras no Google Chrome sem problemas :lol:

Obrigado pela ajuda :lol:

Estou deixando este Comentário, para ajudar, quem tem este problema não vai alterar o código,
No navegador firefox exite um Complemento(Shortcuts) que posso configurar os atalhos do Firefox, no meu caso resolvi, alterando a tecla de atalho Ctrl + J para outra, agora quando faço a consulta
não abre a tela de download.

tem como me ajudar a inserir esse código no chrome…???

Suas informações estão corretas.
Meu leitor vem por padrão com o comando CR+LF, bastou configurá-lo para apenas CR eu não abriu mais a pagina de Downloads.
No meu caso segui estas dias para configurar http://dlaranj.com.br/blog/?p=21