0

Web アプリケーションにダイナツリーを実装しました。ダイナツリーは JSON オブジェクトを使用してサーバーから生成されます。Dynatree は Firefox、Safari、Chrome、Opera (最新バージョン) で完全に動作しますが、IE9 で開くと、ページを更新した後、またはデバッグ モードを開始した後にツリーをロードすることしかできません。コンソール、スクリプトで間違いを見つけることができません....何か提案はありますか? 同じ問題を抱えている人?コード:

function hacerPeticion(url, callback){
                var request;
                if(window.XMLHttpRequest){
                    request = new XMLHttpRequest();
                }else{
                    request = new ActiveXObject("Microsoft.XMLHTTP"); 
                }
                request.onreadystatechange = function(){
                    if (request.readyState == 4 && request.status == 200){
                        callback(request);
                    }
                }
                request.open("GET", url, true);
                request.send();
            }

関数の使用:

hacerPeticion('/ServiciosWeb/Zonas.jsp', function(data){
                var data = JSON.parse(data.responseText);
                var arbol = data;
                eval('var obj='+arbol);
                console.log(obj);
           $(function(){
                    $("#tree3").dynatree({
                        checkbox: true,
                        selectMode: 3,
                        children: obj,
                        onSelect: function(select, node) {

                            if(!select){
                                if(node.data.key=="zonas"){
                                    control=false;
                                    cargaMapaCYL(map, control);
                                }
                                if(node.data.key=="ast"){
                                    control=false;
                                    cargaMapaAst(map, control);
                                }
                            /*Nodos seleccionados*/
                            if(select){
                                if(node.data.key=="zonas"){
                                    control=true;
                                    cargaMapaCYL(map, control);
                                }
                                if(node.data.key=="ast"){
                                    control=true;
                                    cargaMapaAst(map, control);
                                }
                            }

                        onDblClick: function(node, event){
                            node.toggleSelect();
                        },
                        onKeydown: function(node, event) {
                            if( event.which == 32 ) {
                                node.toggleSelect();
                                return false;
                            }
                        }
                    });

前もって感謝します。

4

1 に答える 1

0

だから.....、問題はこの行にあります:

console.log(obj);

この行を廃止すると、すべて正常に動作します。

于 2012-05-02T11:10:22.013 に答える