仅限IE8 - 对象不支持属性或方法'小部件'

时间:2012-01-04 13:53:57

标签: javascript jquery internet-explorer-8

我收到与[jCoverflip] [1]相关的错误,只发生在IE8中。发生以下错误:

  

SCRIPT438:对象不支持属性或方法'小部件'   jquery.jcoverflip.js,第508行第1个字段

涉及以下代码:

$.widget( 'ui.jcoverflip', {

我在脚本之前都包含了jQuery和jQueryUI,而且脚本在所有其他浏览器中运行良好。

导致问题的原因是什么?

2 个答案:

答案 0 :(得分:5)

您似乎正在加载jquery两次:

<!-- First here -->
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="/./scripts/jquery-ui-1.7.2.custom.js"></script>
<!-- Then again here -->
<script type="text/javascript" src="/scripts/jquery.js"></script>

它们似乎分别是v1.3.2和v1.0.4(!)。这些 完全 已过期。我不知道jQuery UI 1.7.2的要求是什么,但我确信v1.0.4不会这样做。 v1.3.2可能,jQuery UI 1.7.2已经有几年了。 (您至少可以查看jQuery UI 1.7.3,which says它适用于jQuery v1.3.2。)

此外,您正在页面上使用MooTools,但我没有立即看到您在哪里调用jQuery.noConflict()(我没有深入挖掘所有内容)。这很可能是问题,MooTools和jQuery都试图使用$。为避免冲突,请在加载jQuery后立即执行此操作:

<script>
jQuery.noConflict();
</script>

答案 1 :(得分:2)

我有类似的问题。有jquery.ui.widget.js,不包括在内。包括它后,我的问题得到了解决。