IE8抱怨Prototype,“'undefined'是null或者不是对象”

时间:2009-10-15 05:56:09

标签: javascript internet-explorer prototypejs scriptaculous

我有一个用new Element('div')动态创建的元素,然后淡入,移动和淡出。在每个浏览器中,我的代码按预期工作 - 每个浏览器,但IE。

Internet Explorer完全按照Prototype's Lighthouse中的说明抱怨'undefined' is null or not an object

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

我的Message类的源代码位于this gist

1 个答案:

答案 0 :(得分:2)

“Undefined is null of not object”是一个非常基本的错误消息,可以在很多情况下产生(它是JScript的有效等效空指针异常)。所以你不太可能出现与上面提到的相同的错误。

我没有得到那个错误。我得到“无效的参数”,这似乎是由以下原因引起的:

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

如果我将%更改为正常的整数像素值,它可以正常工作。 x documented仅接受整数值而非CSS测量; '%'在其他浏览器中也不适合我(充当0)。我猜你已经把这个功能搞定了!

正如Fabien所提到的,你还需要插入一些var语句,否则你会在全局语言上乱涂乱画,如果你试图创建其中两个语句,Message就会爆炸。另外注意不要在数组文字中留下尾随,(由于注释行),因为这会混淆IE。