在我的项目中,我已经使用 DWR 几个月了。我尝试在我的一个 jsp 中使用 dwr 的 util.js,但奇怪的是,当我包含 util.js(版本 2.0.1)时,没有其他 javascript 在 Internet Explorer 中工作(在 mozilla 中工作正常)。
我正在尝试使用 util.js 操作表,如此处所述,更令人惊讶的是,我什至看不到链接在 Internet Explorer 中运行良好。
有没有人遇到过这个。有什么帮助吗?
谢谢!
在我的项目中,我已经使用 DWR 几个月了。我尝试在我的一个 jsp 中使用 dwr 的 util.js,但奇怪的是,当我包含 util.js(版本 2.0.1)时,没有其他 javascript 在 Internet Explorer 中工作(在 mozilla 中工作正常)。
我正在尝试使用 util.js 操作表,如此处所述,更令人惊讶的是,我什至看不到链接在 Internet Explorer 中运行良好。
有没有人遇到过这个。有什么帮助吗?
谢谢!
您是否还使用 jQuery、Prototype 或其他使用 $ 函数的 JavaScript 语言?
DWR Alias 的 2.x 版本dwr.util.byId
为“ $
”(已弃用,因为它不如$
jQuery、Prototype 或类似中的强大/有用)。
他们试图变得聪明,只做别名,如果$
没有预先定义,但检查逻辑有缺陷。
我想一开始他们是这样做的:
if(!$){
//... alias it
}
但后来有人意识到,如果$
没有定义,这会抛出一个错误,所以它被提交为:
var $;
if(!$){
//... alias it
}
这在 Firefox 中运行良好,因为它没有声明 的值$
,只是它存在。
但是在 Internet Explorer 中,var 语句重新定义$
为 (nothing)... 因此在运行 if() 测试时它不存在...
检查 3.x (RC) 代码,他们为了更稳定而放弃了这个测试:
if(window['$'] == null){
//... alias it
}
在 Firefox 和 Internet Explorer(以及 AFAIK 所有其他浏览器)中运行良好...只需更新util.js
您的dwr.jar
.
我还应该注意:包含库的顺序将决定哪一个获得$
函数的所有权。
例如,要让 jQuery 拥有它,请执行以下操作:
<script src="jQuery"...></script>
<script src="dwr/util.js"...></script>
要让 DWR 拥有它,请务必为 jQuery 设置 noConflict 标志
<script src="jQuery"...></script>
<script>jQuery.noConflict();</script>
<script src="dwr/util.js"...></script>