I've created a views slideshow on Drupal 7.9, Views Slideshow 7.x-3.0, jquery.cycle.all.js v2.999. Works fine in Chrome, Safari, Firefox and IE9, but on IE8 on Win XP the browser crashes immediately on loading the page (sometimes, part of the page is rendered before the browser freezes). The slideshow works in IE8 in Compatibility mode.

If I disable javascript the page loads ok (though Views Slideshow has no fallback for no-js).
With javascript enabled and views_slideshow.js file removed, IE8 crashes.
Try jquery.cycle.lite.js instead but prev/next don't work, IE8 still crashes.
Drupal 7 ships with jquery 1.4.4, try jquery_update to jquery 1.5.2 - crash

Comments

Diffe1964’s picture

I have the same problem. As it works in compatibility mode, I added a line to modules/system/html.tpl.php to force this mode:

<head profile="<?php print $grddl_profile; ?>">
  <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
  <?php print $head; ?>

and it works

markosaurus’s picture

Well that's fine, until you upgrade next time and overwrite your system module! Then you will lose your patch and be back here again trying to fix it.

The best way around this is to find the problem and fix it now. I'm having the same issue in IE8 with views slideshow installed. Incidentally, this wasn't happening before I upgraded to the latest version of Drupal 7 at the weekend (7.12), so there's obviously a problem there somewhere, I just haven't worked out where yet.

I'm not seeing any JS errors at all in any browsers. It only crashes in IE8 on pages with views slideshow running.

I viewed status and everything is up to date and running properly, no updates available.

In reports, when I check the "Recent Log Messages" (dblog) I get an error every time I visit one of the offending pages (in any browser). The error is a 403 access denied error. I have no idea what could be causing this.

I checked the .htaccess file, and I can't see anything offensive in there.

Any ideas?

Thanks,

Mark

markosaurus’s picture

I just made some progress! I figured this was probably a permissions issue after being told repeatedly by my host that it was not their fault. (It isn't BTW)

I went into the permissions section and under Node > Bypass content access control enabled anonmyous users temporarily.

This then solved the issue. The only issue now is that if I leave this, anyone can alter my slideshow content! Bit of a problem there. Needs some thought I think.

I went into views and set the access permission on the view to "permissions" and then to "roles" to see if that overrides whatever is causing the issue, it doesn't. Looks like there might be an issue with the system thinking an anonymous user doesn't have permission to view a views_slidehow, even if they should.

As a matter of interest, my log tells me I have a 403(no permission) on node/3, which is why I tried to enable access for everyone initially.

Will report back if/when I learn more.

markosaurus’s picture

I think this is a duplicate of this http://drupal.org/node/1340540#comment-5606504

This could probably be merged and both fixed together? I made some progress last night.

Lostmonkey’s picture

Any news on this? I am having the same problem with IE8 on Win XP.

studioorange’s picture

Here is a solution.
The problem is in the default theme css of the nivo slider. i tried this with the Pascal and Orman theme and the error does not show.

What you can do is, choose the default theme in Nivo Slider settings.
Then rename sites/all/libraries/nivo-slider/themes/default/default.css to something else like default1.css (so it can not be found)
Now Nivo Slider falls back to the default nivo slider css found in: sites/all/libraries/nivo-slider

Now edit sites/all/libraries/nivo-slider/nivo-slider.css and paste the following lines in the class ".nivoSlider" (for margin and shadow reasons) :

background:#fff url(loading.gif) no-repeat 50% 50%;
margin-bottom:50px;
-webkit-box-shadow: 0px 1px 5px 0px #4a4a4a;
-moz-box-shadow: 0px 1px 5px 0px #4a4a4a;
box-shadow: 0px 1px 5px 0px #4a4a4a;

Now save the nivo-slider.css and upload to you site. Refresh in IE8 and it does not crash.

Good luck to you all!

becca08’s picture

The solution I found for this issue was to aggregate the css and javascript files in the performance settings of my site.
at admin/config/development/performance

And then clear the cache of IE8 and reload the site.

IE 7 and 8 apparently choke if there are over 31 CSS files in the page load -- My theme had a lot of CSS files and this was probably the cause of the issue

This is probably why your solution worked for you studioorrange because you knocked one of the CSS files out of circulation but it will likely come back if you again go over your IE CSS file quota.

Not sure if this will be a fix for others but it worked for me.

pippuzzo2’s picture

None of the solution above works for me.
Please help. IE 8 is still widely used!

gomezbl’s picture

Hi, I got the same issue here: nivo slider doesn't work properly in IE8 compatibility mode; if you disable that mode, then works fine.

gomezbl’s picture

Hi, I finally could fix this: are all of you using Panels?

In my case, fresh site all with last modules and D7, the underlaying problem was not the nivo view slide, but the "flexible" layout I was using for my front page: in IE7 and IE8 the layout of the site was broken (and 40% of my visitors still are using those browsers...).

After checking all those tricks you mention, the only thing that it worked for me was to create a "landing page" using Panels and including in that all my stuff for my front page: you can see here the result and you can see from IE6, 7, 8 (using http://browsershots.org) that the nivo slider works fine:

http://www.telecontrolstm.es

Hope it helps.

toby8915’s picture

Hi, can you please explain what you mean by using Panels? IE is driving me nuts.
Thanks.

waveer’s picture

I have tried some code others provided at the issue's pages and at last i found this will let IE8 display normally.
just 1 line code,give "views-slideshow-cycle-main-frame-row" a width,will let IE8 play well.

.views-slideshow-cycle-main-frame-row{
  width:960px\0;
}
Lukas von Blarer’s picture

I just solved the issue for 6.x-2.x like this:

.views_slideshow_singleframe_slide {
	width: 100%;
}

This should solve it in 6.x-3.x as well and is more flexible:

.views-slideshow-cycle-main-frame-row {
	width: 100%;
}
leex’s picture

I fixed this problem by giving the view a height. That's the .views-nivo-slider element.

snlnz’s picture

I found respond.js was causing the issue in our case. CSS/JS agg was enabled so it isn't the stylesheet limit issue found in IE.

To sum it up:
1) disable and uninstall respond.js module
2) clear the caches
3) restart IE8

