利用HTML5的History API实现无刷新跳转页面初探

HTML4中的HistoryAPIhistory这个东西大家应该都不陌生,我们经常使用history.back(-1)来实现后退功能,具体的属性和方法如下:属性length历史的项数。JavaScript所能管到的历史被限制在用浏览器的“前进”“后退”键可以去到的范围。本属性返回的是“前进”和“后退”两个按键之下包含的地址数的和。方法back()后退,跟按下“后退”键是等效的。forward()前进,跟按下“前进”键是等效的。go()用法:history.go(x);在历史的范围内去到指定的一个地址。如果x<0,则后退x个地址,如果x>0,则前进x个地址,如果x==0,则刷新现在打开的网页。history.go(0)跟location.reload()是等效的。HTML5中的HistoryAPIhistory.pushState(data,title[,url]):往历史记录堆栈顶部添加一条记录;data会在onpopstate事件...

gulp实现打包js/css/img/html文件,并对js/css/img文件加上版本号

参考打包教程:http://www.cnblogs.com/tugenhua0707/p/4069769.htmlhttp://www.cnblogs.com/tugenhua0707/p/4982646.htmlhttp://www.tuicool.com/articles/viequayhttps://github.com/Platform-CUF/use-gulp实现要点:1、如何运行gulp的任务,加入新建好一个如下任务://语法检查gulp.task('jshint',function(){gulp.src('js/**/*.js').pipe(jshint()).pipe(jshint.reporter('default'));});那么在命令行上运行:gulpjshint2、为什么安装了全局还要安装本地,参考这个:http://www.cnblogs.com/EasonJim/p/6207201.html3、对于npm的命令详解,参考这个:http://www.cnblogs.com/EasonJim/p/6206179.html4、我使用的node.js版本为:v7.4...
代码星球 代码星球·2020-04-04

css设置background图片的位置实现居中

/*例1:默认值*/background-position:00;/*元素的左上角*//*例2:把图片向右移动*/background-position:75px0;/*例3:把图片向左移动*/background-position:-75px0;/*例4:把图片向下移动*/background-position:0100px;参考:http://www.bkjia.com/CSSjc/898331.html...

Jquery实现滚动到底部加载更多(最原始)

