我为一个大型网站工作(每月 5+ 百万次独立点击,大约 55-60 百万页面浏览量/展示次数)。
我们目前正在更新我们的可用性(tabindex、标签等)。
我正在使用 css 类和 jQuery(参见下面的代码)在表单提交(以及与 ajax 相关的部分页面刷新/更新等)上将光标类型更改为“进度”,以便用户立即知道“某事”正在发生,通过类名“loadWait.
//css class
body.wait *, body.wait {
cursor:progress !important;
}
//jQuery
$(document).ready(function() {
$('.loadWait').click(function(){
progerssCursor();
});
});
function progerssCursor(){
$('body').addClass('wait');
}
function removeProgerssCursor(){
$('body').removeClass('wait');
}
//example html
<input type="sumbit" class="loadWait" />
<a href="..." class="loadWait" />
//in ajax requests by calling functions "progressCursor()" and
"removeProgressCursor" at the appropriate time/place
所以问题是:
这种方法是否有任何已知的“副作用”?(已经广泛搜索,找不到任何让我不相信的东西)。
我们正在讨论是否还应该将 class="loadWait" 附加到我们所有的链接(显然不是那些带有 target="_blank" 的链接,因为我们不希望光标在这种情况下改变)。你怎么认为?我们的理由是,有时,无论出于何种原因(服务器负载高、互联网连接速度慢等),用户“链接点击”和实际页面开始呈现之间可能会有几秒钟的奇怪延迟,这样用户会立即知道“某事”正在发生(我们知道选项卡中的加载图标在那里,但用户经常错过它)。你怎么认为?对我们所有的链接都这样做是不是太过分了?(这里不讨论工时)。
有谁知道这会增加什么样的额外页面加载时间(如果有)?($('.loadWait').click(function(){... 是如何工作的?jQuery 是在页面加载时检查整个 DOM 以查找“click”事件,还是在“click by click”基础上检查匹配类名?)。
对此还有其他想法吗?
注意:此代码已由我们在 IE6-9、FF3.6、FF11、FF12、Opera、Safari(Windows)、Chrome 等上测试,没有已知/明显的错误/问题。