Pergunta

Eu tenho um script que (eu acho) precisa usar surroundContents para embrulhar a área de seleção. Fazer isso permite-me acrescentar algo, e então transferir o intervalo como a selecção.

Eu acredito que eu já reduzi o problema a um desvio de getRangeAt, mas não tenho certeza de como corrigi-lo.

Aqui está a breve trecho de código:

        function getRangeObject(selectionObject) {
        // Moz
        if (selectionObject.getRangeAt) {
            return selectionObject.getRangeAt(0);
        }

E está aqui linha 89, onde ele lança um erro para mim:

rangeObject.surroundContents(newNode);

E, claro, aqui está o erro:

Erro: exceção não capturada: [Exception ... "O limite de pontos de uma gama não atende específica requisitos "de código: " 1" nsresult: "0x805c0001 (NS_ERROR_DOM_RANGE_BAD_BOUNDARYPOINTS_ERR)" localização: " http://www.latentmotion.com/insertNode/index26.html Linha: 89" ]

Se é útil ver a coisa toda, você pode ver o script (até agora) aqui: http://www.latentmotion.com/insertNode/index26.html

E o ajudante seleção de texto que eu estava saindo da era quirksmode - que não detalha o uso de vários intervalos localizado aqui .

Agradecemos antecipadamente a sua ajuda.

Foi útil?

Solução

Eu acho que a mensagem de erro descreve bem o problema. Esta seção do DOM Faixa especificação descreve o que leva a uma exceção sendo lançada por um Range ao usar surroundContents.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top