我在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的调用函数是定义的还是本机的?这应该是否足够?
答案 0 :(得分:0)
看一下here,这个问题在msdn论坛上受到了抨击。
此处why-dhtml-behavior-not-work-in-ie8-if-document-write-is-executed-in-head