在IE8中,JQuery.isFunction不会将document.write报告为函数

时间:2012-11-01 11:53:54

标签: jquery internet-explorer sinon

我在IE8中尝试了 jQuery.isFunction(document.write),并返回 false

这些是我注意到的一些事情。 1. document.write.constructor 未定义 2. typeof document.write 对象

我在使用Sinon在document.write上创建存根时知道了这个问题,它引发了一个异常,说明尝试将对象属性包装为函数

虽然,我可以通过绕过对document.write的检查来解决这个问题,但我只是想知道它是JQuery中的错误还是故意的(尽管看起来不是这样)。

另外,我检查了JQuery代码,并简单检查了 $。调用(a)===“[对象功能]”,在IE8(很可能是其他版本)的情况下失败了。

还有一件事,为什么我们不能只检查document.write的调用函数是定义的还是本机的?这应该是否足够?

1 个答案:

答案 0 :(得分:0)

  1. 看一下here,这个问题在msdn论坛上受到了抨击。

  2. 此处why-dhtml-behavior-not-work-in-ie8-if-document-write-is-executed-in-head