views:

734

answers:

2

Hello everyone,

In our MOSS '07 site we have a page that contains just a Page Viewer web part in it that points to a site on another server. However, I've noticed that on that page (and any others that have a Page Viewer web part on it) our drop down menus and hover effects are SUPER SLOW and completely max out the CPU on the visitor's computer (process is IEXPLORER.)

Through testing, I was able to determine that it doesn't matter what URL the web part is pointed to...just having the IFRAME on the page seems to cause it (just setting the viewer to load Google's homepage--which is probably the simplest site I know--still causes the problem). If I go and remove the web part, the menus start functioning just fine again.

I attached a debugger to the process and stepped through the Menu_HoverStatic and called functions and it seems to have a hard time when assigning panel.scrollTop to zero in the PopOut_Show function.

Has anyone else noticed this? ...perhaps found a solution to it? I can't find where to edit PopOut_Show function on our server (I think it's a resource in one of the .NET DLLs) or else I'd just comment out that line as I don't think it's really important anyway...at least on our site.

I really like the ability to have web pages from another server hosted in our SharePoint site, but the performance on the hovers is AGONIZING...and, honestly, unacceptible. Depending on the resources of the user's computer, the hover effects can take 15 seconds to complete at times!!!!

Any suggestions would be really appreciated!

Thanks, -Dan

A: 

SharePoint's built-in JavaScript is probably making the browser wait until the IFrame within the Page Viewer Web Part has completely loaded. If you can see a status bar message that says "Please wait while scripts are loaded..." when you attempt to click on the page then that's definitely the problem.

Alex Angas
A: 

Thank you for your reply. I was actually able to discover what the problem was (my appologies for not sharing it here with everyone when I did!)

The problem wasn't so much from having the IFRAME on the page, it was because I had set the zone to be 100% width and height. Because of a but in IE, trying to calculate the location of the dropdown was erroring (I don't remember what javascript function or call was exactly to blame, but I remember stepping through it with the debugger.) I believe it had something to do with "location offset" or something like that. My take at the time was that it was trying to position the dropdown menu on the screen, and the calculation for positioning it was failing.

To get around it, I had to set a javascript routine to programmatically set the height of the zone after the page loaded. Exactly setting the height prevented the dropdown problem in the menus. Of course, it wasn't ideal because if a user resizes the window, the IFRAME (or, more precisely, the zone it's in) doesn't resize with it. But, it was a suitable band-aid for the problem.

I'm hoping that IE 8 will fix this when it's released.

Thanks again for the response! -Dan

Dan