日期:2014-05-16  浏览次数:20540 次

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

------解决方案--------------------
一个站点,只使用一个 js 库
------解决方案--------------------
估计不是dojo 与 jquery冲突,有可能jquery的$函数被别的其它函数覆盖了。
根据这个办法检查一下:
http://bbs.csdn.net/topics/390388107#post-393876366
看看是不是这个原因。
------解决方案--------------------
我赶脚是你在别的页面设了断点,跑到那里了,你就没管了。。

------解决方案--------------------
把所有功都干掉,再一个个加回来,看看那个加了之后不正常

或者直接把你觉得没问题的干掉只留下可能有问题的功能,然后再调试!


------解决方案--------------------
不要先去怀疑别人,先确定自己有没有错

可能问题就在你眼皮底下,发现之后,你自己都有干掉自己的冲动




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

------解决方案--------------------
引用:
/*
 * 导入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');
……


你的dojo 版本?
------解决方案--------------------
引用:
    <script type="text/javascript" djConfig="parseOnload: true,isDebug: false" 
        src="js/dojo/doj……
 ……


看了一下这段代码:
Line 70: warning: 'settle' is undefined.
dojo.addOnLoad(settle);

Line 85: warning: 'initUserList' is undefined.
dojo.addOnLoad(initUserList);

检查一下,这两个变量是否运行时前面定义了。(我想你大概是应该是在别处定义了,只是没有贴在这里)。


引用:
只有在IE内核上面出不来。很蛋疼的问题

引用:
dojo  1.8


关于 dojo.addOnLoad 我经历过一个 IE 专有的 bug. 但不是 dojo 1.8, 是更老的版本。
解决方法如下,供你参考:

把你的所有对 dojo.addOnLoad 的引用,加一个 wrapper 去 catch the exception

//假设你原有代码:
dojo.addOnLoad(foo);

//改为
dojo.addOnLoad(function(){
  try {
    foo();
  } catch(e) {
  }
});