asp.net – 任何人都有解决Internet上的“n项剩余”问题的想法?

前端之家收集整理的这篇文章主要介绍了asp.net – 任何人都有解决Internet上的“n项剩余”问题的想法?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的ASP.Net应用程序,这是javascript和jQuery重,但也使用主页和.Net Ajax片,我一直看到在IE 6(和偶尔IE 7)的消息“2项剩余”的状态栏或“剩余15项”,然后加载“somegraphicsfile.png | gif”。这个消息永远不会消失,可能或可能不会阻止某些页面功能运行(它肯定似乎堕落,但我不积极)。

我可以通过刷新一个.aspx时代,但是项目的数量,有时,文件它提到不同的99%的时间。通常为2,3,12,13或15。

我已为Google搜索答案,并有几个建议或解释。其中有些人没有为我们工作,其他人不适合我们实施或尝试。

这里有一些想法/理论:

> IE不是正确缓存图像,所以如果图像在页面上重复,并且服务器假定应该在本地缓存,则它会反复请求相同的图像,因为它已经在该页面上下文中提供。 IE正确地显示图像,但是坐在并等待从未来的服务器响应。通常,它说它正在等待的文件页面上重复。
>页面正在使用具有透明度的PNG图形。事实上是,但是他们是jQuery-UI生成的图形,根据jQuery-UI的人,是IE安全。 jQuery-UI组件是使用PNG的唯一的东西。所有的PNG引用都在CSS中,如果这有帮助。我改变了一些图形从PNG到GIF,但它是很可能说,它正在等待somegraphicsfile.png,因为它是为somegraphicsfile.gif
>正在CSS和/或JavaScript中指定图像,但在当前不显示的事物上(显示:例如没有项目)。这可能是真的,但如果是,那么我会认为预加载图像将工作,但到目前为止,添加预加载器没有做任何好处。
> IIS的缓存策略使浏览器混乱。如果这是真的,只有Microsoft服务器SW有微软的浏览器的问题(这并不让我感到惊讶)。不幸的是,我没有太多的控制将配置应用程序的IIS。

有没有人看到这个,并找到了一种方法来打击它?特别是在使用jQuery和jQuery-UI的ASP.Net应用程序?

更新

另一个数据点:在至少一个页面上,只是注释jQuery-UI Datepicker组件设置导致问题消失,但我不认为(或至少我不确定)如果这修复所有的页面。如果它“修复”它们,我将不得不换掉插件,因为那个功能需要在那里。在IE6 / 7上似乎没有任何打开问题反对jQuery-UI …

更新2

我检查了IIS设置和“启用内容过期”没有在任何我的文件夹设置。取消选中该设置是修复此问题的常见建议。

我有另一个,更简单的页面,我可以一致地创建错误。我使用jQuery-UI 1.6rc6文件(虽然我也尝试了jQuery-UI 1.7.1具有相同的结果)。只有当我刷新包含jQuery-UI Datepicker的页面时,才会出现此问题。如果我注释掉Datepicker设置,问题消失。这里有一些我注意到当我这样做:

>此页面始终显示“(剩余1个项目)下载图片http:///images/Calendar_scheduleHS.gif”,但仅在重新加载时。
>当我看到HTTP日志记录,我看到它请求来自服务器的图像每次动态打开,而不考虑缓存。
>对该图形的所有请求都已完成,并正确返回图形。没有标记代码200或304(指示服务器正在告诉IE使用缓存版本)。为什么说,等待所有的请求完成后,我不知道该图形。
>页面上有一个其他图形(一个UI PNG文件),它有一个代码304(未修改)。在另一个页面上,我设法记录HTTP流量与“剩余2项”,两个不同的图形文件(两个UI PNG)有一个304(但也没有被列为“下载”。
>这个错误不是无害的 – 页面没有完全响应。例如,如果我单击应该执行客户端操作的按钮之一,页面将刷新。
>离开页​​面并回来不会产生错误
>我已将脚本和脚本引用移动到内容底部,这不会影响此问题。脚本仍然在$(文档).ready()中运行(它太毛,除非我绝对必须)。

最后更新和答案

下面有很多好的答案和建议,但没有一个是我们的问题。最近的一个(和那个导致我的解决方案)是一个关于长期运行的JavaScript,所以我给了奖金那里(我想我可以自己回答,但我宁愿奖励信息,导致解决方案) 。

这里是我们的解决方案:我们有多个jQueryUI日期标签在$(文档).ready事件中创建的脚本包括从ASP.Net主页。在此客户端页面上,本地脚本的$(document).ready事件具有在某些条件下销毁日期选择器的脚本。我们不得不使用“destroy”,因为以前的版本的datepicker有一个问题“禁用”。当我们升级到最新版本的jQuery UI(1.7.1),并用日期标记的“disable”替换了“destroy”时,问题消失了(或者大部分消失了 – 如果你做的事情太快了,正在加载,仍然可以获得“n项剩余”状态)。

我的理论是什么发生了这样的:

>页面内容加载并有12或
所以文本框与日期戳
类。
>主页脚本创建
日期标签
> IE queues up requests for each
日历图形
因为IE不知道怎么做
正确缓存动态映像
要求。
>在处理请求之前,
客户端区域脚本销毁
那些日期选择器所以的图形
不再需要。
> IE留下一些数字
孤立的请求,它不
知道该怎么办。

解决方法

我之前有一个类似的问题,它是由于一个长时间运行的JS部分,在页面的中间,浏览器等待它完成执行,在它完成下载网站的附加文件

我不知道这是否是一个问题为你或不,但它已经表现为一个类似的方式。

猜你在找的asp.Net相关文章