<div id="msgBoxDIV" style="position: absolute; width: 50%; padding-top: 2px; height: 24px; top: 123px; text-align: center;display: none"><span style="height: 20px;background-color: #269DDC;color: white;padding:3px 24px 3p…
巧用Ajax的beforeSend 提高用户体验 jQuery是经常使用的一个开源js框架,其中的$.ajax请求中有一个beforeSend方法,用于在向服务器发送请求前执行一些动作.具体可参考jQuery官方文档:http://api.jquery.com/Ajax_Events/ $.ajax({ beforeSend: function(){ // Handle the beforeSend event }, complete: function(){ // Handle the com…
定义 图片懒加载又称图片延时加载.惰性加载,即在用户需要使用图片的时候加载,这样可以减少请求,节省带宽,提高页面加载速度,相对的,也能减少服务器压力. 惰性加载是程序人性化的一种体现,提高用户体验,防止一次性加载大量数据,而是根据用户需要进行资源的请求. 实现 懒加载的难点在于确定某张图片是否是用户需要的资源,在浏览器中,用户需要的是可视区内的资源,因此我们只需要判断图片是否已经呈现在可视区内,当图片呈现在可视区内时,获取图片的真实地址并赋给该图片即可(图片宽高需要指定,可以利用padding处…
当PHP运行在FastCGI模式时,PHP FPM提供了一个名为fastcgi_finish_request的方法.按照文档上的说法,此方法可以提高请求的处理速度,如果有些处理可以在页面生成完后再进行,就可以使用这个方法. 听起来可能有些茫然,我们通过几个例子来说明一下: <?php echo '例子:'; fastcgi_finish_request(); /* 响应完成, 关闭连接 */ /* 记录日志 */ file_put_contents('log.txt', '生存还是毁灭,这是个问…
只要做过WEB开发人对于“404”已经再熟悉不过了吧.当我们访问的资源不存在时,它就会跑出来跟你打招呼啦.但是默认情况下,404页面比较简陋,不是很友好.而且一般用户不知道404是个神马东东,还以为是程序写的有问题呢.这样一来用户体验就打折扣了.所以通常情况下,我们都需要对这些常见的错误进行处理. Tomcat默认的404页 为了提升用户体验,我们需要简单的配置一下,来让程序遇到404后跳转到我们指定的页面.首先,需要在web.xml文件加入如下配置: <!--404处理 --> <er…
我们知道JavaScript中非常早就提供了window.history对象,利用history对象的forward().go().back()方法可以方便实现不同页面之间的前进.后退等这样的导航功能. 可是AJAX操作.是不能用浏览器的前进和后退button进行导航的,由于浏览器并不会将AJAX操作增加到历史记录中.可是借助location.hash,我们可以自己实现AJAX操作的前进和后退.关于window.location.hash的具体介绍和使用方式,可以參考以下这2篇文章. locat…
jQuery是经常使用的一个开源js框架,其中的$.ajax请求中有一个beforeSend方法,用于在向服务器发送请求前执行一些动作.具体可参考jQuery官方文档:http://api.jquery.com/Ajax_Events/ $.ajax({ beforeSend: function(){ // Handle the beforeSend event }, complete: function(){ // Handle the complete event } // ...... }…
jQuery是经常使用的一个开源js框架,其中的$.ajax请求中有一个beforeSend方法,用于在向服务器发送请求前执行一些动作. $.ajax({ beforeSend:function(){ // handle the beforeSend event }, complete:function(){ // handle the complete event } }); 防止重复数据 在实际项目开发中,提交表单时常常由于网络或者其原因,用户点击提交按钮误认为自己没有操作成功,进而会重复提…
本文为博主原创,未经允许不得转载: 在应用ajax的过程中,当我们再前台提交请求的时候,如果服务端响应事件比较长,就会导致需要等很长时间在前台才能接受到服务端返回的 响应结果,往往会导致用户重复点击按钮,进行重复请求,如何可以避免这种情况发生,ajax提供了一个beforeSend属性,用这个既可以避免这种 情况发生. 用这个属性可以定义客户端向服务端请求过程中的事件,比如在请求过程中禁用请求按钮的属性,或定义请求加载状态等, 实现的代码如下: function exportData(){ $.…
beforeSend方法的用户主要有下面几个: 第一:用于在发送ajax请求之前设置请求头 即作为前端,如果我们希望在发送数据之前设置请求头,就可以像下面这么做: beforeSend: function(request) { request.setRequestHeader("BBG-Key", "ab9ef204-3253-49d4-b229-3cc2383480a6"); }, 第二:防止数据重复 当用户提交表单时,虽然有时候已经点击了提交按钮,但是由于网络原…
jQuery(function ($) { // 备份jquery的ajax方法 var _ajax = $.ajax; // 重写ajax方法,先判断登录在执行success函数 $.ajax = function (opt) { var _success = opt && opt.success || function (a, b) { }; var _opt = $.extend(opt, { success: function (data, textStatus) { try {…
在我们开发的app中, 不可避免的, 有时候用户使用软件会崩溃.  我们就需要捕获异常, 可以在入口类中加入相应的代码, 可以在每次用户打开程序的时候, 检查一下沙盒中是否有崩溃日志, 如果有, 可以发送给服务器, 方便改进软件. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindo…
前言 在文章开始之前,询问一下大家平时工作中后端处理批量任务(耗时任务)的时候,前端是如何告知用户任务的执行情况的? 楼主对这个问题想了下,决定使用websokect将这一过程展现给用户. 于是就有了这篇文章,跟大家一起学习. WebSocket简单介绍 WebSocket是HTML5开始提供的一种浏览器与服务器间进行全双工通讯的网络技术. WebSocket通信协议于2011年被IETF定为标准 RFC 6455,WebSocketAPI被W3C定为标准. 在WebSocket API中,浏览…
为了引入Dgls,我们从创建Dom节点说起. 用JS创建Dom节点 var div = document.createElement('div'); div.className = 'gdls'; var test = document.createTextNode('zhe'); div = div.appendChild(test); 看到没,我们仅仅为了创建<div class="dgls">zhe</div>竟然写了四行代码,而且用了那么多无用的字符.…
由于项目需求,最近转战客户端,开始搞浏览器开发.众所周知,现在在微软平台上开发浏览器,最常用的方法就是扩展Webbrowser,但是首先要清楚的是,WebBrowser控件仅仅是对WebBrowser ActiveX 控件提供了托管包装而已(详细了解http://msdn.microsoft.com/zh-cn/library/w290k23d(VS.80).aspx),要写一个像点样子的浏览器,很多方面还是要自己去扩展的,否则开发出来的也只能是个样子,没多少实际功能. 本篇随笔重点将介绍如何处…
本文主要是实现操作系统级别的多进程间线程同步(进程同步)的示例代码及测试结果.代码经过测试,可供参考,也可直接使用. 承接上一篇博客的业务场景[C#使用读写锁三行代码简单解决多线程并发写入文件时线程同步的问题]. 随着服务进程的增多,光凭进程内的线程同步已经不能满足现在的需求,导致多进程同时写入同一个文件时,一样提示文件被占用的问题. 在这种场景下,跨进程级的锁是不可避免的.在.NET提供的参考中,进程锁都继承了System.Threading.WaitHandle类. 而在本文中针对单个文件同…
function orientation_change() {     var viewport = document.querySelector('meta[name="viewport"]');     if (window.orientation == 0 || window.orientation == 180)         viewport.setAttribute("content", "width=device-width, maximu…
1.jquery ajax请求方式与提示用户正在处理请稍等 为了提高用户体验度,我们通常会给出 “正在处理,请稍等!”诸如此类的提示.我们可通过设置$.ajax()下的参数beforeSend()来实现 初次使用$.ajax() ,我没有去区分过ajax的异步请求和同步请求的不同,刚开始使用同步请求,以至后来出现许多问题,特别在体验度方面.异步和同步:同步意味着执行完一段程序才能执行下一段,它属于阻塞模式,其表现在网页上的现象是——浏览器会锁定页面(即所谓的页面假死状态),用户不能操作其它的,必…
为了提高用户体验度,我们通常会给出 “正在处理,请稍等!”诸如此类的提示.我们可通过设置$.ajax()下的参数beforeSend()来实现 初次使用$.ajax() ,我没有去区分过ajax的异步请求和同步请求的不同,刚开始使用同步请求,以至后来出现许多问题,特别在体验度方面. 异步和同步: 同步意味着执行完一段程序才能执行下一段,它属于阻塞模式,其表现在网页上的现象是——浏览器会锁定页面(即所谓的页面假死状态),用户不能操作其它的,必须等待当前请求返回数据.而使用异步方式请求,页面不会出现…
你是否曾经下载了一个应用,却发现它“很难使用”?对于大多数智能手机用户来说,答案是肯定的. 有趣的是,每四个手机应用中就有一个应用在下载后被“打入冷宫”. 如果一个应用能够吸引一个人下载并且打开它,但就此打入冷宫,那么我们几乎可以断定,要么就是这个应用真的不是他们所找的,要么就是它只不过是太难用了. 第一个原因是通常因为吸引你下载的信息,例如应用程序的描述.营销资料等.如果你发送了错误的信号,这些信息可能需要进行微调. 第二个原因归结为用户体验… 那么就让我们来谈谈用户体验 什么是用户体验?我们…
从事对日外包一年多以来,发现日本的无论是WinForm项目还是Web项目都注重快捷键的使用,日本人操作的时候都喜欢用键盘而不是用鼠标去点,用他们的话来说"键盘永远比鼠标来的快",所以他们很注重键盘的操作,常见的操作就是按下Tab键来切换鼠标的焦点,按下回车键时能够提交表单等,难得今天周末,有时间好好研究一下在web开发中设置快捷键,这样可以方便用户操作,并且增强用户体验. 在web开发中主要是使用HTML的表单元素自带的tabindex属性和使用js设置组合快捷键来实现快捷键,一.为H…
转载: 让我以一个故事开始本文,我觉得这个故事能概括大多数人听到“用户体验”这个术语时的想法. 我经常访问的一个财经网站给我发了一封电子邮件,请求我点击里面的一个链接,对一些信息进行审核.所以我就点了那个邮件里的链接,进去以后我感到困惑和迷茫,感觉就像在一个陌生的酒店房间里度过的第一晚,半夜醒来眼前的一切都很陌生.就像在那种环境中醒来一样,我开始恐慌,抱怨,叹气.所不同的是,在现实中我并不是一个人.我的朋友Lisa正好来拜访我,我的表现引起了她的发问,“你怎么了?”. “我接到了一个通知去审核某…
用户体验不到位,市场就不能说真的发展起来. 可以明显的感觉到,随着人工智能.物联网等技术的发展和应用,我们的生活正在发生翻天覆地的变化,其中感觉最为明显的就是智能家居. 据前瞻产业研究院的数据统计,我国智能家居市场规模在2016年达到605.7亿元,同比增长率也大幅度提升到50%以上.预计未来几年内智能家居将迎来爆发,到2018年,智能家居市场规模将达1396亿元.这等浪潮之下,科技公司.传统家电制造商纷纷跳入了这个"坑". 不过,市场虽大,但是用户体验却时常受到人们的诟病.据统计,在…
在我们编写代码的过程中经常有这样的需求,比如添加一条数据,我们想要的结果是如果添加成功了就返回true,如果添加失败了就返回false,在返回false的同时携带错误信息,我们通常的做法是定义这样的方法 public bool Add(string name,out string error) 虽然说这样写可以符合我们的需求,当是总觉得不对劲,而且很麻烦,在接收时还有定义一个接收error的变量,对于我们这些coder来说就是用户体验不好,于是我左思右想,写了个结构来提供这个用户体验,下面是结构…
在做asp.net项目的时候经常会用到ajax操作,现总结常用的ajax操作供平时项目中参考 第一种: 前端代码: <script type="text/javascript"> $.post("../../tools/GetItemData.ashx", { "canshu1": "参数1的值", "canshu2": "参数2的值" }, function (data)…
struts与常用的dataTables和jqueryGrid等表格进行ajax传值时,经常会传值不适配的问题,这是因为struts在进行ajax操作时已经对你要操作的json数据进行了处理,所以不需要再在action中转换为json字符串以jqueryGrid为例 1.action中的代码如下: 首先得到jqueryGrid需要的各个属性值,totals,pages,page,rows,这些属性我在前台进行的一些转换,所以代码中的属性名称与这些属性名有些差异,将得到的属性值放在一个action…
vs2010 使用SignalR 提高B2C商城用户体验(二) 上一节,已经实现了,当前域内的通信,这一节中,介绍一下跨域的即时通信,既然要做,我们肯定要把这个推送及聊天服务器做为一个单独的服务器,以方便扩展使用,这样就要使用跨域技术,既然基于ajax,那么跨域肯定是基于jsonp,下面我们介绍一下跨域的基本配置: 1.服务器的配置,我们打开项目中的Global.asax,在Application_Start中做如下配置: protected void Application_Start() {…
Ajax及其优点 Ajax实际上就是指异步Javascript与XML,它包含以下技术: HTML与CSS Javascript XMLHttpRequest XML Ajax技术让客户端与服务器实现在后端通信,而不需要每次发送请求的时候都重载整个页面.Ajax有以下优点: 更好的用户体验 更好的性能,只需重新加载部分页面,而不是整个页面. 在Django中使用Ajax框架 这一节我们将选择合适Ajax框架,这一步不是必须的,但是使用Ajax框架使运用ajax更加简单,下面是使用Ajax框架的优…
以前在jquery请求数据时,总喜欢用简洁的$.get与$.post提交数据,但有时发现由于网速的问题,有些时候网站加载js获得的数据会非常慢,于是就想能不能请求数据中间,给加载数据一个提示,增加用户体验.详细阅读了$.ajax的用法,觉得这个很合适,于是记录下来,以供参考: 示例: $.ajax({ url:url, type:'get', dataType: "json", beforeSend: function () { $("body").append('…
详细内容请点击 随着移动互联网如日中天,如火如荼的时候,手机APP开发日益高涨了起来,关于手机APP的用户体验,也是一个老话长谈的话题.从事这行业也很久了,以下是我个人在工作中的一些关于APP的用户体验总结. 1.拇指时代 拇指范围,黄金地带.热门键放置区域,便于我们操作点击 2.三步完成 所谓的三步完成其实就是三步理论,简洁,明了,使内容更细化,让用户自己选择不强加显示.三步完成交易,拖泥带水的会让客户厌烦从而放弃购买 3.读图时代 图更直观展示,字是辅助性的,第一时间展示给客户产品,其余让客…