Why is selectivizr.js causing “white screen of dea

2019-03-19 05:01发布

问题:

Including selectivizr.js is causing IE8 to not display/render anything at all, but IE8 in IETester manages.

It also downloads everything, I can see that in the activity bar and the DOM inspector. And the links are even there, I see that when moving the cursor around the nav-area. But it doesn't display anything at all.

The only bugfix I've found through a lot of searching is applying zoom: 1; to body, but it doesn't help in my case.

I would appreciate any debugging help I can get. Page preview.

回答1:

Not a solution per se, but as a workaround, moving the @font-face declaration into the <head> (ie not putting it in a <link>ed stylesheet) seems to resolve this issue in many cases. Seems to be something to do with how selectivizr parses stylesheets with @font-face declarations in them.

Not ideal I know but given that further selectivizr development seems to have stalled (last commit on GH is 1 yr ago as of time of writing) it might be acceptable in some cases.



回答2:

If this issue is related to the font-face problem with selectivizr I have created a pull request to fix this issue in our situation, basically it ignores the urls that don't contain '.css'. This fixed our WSOD issue. Its available here:

https://github.com/JohnCashBB/selectivizr



回答3:

The latest version of selectivizr (1.0.2) fixes this issue (look for WSOD): https://github.com/keithclark/selectivizr/blob/master/changelog.txt .

EDIT: I was still having the issue even after updating to 1.0.2. There's something going on between @font-face and selectivizr, even though it doesn't occur all the time. See http://groups.google.com/group/ie-css3/browse_thread/thread/dcc21706fc009af8?pli=1 .



回答4:

I also have the same problem with IE8, using the latest versions of jQuery and Selectivzr: I did a reverse Enginering eliminating everything else, I've seen is that the problem derives from the font-face rule.



回答5:

It sure looks to me as if you've got code on the page referencing "jQuery" before the jQuery library is actually loaded. Your sample page gets an "Object expected" error from the first line of code that references the library (right in your "about" page).

The code appears to be setting up a "click" handler for a submit button.

Other than that, however, the preview page renders in IE8 and there's no "white screen of death."

edit — works fine (other than the "Object expected" error, and the related "submit" button of course) in IE7 too.