手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表Tag:netbeans

HTML5拖放上传

html5中有一个特性就是以前一直常说的拖放上传,其实这个功能要实现的话真的不太难,但我对于DOM的操作并不是特别了解,因此我找了一些资料做备份
1、xheditor中的代码
2、html5的一些教程

xheditor中的代码很少,只有区区几行:

JavaScript代码[jBody是基中的一个元素对象,类似于$('#xxxdiv')]
  1. jBody.bind('dragenter dragover',function(ev){var types;if((types=ev.originalEvent.dataTransfer.types)&&$.inArray('Files', types)!==-1)return false;}).bind('drop',function(ev){  
  2.     var dataTransfer=ev.originalEvent.dataTransfer,fileList;  
  3.     if(dataTransfer&&(fileList=dataTransfer.files)&&fileList.length>0){  
  4.         var i,cmd,arrCmd=['Link','Img','Flash','Media'],arrExt=[],strExt;  
  5.         for(i in arrCmd){  
  6.             cmd=arrCmd[i];  
  7.             if(settings['up'+cmd+'Url']&&settings['up'+cmd+'Url'].match(/^[^!].*/i))arrExt.push(cmd+':,'+settings['up'+cmd+'Ext']);//允许上传  
  8.         }  
  9.         if(arrExt.length===0)return false;//禁止上传  
  10.         else strExt=arrExt.join(',');  
  11.         function getCmd(fileList){  
  12.             var match,fileExt,cmd;  
  13.             for(i=0;i<fileList.length;i++){  
  14.                 fileExt=fileList[i].fileName.replace(/.+\./,'');  
  15.                 if(match=strExt.match(new RegExp('(\\w+):[^:]*,'+fileExt+'(?:,|$)','i'))){  
  16.                     if(!cmd)cmd=match[1];  
  17.                     else if(cmd!==match[1])return 2;  
  18.                 }  
  19.                 else return 1;  
  20.             }  
  21.             return cmd;                   
  22.         }  
  23.         cmd=getCmd(fileList);  
  24.         if(cmd===1)alert('上传文件的扩展名必需为:'+strExt.replace(/\w+:,/g,''));  
  25.         else if(cmd===2)alert('每次只能拖放上传同一类型文件');  
  26.         else if(cmd){  
  27.             _this.startUpload(fileList,settings['up'+cmd+'Url'],'*',function(arrMsg){  
  28.                 var arrUrl=[],msg,onUpload=settings.onUpload;  
  29.                 if(onUpload)onUpload(arrMsg);//用户上传回调  
  30.                 for(i in arrMsg){  
  31.                     msg=arrMsg[i];  
  32.                     url=is(msg,'string')?msg:msg.url;  
  33.                     if(url.substr(0,1)==='!')url=url.substr(1);  
  34.                     arrUrl.push(url);  
  35.                 }  
  36.                 _this.exec(cmd);  
  37.                 $('#xhe'+cmd+'Url').val(arrUrl.join(' '));  
  38.                 $('#xheSave').click();  
  39.             });  
  40.         }  
  41.         return false;  
  42.     }  
  43. });  

也有这样的:HTML5拖放(Drag&Drop)API详细介绍和示例,当然这里我就不多贴代码了。不过文中最后一段是告诉我们有哪些事件可以用:

可以使用的新事件一共有这些:

dragstart
A drag has been initiated, with the dragged element as the event target.
drag
The mouse has moved, with the dragged element as the event target.
dragenter
The dragged element has been moved into a drop listener, with the drop listener element as the event target.
dragover
The dragged element has been moved over a drop listener, with the drop listener element as the event target. Since the default behavior is to cancel drops, returning false or calling preventDefault() in the event handler indicates that a drop is allowed here.
dragleave
The dragged element has been moved out of a drop listener, with the drop listener element as the event target.
drop
The dragged element has been successfully dropped on a drop listener, with the drop listener element as the event target.
dragend
A drag has been ended, successfully or not, with the dragged element as the event target.

并且注意能够被拖拽的元素一定要有这个属性:draggable=”true”

在web上面拖放一直以来都是个难题(strange beast),但是至少现在我们有一堆丰富的API了…. 所以也许这个方式会开始大行其道呢?

 

Tags: xheditor

孤岛天才——超强记忆

在看纪实频道的探索节目时,看到了本文标题的节目,突然间想起很多很多以前的事情。但同样又忘记了很多事情。

5岁以后25岁以前有很多事情我都记在了心里,到现在我还能大致回忆的出,但是一些真正的细节什么的,确实是忘记了。
幼儿园的事情,小学二年级,三年级四年级五年级等的事情。初一初二等等。。。很多到现在都留在记忆里。小时候读过的书,看过的书还有很多都记忆着,读书的时候,背书背到几乎连哪一页都记得下来。。。。
直到在局里的时候,一两年前放的文件的位置也都能记得住。。。但,真正开始从事IT之后,发现记忆力越来越差,我一直怀疑可能是因为用电脑的时间过长了,导致记忆力会降低很多。
在看电视的时候,发现那些白痴学者们的一些特长,感觉自己和他们的差距还是很明显的,毕竟我不是白痴也不是学者。。。。。但记忆力的衰退是很明显的。
为了加强自己的记忆能力,我要开始学会用笔来记录东西,否则再过几年,真的就啥也记不住 了。

OK事实上我也就发发牢骚说自己的头发越来越少了,记忆力越来越差了等等。。。。。

中科大Linux镜像源正式面向全国用户开张

用了好久的网易源,慢慢的它的速度也开始慢了。今天在cnbeta上居然看到了这个:中科大Linux镜像源正式面向全国用户开张。觉得很惊讶,但同时又并不惊讶。其实交大也一直是国内linux源的提供点,但一直因为是教育网所以速度非常慢。

