【原创】JavaScript 图片预览效果
随着浏览器安全性的提高,要实现图片预览也越来越困难。
不过群众的智慧是无限的,网上也有很多变通或先进的方法来实现。
在研究了各种预览方法后,作为总结,写了这个程序,跟大家一起分享。
上次写的简便无刷新文件上传系统最初的目的就是用来实现这个图片预览效果。
兼容:ie6/7/8, firefox 3.5.5
后台支持下还兼容:opera 10.10, safari 4.0.4, chrome 3.0
详细程序说明和效果预览请看这里
完整实例下载(asp.net版)
完整实例下载(asp版)
程序说明
【基本原理】
图片预览主要包括两个部分:从file表单控件获取图像数据,根据数据显示预览图像。
程序的file和img属性就是用来保存file控件和显示预览图像的容器的,而img还必须是img元素。
程序有以下几种预览方式:
simple模式:直接从file的value获取图片路径来显示预览,适用于ie6;
filter模式:通过selection获取file的图片路径,再用滤镜来显示预览,适用于ie7/8;
domfile模式:调用file的getAsDataURL方法获取Data URI数据来显示预览,适用于ff3;
remote模式:最后的办法,把file提交后台处理后返回图片数据来显示预览,全适用。
程序定义时就自动根据浏览器设置MODE属性:
ImagePreview.MODE = $$B.ie7 || $$B.ie8 ? "filter" :
$$B.firefox ? "domfile" :
$$B.opera || $$B.chrome || $$B.safari ? "remote" : "simple";
如果用能力检测会比较麻烦,所以只用了浏览器检测。
由于浏览器对应的默认模式是不会变的,这个值直接会保存到函数属性中作为公用属性。
ps:ie6也可以用filte
相关问答:
我在后台调用JavaScript的时候,他是在后台把事件的代码执行一次后在执行JavaScript方法
有什么办法 在执行JavaScript方法的时候停住,在执行后面的代码
不太明白啊,说清楚点吧
就是执行后台代码的时候 ......
怎么用javascript控制gridview里的RadioButton
对 gridview findcontrol ,找出RadioButton,
然后,对RadioButton ,的Attribute 增加 JS就可以了。
C# code:
for (int i = 0; i < gd ......
我家电脑原来装的是IE7浏览器,但是最近我爸爸动了某个配置,导致IE7环境下不能运行flash和javascript,看sina或者其他新闻网站上都是一块一块空白,登陆twitter也不成功,报:由于不支持javascript,导致不能登陆。 ......
如题,已实现连接,发送。未实现实异步接收,请高手指点。最好有完整的例子
javascript请求通信是基于http的,它只是一种运行在浏览器端的脚本语言,不能使用socket,
唯一的解决办法就是写ActiveX插件.
要实现异步 ......
我也来一个趣味javascript:
打开以下html文件,依次按下G,L,C三个键,就会有奇迹出现!!
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" ......