宝哥软件园

JavaScript只用一行代码就可以轻松处理快捷消息函数

编辑:宝哥软件园 来源:互联网 时间:2021-10-23

别担心,方法很简单。我先说说它的由来.最开始,快捷消息的功能可以追溯到本文的发表[对[AJaxcontrolToolkittes自动测试框架:架构]的完整分析之一]。当时纯粹是那篇文章的副产品,我也没怎么关注。我以为这只是像我这样的懒人的捷径。后来因为没有提示该功能会直接自动提交消息,也引起了部分同学的不满,在醒目位置增加了提示:【提示:快捷链接会直接推荐提交消息信息。】,以平息局势;后来有些同学可能是因为鼠标太高级,连击速度很快。他们每次使用我的快捷留言功能,都会点击全部五个快捷链接(我想置顶,路过,期待下一个,太棒了,我想推荐)尽情享受。本来我放这么多快捷链接是为了给你提供更多的选择,但我的本意是不想让你再一次点击每一个。结果原本是懒人懒。每个人都这么努力,我受不了。信息就像在聊天室刷屏幕一样。究其根源,原来的程序写得太简单,没有考虑细节,所以现在只剩下两个快捷链接,对程序进行限制,这样就不会刷屏了。后来在最近几天,我发现快消息的功能被越来越多的人加到了我的博客上。昨天看到这篇文章(这里),把我的快速留言功能的代码几乎原封不动的抄了下来。这些应用让我重新思考了快件小功能的定位。客观来说,这个功能其实是对Blog Park现有消息功能的一个很好的延伸!那么,与其让人们反复重新制作轮子,为什么不提供一个公共扩展让大家直接使用呢?基于以上历史原因,经过几个小时的努力,新版本的万能快件功能诞生了!这个版本的目标是简单通用,其他博客公园的博主只需简单引用就可以直接在自己的博客中添加快捷消息功能!目前该功能设置为v1.0bate版本,但仍有一些功能有待完善。未来的版本会提供更多用户自定义的设置功能,任何新的想法都会逐渐加入。所以如果以后想自动升级新版本,可以直接参考我的文件,所有使用这个脚本的用户都会同时更新。其实用法真的很简单,只需要在【后台管理】-【设置】-【页面顶部的Html代码】的文本框中填入下面的句子即可。复制的代码如下: //放在【后台管理】-【设置】-【页面顶部的Html代码】的文本框中。脚本语言=' JavaScript '类型=' text/JavaScript ' src=' http3360http://files.cnblogs.com/justinw/jmsg.js'/script如下图所示。

