3

在我们的 MOSS '07 站点中,我们有一个页面,其中仅包含一个 Page Viewer Web 部件,它指向另一个服务器上的站点。但是,我注意到在该页面(以及任何其他具有页面查看器 Web 部件的页面)上,我们的下拉菜单和悬停效果非常,并且完全耗尽了访问者计算机上的 CPU(进程是IExplorer。)

通过测试,我能够确定 Web 部件指向的 URL 无关紧要......只是在页面上放置 iframe 似乎会导致它(只是将查看器设置为加载 Google 的主页——这可能是我知道的最简单的网站——仍然会导致问题)。如果我去删除 Web 部件,菜单会再次正常运行。

我将调试器附加到进程并逐步执行和调用函数,在函数中分配为零Menu_HoverStatic时似乎很难。panel.scrollTopPopOut_Show

有没有其他人注意到这一点?...也许找到了解决方案?我找不到PopOut_Show在我们的服务器上编辑函数的位置(我认为它是其中一个 .NET DLL 中的资源),否则我只会注释掉该行,因为我认为它并不重要......至少在我们的网站上。

我真的很喜欢在我们的 SharePoint 网站中托管来自另一台服务器的网页的能力,但是悬停时的性能令人痛苦……老实说,这是不可接受的。根据用户计算机的资源,悬停效果有时可能需要 15 秒才能完成!!!!

任何建议将不胜感激!

4

2 回答 2

0

SharePoint 的内置 JavaScript 可能会使浏览器等待页面查看器 Web 部件中的 IFrame 完全加载。如果您在尝试单击页面时看到状态栏消息“请稍候,正在加载脚本...”,那么这肯定是问题所在。

于 2008-12-09T19:24:12.397 回答
0

感谢你的回复。我实际上能够发现问题所在(我很抱歉没有在这里与所有人分享它!)

问题不在于页面上有 IFRAME,而是因为我已将区域设置为 100% 的宽度和高度。因为在 IE 中,试图计算下拉菜单的位置是错误的(我不记得究竟是什么 javascript 函数或调用应该归咎于,但我记得用调试器单步执行它。)我相信它有一些东西要使用“位置偏移”或类似的东西。我当时的看法是它试图在屏幕上定位下拉菜单,并且定位它的计算失败了。

为了解决这个问题,我必须设置一个 javascript 例程,以便在页面加载后以编程方式设置区域的高度。精确设置高度可以防止菜单中的下拉问题。当然,这并不理想,因为如果用户调整窗口大小,IFRAME(或更准确地说,它所在的区域)不会随之调整大小。但是,它是解决这个问题的合适的创可贴。

我希望 IE 8 在发布时能解决这个问题。

于 2009-02-13T17:01:00.107 回答