Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
解决与Javascript的eval()函数的冲突_Javascript_Jquery_Conflict_Magento 1.9_Conflicting Libraries - Fatal编程技术网

解决与Javascript的eval()函数的冲突

解决与Javascript的eval()函数的冲突,javascript,jquery,conflict,magento-1.9,conflicting-libraries,Javascript,Jquery,Conflict,Magento 1.9,Conflicting Libraries,我正在尝试使用Jquery Sizzle和Jquery core的合并库combined.js设置响应菜单,它发布在这里: 但是当我把它包含在一个已经加载了很多脚本的页面中时,它的eval函数冲突并产生错误,比如jQuery(smartWizard)和PrototypeJS 产生的错误如下: TypeError: $(...) is null $('options_2_2').advaiceContainer = 'options-2-container';$('options_2_2').c

我正在尝试使用Jquery Sizzle和Jquery core的合并库
combined.js
设置响应菜单,它发布在这里:

但是当我把它包含在一个已经加载了很多脚本的页面中时,它的
eval
函数冲突并产生错误,比如jQuery(smartWizard)和PrototypeJS

产生的错误如下:

TypeError: $(...) is null
$('options_2_2').advaiceContainer = 'options-2-container';$('options_2_2').callb...
combined.js>第623行


它涉及eval函数,所以我不知道如何解决它。我认为jQuery noConflict在这里不起作用,但还是欢迎您提出建议。

我不知道这是临时解决方案还是永久解决方案(时间会告诉我们),但我通过在
eval
函数调用(在combined.js中)周围设置一个条件来解决冲突,如下所示:

if(t.indexOf("$('options_") == -1) {
  e.eval.call(e, t)
}
因为我确信我的菜单元素的class或id属性中都没有“options”


因此,我的冲突现在已经解决,但如果您有更好、更干净的永久解决方案,请随时发布您的答案。

它应该是$('.options_2_2')或$(''options_2_2'),这取决于options_2_2是类还是id,我就是这么想的think@BhawinParkeria正如我已经说过的,PrototypeJS也在页面中加载和使用,错误中的代码是PrototypeJS,其中
$('some')
表示id为'some'的元素