这里是整个通用快速消息功能的源代码。时间很短,代码也没有经过严格的测试,请先在实践中测试。欢迎大家批评指正!代码很简单,我加了很多注释,这里就不重复了。如果你有任何问题,请留言。复制代码如下: //作者:Justin //版权:请保留来源。//版本:V1.0 beta //上次更新:201003300330 //备注:如有疑问,可优先留言http://www.cnblogs.com/justinw/archive/2010/03/30/1700190.html.///-begin-jmsg-function jmsg(){ }//初始化动作jmsg . prototype . setup=function(){ jmsg . load event(this . batch);//jmsg . loadevent(jmsg . msgdiv);jmsg . MSgdiv();}//提交消息信息jmsg . prototype . post=function(msg){//这里判断HaveUp标志是为了防止同一条消息重复提交。如果(window.top.HaveUp) {alert('您已经通过了!谢谢朋友:));返回;} var txt=document . getelementbyid(' tbCommentBody ');if (txt!=null){ txt . style . background COlOr=' # E4F 5ff ';var Date=new Date();txt.value=msgtxt . focus();//如果您提交了一次快捷方式消息,则HaveUp设置为true。//每次重新进入页面,HaveUp都会被初始化。window . top . HaVeup=true;//这是Blog Park用来提交消息的方法,你就是通过这里提交消息的。//如果不登录直接在客户端调用这个方法,会在内部抛出错误。(Blog Park代码问题,无空判断)post mment();} else {//目前,博客园区存在功能限制。只有登录后才能提交消息。//如果没有找到tbCommentBody元素,可以认为当前用户没有登录。提醒('您需要先登录才能使用Blog Park的留言功能!');} }//推荐jmsg . prototype . recommend=function(){ var diggit=jmsg . getelementsbyclassname(' diggit ');if((Digg it)(Digg it[0]){ Digg it[0]。onclick();} else { alert(' debug :推荐按钮的ClassName已被重命名!');} }//反对JMSG。prototype . batch=function(){ var buryitmsg=function(){//目前Blog Park的推荐和反对都是匿名的,我当然希望知道被反对的原因。//这个功能只能防君子,不能防小人。它只是给出了一个提示。var txt=document . getelementbyid(' tbCommentBody ');if (txt!=null) {alert('这位同学,我非常希望听到你的宝贵意见,请给我们一些建议……');txt . style . background COlOr=' # Fe 9 ab 3 ';txt . focus();} } var buryit=jmsg . getelementsbyclassname(' buryit ');if((bury it)(bury it[0]){ jmsg . addevent(bury it[0],' click ',bury itmsg);} }//提交消息时推荐jmsg . prototype . super PST=function(msg){ this . post(msg);this . recommend();}//附加onload事件jmsg。load event=function(fn){ var oldon load=window。onloadwindow.onload!=' function '){ window . onload=fn;} else { window . onload=function(){ oldonload();fn();} } }//附加事件jmsg.addevent=function (obj,type,fn){ if(obj . addevent listener)obj . addevent listener(type,fn,true);else if(obj . attachevent){ obj . attachevent(' on '类型,function(){ fn();});} }//通过ClassName找到了DOM元素jmsg . getelementsbyclassname=function(n){ var El=[],_ El=document . getelementsbytagname(' * ';for(var I=0;i _ el.lengthi ) { if (_el[i]。CLaSS NAmE=(n){ El[El . length]=_ El[I];} }返回El;}//快捷消息jMsg.msgDIV=function() {//的浮动导航栏是否出现。

if(!(window.location.href.indexOf(').html') -1))返回;//动态计算浮动滚动条的位置last scrolly=0;var beat=function(){ var Diffy;if(文档。文档元素文档。文档元素。向上滚动)diffY=文档。文档元素。滚动顶部;else if(文档。body)diffY=文档。尸体。向上滚动其他{/*网景素材*/}百分比=。1 *(Diffy-最后一次滚动);如果(百分比0)百分比=数学上限(百分比);否则百分比=数学下限(百分比);文件。getelementbyid(' msgDiv ')。风格。top=parsent(文档。getelementbyid(' msgDiv ')。风格。top)百分比“px”;最后一次百分比;} MSgdivCOde=' div id= ' MSgdiv ' style=' z-index :2010;右right:2pxtop:400px位置:绝对;strong span style= ' color : red;font-size : 10pt'[快捷留言:点击下面链接后会直接提交留言信息。/span/strong br/img src= '/upload/2010-4/20100401005300831。gif '/a onclick= ' $ jmsg。superst('好贴!我顶你!');返回false ' href= ' # # # ' span style= ' font-size : 30pt;'我要顶!/span/aa onclick= ' $ jmsg。超级PST('好贴!路过!');返回false ' href= ' # # # ' span style= ' font-size : 18pt;'路过/span/a/div ';文件。write(msgDivCode);window.setInterval(节拍,120);}////-end-jMsg-//todo :提供设置是否显示浮动条的接口//todo:提供自定义浮动条图片的接口//todo:提供完全自定义浮动条内容的接口//todo:提供浮动条以外的交互模式接口var $ jMsg=new jMsg();$ jmsg。setup();更新:201003301250-为维护博客园的推荐排名机制的公平有效和世界和平,特将超级明星方法修正为不默认自动推荐文章,而是弹出提示框询问用户"是否要同时推荐该篇文章",原来的[路过]链接改为使用邮政方法提交,只提交快捷留言信息,不会自动推荐:复制代码代码如下: jmsg。原型。super PST=函数(msg){ this。帖子(msg);//这里增加询问功能,不支持自动直接推荐如果(确认('您是否要同时推荐该篇文章呢?)){这个。推荐();} } 作者:贾斯汀

更多资讯
游戏推荐
更多+