2013-02-21 80 views
0

我有一个登录页面,当页面宽度超过767px时会加载正常,并将浏览器崩溃到低于该宽度。它只在加载低于这个宽度时崩溃,我可以在桌面宽度加载,然后缩小尺寸就好了。Bootstrap + Flexslider:在隐藏的元素中加载Flexslider会导致jQuery无响应

我有一个div与.visible-desktop,其中包含桌面登录和多余的东西,另一个.hidden-desktop只包含移动登录。多余的东西中的图像目前是404'。我会修复它,但它肯定不应该崩溃浏览器。

在服务器控制台中,404资产之前的资产加载并且没有其他事情发生。在浏览器中,页面无响应并崩溃。 Chrome现在crashs和FF说

A script on this page may be busy, or it may have stopped responding. You can stop the script now, or you can continue to see if the script will complete. 

Script: http://ccdev:3333/assets/jquery.js?body=1:6265 

更新: 使用Firebug将在jQuery的v1.8.2的线6348断点,单步,似乎它卡住了增加一些所谓的elems。有一步,价值将会像"<li><a>177085</a></li>",接下来它将是"<li><a>177086</a></li>",它永远不会离开那条线。有问题的线是

div.parentNode.removeChild(div); 
+0

我还没有在最小的用例中再现错误http://jsfiddle.net/archonic/qWLGn/5/ – Archonic 2013-02-21 17:46:01

+0

我已经缩小到bootstrap和flexslider之间的冲突。如果flexslider元素不是DOM的一部分,它不会初始化。然后,当引导程序试图删除flexslider的父元素时,会有一个无限循环尝试删除flexslider导航链接。 – Archonic 2013-02-21 19:37:43

+0

发现死链图与它无关。 – Archonic 2013-02-21 20:15:05

回答

0

这原来是Woothemes flexslider的问题。 jQuery无法删除由bootstrap隐藏的项目。如果以隐藏flexslider的宽度加载页面,jquery会有一个无限循环,这会导致浏览器挂起并崩溃。我发现修复here。只需用minItems: 1初始化flexslider即可。这应该是默认的!