dojo和jquery同时在IE内核用发生了冲突,
控制台没有任何错误信息,而且js插件也都加载进来了。
每次我断点调试的时候,提示进程被占用。不解!!
而在谷歌内核中完美运行。不知道有什么好的解决办法,求指教!浏览器dojoiegooglejquery

解决方案 »

  1.   

    估计不是dojo 与 jquery冲突,有可能jquery的$函数被别的其它函数覆盖了。
    根据这个办法检查一下:
    http://bbs.csdn.net/topics/390388107#post-393876366
    看看是不是这个原因。
      

  2.   

    现在把其他组件全部delete掉了
    ,项目里面只有dojo,还是在IE不显示、
    求解??
      

  3.   

    我现在只用dojo还是不显示。
    求解?
      

  4.   

    我常用 dojo. 有少数的浏览器兼容问题。你如给出更详细的信息(特别是只用dojo时的),或许可以帮忙。
      

  5.   

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>管理员页面</title>
    </head>
    <LINK href="css/images/Default.css" type=text/css rel=stylesheet>
    <LINK href="css/images/xtree.css" type=text/css rel=stylesheet>
    <LINK href="css/images/User_Login.css" type=text/css rel=stylesheet>
    <style type="text/css">
    @import "js/dojo/resources/dojo.css";
    @import "js/dijit/themes/tundra/tundra.css";
    @import "js/dojox/grid/resources/tundraGrid.css";</style>
    <script type="text/javascript" djConfig="parseOnload: true,isDebug: false" 
    src="js/dojo/dojo.js"></script>
    <script type="text/javascript" src="js/mytools/navigationGrid.js"></script>
    <script type="text/javascript" src="js/mytools/myBlockUI.js"></script>
    <script type="text/javascript" src="js/mytools/util.js"></script>
    <script type="text/javascript" src="js/mytools/init.js"></script>
    <script type="text/javascript" src="js/mytools/user.js"></script>
    <script type="text/javascript" src="js/mytools/settle.js"></script>

    <body class="tundra" id="userOperation_body">
    <table border="1" width="1480px" height="906px">
    <tr>
    <td width="56px">
    <div style="margin-top:-425px"><div id="tree"></div></div>
    </td>
    <td width="1050px">
    <div id="user" style="display: block;margin-left:50px;margin-top: -362px"></div>
    <div id="settle" style="display: block;margin-left:50px;margin-top: -320px"></div>
    <div id="test" style="display: block;margin-left:50px;margin-top: -320px"></div>
    </td>
    </tr>
    </table>
    </body>
    </html>
      

  6.   


    在 body 里没有任何 dojo binding attribute, 显然你的 dojo 的引用都在某个 js/mytools/xxxx.js 里,得看这部分才有可能分析。
      

  7.   


    /*
     * 导入dojo组件
     * 
     * */
    //dojo.require("navigationGrid");
    dojo.require("dijit.Tree");
    dojo.require("dojo.data.ItemFileWriteStore");
    dojo.require("dojo.data.ItemFileReadStore");
    dojo.require("dijit.form.FilteringSelect");
    dojo.require("dojo.parser");
    dojo.require('dijit.Dialog');// 首页初始化
    function init() {
    var treeData = {
    items : [ {
    id : '1',
    name : '管理员选项',
    type : 'one',
    children : [ {
    _reference : '1_1'
    }, {
    _reference : '1_2'
    } ]
    }, {
    id : '1_2',
    name : '结算管理',
    type : 'two'
    }, {
    id : '1_1',
    name : '用户管理',
    type : 'two'
    }, {
    id : '2',
    name : '二级选项',
    type : 'one'
    }, {
    id : '3',
    name : '一级选项',
    type : 'one'
    } ],
    identifier : 'id',
    label : 'name'
    };
    var treeStore = new dojo.data.ItemFileReadStore( {
    data : treeData
    });
    var _tree = new dijit.Tree( {
    id : 'tree',
    store : treeStore,
    query : {
    type : 'one'
    },
    labelAttr : 'id',
    typeAttr : 'type'
    }, dojo.byId('tree'));
    }
    function openNode(msg) {
    var node = msg.node;
    if (msg.event == "toggleOpen")
    return;
    if (node.label == '结算管理') {
    dojo.xhrGet( {
    url : "settle.html",
    load : function(response, ioArgs) {
    try {
    dojo.query("#user")[0].style.display = "none";
    dojo.query("#settle")[0].style.display = "block";
    dojo.query("#settle")[0].innerHTML = response;
    dojo.addOnLoad(settle);
    return response;
    } catch (e) {
    console.info(e + '');
    }
    }
    });
    } else if (node.label == '用户管理') {
    dojo.xhrGet( {
    url : "user.html",
    load : function(response, ioArgs) {
    try {
    dojo.query("#settle")[0].style.display = "none";
    dojo.query("#user")[0].style.display = "block";
    dojo.query("#user")[0].innerHTML = response;
    dojo.addOnLoad(initUserList);
    return response;
    } catch (e) {
    console.info(e + '');
    }
    }
    }); } else if (node.label == '一级选项') {
    }
    }
    dojo.addOnLoad(init);
    dojo.subscribe("tree", null, "openNode");
      

  8.   

    我以前同时用dwr和jquery也出现过这种情况,也是IE出不来效果,其他浏览器都可以。
    网上查了下,说是 $ 符号被占用导致解析不了。要重写jquery或dwr的库重新定义一个符号。
    但是jqeury的兼容性很强,一般不会出现什么兼容性问题。
    后来在jsp页面把dwr和jquery的库导入顺序改了。结果就可以了
      

  9.   


    看了一下这段代码:
    Line 70: warning: 'settle' is undefined.
    dojo.addOnLoad(settle);Line 85: warning: 'initUserList' is undefined.
    dojo.addOnLoad(initUserList);检查一下,这两个变量是否运行时前面定义了。(我想你大概是应该是在别处定义了,只是没有贴在这里)。关于 dojo.addOnLoad 我经历过一个 IE 专有的 bug. 但不是 dojo 1.8, 是更老的版本。
    解决方法如下,供你参考:把你的所有对 dojo.addOnLoad 的引用,加一个 wrapper 去 catch the exception//假设你原有代码:
    dojo.addOnLoad(foo);//改为
    dojo.addOnLoad(function(){
      try {
        foo();
      } catch(e) {
      }
    });