Visit Mozilla.org

Mudanças no Gecko 1.9 que afetam websites

De MDC

Esta página tenta dar uma introdução das mudanças entre o Gecko 1.8 e o Gecko 1.9, que poderia possivelmente afetar websites em seu comportamento ou interpretação. Veja também Firefox 3 para desenvolvedores.

Tabela de conteúdo

[editar] Eventos

[editar] Capturando ouvintes de carregamento de eventos

No Gecko 1.8, não era possível configurar a captura de ouvintes de carregamento de eventos em imagens. No Gecko 1.9, isto foi corrigido por bug 234455. Mas isto pode causar problemas em websites que tenham seus ouvintes de eventos incorretamente configurados para capturar o carregamento de evento. Veja a discussão em bug 335251. Para corrigir este problema, a página problemática em questão não deve configurar uma captura de ouvintes de carregamento de eventos.

Por exemplo, isto:

window.addEventListener('load', yourFunction, true);

deve ser mudado nisto:

window.addEventListener('load', yourFunction, false);

Para uma explanação de como eventos de captura trabalham, veja DOM Level 2 Event capture

[editar] preventBubble foi removido

No Gecko 1.8, o método preventBubble existia em eventos para previnir eventos de "borbulhar para cima". No Gecko 1.9 este método foi removido. Dessa forma, você deve usar o padrão stopPropagation(), o qual também trabalha bem no Gecko 1.8. O patch em bug 330494 fez isto acontecer. Veja também bug 105280.

[editar] Algumas outras APIs de evento antigas não são mais suportadas

window.captureEvents, window.releaseEvents, e window.routeEvent são são mais suportadas (Predefinição:obsolete inline) no Gecko 1.9.

[editar] DOM

[editar] WRONG_DOCUMENT_ERR

DOM:WRONG DOCUMENT ERR note

[editar] Alcances

[editar] intersectsNode foi removido

No Gecko 1.8 a função do código intersectsNode é usada para testar se um nó intercepta um alcance. Entretanto os valores de retorno desta função estavam confusos e raramente eram úteis, conseqüentemente foram removidos no Gecko 1.9. Dessa forma use a função mais precisa e padrão compareBoundaryPoints. O patch em bug 358073 removeu esta função.

Veja a documentação para intersectsNode para como usar compareBoundaryPoints em vez disso.

[editar] compareNode foi removido

No Gecko 1.8 a função do código compareNode é usada para testar como um nó intercepta um alcante. Entretanto os valores de retorno desta função estavam confusos e raramente eram úteis, conseqüentemente foram removidos no Gecko 1.9. Em vez disso use a função mais precisa e padrão compareBoundaryPoints. O patch em bug 358073 removeu esta função.

Veja a documentação para compareNode para como usar compareBoundaryPoints em vez disso.

[editar] HTML

[editar] Muitos bugs em <object> foram corrigidos

Os elementos object e embed não precisam mais do atributo type para interpretar. Mudando o atributo src (de <embed>) ou o atributo data (de <object>) via JavaScript agora trabalha corretamente. O cabeçalho Conteúdo-Tipo enviado pelo servidor (se algum) agora toma procedências sobre o atributo type de um elemento <object> de acordo com a especificação HTML. (este não é o caso de embed).