Ticket #755 (closed defeito: fixed)
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
Change History
comment:2 Changed 14 years ago by kolling
- Status changed from assigned to closed
- Resolution set to fixed
Correção na revisão [1653] do trunk.
Changed 14 years ago by kolling
- attachment draw_api.diff added
diff do arquivo /expressoMail1_2/js/draw_api.js no branch 2.0
comment:4 Changed 14 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 14 years ago by niltonneto
- Status changed from closed to reopened
- Resolution fixed deleted
comment:6 Changed 14 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 14 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 14 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 14 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 14 years ago by kolling
- Status changed from reopened to closed
- Resolution set to fixed
Commit no trunk [2681].