-
jquery.imgareaselect.js使用和一些问题
最近做了一下头像截取上传,其实以前做过的,只不过没这么详细去做。用到的JS:>jquery-1.8.0.jsajaxfileupload.jsjquery.imgareaselect.js参数这些我这里都不介绍了,网上很多,这里只说一些问题和解决方法:*初始化时默认把截取框显示出来(以下为一个100PX的正方形):```javascriptshow:true,//可以不填写x1:0,y1:0,x2:100,y2:100,```如果你需要图片居中截取,**注意一定要在图片已经加载完成**:```javascriptvarrw=$("#图片选择器").width();//图片的宽度varrh=$("#图片选择器").height();//图片的高度varbx1=(rw-100)/2;varby1=(rh-100)/2;varbx2=bx1+100;varby2=by1+100;```*有时候发现初始化时,截取的图和预览不一样,但是一拖动就一样了。这个问题是开始时预览的`img`没有添加宽度和高度的原因,你可以看看是不是你的CSS写了图片的最大高度/宽度或最小高度/宽度。*上传后如何去掉截取的框?设置截取对象...
jquery.imgareaselect.js 头像截取 ajax头像上传 -
jQuery在IE中animate没有效果
jQuery中使用回到顶部,其他浏览器都可以,就是IE没有效果,代码如下:```javascript$('body').animate({scrollTop:0},100);```后来发现IE要这么写才有效果:```javascript$('html,body').animate({scrollTop:0},100);```请原谅我这个是公司项目,所以兼容不做不行啊。
IE jQuery animate -
jQuery中使用ajax同步注意事项
今天用了一下`jQuery`的`ajax`同步请求,但是却发现返回值总是为`undefined`,仔细看了一下发现了问题。开始代码如下:```javascriptfunctiongetmsg(){$.ajax({async:false,url:"/url",cache:false,type:"GET",success:function(data){returndata;}});}```但是调用上面的方法的时候返回的值却不存在,但是`data`的值是有的。后来改了改:```javascriptfunctiongetmsg(){varmsg=null;$.ajax({async:false,url:"/url",cache:false,type:"GET",success:function(data){msg=data;}});returnmsg;}```这样就可以了,原来`success`的方法相当于一个内部类,他的返回值是不能够返回到`getmsg`方法的。
jQuery ajax -
Nginx中error_page跳转没有错误码
今天发现百度居然收录了一个错误的页面,仔细一看原来这个页面的状态码是`200`,仔细看了看代码没有问题,原来是Nginx中`error_page`配置方式有问题。看下面,这是开始的配置和浏览器的信息:![Nginx的error_page错误配置](https://static.acgist.com/resources/images/article/201501/14128306566591001.png)![Nginx的error_page错误配置浏览器信息](https://static.acgist.com/resources/images/article/201501/14128306568281002.png)再看看修改后:![Nginx的error_page正确配置](https://static.acgist.com/resources/images/article/201501/14128307243701003.png)![Nginx的error_page正确配置浏览器信息](https://static.acgist.com/resources/images/article/201501/1...
Nginx error_page 错误码 -
CSS和JS缓存带来的更新问题
为了更快的网页加载,很多网站都使用了本地缓存。但是这样会带来一些问题,如果服务器修改了CSS和JS后,没有清除缓存刷新不能更新一些修改,就会导致一些样式错乱或者一些功能失效。解决这个的办法其实很久以前就见过了,而且有时候经常用,只不过没注意而已,那就是在CSS或者JS文件后面加上一个版本号。例如:```htmljquery.min.js?v=xxxx```
CSS JS 缓存 -
301和302重定向注意事项
最近发现聊天室退出后,再次创建房间提示居然是房间不存在,这让我表示很郁闷。因为最近都没怎么做自己的网站,也不知道那里的问题,最后看了很久才发现原来是之前改了跳转方式的问题。最开始我认为跳转到下一个页面只要不是临时提示页面都可以用`301`跳转,原来大错特错了。我们看一下下面几张图:**`302`跳转控制台信息**![302第一次跳转](https://static.acgist.com/resources/images/article/201501/14121351890071001.png)![302第二次跳转](https://static.acgist.com/resources/images/article/201501/14121351891361002.png)**`301`跳转控制台信息**![301第一次跳转](https://static.acgist.com/resources/images/article/201501/14121352949171003.png)![301第二次跳转](https://static.acgist.com/resources/images/article/...
301 302 重定向 -
JSP解析错误
```java九月25,201411:19:39上午org.apache.jasper.compiler.JDTCompiler$1findType严重:Compilationerrororg.eclipse.jdt.internal.compiler.classfmt.ClassFormatExceptionatorg.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.(ClassFileReader.java:372)atorg.apache.jasper.compiler.JDTCompiler$1.findType(JDTCompiler.java:232)atorg.apache.jasper.compiler.JDTCompiler$1.findType(JDTCompiler.java:188)atorg.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:113)atorg.eclipse.jdt.intern...
JSP -
checkbox选中排序
今天搞了个`checkbox`排序的,选中后排到选中的最后一个,取消选中排到未选中的第一个。使用jQuery非常简单。代码如下:```javascript$("ulliinput").change(function(){varchecked=$(this).prop("checked");if(checked){$("ulliinput:not(:checked):first").closest("li").before($(this).closest("li"));}else{$("ulliinput:checked:last").closest("li").after($(this).closest("li"));}});```DEMO地址:[http://www.acgist.com/demo/checkbox-sort/index.html](http://www.acgist.com/demo/checkbox-sort/index.html)
checkbox jQuery -
阿里云香港云服务器ECS
公司因为备案没下来,所以先搞了个香港主机把网站挂了上去,其实很早就听说香港服务器不稳定,这次算是领教了。昨天中午差不多就出了问题,这都过去一天半了还没修复,头疼啊。当然虽然香港的服务器这样,但是阿里云其他的地方的好像还是非常稳定的。慢慢来,好事多磨。
阿里云 云服务器ECS -
POI操作Word换行
最近使用了一下POI来处理Word,但是发现换行总是不行。试过了`\r\n`、`(char)11`等等方法,但是都不行。最后发现POI提供了API的,可以直接换行。```javarun.getCTR().addNewT().setStringValue("ACGIST");run.getCTR().addNewBr();//换行```>`run`是`XWPFRun`的对象
POI Word 换行 -
contenteditable
最近用了一下`contenteditable`属性,这个属性可以让一段HTML标签内容可以编辑,非常不错的属性,回车换行时会自动识别使用什么标签。但是发现编辑`span`的时候,会发生移位。原始:![contenteditable](https://static.acgist.com/resources/images/article/201501/14105173034851004.png)删除发生位移:![contenteditable](https://static.acgist.com/resources/images/article/201501/14105173126991005.png)于是我添加了`display:inline-block;padding:01px;`就可以了。>注意:后面的padding一定要有,不然光标不会出现。后来试了几次其实只需要:`padding:01px;`就可以了。如果你不想要拼写检查功能可以加属性`spellcheck="false"`。DEMO地址:[http://www.acgist.com/demo/contenteditable/index.html...
contenteditable -
CSS3动画 - 放大旋转
CSS旋转主要的属性就是`transform`,例如放大两倍:`transform:scale(2);`这个属性不仅仅可以实现发达缩小,而且可以对元素进行平移`translate`以及旋转`rotate`。更多学习请移步到[W3CSCHOOL](http://www.w3school.com.cn/cssref/pr_transform.asp)吧,那里很丰富。DEMO地址:[http://www.acgist.com/demo/animation/index.html](http://www.acgist.com/demo/animation/index.html)最近越来越喜欢CSS3和HTML5了,越来越爱写前端的东西了。
CSS3 -
HTML5拖拽
最近遇到了这么一个问题,需要`html`能够拖动并且能够编辑,编辑加一个`contenteditable`这个属性就可以了。但是拖动出了问题,那就是,拖动的时候元素之间存在问题。原来`e.target`获取到的并不是我想要的元素节点,然后做了一下修改:```javascript/***selector:jquery选择器*parent:拖动的最大父元素选择器**/functiondrag(selector,parent){vart;varsource=$(selector);source.bind("dragstart",function(e){t=$(e.target).closest(parent);e.effectAllowed="move";});source.bind("dragover",function(e){e.preventDefault();});source.bind("drop",function(e){if(source.index(t)==source.index($(e.target).closest(parent))){//防止放到自己里面}elseif(source.inde...
HTML5 -
Java生成、解析二维码
今天研究了一下二维码生成和解析,不过这个解析的方法不好,解析会出现错误。使用QRCode:```javapackagecom.test;importjava.awt.Color;importjava.awt.Graphics2D;importjava.awt.Image;importjava.awt.image.BufferedImage;importjava.io.File;importjava.io.IOException;importjavax.imageio.ImageIO;importjp.sourceforge.qrcode.QRCodeDecoder;importjp.sourceforge.qrcode.data.QRCodeImage;importcom.swetake.util.Qrcode;publicclassCode{publicstaticvoidmain(String[]args){encode("http://www.acgist.com","D:\\code.png","E:\\workspace\\acgist\\WebRoot\\img\\logo\\logo.png")...
二维码 Java QRCode -
那些震撼的网页效果 - 3D元素周期表
这里整理分享一下我看到的那些前端非常让人惊叹的特效,希望以后也能写出这样惊艳的效果。3D元素周期表:[http://threejs.org/examples/css3d_periodictable.html](http://threejs.org/examples/css3d_periodictable.html)>20220523批注现在看来依旧震撼
JS特效 CSS特效 网页特效 3D元素周期表 -
sessionStorage解决Ehcache页面缓存session登录问题
最近用了一下Ehcache的页面缓存,发现了个问题,头部有显示用户名的情况下,所有页面都显示一个用户名。想了想这个问题,解决办法:*不用缓存,这个也算一种办法,不过这样有点点扯蛋。*每次使用ajax每次都请求一次,这个每个页面都请求一次,感觉也不是很好。*还有就是在客户端保存用户数据了,并且和session的时间是一致的。于是就发现了这个`sessionStorage`,不过不知道和是不是也有时间限制,这个并没有了解。最近好忙,很多自己的事情都做不完整。今天早晨起来看了勇敢的心,这个电影真心不错,希望看到这个文章的朋友也去看看吧!希望你也有一颗勇敢的心,一颗自由的心!我看了一下,发现`sessionStorage`还是要谨慎使用,这个只是在同一个浏览器的TAB中会共享,新打开一个TAB的话,就会消失。如果使用`cookie`来保存数据,不设置过期时间,默认和`session`的时间一样,但是这样带来的问题就是`cookie`会在每次请求都传到服务器。两种解决方案:##使用`cookie`在登录的时候写入一个默认时间的`cookie`保存登录信息,使用`js`来读取`cookie`(注意如果设置了cookie的...
sessionStorage Ehcache session -
ajaxfileupload.js注意
首先我们使用这个`js`的时候,发现`jquery`部分高级版本会出现问题,这个时候我们需要把官方压缩包里面有个`jquery.js`同时引入就可以解决了,先引入高级版本的`js`,再引入压缩包里面的`jquery.js`。然后可能出现问题:**SCRIPT438:对象不支持"handleError"**。这个是因为`jquery`的这个方法旧版本才有,把这个方法添加到`ajaxfileupload.js`里面就可以了。>参考文章:[http://zhidao.baidu.com/question/351817654.html](http://zhidao.baidu.com/question/351817654.html)还有就是IE浏览器如果你是想要一个按钮触发`input`的`click`事件,这样是不可行的,最后会报错:**error:拒绝访问**。这种可以把`input`的透明度调为`0`,然后覆盖到你的按钮那里。>参考文章:[http://stackoverflow.com/questions/793014/jquery-trigger-file-input](http://stack...
ajaxfileupload.js ajax文件上传 -
Nginx静态服务器注意事项
我发现人在蹲坑的时候想事情都很缜密,今天我也不知道怎么突然就想到了,用静态的域名访问服务起的WEB-INF目录,果然能访问,这。。。所以这里记录一下,也希望能够帮助别人。**当你的静态资源没有和项目分开或者你的静态域名可以直接访问到你的项目根目录的时候,要特别小心。**例如:我的项目目录是:`/home/www/acgist/ROOT`Nginx的静态域名指向就是:`root/home/www/acgist/ROOT`然而这样通过我的域名直接就可以访问到我的WEB-INF目录了。果断今天想到了,不然又悲剧了。解决办法:1.可以把你的静态资源放到其他目录2.Nginx配置不能访问WEB-INF目录
Nginx 服务器安全 -
Spring MVC感受
最近用了一下SpringMVC,相比Struts2给我最大的感觉就是SpringMVC的URL太漂亮了,这种风格好像叫RESTFul吧,参数也可以放到URL的路径里面太棒了。不过Struts2也可以使用插件来支持这种URL。当然这也可以看出来Struts2和SpringMVC的区别了,Struts2针对的是action,而SpringMVC针对的是方法。前者通过filter实现,后者通过servlet实现。
Spring Spring MVC Struts -
Hibernate多个字段映射一个属性
最近工作丢了,面试了两家公司也没过,在思考人生。诶,扯远了。其实我确实没事,于是看了一下我的网站代码,看到用户设计那里,我把用户和用户其他信息分成两个表的,其他信息里面包含用户的自我介绍,签名档一些信息。但是用户的个人中心那里每次都会查询出来用户的自我介绍,签名档这些信息,这样每次都有一个关联查询。所以有没有办法可以把用户其他信息放到用户表,但是映射到用户的其他信息这个属性类里面呢?![powerdesign](http://static.acgist.com/resources/images/article/201501/14048794138841001.jpg)其实我对Hibernate也不是很熟悉,也就是会用罢了,于是我就百度了,但是关键词也不对,找了一下也没找到。好吧,我就把Hibernate映射xml里面的所有关键字一个一个的百度,终于是找到了:`component`,就是这个了。配置文件:```xml```当然如果你不是每次都要查询出来的信息,可以分开一个表,例如我的联系方式我是根据用户是否显示来判断是否查询的,所以可以分开一张表,当然用`component`也可以,因为这个也支持延迟加载。参考...
Hibernate component