关于浏览器兼容性

碧海潮声吹玉箫 2013-03-14 10:11:49
dojo和jquery同时在IE内核用发生了冲突,
控制台没有任何错误信息,而且js插件也都加载进来了。
每次我断点调试的时候,提示进程被占用。不解!!
而在谷歌内核中完美运行。不知道有什么好的解决办法,求指教!
...全文
461 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 22 楼 jswatcher 的回复:
引用 15 楼 lmx1989219 的回复: <script type="text/javascript" djConfig="parseOnload: true,isDebug: false" src="js/dojo/doj…… …… 看了一下这段代码: Line 70: warning: 'settle' is undefin……
结贴!谢谢各位
jswatcher 2013-03-26
  • 打赏
  • 举报
回复
引用 15 楼 lmx1989219 的回复:
<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); 检查一下,这两个变量是否运行时前面定义了。(我想你大概是应该是在别处定义了,只是没有贴在这里)。
引用 17 楼 lmx1989219 的回复:
只有在IE内核上面出不来。很蛋疼的问题
引用 20 楼 lmx1989219 的回复:
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) {
  }
});
  • 打赏
  • 举报
回复
白天太忙没来得及回复大家。抱歉
  • 打赏
  • 举报
回复
引用 19 楼 jswatcher 的回复:
引用 15 楼 lmx1989219 的回复:/* * 导入dojo组件 * * */ //dojo.require("navigationGrid"); dojo.require("dijit.Tree"); dojo.require("dojo.data.ItemFileWriteStore"); dojo.require("dojo.data.……
dojo 1.8
jswatcher 2013-03-26
  • 打赏
  • 举报
回复
引用 15 楼 lmx1989219 的回复:
/* * 导入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 版本?
D_lady 2013-03-26
  • 打赏
  • 举报
回复
我以前同时用dwr和jquery也出现过这种情况,也是IE出不来效果,其他浏览器都可以。 网上查了下,说是 $ 符号被占用导致解析不了。要重写jquery或dwr的库重新定义一个符号。 但是jqeury的兼容性很强,一般不会出现什么兼容性问题。 后来在jsp页面把dwr和jquery的库导入顺序改了。结果就可以了
  • 打赏
  • 举报
回复
引用 16 楼 lmx1989219 的回复:
这个js的树控件不出来
. 只有在IE内核上面出不来。很蛋疼的问题
  • 打赏
  • 举报
回复
这个js的树控件不出来
  • 打赏
  • 举报
回复
引用 14 楼 jswatcher 的回复:
引用 13 楼 lmx1989219 的回复:<html> <head> <meta htt…… <script type="text/javascript" djConfig="parseOnload: true,isDebug: false" src="js/dojo/dojo.js"></script> <……

/*
 * 导入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");
  • 打赏
  • 举报
回复
引用 10 楼 jswatcher 的回复:
我常用 dojo. 有少数的浏览器兼容问题。你如给出更详细的信息(特别是只用dojo时的),或许可以帮忙。
<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>
jswatcher 2013-03-25
  • 打赏
  • 举报
回复
引用 13 楼 lmx1989219 的回复:
<html> <head> <meta htt…… <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 里没有任何 dojo binding attribute, 显然你的 dojo 的引用都在某个 js/mytools/xxxx.js 里,得看这部分才有可能分析。
  • 打赏
  • 举报
回复
引用 10 楼 jswatcher 的回复:
我常用 dojo. 有少数的浏览器兼容问题。你如给出更详细的信息(特别是只用dojo时的),或许可以帮忙。
周一发代码上来
  • 打赏
  • 举报
回复
引用 9 楼 danica7773 的回复:
不要先去怀疑别人,先确定自己有没有错 可能问题就在你眼皮底下,发现之后,你自己都有干掉自己的冲动
下周再去看看,放假了在家也没法连公司的服务器勒
jswatcher 2013-03-22
  • 打赏
  • 举报
回复
我常用 dojo. 有少数的浏览器兼容问题。你如给出更详细的信息(特别是只用dojo时的),或许可以帮忙。
打字员 2013-03-22
  • 打赏
  • 举报
回复
不要先去怀疑别人,先确定自己有没有错 可能问题就在你眼皮底下,发现之后,你自己都有干掉自己的冲动
  • 打赏
  • 举报
回复
引用 7 楼 danica7773 的回复:
把所有功都干掉,再一个个加回来,看看那个加了之后不正常 或者直接把你觉得没问题的干掉只留下可能有问题的功能,然后再调试!
难道是dojo版本问题吗?
打字员 2013-03-22
  • 打赏
  • 举报
回复
把所有功都干掉,再一个个加回来,看看那个加了之后不正常 或者直接把你觉得没问题的干掉只留下可能有问题的功能,然后再调试!
  • 打赏
  • 举报
回复
引用 5 楼 functionsub 的回复:
我赶脚是你在别的页面设了断点,跑到那里了,你就没管了。。
我不会范这样的错误
functionsub 2013-03-22
  • 打赏
  • 举报
回复
我赶脚是你在别的页面设了断点,跑到那里了,你就没管了。。
  • 打赏
  • 举报
回复
引用 1 楼 hch126163 的回复:
一个站点,只使用一个 js 库
我现在只用dojo还是不显示。 求解?
加载更多回复(3)

87,914

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