Ticket #755 (closed defeito: fixed)

Opened 12 years ago

Last modified 11 years ago

Não envia e-mails assinado no IE

Reported by: kolling Owned by: kolling
Priority: grave Milestone: Expresso 2.0.6
Component: ExpressoMail Version: branch 2.0
Severity: Keywords: assinatura digital, IE, Internet Explorer
Cc: WorkGroup:

Description

No IE, quando o usuário marca a opção "Assinar Digitalmente?", ao enviar o e-mail, a janela do pin não aparece, e o e-mail é enviado sem ser assinado.

Possivelmente esse bug também ocorre na versão 2.0.

Attachments

draw_api.diff Download (4.7 KB) - added by kolling 11 years ago.
diff do arquivo /expressoMail1_2/js/draw_api.js no branch 2.0

Change History

comment:1 Changed 12 years ago by kolling

  • Status changed from new to assigned

comment:2 Changed 12 years ago by kolling

  • Status changed from assigned to closed
  • Resolution set to fixed

Correção na revisão [1653] do trunk.

comment:3 Changed 11 years ago by kolling

Bug ocorre no branch 2.0. Diff com a correção em anexo.

Changed 11 years ago by kolling

diff do arquivo /expressoMail1_2/js/draw_api.js no branch 2.0

comment:4 Changed 11 years ago by niltonneto

  • Version changed from trunk to branch 2.0
  • Milestone changed from Expresso 2.1 to Expresso 2.0.6

O código abaixo fez sumir o checkbox de confirmação de leitura no IE6 e IE7:

	if (is_ie)
	{
		var input_return_receipt = document.createElement('input name=input_return_receipt');
	}
	else
	{
		var input_return_receipt = document.createElement('input');
		input_return_receipt.name = "input_return_receipt";
	}

Não entendi porque foi alterado.....

comment:5 Changed 11 years ago by niltonneto

  • Status changed from closed to reopened
  • Resolution fixed deleted

comment:6 Changed 11 years ago by kolling

Por isso:

 MSDN page on the name attribute

"The NAME attribute cannot be set at run time on elements dynamically created with the createElement method. To create an element with a name attribute, include the attribute and value when using the createElement method.

It continued with the following example:

var oAnchor =

document.createElement("<A NAME='AnchorName?'></A>");"

Testando aqui no IE6 e no IE8, o checkbox de confirmação de leitura aparece normalmente. Independentemente do valor da preferência "permitir assinar/criptografar".

Um detalhe, eu tive problemas com o desaparecimento da última checkbox quando a preferência, "permitir assinar/criptografar" estava ativa. A solução foi adicionar a linha 2314. Tenta cortar o conteúdo desta linha e colar logo abaixo da chave na linha 2316, e vê se resolve.

comment:7 follow-up: ↓ 8 Changed 11 years ago by kolling

Descobri porque não estava funcionando para vocês. A linha 2314 só é executada se a opção de assinatura/criptografia estiver habilitada no header.inc.

Testei aqui e a solução apresentada no meu comentário anterior resolve o problema.

comment:8 in reply to: ↑ 7 Changed 11 years ago by niltonneto

Replying to kolling:

Descobri porque não estava funcionando para vocês. A linha 2314 só é executada se a opção de assinatura/criptografia estiver habilitada no header.inc.

Testei aqui e a solução apresentada no meu comentário anterior resolve o problema.

Fiz isto que você falou e realmente funcionou. Vou comitar em seguida. Sinceramente, depois dessas "gambis" que a Microsoft manda fazer funcionar no IE dá vontade de desistir de programar... Como que o pedaço do código 'td_return_receipt.innerHTML += "";' fez aparecer o checkbox? Acho que vou chamar o Mr. M...

comment:9 Changed 11 years ago by niltonneto

Patch "draw_api.diff" foi aplicado no Branch 2.0 [2675]. Kolling, por favor, comite esta correção que faz aparecer o checkbox também no Trunk. Obrigado.

comment:10 Changed 11 years ago by kolling

  • Status changed from reopened to closed
  • Resolution set to fixed

Commit no trunk [2681].

Note: See TracTickets for help on using tickets.