先看新闻:经过大半个星期的迁移和新脚本的测试,现在mirrors.ustc.edu.cn已经基本稳定了。

新机器的域名:

IPv4/v6: mirrors.ustc.edu.cn (能解析出教育网/电信/v6地址)

v4only: mirrors4.ustc.edu.cn (能解析出教育网/电信地址)

v6only: mirrors6.ustc.edu.cn

有些地方(比如我测试的合肥长宽),DNS会解析出电信地址,但使用教育网地址访问更快,这时可以通过修改hosts指定强制使用教育网地址访问。

教育网ip:202.38.95.110

电信ip:202.141.160.110

v6地址:2001:da8:d800:95::110

支持的访问方式:

http/ftp/rsync

提供的服务:

原debian.ustc.edu.cn和oss.ustc.edu.cn提供的镜像服务基本上都迁移过来了,除fedora/ubuntu-partner外。fedora正在进行同步,ubuntu-partner也会在近几天同步过来。

原centos.ustc.edu.cn提供的centos/epel/linux-2.6.git也已经迁移过来了。

需要注意的修改:

debian.ustc.edu.cn和oss.ustc.edu.cn两个域名已经设置为mirrors.ustc.edu.cn的别名,大多数镜像 的相对地址没有改变,所以大家基本上不需要对原有设置进行修改(如sources.list),可以继续正常使用。但是以下镜像用户请注意:

1. gentoo用户,原portage地址:

rsync://oss.ustc.edu.cn/pub/gentoo-portage 已经调整为:

rsync://mirrors.ustc.edu.cn/gentoo-portage

2. cygwin用户,原cygwin源地址:

http://oss.ustc.edu.cn/cygwin/cygwin/ 已经调整为:

http://mirrors.ustc.edu.cn/cygwin/

3. 原ubuntu cdimage地址:

http://debian.ustc.edu.cn/ubuntu-cd 已经调整为:

http://mirrors.ustc.edu.cn/ubuntu-releases

4. 原fedora linux地址:

http://oss.ustc.edu.cn/fedora/ 已经调整为:

http://mirrors.ustc.edu.cn/fedora/linux/

5. centos.ustc用户,请修改自己的CentOS-Base.repo和epel.repo,将文件中的域名

centos.ustc.edu.cn 修改为 mirrors.ustc.edu.cn

6. linux-2.6.git用户,请修改origin地址:

git remote set-url origin http://mirrors.ustc.edu.cn/linux-2.6.git

使用帮助:

大多数镜像的使用帮助已经完成,大家在对应的目录下,如:

http://mirrors.ustc.edu.cn/ubuntu/

点击页面上方(标题下方)的使用说明链接,可以打开其对应的帮助信息,如如何设置sources.list文件。或者也可以直接打开

http://mirrors.ustc.edu.cn/mirror-help/.html

在首页上点击使用说明链接,点击其中对应的源的链接,也可以跳转查看相应的帮助。由于人手不够,有些源还没有使用帮助信息,也欢迎大家帮忙写了,发送给我们。

状态监控:

在首页点击页面上方的同步状态链接,可以查看当前各镜像的同步状态,包括成功与否/上游源/镜像体积等。

大家如果知道更好(更新、更快)的上游源,请联系我们。近期我们会申请成为debian和ubuntu等镜像的官方镜像,这样我们可以获得更好的上游源来同步。

如果同步出现故障,服务器的管理员会收到邮件通知,以尽快处理,所以大家看到状态监控页面中有显示同步失败的条目时,无需联系我们。

如果同步状态上显示同步正常,但实际使用过程中发现镜像有问题,请联系我们。

联系方式:

我们的邮箱: lug@ustc.edu.cn

鸣谢:

感谢中国科学技术大学、网络信息中心的支持,特别感谢jameszhang老师为我们提供服务器!

PS,我们下一步打算将pxe.ustc.edu.cn也对校外开放,对外提供一些网络启动服务,类似于boot.kernel.org这种。但是由于国内网络速度不行,所以对校外只能提供一些比较小的Live工具,大家可以给我们推荐一些实用的东西。
-----EOF----
事实上我也很感谢这个源,但我也不知道它能撑多久,要知道网络带宽可是很贵的。当然顺便我也测试了一下,居然我连教育网非常快,而连接电信的服务器特别慢。。哭了。

Tags: ustc, 中科大, linux源, 网易

父母在,休息。。。。

如题 。over

学习HTML中的意外发现:xmp,plaintext

最近被人劝唆,准备捡起HTML了。。想从事一下DIV CSS的工程,准备转行做前端吧。。。说说而已,能力太差。
早上借了强哥的书在看,随手一翻,居然翻到了一页,说是在HTML页面里把HTML标记正常显示出来,这个标记好象以前都没有看过。以前只注意了把HTML内容格式化输出。

这两个标签是xmp和plaintext。

例如<xmp><input type="text" /></xmp><plaintext><input type="text" />

这两个标签里的内容,在firebug里可以看出来,被转成类似htmlspecialchar处理过的代码,所以,它们就直接显示在页面上了,也就是说,它里面的内容,如果想再转为标准的DOM结构,还得再作处理,怪不得很多大网站在做DOM转换的时候,都是情愿存存储到textarea里,毕竟在文本框里面,HTML都不用做转义,那是多么开心的事情啊。。。

PS:plaintext是单标签,所以,在它之处的所有内容全部变成了HTML输出了。。。小心使用啊。

白激动了。

Tags: html, xmp, plaintext

Records:161234