Jquery 我有一句话:“我有一句话。”;TypeError:Window.getComputedStyle的参数1不是对象;但是不能把它孤立起来
Pre:我很确定,Firefox有一个微妙的bug,但我无法将其孤立,我请求帮助实现这一点 所以这很奇怪: 下面的‘问题’:我扩展了我的(ruby)页面以获取欧盟cookie的故事,但这不是重点;我现在的情况是,几乎所有的浏览器和页面都可以使用 除了在FireFox上的一个页面上,我得到了Jquery 我有一句话:“我有一句话。”;TypeError:Window.getComputedStyle的参数1不是对象;但是不能把它孤立起来,jquery,firefox,Jquery,Firefox,Pre:我很确定,Firefox有一个微妙的bug,但我无法将其孤立,我请求帮助实现这一点 所以这很奇怪: 下面的‘问题’:我扩展了我的(ruby)页面以获取欧盟cookie的故事,但这不是重点;我现在的情况是,几乎所有的浏览器和页面都可以使用 除了在FireFox上的一个页面上,我得到了“TypeError:Window.getComputedStyle的参数1不是对象。”其他页面按预期工作(相同的模板,相同的逻辑) 仅当我使用$().show()和css:display:none时,才会出现
“TypeError:Window.getComputedStyle的参数1不是对象。”
其他页面按预期工作(相同的模板,相同的逻辑)
仅当我使用$().show()
和css:display:none时,才会出现此错误代码>在一起。如果我备注显示:无示例代码>无错误,如果我备注(或删除).show()
:无错误
我已经找到了一个解决方法,(我使用了可见性:隐藏;
,但我仍然确信,这不是我的错,我应该告诉FF bug Fixed,但我只能在我的主页上重现错误(尚未联机)
我没有其他错误
css如下所示:(节选)
jquery如下所示:(摘录和解决方法在这里)
有什么办法可以解决这个问题吗
编辑:
sry,忘记:在windows 7/64上FF是29.0.1
编辑添加的调试信息
如果display:none;
function css_defaultDisplay( nodeName ) {
var doc = document,
display = elemdisplay[ nodeName ];
if ( !display ) {
display = actualDisplay( nodeName, doc );
在那里,它尝试创建div
// Called ONLY from within css_defaultDisplay
function actualDisplay( name, doc ) {
var elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ),
display = jQuery.css( elem[0], "display" );
创建自身的副本(?)
返回到实际显示,其中elem现在是一个空对象,因此elem[0]
也是未定义的
有未定义的元素
getStyles(elem=undefined)jquery.js?body=1
curCSS(elem=undefined, name="display", _computed=undefined)jquery.js?body=1
css(elem=undefined, name="display", extra=undefined, styles=undefined)jquery.js?body=1
使用firebug在错误处设置断点,重新加载页面,然后查看作为第二个参数传递的内容以及从何处传递。或者学习google查找错误:@Anthony:I wave there“我可以非常频繁地在本地复制此错误(10次中有2-4次)。但是在从弹出窗口拦截器获取按钮之前进行睡眠(500次),失败就消失了。”,我的页面上有100%的内容,并且没有计时问题(这不正常)@Anthony:它在窗口停止。getComputedStyle(elem,null);
并且elem是未定义的@halbit ok,在这种情况下elem
来自哪里?
// Called ONLY from within css_defaultDisplay
function actualDisplay( name, doc ) {
var elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ),
display = jQuery.css( elem[0], "display" );
// Define a local copy of jQuery
jQuery = function( selector, context ) {
// The jQuery object is actually just the init constructor 'enhanced'
return new jQuery.fn.init( selector, context, rootjQuery );
},
getStyles(elem=undefined)jquery.js?body=1
curCSS(elem=undefined, name="display", _computed=undefined)jquery.js?body=1
css(elem=undefined, name="display", extra=undefined, styles=undefined)jquery.js?body=1
actualDisplay(name="div", doc=Document ?locale=de)jquery.js?body=1
css_defaultDisplay(nodeName="div")jquery.js?body=1
showHide(elements=Object[div#site-cookie-alarm], show=true)jquery.js?body=1
show()jquery.js?body=1
(?)(speed=undefined, easing=undefined, callback=undefined)jquery.js?body=1
step_through(step_number=0)site_c...?body=1
(?)()?locale=de (Zeile 4)