<!DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="UTF-8"/><title>滚动条到底部时自己加载新的内容</title><scripttype='text/javascript'src='js/jquery.js'></script><scripttype="text/javascript">varpage_num=2;$(document).ready(function(){$(window).scroll(function(){if($(document).scrollTop()>=$(document).height()-$(window).height()){vardiv1tem=$('#container').height()varstr=''$.ajax({type:"GET",url:'ajaxdata',dataType:'json',beforeSend:function(){$('.ajax_l...

JQuery实现页面刷新滚动条自动滚动到特定位置

varcotentOffset=$('#6f').offset();$('.info_box').animate({scrollLeft:cotentOffset.left},200);原理,利用jquery的offset对象得到left或者top的值,然后用animate方法进行设置偏移量。上面的代码可以根据实际情况改造。http://www.cnblogs.com/EasonJim/p/5347296.html之前实现的通过#号定位会有一个bug,在页面刷新时不会生效,只有在当页点击时才会转到。参考:https://segmentfault.com/q/1010000000473710 ...

iOS实现一个简单的扫码功能

用到的是AVFoundation需要用到Capture,Input,Output,Session,previewLayer相关类#import"ScanQRCodeController.h"#import<AVFoundation/AVFoundation.h>#defineWIDTH[UIScreenmainScreen].bounds.size.width#defineHEIGHT[UIScreenmainScreen].bounds.size.height@interfaceScanQRCodeController()<AVCaptureMetadataOutputObjectsDelegate>@property(nonatomic,strong)AVCaptureSession*session;@property(nonatomic,strong)AVCaptureVideoPreviewLayer*previewLayer;@end@implementationScanQRCodeController-(void)viewDidLoad{[super...

Linux使用screen实现关闭ssh连接的情况下,让程序继续在后台运行

Ubuntu默认没有安装screen,需要手动安装。安装命令:sudoapt-getinstallscreen简单的操作方法:直接输入命令screen进入screen子界面,此时putty标题栏会指示处于子界面状态,然后运行你的程序操作命令...然后按下Ctrl+A后抬起,然后按下d键,此时切换回主界面,Putty的窗口标题栏也会指示。此时就是断开ssh(直接关闭putty的窗口),程序仍在运行。以后重新ssh连接后,如果要找回之前的窗口,输入screen-ls查看子界面的代号然后输入#screen-r子界面代号就可以查看当初你程序运行所在的子界面了。更详细的教程,参考:http://www.cnblogs.com/mchina/archive/2013/01/30/2880680.html ...

使用SmartQQ实现的智能回复(Web QQ协议)

采用SmartQQSDK进行开发,官网:https://github.com/ScienJus/smartqq此项目只是集成使用的方法,在com.jsoft.robot.SmartQQUse.Receiver下,依然是官方的例子修改而来。要运行此项目,命令如下:1、先clone项目到本地2、编译项目:mvncompile3、运行项目:mvnexec:java-Dexec.mainClass="com.jsoft.robot.SmartQQUse.Receiver" 源码:https://github.com/easonjim/SmartQQUsebug提交:https://github.com/easonjim/SmartQQUse/issues ...

Jenkins使用Pipeline插件实现多个Job之间的串并联(教程收集)(待实践)

在原始不使用插件时,在Jenkins我们要实现多个Job之间的连续集成时,我们一般的做法就是在每个Job上关联另一个Job,但是,这样做有个弊端,只能是连续的,如果要实现串或并联这样的,估计比较难;但是也不是说不能实现,Shell脚本可以实现,只不过比较复杂且不美观而已。可以这样说:Shell脚本(批处理)是万能的。Pipeline是一个能够把多个Job之间实现串并联功能的插件,可以参考官网的介绍:https://jenkins.io/doc/book/pipeline/,插件官网:https://wiki.jenkins-ci.org/display/JENKINS/Pipeline+Plugin以下是收集的教程:http://ntflc.com/2016/08/23/Jenkins-Pipeline-for-Leakcanary/http://qa.blog.163.com/blog/static/190147002201391661510655/http://blog.csdn.net/r455678/article/details/53690315https://yq.aliy...

Java中的文件上传(原始Servlet实现

从原始的Servlet来实现文件的上传,代码如下:参考:https://my.oschina.net/Barudisshu/blog/150026采用的是Multipart/form-data的方式上传文件。针对Multipart/form-data方式的上传解释,参考如下文件:http://www.onmpw.com/tm/xwzj/network_35.htmlhttp://892848153.iteye.com/blog/1847467http://blog.csdn.net/five3/article/details/7181521下面为具体的实现方式:1、通过getInputStream()取得上传文件。注意:这种方式相当的原始,通过分析body中的字符,然后再进行硬编码切割出文件字节,再进行保存。JSP:<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPEhtml><html><head><ti...

使用nginx实现的灰度发布思路研究(待实践)

灰度发布也叫 A/B测试,原理是一套系统在实现了负载均衡,全国节点都部署了系统之后,可以在新功能上线后,让一小部分用户先使用,从中收集使用信息来做对比和发现bug,及时调整,最终分发到全国的节点。实现灰度发布的几个思路:1、以nginx为例的分流,IP是最终的关键,从而以IP围绕中心,可以衍生出很多定义,比如用户标识、用户分组、设备ID及分组等,但是最终还是离不开IP去分流。2、nginx支持模块开发,如果在一套成熟的系统中,可以开发自己的模块,从而脱离IP为分流导向,指定自己的精确分流的导向,比如设备ID这样更小颗粒度的定向风流。3、nginx支持一些lua脚本的配置,比如lua更新nginx的配置,可以通过热重启重新加载lua脚本配置,但是现在我发现还有一种更简单的方法,就是nginx本身的配置文件,针对特定的IP分流配置,可以通过热重启nginx(也叫重新加载nginx的配置文件)来进行重新加载。4、要实现灰度发布,还有一种非常重要的点,就是日志的收集,针对负载均衡的系统,由于节点很多,日志的收集非常重要,所以需要一套统一的日志平台进行收集和分析平台。实现的具体方式:在...

asp.net简单定时任务实现

代码如下:publicclassTimeTask{#region单例privatestaticTimeTask_task=null;publicstaticTimeTaskInstance{get{if(_task==null){_task=newTimeTask();}return_task;}}#endregion//事件publiceventSystem.Timers.ElapsedEventHandlerExecuteTask;//时间对象privateSystem.Timers.Timer_timer=null;//定义时间间隔privateint_interval=1000;//默认1秒钟publicintInterval{set{_interval=value;}get{return_interval;}}//开始publicvoidStart(){if(_timer==null){_timer=newSystem.Timers.Timer(_interval);_timer.Elapsed+=newSystem.Timers.ElapsedEventHandler(_t...

Jenkins配置MSBuild实现自动部署2(项目实践)

继上一篇文章http://www.cnblogs.com/EasonJim/p/6077225.html,大致实现的思路,今天来记录一个真实项目实践。选择【构建一个自由风格的软件项目】,其余的不要去选择。1、项目名称2、SVN迁出代码配置注意:如果时git就配置相应的git操作说明:【Credentials】为svn的账号密码,通过【Add】按钮进行配置。如下:【Localmoduledirectory】这个路径时源代码迁出时存放的路径,切记,这里的路径时相对路径,相对于jenkins的workspace的路径,而不能时绝对路径。其余都按照上面进行配置,主要实现了都有更新时自动迁出源代码的功能,并触发下一步的构建流程。3、配置构建触发器这里的触发器时定时去查看svn是否有更新,有则进行下一步构建流程。上面我配置的时每分钟进行svn的检查,如果想要不同的配置时间,点击后面的问号进行查看。4、构建前批处理删除工作空间文件夹注意:这一步可选操作,由于我的项目特殊原因,所以需要每次在构建前先清空文件夹的内容批处理如下:echo[INFO]清除编译后输出的文件mkdir%workspace%Bu...

MyBatis3-实现MyBatis分页

此文章中的例子是沿用上一篇文章http://www.cnblogs.com/EasonJim/p/7055499.html的SpringMVC集成的例子改装的。MyBatis分页有以下方式实现:一、内存分页,使用RowBounds类,但这种方式不推荐,基本不用,所以此方式集成省略。二、自定义实现,代码量比较少,简单,比较灵活。以下为具体的集成步骤:1、在User.xml中加入select节点,并组装分页SQL<selectid="getUserArticlesByLimit"parameterType="int"resultMap="resultUserArticleList">selectuser.id,user.userName,user.userAddress,article.idasaid,article.title,article.contentfromuser,articlewhereuser.id=article.useridanduser.id=#{arg0}limit#{arg1},#{arg2}</select>注意:上面的写法中select...

MyBatis3-实现多表关联数据的查询

前提:1、新建Article表和增加模拟数据,脚本如下:DropTABLEIFEXISTS`article`;CreateTABLE`article`(`id`int(11)NOTNULLauto_increment,`userid`int(11)NOTNULL,`title`varchar(100)NOTNULL,`content`textNOTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=5DEFAULTCHARSET=utf8;InsertINTO`article`VALUES('1','1','test_title','test_content');InsertINTO`article`VALUES('2','1','test_title_2','test_content_2');InsertINTO`article`VALUES('3','1','test_title_3','test_content_3');InsertINTO`article`VALUES('4','1','test_title_4','test_co...
首页上一页...576577578579580...下一页尾页