Stano_SK’s picture

I ran several days into this issue. I'm using:

- two separate page installations - one for testing, one alive
- Views 7.x-3.7 with Drupal core 7.24 Views Slideshow and Views Slideshow Cycle 7.x-3.1 with jquery.cycle.all.js.
- Views 7.x-3.7 with Drupal core 7.23 Views Slideshow and Views
Slideshow Cycle 7.x-3.0 with jquery.cycle.all.js.
- I'm using the default Bartik theme for 7.23 + one .css file for overriding the default style.css
- IE8 crashes with default style.css and also with my own .css file
- both installations are affected

My site crashes only in IE8 within Windows XP. When the IE8 Compatibility mode is turned ON, the slideshow worked fine. I tried several solutions that are here promoted but nothing helped.

When I disabled the Slideshow within my styling .css of my theme, the site worked well in IE8. So it could be and .css issue in IE8.

1st solution:
I created a simple block that is showing only in IE (all IEs) and the slideshow is hidden for IE. Other browsers show the Slideshow and the simple block is hidden. The newly created block is linking to a Views display of slideshow results.

I used this CSS code:

DIV.view.view-slideshow-sk, DIV.view.view-slideshow-en {
display: none\ !important; /*Hides the Slideshow in all IEs*/
}

DIV#block-block-16 , DIV#block-block-17 {
display: none; /*Hides the static block in all browsers */
display: block\ !important; /*Shows the block only in IE, unfortunately in all IE, not only in IE8 */
margin:0px;
padding:0px;
position:relative;
top: 31px;
}

Then I discovered, that the css inside the slideshow module \sites\all\modules\views_slideshow\contrib\views_slideshow_cycle\views_slideshow_cycle.css is causing this issue in my case.

I removed the "display: none;" from

.views_slideshow_cycle_no_display,
.views_slideshow_cycle_hidden,
.views_slideshow_cycle_controls,
.views_slideshow_cycle_image_count {
  display: none;
}

Then the page began to work also in IE8.
Because of Views Slideshow module updates, you can add this css code to your styling .css and display these slideshow items using this:

.views_slideshow_cycle_no_display,
.views_slideshow_cycle_hidden,
.views_slideshow_cycle_controls,
.views_slideshow_cycle_image_count {
  display: block;
}

I don't know why hiding these classes is causing the IE8 crash.
I hope, that I helped somebody with this problem. Sorry for my English :).

NickDickinsonWilde’s picture

Issue summary: View changes
Status: Active » Closed (cannot reproduce)