{ 勃客蓝雨 }

—— 从简约中领悟品质的真谛 ; ——

新增批量上传功能

新增批量上传功能

更新了排版方式,更协调一些!  

标签: 无任何TAG
2013年01月25日 | 4 条评论

设为首页和收藏本站的代码,兼容IE,chrome,firefox

相信很多朋友都在寻找“设为首页”与“收藏本站”的代码,现在网上到处都是,不过兼容性不算太好,下面给大家分享这两种兼容性良好的代码,希望能够节省大家的时间,能拿来直接用的干嘛还要手写呢?

javascript代码:

//设为首页
function SetHome(obj,url){
          try{
                    obj.style.behavior='url(#default#homepage)';
                    obj.setHomePage(url);
          }catch(e){
                    if(window.netscape){
                              try{
                                        netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
                              }catch(e){
                                        alert("抱歉,此操作被浏览器拒绝!\n\n请在浏览器地址栏输入'about:config'并回车然后将[signed.applets.codebase_principal_support]设置为'true'");
                              }
                    }else{
                              alert("抱歉,您所使用的浏览器无法完成此操作。\n\n您需要手动将【"+url+"】设置为首页。");
                    }
          }
}
                                                      
//收藏本站
function AddFavorite(title, url) {
          try {
                    void(0)                                                                                ;
          }
          catch (e) {
                    try {
                              window.sidebar.addPanel(title, url, "");
                    }
                    catch (e) {
                              alert("抱歉,您所使用的浏览器无法完成此操作。\n\n加入收藏失败,请使用Ctrl+D进行添加");
                    }
          }
}

html代码:

<a href="javascript:void(0);" onclick="SetHome(this,'http://www.lanyu.me');">设为首页</a>
<a href="javascript:void(0);" onclick="AddFavorite('蓝雨设计',location.href)">收藏本站</a>

2013年01月04日 | 2 条评论

彻底屏蔽迅雷,旋风,快车下载站内资源

迅雷,旋风快车这些下载工具虽然大大方便了我们下载,但是这些工具现在越来越流氓了,都集成了P2P下载方式,导致站内下载流量猛增,这些还不算,最可恶的是迅雷可以在别的站点下载文件而用你的资源,点击量上不来流量反而上来了!

经过观察发现了最简单有效的方法,判断AGENT,一般的下载软件都会有几个特定的AGENT,当然有的也会模拟IE,跟IE一模一样,那样你就没有办法了,总不能连IE也屏蔽了吧!不过还好,大部分还是没有完全模拟IE的!!所以根据这些我们就很容易可以写出代码屏蔽了。

<%    
'屏蔽主流的下载工具    
Dim xurl,xtool    
          '获取浏览器AGENT    
          xurl          =      lcase(Request.ServerVariables("HTTP_USER_AGENT"))    
          '定义禁止的AGENT,下面5个包含最新版的快车,旋风和迅雷部分版本,可以自行添加!    
          xtool      =      "mozilla/4.0 (compatible; msie 5.00; windows 98)" &_    
                                        "mozilla/4.0 (compatible; msie 6.0; windows+nt 5.0)" &_    
                                        "mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; )" &_    
                                        "mozilla/4.0 (compatible; msie 6.0; windows nt 5.0; .net clr 1.1.4322)" &_    
                                        "mozilla/4.0 (compatible; msie 6.0; windows nt 5.0; .net clr 3.5.20706)" &_    
                                        "mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; sv1; .net clr 1.1.4322; .net clr 2.0.50727)"    
          '判断AGENT是否合法    
          If InStr(xtool,xurl)>0 Then    
                    '下载工具直接报404错误    
                    Response.Status = "404 Not Found"    
                    Response.End    
          End If    
          '其它的代码在下面    
          Response.Write "正常浏览内容,你可以用下载工具测试下载该页面看看是否可以下载?"    
%>

上面的代码应该很容易看懂吧!!本来不想公布,很多人要就发出来了!

2012年12月18日 | 0 条评论

日文假名片的简单处理

网络上很多都是转成特定字符,然后在查询或显示的时候再转回来!

这种方法很烦琐,不是我所需要的,于是根据需要修改成了以下代码

Function Jpcode(Str)
    Jpcode=Str
'无数据退出
If isnull(Str) Or len(Str)=0 then Exit Function
dim J,E,I
          J=array("ゴ","ガ","ギ","グ","ゲ","ザ","ジ","ズ","ヅ","デ","ド","ポ","ベ","プ","ビ","パ","ヴ","ボ","ペ","ブ","ピ","バ","ヂ","ダ","ゾ","ゼ")
          E=array("468","460","462","464","466","470","472","474","485","487","489","509","505","503","499","497","532","508","506","502","500","496","482","480","478","476")
          for I=0 to 25
                    Jpcode=replace(Jpcode,J(I)," "&E(I))
          next
End Function

