我在菜单上遇到了一个奇怪的问题.当我回到一个包含了之后我点击它(或最小化它)的页面时,有时会崩溃并变得无法响应.我检查了所有代码,它是100%有效的,我进一步看到这种情况也发生在其他网站上.
我在最新版本的Safari(适用于OSX 10.6.8)以及最新版本的Chrome和Firefox(在Windows Vista和OSX 10.6.8上都经过测试)中体验过菜单折叠.奇怪的是,我无法重现在Windows 8上运行的Chrome中的崩溃......最后一点:看起来元素的长度会影响菜单崩溃的可能性(也就是说,元素中的元素越多),崩溃的可能性越大.有时菜单会在被选中并单击一次后崩溃,有时可能需要5次或6次尝试.
我的问题是:导致崩溃的原因是什么,是否有一个已知的工作?请看下面的示例代码,它非常简单,但是在我之前提到的浏览器/操作系统中菜单仍然崩溃了.提前致谢!
Select Test0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
更新:
这是在OSX 10.6.8上运行的Safari 5.1.9中折叠/无响应菜单的屏幕截图(这是一个与我之前使用的不同的mac).3次尝试后(选择一个选项,然后单击浏览器),它变得没有响应.单击时它不会显示选项列表,并且在重新加载页面之前完全没有响应.我马上就会在mac上下载chrome.
更新2:
根据@ webdad3,此问题也出现在IE9中
更新3:
这是我在上面发布的源代码的链接,但是在JSbin中.由@starbeamrainbowlabs友情提供.
更新4:
根据@ Zarazthuztra,OSX 10.8中也出现了这个问题.
更新5:
我正在接受@ cloudcoder2000的建议并在问题本身中发布此链接.我相信它表明a 不应该崩溃(就像我们许多人所经历的那样),无论它包含的数量是多少.
到目前为止,我还要感谢大家的帮助.
更新6:
我担心这个问题开始停滞不前......如果有人有任何关于造成这个问题的理论(无论看起来有多么"离谱")让我知道,我会测试它尽快.
更新7:请
确认:我在几个不使用Javascript的页面上遇到过这个崩溃问题.此外,上面发布的示例代码(不包含任何Javascript)已经为我和其他一些stackoverflow用户(跨不同的操作系统和浏览器)崩溃了.
更新8:
@Capile能够重现在Mac OS X 10.9.1上运行的Safari 7.0.1中的崩溃问题.
更新9:
通过使用@Capile的代码,我能够在Safari 5.1.10(在OSX 10.6.8上运行)中获得"uncollapse".请阅读他的答案以获取详细信息.我将在今天或明天晚些时候在Chrome和Firefox中测试他的代码.这真的很有希望,我想我们已经接近解决这个问题了.到目前为止,我再次感谢大家的帮助,你们真棒!
更新10:
我终于有机会在我的Snow Leopard(10.6.9)计算机上测试Chrome中的@Capile代码.这次让我崩溃有点麻烦,但经过几分钟的尝试,它终于做到了.将他的代码粘贴到控制台后"uncollapsed"(尽可能不优雅).这很奇怪,因为如果这个"崩溃"问题与系统级垃圾收集有关,那么人们会认为a 会在浏览器中相当一致地"崩溃",但事实并非如此.我已经测试了无数的浏览器(跨多个操作系统),并且"崩溃"在某些浏览器(例如Safari)中似乎非常普遍......我当然不是专家程序员所以我可能错了,但无论如何,我只是想更新这个问题,以便更多的人可以考虑新的信息.
更新11:
我刚刚为这个问题添加了一笔赏金,试图产生更多的兴趣(我希望它有所帮助).无论如何,我昨晚能够在最新版本的Firefox(在OSX 10.6.9上运行)中崩溃.遗憾的是我没有机会在Firefox中测试@Capile的代码,但我今天会尝试这样做.