javascript - IE8 提示 Prototype, "' undefined' 为 null 或不是对象”

标签 javascript internet-explorer prototypejs scriptaculous

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

Internet Explorer 提示“未定义”为 null 或不是对象,正如 Prototype's Lighthouse 上记录的那样。

为了得到错误,我写了,new Message('您的联系信息已保存');

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

最佳答案

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

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

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

如果我将 % 更改为正常的整数像素值,它就可以正常工作。 xdocumented仅接受整数值而不是 CSS 测量值; '%' 在其他浏览器中也不起作用(充当 0)。我猜你已经创建了这个功能!

正如 Fabien 提到的,您还需要插入一些 var 语句,否则您会在全局变量上乱写乱画,如果您尝试创建其中两个,则 Message 将会崩溃。另外,请注意不要在数组文字中留下尾随 , (由于注释行),因为这会使 IE 感到困惑。

关于javascript - IE8 提示 Prototype, "' undefined' 为 null 或不是对象”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1570519/

相关文章:

javascript - 基于过滤器显示数据 - react 待办事项列表

javascript - 在 TreeMap 中将文本元素对齐到中间

javascript - 有人可以向我解释为什么在脚本文件之前加载 CSS 文件时网页加载速度更快吗?

html - 为什么这个元素在 Firefox 中不呈现?

ajax - 如何返回 AJAX 响应文本?

jquery - 玛根托 : frontend form validation multiple input radio

javascript - 如何从前端访问环境变量

javascript - 使用 javascript 使无模式窗口表现得像模态窗口

html - Divs 在 IE 和 Firefox 中不合适

javascript - 单击观察器时隐藏图层