问题
I have a jQueryMobile website that is freezing up on IE10 (all other browsers appear to be okay). The behavior is strikingly similar to whats recorded here (https://github.com/jquery/jquery-mobile/issues/5695). I've taken a profile trace of the app at the time it happens, and it looks a bit like this (ordered by Inclusive time).
Here's a link to the full csv export of the profile (http://db.tt/JFTFyeGP)
handle 135,142 68,758.53 1,018.14 https://webstore.revtrak.com/Portal/Scripts/jquery-1.9.1.js 2,746
Function.apply 1,125,502 68,408.73 1,035.73
dispatch 135,142 68,005.18 550.11 https://webstore.revtrak.com/Portal/Scripts/jquery-1.9.1.js 3,035
fn 44,975 63,690.31 65.47 https://webstore.revtrak.com/Portal/Scripts/jquery-1.9.1.js 3,613
each 180,179 63,651.23 1,053.31 https://webstore.revtrak.com/Portal/Scripts/jquery-1.9.1.js 619
Function.call 1,127,413 63,538.86 119.21
trigger 135,319 58,534.15 1,247.76 https://webstore.revtrak.com/Portal/Scripts/jquery-1.9.1.js 2,901
Anonymous function 89,970 53,944.71 135.82 https://webstore.revtrak.com/Portal/Scripts/jquery-1.9.1.js 7,400
Anonymous function 44,972 53,908.56 9.77 https://webstore.revtrak.com/Portal/Scripts/jquery.mobile-1.3.0.js 7,247
Anonymous function 90,044 53,891.95 693.74 https://webstore.revtrak.com/Portal/Scripts/jquery-1.9.1.js 3,676
trigger 44,973 48,471.98 37.13 https://webstore.revtrak.com/Portal/Scripts/jquery-1.9.1.js 3,268
blur 44,973 48,395.76 10,987.49
handlerProxy 134,943 21,274.40 667.36 https://webstore.revtrak.com/Portal/Scripts/jquery.mobile-1.3.0.js 744
Event 270,452 19,937.73 1,785.16 https://webstore.revtrak.com/Portal/Scripts/jquery-1.9.1.js 3,332
proxy 134,955 18,110.55 80.12 https://webstore.revtrak.com/Portal/Scripts/jquery-1.9.1.js 817
Anonymous function 134,979 18,067.56 55.70 https://webstore.revtrak.com/Portal/Scripts/jquery.mobile-1.3.0.js 444
_handleDocumentFocusIn 134,943 17,838.92 206.17 https://webstore.revtrak.com/Portal/Scripts/jquery.mobile-1.3.0.js 7,237
Date 135,239 17,297.60 17,297.60
each 90,010 13,440.99 17.59 https://webstore.revtrak.com/Portal/Scripts/jquery-1.9.1.js 269
Anonymous function 44,980 10,692.41 55.70 https://webstore.revtrak.com/Portal/Scripts/jquery-ui-1.10.2.js 45
fix 135,142 9,716.28 3,195.12 https://webstore.revtrak.com/Portal/Scripts/jquery-1.9.1.js 3,141
off 89,968 9,639.09 46.90 https://webstore.revtrak.com/Portal/Scripts/jquery-1.9.1.js 3,628
Anonymous function 44,993 9,427.06 697.65 https://webstore.revtrak.com/Portal/Scripts/jquery-1.9.1.js 3,655
remove 44,995 8,729.41 179.79 https://webstore.revtrak.com/Portal/Scripts/jquery-1.9.1.js 2,828
acceptData 318,033 8,095.27 3,306.51 https://webstore.revtrak.com/Portal/Scripts/jquery-1.9.1.js 1,771
_data 271,656 7,927.21 31.27 https://webstore.revtrak.com/Portal/Scripts/jquery-1.9.1.js 1,762
internalData 272,805 7,911.58 377.16 https://webstore.revtrak.com/Portal/Scripts/jquery-1.9.1.js 1,551
_removeData 22,490 6,657.96 5.86 https://webstore.revtrak.com/Portal/Scripts/jquery-1.9.1.js 1,766
internalRemoveData 22,492 6,652.10 34.20 https://webstore.revtrak.com/Portal/Scripts/jquery-1.9.1.js 1,645
cleanData 22,492 6,584.68 14.66 https://webstore.revtrak.com/Portal/Scripts/jquery.mobile-1.3.0.js 378
nodeType 2,058,434 5,745.35 5,745.35
And here's the top few when sorted by Exclusive time:
Date 135,239 17,297.60 17,297.60
blur 44,973 48,395.76 10,987.49
nodeType 2,058,434 5,745.35 5,745.35
acceptData 318,033 8,095.27 3,306.51 https://webstore.revtrak.com/Portal/Scripts/jquery-1.9.1.js 1,771
fix 135,142 9,716.28 3,195.12 https://webstore.revtrak.com/Portal/Scripts/jquery-1.9.1.js 3,141
className 271,911 2,112.49 2,112.49
closestEnabledButton 90,039 4,205.44 1,788.09 https://webstore.revtrak.com/Portal/Scripts/jquery.mobile-1.3.0.js 5,792
Event 270,452 19,937.73 1,785.16 https://webstore.revtrak.com/Portal/Scripts/jquery-1.9.1.js 3,332
type 540,257 1,518.41 1,518.41
I'm at a complete loss as to where to go next. From the look of things, something happens which causes 'blur' to go insane.
Here's the user viewpoint. User logs in, and navigates to the reporting section, where the choose a report to execute. A modal popup dialog appears, prompting the user for a start date, an end date, and possibly one or two other parameters. The user then clicks 'save'. A new window (tab) opens, presenting the report. The user keeps the report open, then goes back to the report list again. Selecting a new report, a similar modal parameter dialog appears, but this time, IE10 freezes solid, and you have to reboot, or force quit or similar to get control of the system back.
Any thoughts, suggestions, or other guidance will be greatly appreciated!
来源:https://stackoverflow.com/questions/18519257/ie10-freezes-with-jquerymobile-application