Mudanças no Gecko 1.9 que afetam websites

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.

Eventos

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

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.

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 ( ) no Gecko 1.9.

DOM

WRONG_DOCUMENT_ERR

Nodes from external documents should be cloned using document.importNode() (or adopted using document.adoptNode()) before they can be inserted into the current document. For more on the Node.ownerDocument issues, see the W3C DOM FAQ.

Firefox doesn't currently enforce this rule (it did for a while during the development of Firefox 3, but too many sites break when this rule is enforced). We encourage Web developers to fix their code to follow this rule for improved future compatibility.

Alcances

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.

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.

HTML

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).


Categorias

Interwiki Language Links

Etiquetas do documento e colaboradores

Última atualização por: Sheppy,