使用很简单,只要是文本的就给它加上,这样入库后可以直接显示,不需要再做任何转换,搜索的时候把关键字也转一下再搜索,这样就可以使用简单的LIKE语句而不会出错!(我原来是使用对比的方式,效率差点)

标签: 名片,处理
2012年12月18日 | 0 条评论

最精简Base64加密解密ASP,JS通用版

从微软里面分离出来再次精简的,不使用类了,这么个小函数调用麻烦死了,JS,ASP里面都可以使用,当然其它的语言稍微修改也可以用的!

<script type="text/javascript">    
var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";    
//加密    
function Base64encode(Str) {    
          Str = escape(Str);    
          var output = "";    
          var chr1, chr2, chr3 = "";    
          var enc1, enc2, enc3, enc4 = "";    
          var i = 0;    
          do {    
                    chr1 = Str.charCodeAt(i++);    
                    chr2 = Str.charCodeAt(i++);    
                    chr3 = Str.charCodeAt(i++);    
                    enc1 = chr1 >> 2;    
                    enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);    
                    enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);    
                    enc4 = chr3 & 63;    
                    if (isNaN(chr2)) {enc3 = enc4 = 64;} else if (isNaN(chr3)) {enc4 = 64;}    
                    output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4);    
                    chr1 = chr2 = chr3 = "";    
                    enc1 = enc2 = enc3 = enc4 = "";    
          } while (i < Str.length);    
          return output;    
}    
//解密    
function base64decode(Str) {    
          var output = "";    
          var chr1, chr2, chr3 = "";    
          var enc1, enc2, enc3, enc4 = "";    
          var i = 0;    
          var base64test = /[^A-Za-z0-9\+\/\=]/g;    
          if (base64test.exec(Str)){}    
          Str = Str.replace(/[^A-Za-z0-9\+\/\=]/g, "");    
          do {    
                    enc1 = keyStr.indexOf(Str.charAt(i++));    
                    enc2 = keyStr.indexOf(Str.charAt(i++));    
                    enc3 = keyStr.indexOf(Str.charAt(i++));    
                    enc4 = keyStr.indexOf(Str.charAt(i++));    
                    chr1 = (enc1 << 2) | (enc2 >> 4);    
                    chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);    
                    chr3 = ((enc3 & 3) << 6) | enc4;    
                    output = output + String.fromCharCode(chr1);    
                    if (enc3 != 64) {output = output + String.fromCharCode(chr2);}    
                    if (enc4 != 64) {output = output + String.fromCharCode(chr3);}    
                    chr1 = chr2 = chr3 = "";    
                    enc1 = enc2 = enc3 = enc4 = "";    
          } while (i < Str.length);    
          return unescape(output);    
}    
document.write(base64encode('蓝雨'))    
document.write(base64decode('JXU4NEREJXU5NkU4'))    
document.write(base64decode(base64encode('蓝雨')))    
</script>

需要在ASP里面使用只需要修改头部让它在服务器端执行即可

<script language="JScript" runAt="server">

2012年12月18日 | 1 条评论

由JS获取地址栏参数联想到的JS传递参数!

地址栏获取参数这个一般用在静态页面的参数获取上,废话不说直接上代码

var url=location.href;
function request(paras){
          var paraString = url.substring(url.indexOf("?")+1,url.length).split("&");
          var paraObj = {}
          for (i=0; j=paraString[i]; i++){
                    paraObj[j.substring(0,j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=")+1,j.length);
          }
          var returnValue = paraObj[paras.toLowerCase()];
          if(typeof(returnValue)=="undefined"){
                    return "";
          }else{
                    return returnValue;    
          }
}
//测试一下
alert(request('参数名称1'));    
alert(request('参数名称2'));    

2012年12月18日 | 4 条评论

静态页面定时更新新方法!!

一般页面生成静态后,需要更新必须手动。

或者采用土办法,数据库里面加个字段,每次打开完去读取这个字段的时间,如果小于预定值不去处理,大于就重新生成,这样就保证了页面信息的即时性!

但是这样有个弊端,每个页面必须有一个相对应的时间值才可以!!如果页面很复杂的话就不好处理了,特别是分页部分!!

下面我要说的是利用文件本身的时间值来定时自动更新(已经应用在BCMS1.1上),原来很简单,FSO判断文件最后更新时间,然后再根据时间值选择是否需要更新。

先写个获取时间的函数,方便调用

'获取文件最后修改时间    
Function GetDateLast(path)    
on error resume next    
Dim FSO,objFile    
Set FSO = Server.CreateObject("scripting.filesystemobject")    
          GetDateLast = FSO.GetFile(Server.Mappath(path)).DateLastModified    
Set FSO = Nothing    
if err.number<>0 then err.clear    
End Function

然后就是时间对比了

DateDiff("n", CDate(GetDateLast("文件路径")), Now())

说到这里会的应该看懂了,不会的就没有办法了,代码都在这里了看你什么应用了,这个非常方便,可以定时更新任何一个文件,而不需要查询数据库!!

2012年12月18日 | 0 条评论