月度归档: 2005 年 12 月

  • E-mail验证判断代码!

    1>



    2>

    your email:

    3>

    {以下为关键代码,详细看演示}

    mail.html内容

    电子邮箱: 

            

    validate.js内容

    function checkemail(name, data, allowednull)
    {
      var datastr = data;
      var lefttrim = datastr.search(/S/gi);
     
      if (lefttrim == -1) {
        if (allowednull) {
          return 1;
        } else {
          alert(“请输入一个正确的E-mail地址!”);
          return -1;
        }
      }
      var myRegExp = /[a-z0-9](([a-z0-9]|[_-.][a-z0-9])*)@([a-z0-9]([a-z0-9]|[_-][a-z0-9])*)((.[a-z0-9]([a-z0-9]|[_-][a-z0-9])*)*)..([a-z0-9]([a-z0-9]|[_-][a-z0-9])*)((.[a-z0-9]([a-z0-9]|[_-][a-z0-9])*)*)/gi;
      var answerind = datastr.search(myRegExp);
      var answerarr = datastr.match(myRegExp);
     
      if (answerind == 0 && answerarr[0].length == datastr.length)
      {
        return 0;
      }
     
      alert(“请输入一个正确的E-mail地址!”);
      return -1;
    }
    function parseNum(theNum){
      if (theNum.substring(0,1)==0)
        theNum=theNum.substring(1)
      return theNum
    }

  • [转] jsp乱码问题

    字符内码
    每个国家(或区域)都规定了计算机信息交换用的字符编码集,如美国的扩展ASCII码、中国的GB2312-80、日本的 JIS 等,作为该国家(区域)信息处理的基础,有着统一编码的重要作用。由于各本地字符集代码范围重叠,相互间信息交换困难,软件本地化版本独立维护成本较高。因此有必要将本地化工作中的共性抽取出来,做一致性处理,将特殊的本地化处理内容降低到最少,这就是所谓的国际化(I18N)。各种语言信息被规范为本地信息,而底层字符集采用包含了所有字符的Unicode。

    字符内码(character code)指的是用来代表字符的内码。我们在输入和存储文档时都要使用内码,内码分为单字节内码和双字节内码。单字节内码的英文全称是Single-Byte Character Sets (SBCS),可以支持256个字符编码;双字节内码的英文全称是Double-Byte Character Sets(DBCS),可以支持65000个字符编码,主要用来对大字符集的东方文字进行编码。

    CodePage指的是一个经过挑选的以特定顺序排列的字符内码列表,对于早期的单字节内码的语种,CodePage中的内码顺序使得系统可以按照此列表来根据键盘的输入值给出一个对应的内码。对于双字节内码,给出的是MultiByte到Unicode的对应表,这样就可以把以Unicode形式存放的字符转化为相应的字符内码。引入对CodePage的支持主要是为了访问多语种文件名,目前在NTFS和FAT32/VFAT下的文件系统上都使用Unicode,这需要系统在读取这些文件名时动态地将其转换为相应的语言编码。

    相信了解JSP代码的读者对ISO8859-1一定不陌生,ISO8859-1是我们平时使用比较多的一个CodePage,它属于西欧语系。GB2312-80 是在国内计算机汉字信息技术发展初始阶段制订的,其中包含了大部分常用的一、二级汉字和9区的符号。该字符集是几乎所有的中文系统和国际化的软件都支持的中文字符集,这也是最基本的中文字符集。

    GBK 是 GB2312-80 的扩展,是向上兼容的。它包含了20902个汉字,其编码范围是 0x8140~0xFEFE,剔除高位 0x80 的字位,其所有字符都可以一对一映射到 Unicode 2.0,也就是说 Java 实际上提供了对 GBK 字符集的支持。

    >GB18030-2000(GBK2K) 在 GBK 的基础上进一步扩展了汉字,增加了藏、蒙等少数民族的文字。GBK2K 从根本上解决了字位不够、字形不足的问题。

    不同开发平台的区别
    1.Tomcat 4开发平台

    Windows 98/2000下的Tomcat 4以上版本都会出现中文问题(而在Linux下和Tomcat 3.x中则没有问题),主要表现是页面显示乱码。在IE中调整字符集为GB2312,就可以正常显示了。

    为解决这个问题,可在每个JSP的页面开始处加上<%@ page language=“Java” contentType=“text/html; charset=gb2312”%>。不过,这还不够,虽然这时显示了中文,但是发现从数据库读出的字段变成了乱码。经过分析发现: 在数据库中保存的中文字符是正常的,数据库用ISO8859-1字符集存取数据,而Java程序在处理字符时默认采用统一的ISO8859-1字符集(这也体现了Java国际化思想),所以在数据添加的时候Java和数据库都是以ISO8859-1方式处理,这样不会出错。但是在读取数据的时候就出现问题了,因为数据读出也采用ISO8859-1字符集,而 JSP的文件头中有语句<%@ page language=“Java” contentType=“text/html; charset=gb2312”%>,这说明页面采用GB2312的字符集显示,这样就和读出的数据不一样。这时页面显示从数据库中读出的字符是乱码,解决的方法是对这些字符转码,从ISO8859-1转成GB2312,就可以正常显示了。这个解决办法对很多平台具有通用性,读者可以灵活运用。

    2.Tomcat 3.x、Resin及Linux平台

    在Tomcat 3.x、Resin中或是在Linux下,没有加入语句<%@ page language=“Java” contentType=“text/html; charset=gb2312”%>,而页面中的语句起了作用,此时可以正常显示。相反,如果加上<%@ page language=“java” contentType=“text/html; charset=gb2312”%>系统会报错,说明Tomcat 4以上版本的引擎在处理JSP时还是有差别的。

    另外,对于不同的数据库如SQL Server,Oracle,Mysql,Sybase等,字符集的选择很重要。如果考虑多语言版本,数据库的字符集就应该统一采用ISO8859-1,需要输出的时候在不同的字符集之间做转换就可以了。

    以下是针对不同平台的总结:

    (1) JSWDK只适合于普通开发,稳定性和其他问题可能不如商业软件。 由于JDK 1.3版性能要好于JDK 1.2.2很多,并且对中文的支持也较好,所以应该尽量采用。

    (2) 作为免费的商业软件,Resin不仅速度快、稳定、自动编译,还可以指出出错行,并可在服务器端支持使用javascript等,而且对中文的支持也很好。

    (3) Tomcat仅仅是一个对JSP 1.1、Servlet 2.2标准的实现, 我们不应该要求这个免费软件在细节和性能上都面面俱到, 它主要考虑英文用户, 这也是为什么不做特殊转换,汉字用URL方法传递就有问题的原因。大部分IE浏览器缺省始终以UTF-8发送, 这似乎是Tomcat的一个不足, 另外Tomcat不管当前的操作系统是什么语言, 都按ISO8859去编译JSP, 似乎也欠妥。

    JSP代码的中文处理
    在JSP代码中以下几处经常需要涉及到中文处理:

    1. 在URL中附带中文参数。这里中文参数通常可以直接读取,例如: <%= request.getParameter(“showword”)%>

    2. 在JSWDK中读取HTML表单提交的中文值这时需要加以编码,较为简洁的写法是:

    String name1=new String(request.getParameter(“user_id”).getBytes(“ISO8859_1”))。

    另外,在JDK 1.3的支持下,不需加入<%@ page contentType=“text/html;charset=gb2312”%> ,而在JDK 1.2.2 以下,即使以上两种方法同时运用也很不稳定。但在Resin平台,情况较好,只要在页面第一行加入:<%@ page contentType=“text/html;charset=gb2312”%>即可正确处理中文,如果再加代码则反而不对。

    3.在JSWDK中Session包含的中文,如果从表单中读出的值经过编码可正确显示,但直接赋予中文值则不行,而Resin平台则很好。

    4. 在编译Servlet和JSP时加入代码选项。在编译Servlet时使用Java-Encoding ISO8859-1 myservlet.java;在JSP的ZONE配置文件中,修改编译参数为:Compiler=builtin – javac- encoding ISO8859-1。使用这种方法后,不需要做其他的改动就可以正常显示中文了。

    另外,流行的关系数据库系统都支持数据库Encoding,也就是说在创建数据库时可以指定它自己的字符集设置,数据库的数据以指定的编码形式存储。当应用程序访问数据时,在入口和出口处都会有 Encoding 转换。对于中文数据,数据库字符编码的设置应当保证数据的完整性。 GB2312、GBK、UTF-8 等都是可选的数据库 Encoding,也可以选择 ISO8859-1 (8-bit), 但会增加了编程的复杂度,ISO8859-1不是推荐的数据库 Encoding。在JSP/Servlet编程时,可以先用数据库管理系统提供的管理功能检查其中的中文数据是否正确。

    处理方法实例
    下面是两个具体的中文乱码解决实例,读者仔细研究后可能会有所收获。

    1.常见的字符转换方法

    将Form 中 的 值 传 送 到 数 据 库 中 再 取 出 来 后 全 变 成 了“?”。Form用POST提交数据,代码中使用了语句:String st=new(request.getParameter(“nam
    e”).getBytes(“ISO8859_1”)), 而且也声明了charset=gb2312。

    要处理Form中传递的中文参数,应该在JSP中加入下面的代码,另外定义一个专门解决这个问题的getStr类,然后对接收到的参数进行转换:
    String keyword1=request.getParameter(“keyword1”);
    keyword1=getStr(keyword1);
    这样就可以解决问题了,代码如下:
    <%@ page contentType=“text/html;charset=gb2312”%>
    <%!
    public String getStr(String str){
    try{String temp_p=str;
    byte[] temp_t=temp_p.getBytes(“ISO8859-1”);
    String temp=new String(temp_t);
    return temp;
    }
    catch(Exception e){ }
    return “NULL”;
    }
    %>
    <%--http://www.cndes.com测试--%>
    <% String keyword=“创联网络技术中心欢迎您的到来”;
    String keyword1=request.getParameter(“keyword1”);
    keyword1=getStr(keyword1);
    out.print(keyword);
    out.print(keyword1);
    %>

    2. JDBC Driver的字符转换

    目前大多数JDBC Driver采用本地编码格式来传输中文字符,例如中文字符“0x4175”会被转成“0x41”和“0x75”进行传输。因此需要对JDBC Driver返回的字符以及要发给JDBC Driver的字符进行转换。当用JDBC Driver向数据库中插入数据时,需要先将Unicode转成Native code; 当 JDBC Driver从数据库中查询数据时,则需要将Native code转换成Unicode。下面给出了这两种转换的实现:
    String native2Unicode(String s) {
    if (s == null || s.length() == 0) {
    return null;
    }
    byte[] buffer = new byte[s.length()];
    for (int i = 0; i s.length(); i++) { if (s.charAt(i)>= 0x100) {
    c = s.charAt(i);
    byte []buf = (“”+c).getBytes();
    buffer[j++] = (char)buf[0];
    buffer[j++] = (char)buf[1];
    }
    else {buffer[j++] = s.chcharAt(i);}
    }
    return new String(buffer, 0, j);
    }

    要注意的是,有些JDBC Driver如果通过JDBC Driver Manager设置了正确的字符集属性,以上方法就不需要了。具体情况可参考相关JDBC的资料。

    相关资料
    1.相关标准组织及标准

    国际标准组织Unicode(http://www.icode.org)提供了以下转换表:

    GB和Unicode转换表:ftp://ftp.unicode.org/Public/MAPPINGS/EASTASIA/GB;
    BIG5和Unicode转换表: ftp://ftp.unicode.org/Public/MAPPINGS/EASTASIA/OTHER ;
    JIS和Unicode转换表: ftp://ftp.unicode.org/Public/MAPPINGS/EASTASIA/JIS ;
    KSC和Unicode转换表: ftp://ftp.unicode.org/Public/MAPPINGS/EASTASIA/KSC ;
    由于GBK不是国家标准,所以Unicode并没有提供GBK到Unicode的转换表,而只是采用了Microsoft的CodePage的一个版本:ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP{936,950}.TXT。

    2.相关软件下载
    JDK 1.3 http://java.sun.com ;
    Resin 2.0.1 http://www.caochu.com ;
    Apache 1.3.20 http://www.apache.org ;
    MySQL 3.23 http://www.mysql.org ;
    MySQL 3.23 http://www.mysql.org ;
    DBTools 1.0.12 http://www.dbtools.com.dr

  • 什么叫生活,这就叫生活!

         红军的日子,先轮到我过了!真的是很苦但是我对我做过的事并不后悔,只是心里上不舒服,感觉面子过不去!一顿1块以内!!呵呵~~~~

  • [转] JS代码收藏大全 Ⅲ

    29,如何让滚动条出现在左边?
    我想居然在论坛中有人发表了这段代码,很有意思,它的确照顾一些左撇子,呵呵!

    是不是你的滚动条在左边啊


    30,如何加入网址前面的小图标?
      首先,您必须了解所谓的图标(Icon)是一种特殊的图形文件格式,它是以 .ico 作为扩展名。你可用在网上找一个制作图标软件,它具有特有的规格:图标的大小为 16 * 16(以像素为单位);颜色不得超过 16 色。 在该网页文件的 HEAD 部分加入下面的内容:http://skydesigner.51.net/图标文件名”>,并放在该网页的根目录下。

    31,在800*600显示器中,如何不让网页水平出现滚动条!
    设至,网页中的表格宽度为778。

    32,关于的说明解释。
    在网页中,经常会看到〈!DOCTYPE HTML PUBLIC`-//W3C//DTD HTML 4.01//EN`>,是声明HTML文件的版本信息。

    33, 用图片来关闭窗体.
    关闭窗口
    补充说明:如何使用了ACTIVEX!,不再警告窗口?


    classid=”clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11″>
    关闭窗口无提示

    34,禁止鼠标右键查看网页源代码。

    补充说明:
    鼠标完全被封锁,可以屏蔽鼠标右键和网页文字。
    < body oncontextmenu="return false" ondragstart="return false" onselectstart="return false">

    35,通过按钮来查看网页源代码。

    36,怎么用文字联结实现按钮的SUBMIT功能?
    OK
    这段文字要放在form里。formname是这里要写在form中的name,

    那么就应该是form111.submit()

    37,如何做一个空链接?
    加#

    38,利用
      src=”iframe.html”
      用来显示

  • [转] JS代码收藏大全 Ⅱ

    4,在DW如何给水平线加颜色。
    在DW中没有此项设置,你只能在HTML中加入代码:


    按F12的预览在能看到。由于在NC中不支持


    的COLOR属性,所以在DW中没有此项设置。
       
    5,如何在网页中实现flash的全屏播放?
    只要在调用swf文件的HTML中将WIDTH和HEIGHT的参数设为100%即可,当然也可以在Flash导出HTML文件的设置中进行设置,方法是:打开File菜单;选Publish Settings弹出导出设置对话框;在HTML标签下的Dimensions选项,下拉后选中Percent(百分比),并在WIDTH 和HEIGHT框中填100.就行了。

    6,为什么我在DW中插入的Flash动画缺看不找!
    如果你没有正确地安装Dreamweaver和Flash,那么在你预览的时候,Dreamweaver会提示你缺少播放的插件,请你按装InstallAXFlash.exe 并从新启动计算机。现在IE6已经捆绑这个程序。

    7,在Flash中,如果屏蔽鼠标右键?FS命令都是什么意思?
    fscommand (“fullscreen”, “true/false”;(全屏设置,TRUE开,FALSE关)
    fscommand (“showmenu”, “true/false”;(右键菜单设置,TRUE显示,FALSE不显示)
    fscommand (“allowscale”, “true/false”;(缩放设置,TRUE自由缩放,FALSE调整画面不影响影片本身的尺寸)
    fscommand (“trapallkeys”, “true/false”;(快捷键设置,TRUE快捷键开,FALSE快捷键关)
    fscommand (“exec”;(EXE程序调用)
    fscommand (“quit”;(退出关闭窗口)

    8,Flash中什么是隐形按钮。
    利用button中的hit帧来制作只有感应区域而完全透明的按钮。

    9,如何给Flash动画做链接。
    Dreamweaver是不能给Flash制作链接的,只能在Flash中用geturl()加链接,然后再插入Dreamweaver中。

    10,DW中的层的技巧。
    层是可以嵌套的,我个人给大家一个技巧,在层面板中按住CTRL再拖放层到你想去成为其子层的地方就行了,我认为这是最简单直观的方法了。

    11,如何改变鼠标的形状?
    在Dreamweaver4中CSS样式面板:
    按CTR+SHIFT+E–出现样式表对话框,点击NEW,出现编辑对话框,在左边最后一项extensions-cursor 选择你要改的指针形式就可以了,然后把你要想改变的地方运用样式表,如果整页都有在中加入就行了。

    13,经常上网的朋友可能会到过这样一些网站,一进入首页立刻会弹出一个窗口,怎么做呢!
    这javascript代码即可实现,摘录蓝色论坛。
    【1、最基本的弹出窗口代码】
    其实代码非常简单:

    因为着是一段javascripts代码,所以它们应该放在之间。是对一些版本低的浏览器起作用,在这些老浏览器中不会将标签中的代码作为文本显示出来。要养成这个好习惯啊。
    window.open (`page.html`) 用于控制弹出新的窗口page.html,如果page.html不与主窗口在同一路径下,前面应写明路径,绝对路径(http://)和相对路径(../)均可。用单引号和双引号都可以,只是不要混用。
    这一段代码可以加入HTML的任意位置,和之间可以,间也可以,越前越早执行,尤其是页面代码长,又想使页面早点弹出就尽量往前放。
    【2、经过设置后的弹出窗口】
    下面再说一说弹出窗口的设置。只要再往上面的代码中加一点东西就可以了。
    我们来定制这个弹出的窗口的外观,尺寸大小,弹出的位置以适应该页面的具体情况。

    参数解释:
    js脚本结束
    【3、用函数控制弹出窗口】
    下面是一个完整的代码。





    …任意的页面内容…


    这里定义了一个函数openwin(),函数内容就是打开一个窗口。在调用它之前没有任何用途。
    怎么调用呢?
    方法一: 浏览器读页面时弹出窗口;
    方法二: 浏览器离开页面时弹出窗口;
    方法三:用一个连接调用:
    打开一个窗口
    注意:使用的“#”是虚连接。
    方法四:用一个按钮调用:

    14,没有用表格写的,让大家随便看看,没什么。


    江南荷花扇面


    盛夏      尚 涛 

    一夜露痕黄粉香 袁运甫

    瑶池昨夜新凉  王金岭

    一朵白莲随意开 吴冠南

    新雨迎秋欲满塘 齐辛民

    十里荷香    齐辛民

    濯清莲而不妖  卢世曙


    15,IE6已支持自定义cursor!
    语法格式 cursor:url(图标) //cur或是ani文件.
    cur就是WINDOWS中的光标(cursor)文件,光标文件与图标(ICON)文件除了文件头有一个位置的值不同外,实际是一样的。
    ani是WINDOWS

  • [转]JS代码收藏大全


    从其他地方找来的,希望对有需要的人带来方便!

    1. oncontextmenu=”window.event.returnvalue=false” 将彻底屏蔽鼠标右键

    no

    可用于Table

    2. 取消选取、防止复制

    3. onpaste=”return false” 不准粘贴

    4. oncopy=”return false;” oncut=”return false;” 防止复制

    5. IE地址栏前换成自己的图标

    6. 可以在收藏夹中显示出你的图标

    7. 关闭输入法

    8. 永远都会带着框架

    9. 防止被人frame

    10. 网页将不能被另存为

    11. onclick=”window.location = `view-source:`+ http://www.51js.com/`”;>

    12.删除时确认

    13. 取得控件的绝对位置
    //javascript

    //VBScript

    14. 光标是停在文本框文字的最后

    15. 判断上一页的来源
    javascript:
    document.referrer

    16. 最小化、最大化、关闭窗口





    本例适用于IE

    17.屏蔽功能键Shift,Alt,Ctrl

    18. 网页不会被缓存



    或者

    19.怎样让表单没有凹凸感?


    22.不要滚动条?
    让竖条没有:


    让横条没有:


    两个都去掉?更简单了

    23.怎样去掉图片链接点击后,图片周围的虚线?

    24.电子邮件处理提交表单


    25.在打开的子窗口刷新父窗口的代码里如何写?
    window.opener.location.reload()

    26.如何设定打开页面的大小

    打开页面的位置

    27.在页面中如何加入不是满铺的背景图片,拉动页面时背景图不动

    28. 检查一段字符串是否全由数字组成

    29. 获得一个窗口的大小
    document.body.clientWidth; document.body.clientHeight

    30. 怎么判断是否是字符
    if (/[^/x00-/xff]/g.test(s)) alert(“含有汉字”;
    else alert(“全是字符”;

    31.TEXTAREA自适应文字行数的多少

    32. 日期减去天数等于第二个日期

    33. 选择了哪一个Radio

    style
    Barcode

    34.脚本永不出错

    35.ENTER键可以让光标移到下一个输入框

    36. 检测某个网站的链接速度:
    把如下代码加入区域中:

    37. 各种样式的光标
    auto :标准光标
    default :标准箭头
    hand :手形光标
    wait :等待光标
    text :I形光标
    vertical-text :水平I形光标
    no-drop :不可拖动光标
    not-allowed :无效光标
    help :?帮助光标
    all-scroll :三角方向标
    move :移动标
    crosshair :十字标
    e-resize
    n-resize
    nw-resize
    w-resize
    s-resize
    se-resize
    sw-resize

    38.页面进入和退出的特效
    进入页面
    推出页面
    这个是页面被载入和调出时的一些特效。Duration表示特效的持续时间,以秒为单位。Transition表示使

    用哪种特效,取值为1-23:
      0 矩形缩小
      1 矩形扩大
      2 圆形缩小
      3 圆形扩大
      4 下到上刷新
      5 上到下刷新
      6 左到右刷新
      7 右到左刷新
      8 竖百叶窗
      9 横百叶窗
      10 错位横百叶窗
      11 错位竖百叶窗
      12 点扩散
      13 左右到中间刷新
      14 中间到左右刷新
      15 中间到上下
      16 上下到中间
      17 右下到左上
      18 右上到左下
      19 左上到右下
      20 左下到右上
      21 横条
      22 竖条
      23 以上22种随机选择一种

    39.在规定时间内跳转

    40.网页是否被检索

      其中属性值有以下一些:
      属性值为”all”: 文件将被检索,且页上链接可被查询;
      属性值为”none”: 文件不被检索,而且不查询页上的链接;
      属性值为”index”: 文件将被检索;
      属性值为”follow”: 查询页上的链接;
      属性值为”noindex”: 文件不检索,但可被查询链接;
      属性值为”nofollow”: 文件不被检索,但可查询页上的链接。

    41.变换网页的鼠标光标
    http://203.73.125.205/~liangmi2/farmfrog01.cur`)”>

    42.怎样实现在任务栏显示小图标的效果? (要使用绝对地址)
    有些站点,访问时会在地址栏地址前显出小图标,添加到收藏夹后也在收藏栏中显示图标,
    这样很好的与其它站点有了区别。
    要达到这个效果,先需做出这个图标文件,图像为16*16像素,不要超过16色。文件格式为ico,然后上传至你的网站。
    然后,在需要的页面中,加上以下html语句到文件的和之间(假设以上ico文件的地址http://happyisland.126.com/icon.ico)。如果访问者的浏览器是IE5.0,就不需加任何代码,只要将图标文件上传到网站的根目录下即可。
    1,META标签里的代码是什么意思?
    是放于与之间的标记.以下是我总结它在网页中最常见的几种。

    该网页的关键字,作用于搜索引擎的登录,事实上它在现在的网站中并没什么用。


    设定这是 HTML 文件及其编码语系,简体中文网页使用charset=gb2312,繁体中文使用charset=big5,或者不设编码也可,纯英文网页建议使用 iso-8859-1。

    这只表示该网页由什么编辑器写的。

    这行较为实用,能于预定秒数内自动转到指定网址。原代码中 10 表示 10秒。

    2,怎么改变滚动条的颜色,只有ie5.5版本以上才能支持。
    这是使用CSS语言,在次说明一下,它和我的浏览器版本有一定的关系。
    scrollbar-arrow-color:上下按钮上三角箭头的颜色。
    scrollbar-base-color:滚动条的基本颜色。
    scrollbar-dark-shadow-color:立体滚动条强阴影的颜色
    scrollbar-face-color:立体滚动条凸出部分的颜色
    scrollbar-highlight-color:滚动条空白部分的颜色
    scrollbar-shadow-color立体滚动条阴影的颜色。
    scrollbar-track-color:#99CC33;
    scrollbar-3dlight-color:#A8CBF1;
    代码如下:

    在这我补充几点:
    1.让浏览器窗口永远都不出现滚动条。
    或 或
    2,没有水平滚动条

    3,没有垂直滚动条

    3,如何给图片抖动怎做的.

  • [荐]ADSL知识合集


    1,512K ADSL是什么意思?
    512K=512Kbps=512K bits/s=64K bytes/s
    我想这个换算应该没什么问题。

    2,64K bytes/s意味着什么?

      这个64K的真正含义是“个人用户所能独享的最大下载带宽”
      那么这又是什么意思呢,不知道现在有没有人注意过电信ADSL安装的申请表,上面的带宽项目写的是都是“不高于512K”,“不高于8M”等等,也就是说我们在正常的情况下可以拥有最多不超过64K的专有带宽。
      注意是“不高于”,那么也就是说很多时候我们的专有带宽可能小于64K,那有又是为什么呢?
      事实上,中国电信的ADSL是运行在ATM上面,ATM到chinanet边缘路由器带宽是155M,每一个边缘路由器可以连接3000用户,如果这些用户同时上网,那么每个用户其实只有50k bit/s的带宽,也就是7K bytes/s,加上路由器衰减,那么最终可能只有普通modem的速度了。
      当然以上只是假想的情况,毕竟3000人同时连在一台边缘路由器上面几乎是不可能的,电信也不会让路由器满负荷连接而使得速度下降如此之巨。
      但是,64K是最高专有带宽是毋庸置疑的。

    3,那为什么我的512K ADSL经常可以达到100K甚至200K以上的下载速度呢?

      我们搞清楚了64K是最大专有带宽,但不等于最大带宽,事实上在ADSL拨号时已经分配了实际约等于8Mbps,也就是1M bytes/s的下载带宽,只不过电信限制了我们的专有带宽最高64K,那么当路由器连接的用户较少的时候,我们可以获得一部分超过专有带宽的共享带宽(显然电信没必要让这些带宽闲置),当然512K速率的ADSL永远不可能通过占用共享带宽达到1M/s的下载速度,因为毕竟总还是有很多人在同时上网,而且电信肯定还有一些平衡负载的机制。

    4,ADSL上传速度对下载的影响

      TCP/IP规定,每一個封包,都需要有acknowledge讯息的回传,也就是说,传输的资料,需要有一个收到资料的讯息回复,才能决定后面的传输速度,並决定是否重新传输遗失的资料。
      上行的带宽一部分就是用來传输這些acknowledge(确认)資料的,当上行负载过大的时候,就会影响acknowledge资料的传送速度,并进而影响到下载速度。这对非对称数字环路也就是ADSL这种上行带宽远小于下载带宽的连接来说影响尤为明显。
      有试验证明,当上传满载时,下载速度讲变为理想速度的40%,这就可以解释为什么为什么很多朋友用BT下载的时候稍微限速反而能够获得更大的下载速度。
      既然这样我们就不能要求所有的人都不限速,因为对于ADSL用户来说这是很不现实的,也是不科学的。适当的限速是正确的。

    5,ADSL的速度随着连接时间的延长而逐渐降低。

      前面说过ADSL再拨号的时候会建立最高理论8Mbps的下载带宽,这个带宽是永远不会改变的!不过实际上由于ADSL的噪声检测机制如果线路情况不好那么一开始建立的连接显然不可能达到理论值,可能最后是5Mbps,这个带宽也是不会改变的。
      那为什么说ADSL的速度会越来越慢呢?
      这是因为即使用户不关闭调制解调器的电源,有时ADSL链接也会随时中断。比如,在通信状态因噪音增加而恶化,频繁发生错误的情况下。 链接中断后,马上就会重新进行调试,并重新确定链接。不过,如果此时致使链接中断的噪音仍然存在的话,(这一般是比较大的)重新链接后的速度就会比原来更低。由于调试中所确定的链接速度是也固定的,因此即便之后噪音消失以后,链接速度也不会提高。ADSL调制解调器使用时间越长,发生这种情况的可能性就越高,所以连接速度越来越慢。
      此时,如果用户重新起动调制解调器,链接就会重新确立,速度就可能由此得以提高。这一常识可用作链接速度降低后的处理对策.

      当然上面说的这些情况都只是根据ADSL连接本身来讨论的,实际的情况还包括互联网状况,网站本身的响应等等。
    八种常见的ADSL断流现象

    网页打不开、下载中断、或者在线视、音频流中断,这些情况都是很多使用ADSL上网的人会遇到的麻烦。可是当仔细检查ADSL MODEM的状态时,又会发现拨号登录已经成功。那么问题究竟出在哪里?ADSL用户该如何排查呢?
    线路不稳定

      如果住所离电信局太远(5公里以上)可以向电信部门申报。确保线路连接正确(不同的话音分离器的连接方法有所不同,请务必按照说明书指引正确连接)。同时确保线路通讯质量良好没有被干扰,没有连接其它会造成线路干扰的设备,例如电话分机,传真机等。并检查接线盒和水晶头有没有接触不良以及是否与其它电线串绕在一起。有条件最好用标准电话线,如果是符ITU国际电信联盟标准的三类、五类或超五类双绞线更好。电话线入户后就分开走。一线走电话、一线走电脑。如果居住的房间都希望安装电话分机,最好选用质量好的分线盒。PC接ADSL Modem附带的双绞线。

      注意:手机一定不要放在ADSL Modem的旁边,因为每隔几分钟手机会自动查找网络,这时强大的电磁波干扰足以造成ADSL Modem断流。

      网卡选购有学问

      检查您的网卡,如果是ISA网卡最好能换成PCI的,并且选择质量好的网卡,太便宜的网卡可能是造成问题的罪魁祸首。10M或10M/100M自适应网卡都可。另外,双网卡引起冲突同样值得关注,这时,应当拔起连接局域网或其它电脑的网卡,只用连接ADSL的网卡上网测试,如果故障恢复正常,检查两块网卡有没有冲突 。

      ADSL Modem或者网卡设置有误

      最常见的是设置错了ADSL Modem的IP地址,或是错误设置了DNS服务器。因为对于ADSL虚拟拨号的用户来说,是不需要设定IP地址的,自动分配即可。TCP/IP网关一般也不需要设置。另外如果设定DNS一定要设置正确,如果操作系统是Windows 9x,在DOS窗口下键入Winipcfg获取DNS地址,在Windows 2000/XP下键入ipconfig /renew,或询问当地电信部门。

      另外,TCP/IP设置最容易引起不能浏览网页的情况,例如没有更改过设置,一直可以正常浏览,突然发现浏览不正常了,就可以试着删除TCP/IP协议后重新添加TCP/IP 协议。

    ADSL Modem同步异常

      检查一下自己的电话线和ADSL连接的地方是否接触不良,或者是电话线出现了问题。如果怀疑分离器坏或ADSL Modem坏,尝试不使用分离器而直接将外线接入ADSL Modem。如果确定是分离器没有问题,要保证分离器与ADSL Modem的连线不应该过长,太长的话同步很困难。如果排除上述情况,只要重起ADSL Modem就可以解决同步问题。

      操作系统有缺陷

      有的操作系统可能对ADSL的相关组件存在兼容性问题,以Windows 98为例,它的网络组件存在重大缺陷,连网时都会出现莫名其妙的断流问题。遇到这种情况最好的解决方法是给系统打补丁,你可以直接连接到微软的官方网站,选择系统搜索到的补丁下载。待补丁安装完成后,再安装虚拟拨号软件打补丁解决。

      主要补丁有:Windows 98 SE版的补丁、Windows 98 拨号网络1.3升级1.4补丁、Windows 95当时用WinPoET,RasPPPoE这类依靠操作系统

  • [荐]网站首页head区代码规范


    head区是指首页HTML代码的和之间的内容。
    必须加入的标签

    1.公司版权注释

    2.网页显示字符集
    简体中文:
    繁体中文:
    英 语:

    3.网页制作者信息

    4.网站简介

    5.搜索关键字

    6.网页的css规范 (参见目录及命名规范)

    7.网页标题
    xxxxxxxxxxxxxxxxxx

    .可以选择加入的标签

    1.设定网页的到期时间。一旦网页过期,必须到服务器上重新调阅。

    2.禁止浏览器从本地机的缓存中调阅页面内容。

    3.用来防止别人在框架里调用你的页面。

    4.自动跳转。

    5指时间停留5秒。

    5.网页搜索机器人向导.用来告诉搜索机器人哪些页面需要索引,哪些页面不需要索引。

    CONTENT的参数有all,none,index,noindex,follow,nofollow。默认是all。

    6.收藏夹图标

    所有的javascript的调用尽量采取外部调用.

    附标签:
    标签不属于head区,这里强调一下,为了保证浏览器的兼容性,必须设置页面背景
     
     

  • [转]小偷程序原理和简单示例

          首先感谢各位对“漂亮的主页天气”这个小插件的支持,因为不是我的作品(我也是菜鸟),所以我代各位感谢原作者为大家所做的贡献,同时,也向大家[转贴]一个小技巧,希望对大家有帮助。

                     
                现在网上流行的小偷程序比较多,有新闻类小偷,音乐小偷,下载小偷,那么它们是如何做的呢,下面我来做个简单介绍,希望对各位站长有所帮助。
                (一)原理
                   
                小偷程序实际上是通过了XML中的XMLHTTP组件调用其它网站上的网页。比如新闻小偷程序,很多都是调用了sina的新闻网页,并且对其中的html进行了一些替换,同时对广告也进行了过滤。用小偷程序的优点有:无须维护网站,因为小偷程序中的数据来自其他网站,它将随着该网站的更新而更新;可以节省服务器资源,一般小偷程序就几个文件,所有网页内容都是来自其他网站。缺点有:不稳定,如果目标网站出错,程序也会出错,而且,如果目标网站进行升级维护,那么小偷程序也要进行相应修改;速度,因为是远程调用,速度和在本地服务器上读取数据比起来,肯定要慢一些。
                (二)事例
                下面就XMLHTTP在ASP中的应用做个简单说明
                <%
                ‘常用函数
                ‘1、输入url目标网页地址,返回值getHTTPPage是目标网页的html代码
                function getHTTPPage(url)
                dim Http
                set Http=server.createobject(“MSXML2.XMLHTTP”)
                Http.open “GET”,url,false
                Http.send()
                if Http.readystate<>4 then
                exit function
                end if
                getHTTPPage=bytesToBSTR(Http.responseBody,”GB2312″)
                set http=nothing
                if err.number<>0 then err.Clear
                end function

                ‘2、转换乱玛,直接用xmlhttp调用有中文字符的网页得到的将是乱玛,可以通过adodb.stream组件进行转换
                Function BytesToBstr(body,Cset)
                dim objstream
                set objstream = Server.CreateObject(“adodb.stream”)
                objstream.Type = 1
                objstream.Mode =3
                objstream.Open
                objstream.Write body
                objstream.Position = 0
                objstream.Type = 2
                objstream.Charset = Cset
                BytesToBstr = objstream.ReadText
                objstream.Close
                set objstream = nothing
                End Function

                ‘下面试着调用http://www.3doing.com/earticle/的html内容
                Dim Url,Html
                Url=”http://www.3doing.com/earticle/
                Html = getHTTPPage(Url)
                Response.write Html
                %>

                ASP小偷入门教程…..附QQ天气小偷源代码

                    要做一名好的小偷有点难度:P,灵活运用XMLHTTP组件,你也可以做“小偷”
                   
                这里所说的“小偷”指的是在ASP中运用XML中的XMLHTTP组件提供的强大功能,把远程网站上的数据(图片,网页及其他文件)抓取到本地,经过各种处理后显示到页面上或者存储进数据库的一类程序。你可以通过这种小偷程序,完成过去一些似乎完全不可能实现的任务,比如说把某个站的页面偷梁换柱后变成自己的页面,或者把某个站的一些数据(文章,图片)保存到本地数据库中加以利用。“小偷”的优点有:无须维护网站,因为小偷程序中的数据来自其他网站,它将随着该网站的更新而更新;可以节省大量的服务器资源,一般小偷程序就几个文件,所有网页内容都是来自其他网站。缺点在于:不稳定,如果目标网站出错,程序也会出错,而且,如果目标网站进行升级维护,那么小偷程序也要进行相应修改;速度,因为是远程调用,速度和在本地服务器上读取数据比起来,肯定要慢一些。怎么样,听起来很神奇吧?我们现在就开始来学习一些“小偷”程序的入门知识吧!

                我们拿个简单点的东西来研究一下吧,QQ网站上的天气预报程序
                程序演示地址:http://www.colasky.com/weather.asp
                源码下载:http://www.colasky.com/weather.rar

                代码如下:
                <%
                On Error Resume Next
                Server.ScriptTimeOut=9999999
                Function getHTTPPage(Path)
                t = GetBody(Path)
                getHTTPPage=BytesToBstr(t,”GB2312″)
                End function

                ‘首先,进行小偷程序的一些初始化设置,以上代码的作用分别是忽略掉所有非致命性错误,把小偷程序的运行超时时间设置得很长(这样不会出现运行超时的错误),转换原来默认的UTF-8编码转换成GB2312编码,否则直接用XMLHTTP组件调用有中文字符的网页得到的将是乱码。

                Function GetBody(url)
                on error resume next
                Set Retrieval = CreateObject(“Microsoft.XMLHTTP”)
                With Retrieval
                .Open “Get”, url, False, “”, “”
                .Send
                GetBody = .ResponseBody
                End With
                Set Retrieval = Nothing
                End Function

                ‘然后调用XMLHTTP组件创建一个对象并进行初始化设置。

                Function BytesToBstr(body,Cset)
                dim objstream
                set objstream = Server.CreateObject(“adodb.stream”)
                objstream.Type = 1
                objstream.Mode =3
                objstream.Open
                objstream.Write body
                objstream.Position = 0
                objstream.Type = 2
                objstream.Charset = Cset
                BytesToBstr = objstream.ReadText
                objstream.Close
                set objstream = nothing
                End Function

                Function Newstring(wstr,strng)
                Newstring=Instr(lcase(wstr),lcase(strng))
                if Newstring<=0 then Newstring=Len(wstr)
                End Function

                ‘处理抓取回来的数据需要调用adodb.stream组件并进行初始化设置。%>

                ‘以下即为页面显示部分

                <%
                Dim wstr,str,url,start,over,city
                ‘定义一些需要使用到的变量

                city = Request
    .QueryString(“id”)
                ‘程序传回的ID变量(即用户选择的城市)赋给id

                url=”http://appnews.qq.com/cgi-bin/news_qq_search?city=”&city&””
                ‘这里设置需要抓取的页面地址,当然你也可以直接指定某个地址而不使用变量

                wstr=getHTTPPage(url)
                ‘获取指定页面的全部数据

                start=Newstring(wstr,” “)
                ‘这里设置需要处理的数据的头部,这个变量应视不同情况而设置,具体内容可以通过查看需要抓取的页面的源代码来确定。因为在这个程序里我们需要抓取整个页面,所以设置为页面全部抓取。注意,设置的内容必须是页面内容唯一的,不可以重复。

                over=Newstring(wstr,” “)
                ‘和start相对应的就是需要处理的数据的尾部,同样的,设置的内容必须是页面中唯一的。

                body=mid(wstr,start,over-start)
                ‘设置显示页面的范围

                ‘下面就是动用乾坤挪移大法的时候了,通过replace可以用一些字符替换掉数据中指定的字符。

                body = replace(body,”skin1″,”天气预报”)
                body =
                replace(body,”http://appnews.qq.com/cgi-bin/news_qq_search?city”,”tianqi.asp?id“)

                ‘本程序中已经完成了替换的工作,如果有其他需要的话可以继续进行类似的替换操作。

                response.write body
                %>
                替换完需要修改的内容后,就可以把修改的内容显示在页面上了。至此程序结束
                   
                程序使用方法及结果:把上述代码去掉说明部分后保存为tianqi.asp,上传到支持ASP和XML的空间下,在浏览器中运行即可。你可以在在这个程序的基础上进行进一步的界面美化或者程序优化。
                   
                以上只是一些关于XMLHTTP组件的初级应用,实际上它还能实现的功能还有很多,比如说保存远程图片到本地服务器上,配合adodb.stream组件可以把获取来的数据保存进数据库。小偷的作用和使用范围都很广。但是不可以拿来做违法的事哦!
                   
                也许还有人要问了,这种“小偷”程序难道只是ASP的专利吗?非也,PHP通过fopen函数一样可以实现同样的效果,由于PHP本身的各种特点,写出来的小偷程序和ASP相比,在体积和执行效率上都有着明显的优势,但限于篇幅,这里就不一一说明了。