代码之家  ›  专栏  ›  技术社区  ›  arbales

IE8抱怨Prototype,“'undefined'为空或不是对象”

  •  0
  • arbales  · 技术社区  · 16 年前

    我有一个动态创建的元素 new Element('div') 然后淡入、移动和淡出。在每个浏览器中,我的代码都按预期工作——除了IE之外,其他浏览器都是如此。

    Internet Explorer抱怨说 'undefined' is null or not an object 完全如记录在 Prototype's Lighthouse .

    为了得到错误,我写, new Message('Your contact information has been saved');

    my Message类的源代码位于 this gist .

    1 回复  |  直到 14 年前
        1
  •  2
  •   bobince    16 年前

    Undefined is null of not a object是一个非常基本的错误消息,可以在很多情况下生成(它是JScript有效的空指针异常等价物)。因此,您的错误不太可能与上面提到的相同。

    new Effect.Move(_div, {sync: true, x: '50%', y: 35, mode: 'relative' })
    

    如果我将%更改为正常的整数像素值,则效果良好。 x documented 仅接受整数值,不接受CSS度量;“%”在其他浏览器中也不适用(充当0)。我猜这是你编造的!

    正如Fabien提到的,您还需要插入一些 var 语句,否则您在全局上涂鸦,如果您尝试创建其中两个,消息将爆炸。另外,注意不要留下拖尾 , 在数组文本中(由于注释行),因为这会混淆IE。

    推荐文章