基于Extjs4.x的上传组件 – Ext.ux.UploadDialog

Ext.ux.UploadDialog是基于Extjs框架的兼容性良好的、比较成熟的上传组件。
此上传组件的作者Max Bazhenov当初开发此组件是基于Extjs1.x和Extjs2.x的,随着Extjs框架版本发展至Extjs3.x,网络上也出现了网友修改的基于Extjs3.x的组件代码。
时至今日,Extjs框架已经进入Extjs4.x的时代,据本人所知,网上还没有出现基于Extjs4.x的Ext.ux.UploadDialog组件代码。
由于项目急需,本人只好潜心研究并修改原组件的1000多行代码,最终实现了基于Extjs4.x的Ext.ux.UploadDialog组件,目前已经成功应用于实际项目中。其实整个过程并没有太多的困难,只是当我们遇到1000多行的代码,心理已经打了退堂鼓而已。还是那句老话,事在人为啊!
阅读余下全文 »

Extjs按钮实现复制至剪切板的功能

Web开发中,经常需要实现复制至剪切板的功能。由于浏览器版本、类型等的限制,无法采用纯js代码实现兼容性良好的复制至剪切板功能。网上比较流行的实现方法是采用Zero Clipboard,它的工作原理主要是:在复制按钮上遮罩一个透明的flash,flash被点击后调用其剪切板处理功能,完成对文本内容的复制。
ZeroClipboard的详细内容请参考参考:Zero Clipboard详细介绍和用法ZeroClipboard项目主页
那么在Extjs框架中,我们如何利用Zero Clipboard实现复制至剪切板的功能呢?
阅读余下全文 »

Ext.BLANK_IMAGE_URL的作用和配置原因

Extjs框架在对一些需要应用图片的地方,都没有显式地写明要应用的图片路径,而都是通过CSS来动态配置(主要是为了解决界面的换肤问题),许多应用图片的地方刚开始都使用Ext.BLANK_IMAGE_URL来替代,因此Ext.BLANK_IMAGE_URL起到了一个占位图片的作用。
在Extjs4.x框架的源码中,有如下关于BLANK_IMAGE_URL变量的代码:
阅读余下全文 »

Extjs实现限制按钮连续点击,防止重复请求

Web应用中,按钮的使用无处不在,比较常用的是使用它来查询或提交数据,通过点击按钮发出请求而与服务端交互。随之而来的产生了一个问题:如何防止用户连续点击按钮,避免重复请求而造成的服务器压力。
解决上述问题可以从客户端入手来限制按钮连续点击,也可以从服务端入手来避免一定期间内的重复请求,也可以两者兼用。
下面介绍本人实现的基于Extjs框架的限制按钮重复点击的插件。
阅读余下全文 »

Window.open()以post方式提交的实现方法

项目中,使用window.open()方法打开新窗口并提交数据,此方法通过get方式提交数据,具有参数直接暴露给用户(某些情况下,用户可能在明文URL中更改参数)和传输数据量比较小等缺点。
为了避免这些问题,尝试以post方式实现window.open()方法打开窗口。
一般在浏览器中输入网址访问资源都是通过get方式,在form提交中,可以通过method指定提交方式为get或者post。因此如果以post方式提交数据,可以考虑利用form标签,并通过设置form的target属性(设置或返回表单提交结果的窗口name属性)声明超链接文档或表单提交结果应该显示于指定的窗口或框架中。
阅读余下全文 »