Javascript jquery noConflict仅在IE8中不起作用

Javascript jquery noConflict仅在IE8中不起作用,javascript,internet-explorer-8,jquery,Javascript,Internet Explorer 8,Jquery,我有一个使用prootype框架的网站,我希望使用jquery插件。在IE8中,一切都不起作用。它在ie7中工作,这让我很惊讶。知道怎么回事吗 IE8给我的对象不支持此属性或方法,其中行jQuery.noConflict();是 jQuery.noConflict(); 功能开放(sURL){ 打开(sURL,null,'height=560,width=820,status=yes,toolbar=yes,menubar=yes,location=yes,resizeable=yes,scr

我有一个使用prootype框架的网站,我希望使用jquery插件。在IE8中,一切都不起作用。它在ie7中工作,这让我很惊讶。知道怎么回事吗

IE8给我的对象不支持此属性或方法,其中行jQuery.noConflict();是


jQuery.noConflict();
功能开放(sURL){
打开(sURL,null,'height=560,width=820,status=yes,toolbar=yes,menubar=yes,location=yes,resizeable=yes,scrollbars=yes',false);
}
jQuery(文档).ready(函数($){
$(“标题”)。附加(“”);
css=$(“head”).children(“:last”);
css.attr({
rel:“样式表”,
键入:“文本/css”,
href:“/my/docs/jquery.simplyscroll.css”
});
$(“#滚动条”).simplyScroll({
自动模式:“循环”,
帧率:1,
速度:1
});
});
我还厌倦了以下内容:
var$j=jQuery.noConflict();var j=jQuery.noConflict()


任何东西都不能单独在IE8中工作。

我过去遇到过一个类似的问题,并通过使用emulate ie7 meta标签解决了这个问题

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />


不过,我不确定这是否是最好的解决办法。

我过去在安装了多个IE版本的机器上使用IE8时遇到过奇怪的问题。在我的例子中,当我试图通过javascript在新窗口中打开链接时,出现了一个错误。同样的代码在IE6和IE7上运行良好,一台只安装了IE8的机器也运行良好。

我还发现了这个问题。我修复它的方法是将jQuery升级到1.4。版本1.3.2与IE8上的较新原型一起失败。很抱歉,这个答案太晚了。

我也在使用jQuery-1.4.4.js时遇到了这个问题。除了在IE8中,一切都正常。IE8无法识别jQuery()任何内容。在加载Prototype之前,我可以通过加载jQuery并运行$.noconflict()来解决这个问题,并且它在包括IE8在内的所有测试浏览器上都运行良好。这个顺序与jQuery文档相反,因此我对此感到紧张。在jQuery网站上找不到关于它的任何信息


t22harris

我在1.4.4和1.4.3在原型之后加载jquery时有完全相同的错误,并且仅在IE8中,甚至在Ie7或Ie6中都没有
Jquery 1.4为我解决了这个问题。

对于IE8(这是唯一有问题的浏览器)和其他浏览器,我能够解决这个问题的唯一方法是在初始化另一个库后立即将Jquery和noConflict()调用放到头部。像这样:

var$j=jQuery.noConflict()


。。。然后是使用jQuery或Prototype的任何其他脚本。

我也遇到了类似的问题。我目前使用的解决方案是将$variable保存在一个临时变量中,加载jquery(我从js代码加载jquery),运行jquery相关代码(使用jquery.noConflict),将$variable设置回原处

它很脏,但似乎对我起了作用

我添加jquery(如有必要)的函数是:

loadToHead只是将脚本加载到head标记的某个位置,并在加载脚本时运行回调函数


我在网上找到的大部分代码都是tweek。不幸的是,到目前为止,我不记得该在哪里给积分。

只是遇到了同样的问题。IE 8不喜欢:

var jQuery = jQuery.noConflict();
将其更改为:

var jq = jQuery.noConflict();

很好。

你能展示完整的代码,包括jquery和noconflict插件的位置吗?我编辑代码。我在主体中有脚本src with。如果延迟调用noConflict(),则可能会发生这种情况。另请参见(在发表此评论时等待适度)不要将此视为个人行为,但这是一个糟糕的想法。“noConflict”函数在IE8中运行良好。我可以确认,在第一次加载Prototype时,我在IE8下的jQuery 1.4.4中遇到了空对象错误。我现在先加载jQuery,然后立即执行
noConflict()
,现在我的应用程序又开始工作了!谢谢,在其他lib为我解决问题之前,移动jQuery和
$.noConflict()
调用。同样的问题和解决方案也适用于jQuery-1.5。在我看来,它似乎与文档有关。IE的就绪检测。。
var jQuery = jQuery.noConflict();
var jq = jQuery.noConflict();