<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>自由空气</title>
    <description>一天净扯淡了！</description>
    <link>http://daimon.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>linux信号一览表</title>
        <author>daimon</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://daimon.javaeye.com">daimon</a>&nbsp;
          链接：<a href="http://daimon.javaeye.com/blog/180924" style="color:red;">http://daimon.javaeye.com/blog/180924</a>&nbsp;
          发表时间: 2008年04月09日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          名称 默认动作 说明<br /><br />　　SIGHUP 终止进程 终端线路挂断<br /><br />　　SIGINT 终止进程 中断进程<br /><br />　　SIGQUIT 建立CORE文件终止进程，并且生成core文件<br /><br />　　SIGILL 建立CORE文件 非法指令<br /><br />　　SIGTRAP 建立CORE文件 跟踪自陷<br /><br />　　SIGBUS 建立CORE文件 总线错误<br /><br />　　SIGSEGV 建立CORE文件 段非法错误<br /><br />　　SIGFPE 建立CORE文件 浮点异常<br /><br />　　SIGIOT 建立CORE文件 执行I/O自陷<br /><br />　　SIGKILL 终止进程 杀死进程<br /><br />　　SIGPIPE 终止进程 向一个没有读进程的管道写数据<br /><br />　　SIGALARM 终止进程 计时器到时<br /><br />　　SIGTERM 终止进程 软件终止信号<br /><br />　　SIGSTOP 停止进程 非终端来的停止信号<br /><br />　　SIGTSTP 停止进程 终端来的停止信号<br /><br />　　SIGCONT 忽略信号 继续执行一个停止的进程<br /><br />　　SIGURG 忽略信号 I/O紧急信号<br /><br />　　SIGIO 忽略信号 描述符上可以进行I/O<br /><br />　　SIGCHLD 忽略信号 当子进程停止或退出时通知父进程<br /><br />　　SIGTTOU 停止进程 后台进程写终端<br /><br />　　SIGTTIN 停止进程 后台进程读终端<br /><br />　　SIGXGPU 终止进程 CPU时限超时<br /><br />　　SIGXFSZ 终止进程 文件长度过长<br /><br />　　SIGWINCH 忽略信号 窗口大小发生变化<br /><br />　　SIGPROF 终止进程 统计分布图用计时器到时<br /><br />　　SIGUSR1 终止进程 用户定义信号1<br /><br />　　SIGUSR2 终止进程 用户定义信号2<br /><br />　　SIGVTALRM 终止进程 虚拟计时器到时
          <br/><br/>
          <span style="color:red;">
            <a href="http://daimon.javaeye.com/blog/180924#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 09 Apr 2008 17:31:18 +0800</pubDate>
        <link>http://daimon.javaeye.com/blog/180924</link>
        <guid>http://daimon.javaeye.com/blog/180924</guid>
      </item>
      <item>
        <title>js函数集</title>
        <author>daimon</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://daimon.javaeye.com">daimon</a>&nbsp;
          链接：<a href="http://daimon.javaeye.com/blog/160153" style="color:red;">http://daimon.javaeye.com/blog/160153</a>&nbsp;
          发表时间: 2008年01月29日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          ·字符串(String)<br />  1.声明<br />    var myString = new String("Every good boy does fine.");<br />    var myString = "Every good boy does fine.";<br /><br />  2.字符串连接<br />    var myString = "Every " + "good boy " + "does fine.";<br />    var myString = "Every ";  myString += "good boy does fine.";<br /><br />  3.截取字符串<br />    //截取第 6 位开始的字符<br />    var myString = "Every good boy does fine.";<br />    var section = myString.substring(6);    //结果: "good boy does fine."<br />    <br />    //截取第 0 位开始至第 10 位为止的字符<br />    var myString = "Every good boy does fine.";<br />    var section = myString.substring(0,10); //结果: "Every good"<br />    <br />    //截取从第 11 位到倒数第 6 位为止的字符<br />    var myString = "Every good boy does fine.";<br />    var section = myString.slice(11,-6);    //结果: "boy does"<br />    <br />    //从第 6 位开始截取长度为 4 的字符<br />    var myString = "Every good boy does fine.";<br />    var section = myString.substr(6,4);     //结果: "good"<br /><br />  4.转换大小写<br />    var myString = "Hello";<br />    var lcString = myString.toLowerCase();  //结果: "hello"<br />    var ucString = myString.toUpperCase();  //结果: "HELLO"<br /><br />  5.字符串比较<br />    var aString = "Hello!";<br />    var bString = new String("Hello!");<br />    if( aString == "Hello!" ){ }    //结果: true<br />    if( aString == bString ){ }     //结果: true<br />    if( aString === bString ){ }    //结果: false (两个对象不同,尽管它们的值相同)<br /><br />  6.检索字符串<br />    var myString = "hello everybody.";<br />    // 如果检索不到会返回-1,检索到的话返回在该串中的起始位置<br />    if( myString.indexOf("every") > -1 ){ } //结果: true<br /><br />  7.查找替换字符串<br />    var myString = "I is your father.";<br />    var result = myString.replace("is","am");   //结果: "I am your father."<br /><br />  8.特殊字符:<br />    \b : 后退符         \t : 水平制表符<br />    \n : 换行符         \v : 垂直制表符<br />    \f : 分页符         \r : 回车符<br />    \" : 双引号         \' : 单引号<br />    \\ : 反斜杆<br /><br />  9.将字符转换成Unicode编码<br />    var myString = "hello";<br />    var code = myString.charCodeAt(3);  //返回"l"的Unicode编码(整型)<br />    var char = String.fromCharCode(66); //返回Unicode为66的字符<br /><br />  10.将字符串转换成URL编码<br />    var myString = "hello all";<br />    var code = encodeURI(myString);     //结果: "hello%20all"<br />    var str = decodeURI(code);          //结果: "hello all"<br />    //相应的还有:  encodeURIComponent()  decodeURIComponent()<br /><br />  11.将字符串转换成base64编码<br />    // base64Encode()  base64Decode()  用法同上<br /><br />//-----------------------------------------------------------------------<br /><br />·数字型(Number)<br />  1.声明<br />    var i = 1;<br />    var i = new Number(1);<br /><br />  2.字符串与数字间的转换<br />    var i = 1;<br />    var str = i.toString();     //结果: "1"<br />    var str = new String(i);    //结果: "1"<br />    i = parseInt(str);          //结果: 1<br />    i = parseFloat(str);        //结果: 1.0<br />    <br />    //注意: parseInt,parseFloat会把一个类似于"32G"的字符串,强制转换成32<br /><br />  3.判断是否为有效的数字<br />    var i = 123;  var str = "string";<br />    if( typeof i == "number" ){ }   //true<br />    <br />    //某些方法(如:parseInt,parseFloat)会返回一个特殊的值NaN(Not a Number)<br />    //请注意第2点中的[注意],此方法不完全适合判断一个字符串是否是数字型!!<br />    i = parseInt(str);<br />    if( isNaN(i) ){ }<br />    <br />  4.数字型比较<br />    //此知识与[字符串比较]相同<br /><br />  5.小数转整数<br />    var f = 1.5;<br />    var i = Math.round(f);  //结果:2 (四舍五入)<br />    var i = Math.ceil(f);   //结果:2 (返回大于f的最小整数)<br />    var i = Math.floor(f);  //结果:1 (返回小于f的最大整数)<br /><br />  6.格式化显示数字<br />    var i = 3.14159;<br />    <br />    //格式化为两位小数的浮点数<br />    var str = i.toFixed(2);     //结果: "3.14"<br />    <br />    //格式化为五位数字的浮点数(从左到右五位数字,不够补零)<br />    var str = i.toPrecision(5); //结果: "3.1415"<br /><br />  7.X进制数字的转换<br />    //不是很懂 -.-<br />    var i = parseInt("0x1f",16);<br />    var i = parseInt(i,10);<br />    var i = parseInt("11010011",2);<br /><br />  8.随机数<br />    //返回0-1之间的任意小数<br />    var rnd = Math.random();<br />    //返回0-n之间的任意整数(不包括n)    <br />    var rnd = Math.floor(Math.random() * n)<br /><br />//-----------------------------------------------------------------------<br /><br />·Math对象<br />  1. Math.abs(num) : 返回num的绝对值<br />  2. Math.acos(num) : 返回num的反余弦值<br />  3. Math.asin(num) : 返回num的反正弦值<br />  4. Math.atan(num) : 返回num的反正切值<br />  5. Math.atan2(y,x) : 返回y除以x的商的反正切值<br />  6. Math.ceil(num) : 返回大于num的最小整数<br />  7. Math.cos(num) : 返回num的余弦值<br />  8. Math.exp(x) : 返回以自然数为底,x次幂的数<br />  9. Math.floor(num) : 返回小于num的最大整数<br />  10.Math.log(num) : 返回num的自然对数<br />  11.Math.max(num1,num2) : 返回num1和num2中较大的一个<br />  12.Math.min(num1,num2) : 返回num1和num2中较小的一个<br />  13.Math.pow(x,y) : 返回x的y次方的值<br />  14.Math.random() : 返回0到1之间的一个随机数<br />  15.Math.round(num) : 返回num四舍五入后的值<br />  16.Math.sin(num) : 返回num的正弦值<br />  17.Math.sqrt(num) : 返回num的平方根<br />  18.Math.tan(num) : 返回num的正切值<br />  19.Math.E : 自然数(2.718281828459045)<br />  20.Math.LN2 : 2的自然对数(0.6931471805599453)<br />  21.Math.LN10 : 10的自然对数(2.302585092994046)<br />  22.Math.LOG2E : log 2 为底的自然数(1.4426950408889634)<br />  23.Math.LOG10E : log 10 为底的自然数(0.4342944819032518)<br />  24.Math.PI : π(3.141592653589793)<br />  25.Math.SQRT1_2 : 1/2的平方根(0.7071067811865476)<br />  26.Math.SQRT2 : 2的平方根(1.4142135623730951)<br /><br />//-----------------------------------------------------------------------<br /><br />·日期型(Date)<br />  1.声明<br />    var myDate = new Date();    //系统当前时间<br />    <br />    var myDate = new Date(yyyy, mm, dd, hh, mm, ss);<br />    var myDate = new Date(yyyy, mm, dd);<br />    var myDate = new Date("monthName dd, yyyy hh:mm:ss");<br />    var myDate = new Date("monthName dd, yyyy");<br />    var myDate = new Date(epochMilliseconds);<br /><br />  2.获取时间的某部份<br />    var myDate = new Date();<br />    myDate.getYear();       //获取当前年份(2位)<br />    myDate.getFullYear();   //获取完整的年份(4位,1970-????)<br />    myDate.getMonth();      //获取当前月份(0-11,0代表1月)<br />    myDate.getDate();       //获取当前日(1-31)<br />    myDate.getDay();        //获取当前星期X(0-6,0代表星期天)<br />    myDate.getTime();       //获取当前时间(从1970.1.1开始的毫秒数)<br />    myDate.getHours();      //获取当前小时数(0-23)<br />    myDate.getMinutes();    //获取当前分钟数(0-59)<br />    myDate.getSeconds();    //获取当前秒数(0-59)<br />    myDate.getMilliseconds();   //获取当前毫秒数(0-999)<br />    myDate.toLocaleDateString();    //获取当前日期<br />    myDate.toLocaleTimeString();    //获取当前时间<br />    myDate.toLocaleString( );       //获取日期与时间<br /><br />  3.计算之前或未来的时间<br />    var myDate = new Date();<br />    myDate.setDate(myDate.getDate() + 10);  //当前时间加10天<br />    //类似的方法都基本相同,以set开头,具体参考第2点<br /><br />  4.计算两个日期的偏移量<br />    var i = daysBetween(beginDate,endDate); //返回天数<br />    var i = beginDate.getTimezoneOffset(endDate); //返回分钟数<br /><br />  5.检查有效日期<br />    //checkDate() 只允许"mm-dd-yyyy"或"mm/dd/yyyy"两种格式的日期<br />    if( checkDate("2006-01-01") ){ }<br />    <br />    //正则表达式(自己写的检查 yyyy-mm-dd, yy-mm-dd, yyyy/mm/dd, yy/mm/dd 四种)<br />    var r = /^(\d{2}|\d{4})[\/-]\d{1,2}[\/-]\d{1,2}$/;<br />    if( r.test( myString ) ){ }<br /><br />//-----------------------------------------------------------------------<br /><br />·数组(Array)<br />  1.声明<br />    var arr = new Array();      //声明一个空数组<br />    var arr = new Array(10);    //声明一个10个长度的数组<br />    var arr = new Array("Alice", "Fred", "Jean");   //用值初始化数组<br />    var arr = ["Alice", "Fred", "Jean"];    //用值初始化数组<br />    var arr = [["A","B","C"][1,2,3]];   //声明一个二(多)维数组<br /><br />  2.数组的访问<br />    arr[0] = "123";     //赋值<br />    var str = arr[0];   //获取<br />    arr[0][0] = "123";  //多维数组赋值<br /><br />  3.数组与字符串间的转换<br />    var arr = ["A","B","C","D"];    //声明<br />    <br />    //数组按分隔符转换成字符串<br />    var str = arr.join("|");        //结果: "A|B|C|D"<br />    <br />    //字符串切割成数组<br />    arr = str.split("|");<br /><br />  4.遍历数组<br />    for( var i=0; i&lt;arr.length; i++ ){ alert(arr[i]); }<br /><br />  5.排序<br />    var arr = [12,15,8,9];<br />    arr.sort(); //结果: 8 9 12 15<br /><br />  6.组合与分解数组<br />    var arr1 = ["A","B","C","D"];<br />    var arr2 = ["1","2","3","4"];<br />    <br />    //奖两个数组组合成一个新的数组<br />    var arr = arr1.concat(arr2);    //结果: ["A","B","C","D","1","2","3","4"]<br />    <br />    //将一个数组切成两个数组(参数1:起始索引,参数2:切割长度)<br />    var arr3 = arr.splice(1,3);     //结果: arr3:["B","C","D"] arr["A","1","2","3","4"]<br />    <br />    //将一个数组切成两个数组,并在原数组补新值<br />    var arr4 = arr.splice(1,3,"AA");    //结果: arr4:["B","C","D"] arr["A","AA","1","2","3","4"]<br /><br />//-----------------------------------------------------------------------<br /><br />·自定义对象<br />  1.声明:<br />    function myUser(uid,pwd){<br />        this.uid = uid;<br />        this.pwd = pwd || "000000"; //默认值<br />        this.show = showInfo;       //方法<br />    }<br />    <br />    //下面的函数不是自定义对象,是自定义对象的方法.继续看下去就明白了<br />    function showInfo(){<br />        alert("用户名:" + this.uid + ",密码:" + this.pwd)<br />    }<br /><br />  2.实例化:<br />    var user = new myUser("user","123456");<br />    var user = {uid:"user",pwd:"123456"};<br /><br />  3.获取与设置<br />    alert("用户名是:" + user.uid);  //get<br />    user.uid = "newuser";           //set<br />    user.show();                    //调用show()方法<br /><br />//-----------------------------------------------------------------------<br /><br />·变量 函数 流程控制<br />  1.变量<br />    var i = 1;<br />    var i = 1, str = "hello";<br /><br />  2.函数<br />    function funName(){<br />        //do something.<br />    }<br />    function funName(param1[,paramX]){<br />        //do something.<br />    }<br /><br />  3.嵌套函数<br />    //某种情况,你需要创建一个函数本身所独有的函数.<br />    function myFunction(){<br />        //do something.<br />        privateFunction();<br />        function privateFunction(){<br />            //do something.<br />        }<br />    }<br /><br />  4.匿名函数<br />    var tmp = function(){ alert("only test."); }<br />    tmp();<br /><br />  5.延迟函数调用<br />    var tId = setTimeout("myFun()",1000);   //延迟1000毫秒后再调用myFun()函数<br />    fucntion myFun(){<br />        //do something<br />        clearTimeout(tId);  //销毁对象<br />    }<br /><br />  6.流程控制<br />    if( condition ){ }<br />    if( condition ){ } else{ }<br />    if( condition ){ } else if( condition ){ } else{ }<br /><br />    switch( expression ){<br />        case valA : statement; break;<br />        case valB : statement; break;<br />        default : statement; break;<br />    }<br /><br />  7.异常捕获<br />    try{ expression } catch(e){ } finally{ }<br />    <br />    //不处理任何异常<br />    window.onerror = doNothing;<br />    function doNothing(){ return true; }<br />    <br />    //异常类可用的属性<br />    description : 异常描述(IE,NN)<br />    fileName    : 异常页面URI(NN)<br />    lineNumber  : 异常行数(NN)<br />    message     : 异常描述(IE,NN)<br />    name        : 错误类型(IE,NN)<br />    number      : 错误代码(IE)<br />    <br />    //错误信息(兼容所有浏览器)<br />    try{ }<br />    catch(e){<br />        var msg = (e.message) ? e.message : e.description;<br />        alert(msg);<br />    }<br /><br />  8.加快脚本的执行速度<br />    -避免使用 eval() 函数<br />    -避免使用 with 关键字<br />    -将重复的表达式赋值精简到最小<br />    -在较大的对象中使用索引来查找数组<br />    -减少 document.write() 的使用<br /><br />//-----------------------------------------------------------------------<br /><br />·浏览器特征( navigator )<br />  1.浏览器名称<br />    //IE : "Microsoft Internet Explorer"<br />    //NS : "Netscape"<br />    var browserName = navigator.appName;<br /><br />  2.浏览器版本<br />    bar browserVersion = navigator.appVersion;<br /><br />  3.客户端操作系统<br />    var isWin = ( navigator.userAgent.indexOf("Win") != -1 );<br />    var isMac = ( navigator.userAgent.indexOf("Mac") != -1 );<br />    var isUnix = ( navigator.userAgent.indexOf("X11") != -1 );<br /><br />  4.判断是否支持某对象,方法,属性<br />    //当一个对象,方法,属性未定义时会返回undefined或null等,这些特殊值都是false<br />    if( document.images ){ }<br />    if( document.getElementById ){ }<br /><br />  5.检查浏览器当前语言<br />    if( navigator.userLanguage ){ var l = navigator.userLanguage.toUpperCase(); }<br /><br />  6.检查浏览器是否支持Cookies<br />    if( navigator.cookieEnabled ){ }<br /><br />//-----------------------------------------------------------------------<br /><br />·控制浏览器窗口( window )<br />  1.设置浏览器的大小<br />    window.resizeTo(800, 600);  //将浏览器调整到800X600大小<br />    window.resizeBy(50, -10);   //在原有大小上改变增大或减小窗口大小<br /><br />  2.调整浏览器的位置<br />    window.moveTo(10, 20);      //将浏览器的位置定位到X:10 Y:20<br />    window.moveBy(0, 10);       //在原有位置上移动位置(偏移量)<br /><br />  3.创建一个新的窗口<br />    var win = window.open("about.htm","winName","height=300,width=400");<br />    <br />    //参数<br />    alwaysLowered   //始终在其它浏览器窗口的后面(NN)<br />    alwaysRaised    //始终在其它浏览器窗口的前面(NN)<br />    channelMode     //是否为导航模式(IE)<br />    copyhistory     //复制历史记录至新开的窗口(NN)<br />    dependent       //新窗口随打开它的主窗口关闭而关闭(NN)<br />    fullscreen      //全屏模式(所有相关的工具栏都没有)(IE)<br />    location        //是否显示地址栏(NN,IE)<br />    menubar         //是否显示菜单栏(NN,IE)<br />    scrollbars      //是否显示滚动条(NN,IE)<br />    status          //是否显示状态栏(NN,IE)<br />    toolbar         //是否显示工具栏(NN,IE)<br />    directories     //是否显示链接栏(NN,IE)<br />    titlebar        //是否显示标题栏(NN)<br />    hotkeys         //显示菜单快捷键(NN)<br />    innerHeight     //内容区域的高度(NN)<br />    innerWidth      //内容区域的宽度(NN)<br />    resizable       //是否可以调整大小(NN,IE)<br />    top             //窗口距离桌面上边界的大小(NN,IE)<br />    left            //窗口距离桌面左边界的大小(NN,IE)<br />    height          //窗口高度(NN,IE)<br />    width           //浏览器的宽度<br /><br />  4.与新窗口通讯<br />    win.focus();  //让新窗口获得焦点<br />    win.document.write("abc");  //在新窗口上操作<br />    win.document.close();       //结束流操作<br />    opener.close();<br /><br />  5.模式窗口<br />    window.showModalDialog("test.htm",dialogArgs,"param");      //传递对象<br />    window.showModelessDialog("test.htm",myFunction,"param");   //传递函数<br />    window.dialogArguments  //对话框访问父窗口传递过来的对象<br />    window.returnValue      //父窗口获取对话框返回的值<br />    <br />    //参数<br />    center          //窗口居中屏幕<br />    dialogHeight    //窗口高度<br />    dialogWidth     //窗口宽度<br />    dialogTop       //窗口距离屏幕的上边距<br />    dialogLeft      //窗口距离屏幕的左边距<br />    edge            //边框风格(raised|sunken)<br />    help            //显示帮助按钮<br />    resizable       //是否可以改变窗口大小<br />    status          //是否显示状态栏<br />    <br />    //例子<br />    &lt;script><br />        function openDialog(myForm) {<br />            var result = window.showModalDialog("new.html",myForm,"center");<br />        }<br />    &lt;/script><br />    &lt;form action="#" onsubmit="return false"><br />        &lt;input type="text" id="txtId"><br />        &lt;input type="button" id="btnChk" value="验证是否可用" onclick="openDialog(this.form);"><br />    &lt;/form><br /><br />    //另一个页面new.html<br />    &lt;script><br />        window.dialogArguments.btnChk.enabled = false;  //将父窗口中的按钮设置为不可用<br />        //do something to check the Id.<br />        window.write("用户ID: " + window.dialogArguments.txtId.value + " 可使用!"); //获取文本框的值<br />    &lt;/script><br /><br />//-----------------------------------------------------------------------<br /><br />·管理框架网页( frames )<br />  1.创建一个框架架构网页<br />    &lt;html><br />    &lt;frameset rows="50, *"><br />        &lt;frame name="header" src="header.html"><br />        &lt;frame name="main" src="main.html"><br />    &lt;/frameset><br />    &lt;/html><br /><br />  2.访问框架网页<br />    window.frames[i]<br />    window.frames["frameName"]<br />    window.frameName<br />    <br />    window.frames["frameName"].frames["frameName2"]<br />    parent.frames["frameName"]<br />    top.frames["frameName"]<br /><br />  3.将某一页面定向到某框架<br />    &lt;a href="new.html" target="main"><br />    location = "new.html";<br />    parent.frameName.location.href = "new.html";<br />    top.frameName.location = "new.html";<br /><br />  4.强制不让其它框架引用某页面<br />    if (top != self) {<br />        top.location.href = location.href;<br />    }<br /><br />  5.更改框架的大小<br />    document.framesetName.rows = "50,*";<br />    document.framesetName.cols = "50,*";<br /><br />  6.动态创建框架网页<br />    var frag = document.createDocumentFragment( );<br />    var newFrame= document.createElement("frame");<br />    newFrame.id = "header";<br />    newFrame.name = "header";<br />    newFrame.src="header.html"<br />    frag.appendChild(newFrame);<br />    newFrame = document.createElement("frame");<br />    newFrame.id = "main";<br />    newFrame.name = "main";<br />    newFrame.src="main.html"<br />    frag.appendChild(newFrame);<br />    document.getElementById("masterFrameset").rows = "50,*";<br /><br />//-----------------------------------------------------------------------
          <br/><br/>
          <span style="color:red;">
            <a href="http://daimon.javaeye.com/blog/160153#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 29 Jan 2008 16:20:23 +0800</pubDate>
        <link>http://daimon.javaeye.com/blog/160153</link>
        <guid>http://daimon.javaeye.com/blog/160153</guid>
      </item>
      <item>
        <title>JavaScript[对象.属性]集锦 </title>
        <author>daimon</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://daimon.javaeye.com">daimon</a>&nbsp;
          链接：<a href="http://daimon.javaeye.com/blog/159402" style="color:red;">http://daimon.javaeye.com/blog/159402</a>&nbsp;
          发表时间: 2008年01月25日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          SCRIPT 标记 <br /><br />用于包含JavaScript代码. <br /><br />语法 <br /><br />属性 <br /><br />LANGUAGE 定义脚本语言 <br /><br />SRC 定义一个URL用以指定以.JS结尾的文件 <br /><br /><br />windows对象 <br /><br /><br />每个HTML文档的顶层对象. <br /><br />属性 <br /><br />frames[] 子桢数组.每个子桢数组按源文档中定义的顺序存放. <br /><br />feames.length 子桢个数. <br /><br />self 当前窗口. <br /><br />parent 父窗口(当前窗口是中一个子窗口). <br /><br />top 顶层窗口(是所有可见窗口的父窗口). <br /><br />status 浏览器状态窗口上的消息. <br /><br />defaultStatus 当status无效时,出现在浏览器状态窗口上的缺省消息. <br /><br />name 内部名,为由window.open()方法打开的窗口定义的名字. <br /><br /><br />方法 <br /><br />alert("message") 显示含有给定消息的"JavaScript Alert"对话框. <br /><br />confirm("message") 显示含有给定消息的"Confirm"对话框(有一个OK按钮和一个Cancel按钮).如果用户单击OK返回true,否则返回false. <br /><br />prompt("message") 显示一个"prompt"对话框,要求用户根据显示消息给予相应输入. <br /><br />open("URL","name") 打开一个新窗口,给予一个指定的名字. <br /><br />close() 关闭当前窗口. <br />frame对象 <br /><br /><br />它是整个浏览器窗口的子窗口,除了status,defaultStatus,name属性外,它拥有window对象的全部属性. <br /><br /><br />location对象 <br /><br /><br />含有当前URL的信息. <br /><br />属性 <br /><br />href 整个URL字符串. <br /><br />protocol 含有URL第一部分的字符串,如http: <br /><br />host 包含有URL中主机名:端口号部分的字符串.如//www.cenpok.net/server/ <br /><br />hostname 包含URL中主机名的字符串.如http://www.cenpok.net <br /><br />port 包含URL中可能存在的端口号字符串. <br /><br />pathname URL中"/"以后的部分.如~list/index.htm <br /><br />hash "#"号(CGI参数)之后的字符串. <br /><br />search "?"号(CGI参数)之后的字符串. <br /><br />document对象 <br /><br /><br />含有当前文档信息的对象. <br /><br />属性 <br /><br />title 当前文档标题,如果未定义,则包含"Untitled". <br /><br />location 文档的全URL. <br /><br />lastModified 含有文档最后修改日期. <br /><br />referrer 调用者URL,即用户是从哪个URL链接到当前页面的. <br /><br />bgColor 背景色(#xxxxxx) <br /><br />fgColor 前景文本颜色. <br /><br />linkColor 超链接颜色. <br /><br />vlinkColor 访问过的超链颜色. <br /><br />alinkColor 激活链颜色(鼠标按住未放时). <br /><br />forms[] 文档中form对象的数组,按定义次序存储. <br /><br />forms.length 文档中的form对象数目. <br /><br />links[] 与文档中所有HREF链对应的数组对象,按次序定义存储. <br /><br />links.length 文档中HREF链的数目. <br /><br />anchors[] 锚(...)数组,按次序定义存储. <br /><br />anchors.length 文档中锚的数目. <br /><br /><br />方法 <br /><br />write("string") 将字符串突出给当前窗口.(字符串可以含有HTML标记) <br /><br />writeln("string") 与write()类似,在结尾追加回车符,只在预定格式文本中(<br /><br />...<br />或<br />...<br />)生效. <br /><br />clear() 清当前窗口. <br /><br />close() 关闭当前窗口. <br /><br />form对象 <br /><br /><br />属性 <br /><br />name <br /><br />中的NAME属性的字符串值. <br /><br />method 中METHOD属性的类值,"0"="GET" ,"1"="POST" . <br /><br />action 中ACTION属性的字符串值. <br /><br />target 表格数据提交的目标,与标记中相应属性一致. <br /><br />elements[index] elements属性包含form中的各个元素. <br /><br />length 表格中的元素个数. <br /><br /><br />方法 <br /><br />submit() 提交表格. <br /><br />事件处理器onSubmit() 用户单击一个定义好的按钮提交form时运行的代码. <br /><br /><br />text和textarea对象 <br /><br />属性 <br /><br />name NAME属性的字符串值. <br /><br />value 域内容的字符串值. <br /><br />defaultValue 域内容的初始字符串值. <br /><br /><br />方法 <br /><br />focus() 设置对象输入焦点. <br /><br />blur() 从对象上移走输入焦点. <br /><br />select() 选定对象的输入区域. <br /><br /><br />事件处理器 <br /><br />onFocus 当输入焦点进入时执行. <br /><br />onBlur 当域失去焦点时执行. <br /><br />onSelect 当域中有部分文本被选定时执行. <br /><br />onChange 当域失去焦点且域值相对于onFocus执行有所改变时执行.
          <br/><br/>
          <span style="color:red;">
            <a href="http://daimon.javaeye.com/blog/159402#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 25 Jan 2008 17:20:14 +0800</pubDate>
        <link>http://daimon.javaeye.com/blog/159402</link>
        <guid>http://daimon.javaeye.com/blog/159402</guid>
      </item>
      <item>
        <title>SESSION常见问题辑</title>
        <author>daimon</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://daimon.javaeye.com">daimon</a>&nbsp;
          链接：<a href="http://daimon.javaeye.com/blog/159401" style="color:red;">http://daimon.javaeye.com/blog/159401</a>&nbsp;
          发表时间: 2008年01月25日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          问：为什么Session在有些机器上偶尔会丢失？<br />答：可能和机器的环境有关系，比如：防火墙或者杀毒软件等，尝试关闭防火墙。<br /><br />问：为什么当调用Session.Abandon时并没有激发Session_End方法？<br />答：首先Session_End方法只支持InProc（进程内的）类型的Session。其次要激发Session_End方法，必须存在Session（即系统中已经使用Session了），并且至少要完成一次请求（在这次请求中会调用该方法）。<br /><br />问：为什么当我在InProc模式下使用Session会经常丢失？<br />答：该问题通常是由于应用程序被回收导致的，因为当使用进程内Session时，Session是保存在aspnet_wp进程中，当该进程被回收Session自然也就没有了，确定该进程是否被回收可以通过查看系统的事件查看器获得信息。<br /> 具体信息请参考：<br /> Session variables are lost intermittently in ASP.NET applications<br /> http://support.microsoft.com/default.aspx?scid=kb;en-us;Q316148<br /> 在1.0的时候也有一个bug会导致工作进程被回收并重启，该bug已经在1.1和sp2中修复。<br /> 关于该bug的详细信息请参考：<br /> ASP.NET Worker Process (Aspnet_wp.exe) Is Recycled Unexpectedly. <br /> http://support.microsoft.com/default.aspx?scid=kb;en-us;Q321792<br /><br />问：为什么当Session超时或者Abandoned后，新Session的ID和原来的相同？<br />答：因为SessionID是保存在客户端浏览器的实例里，当Session超时在服务器重新建立Session时，将使用浏览器传来的SessionID，所以当Session超时后，再重新建立后SessionID并不变。<br /><br />问：为什么每次请求的SessionID都不相同？<br />答：该问题可能是没有在Session里面保存任何信息引起的，即程序中任何地方都没有使用Session。当Session中保存信息之后SessionID将一直和浏览器相关，此时的SessionID将不会在变化。<br /><br />问：ASP和ASP.NET之间是否可以共享Session？<br />答：可以。但是这是一个比较复杂的过程，微软提供了官方的解决方案，请参考：http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/ConvertToASPNET.asp<br /><br />问：什么类型的对象可以保存在Session里？<br />答：这依赖使用的Session的模式，当使用的是进程内（InProc）的Session那么可以轻松的保存任何对象。如果你使用了非InProc的模式，则只能保存可以序列化和反序列化的对象，如果此时保存的对象不支持序列化，则不能保存到这种模式（非InProc）的Session里。<br /><br />问：为什么在Session_End中不能使用Response.Redirect和Server.Transfer方法跳转页面？<br />答：Session_End是一个在服务器内部激发的事件处理函数。它是基于一个服务器内部的计时器的，在激发该事件时服务器上并没有相关的HttpRequest对象，因此此时并不能使用Response.Redirect和Server.Transfer方法。<br /><br />问：在Session_End中是否可以获得HttpContext对象？<br />答：不行，因为这个事件并没有和任何的请求（Request）相关联，没有基于请求的上下文。<br /><br />问：在Web Service中该如何使用Session？<br />答：为了在Web Service中使用Session，需要在Web Service的调用方做一些额外的工作，必须保存和存储调用Web Service时使用的Cookie。详细信息请参考MSDN文档的HttpWebClientProtocol.CookieContainer属性。然而，如果你使用代理服务器访问Web Service由于框架的限制，两者不能共享Session。<br /><br />问：在自定义自己的HttpHandler的时候，为什么不能使用Session？<br />答：在实现自己的HttpHandler的时候，如果希望使用Session必须实现下面的两个标记接口中的一个： IRequiresSessionState和IReadOnlySessionState，这些接口没有任何方法需要实现，只是一个标记接口和使用 INamingContainer接口的方法一样。<br /><br />问：当我使用webfarm时，当我重定向到其他的Web服务器时Session为什么会丢失？<br />答：详细信息请参考：<br /> PRB: Session State Is Lost in Web Farm If You Use SqlServer or StateServer Session Mode<br /> http://support.microsoft.com/default.aspx?scid=kb;en-us;325056<br /><br />问：为什么我的Session在Application_OnAcquireRequestState方法中无效？<br />答：Session只有在HttpApplication.AcquireRequestState事件调用以后才会有效。<br /> 详细信息请参考：<br /> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconhandlingpublicevents.asp <br /><br />问：如果使用了cookieless，我该如何从HTTP页面定向到HTTPS？<br />答：请尝试下面的方法：<br /> String originalUrl = "/fxtest3/sub/foo2.aspx"; <br /> String modifiedUrl = "https://localhost" + Response.ApplyAppPathModifier(originalUrl); <br /> Response.Redirect(modifiedUrl);<br /><br />问：Session在global.asax中的那些事件中有效？<br />答：Session只有在AcquireRequestState事件之后有效，该事件之后的事件都可以使用Session。<br /><br /><br />问：如何获得当前Session中保存的所有对象？<br />答：可以通过遍历所有的Session.Keys来获得。代码如下：<br />ArrayList sessionCollection = new ArrayList();<br />foreach (string strKey in Session.Keys){ <br />  sessionCollection.Add(Session[strKey]);<br />} <br /> <br />问：是否可以在不同的应用程序中共享Session？<br />答：不能直接共享。可以参考如何在ASP和ASP.NET之间共享Session。<br /><br />问：Session.Abandon和Session.Clear有何不同？<br />答：主要的不同之处在于当使用Session.Abandon时，会调用Session_End方法（InProc模式下）。当下一个请求到来时将激发 Session_Start方法。而Session.Clear只是清除Session中的所有数据并不会中止该Session，因此也不会调用那些方法。<br /> <br />问：为了可以顺序访问Session的状态值，Session是否提供了锁定机制？<br />答：Session实现了Reader/Writer的锁机制：<br /> 当页面对Session具有可写功能（即页面有&lt;%@ Page EnableSessionState="True" %>标记），此时直到请求完成该页面的Session持有一个写锁定。<br /> 当页面对Session具有只读功能（即页面有&lt;%@ Page EnableSessionState="ReadOnly" %>标记），此时知道请求完成该页面的Session持有一个读锁定。<br /> 读锁定将阻塞一个写锁定；读锁定不会阻塞读锁定；写锁定将阻塞所有的读写锁定。这就是为什么两个框架中的同一个页面都去写同一个Session时，其中一个要等待另一个（稍快的那个）完成后，才开始写。<br /><br />问：Session平滑超时意味着什么？<br />答：Session平滑超时意味着只要你的页面访问（使用）了Session，超时时间将被刷新（可以理解为重新计时），即从该页面请求开始，将重新计算超时时间。但是，该页面不能禁用Session。它会自动的访问当前页面的Session，刷新超时时间。<br /> <br />问：在global.asax中的事件处理函数中Session为什么无效？<br />答：依赖于在哪个事件处理函数中使用Session，Session在AcquireRequestState事件之后才有效，该事件之后的所有事件处理函数都可以使用Session，之前的则不能。<br /><br />问：当我写一个依赖于当前应用的Session的组件时，为什么不能直接使用Session["Key"]获得其值？<br />答：Session["Key"]实际上是this.Session["Key"]，它是作为Page的一个属性提供的，所以在你的组件中不能直接使用这个属性。你可以通过下面的方式使用Session：<br /> HttpContext.Current.Session["Key"] = "My Seesion Value"; <br /><br />问：当我使用InProc模式保存Session时，此时的Session是保存在哪里？<br />答：不同的IIS的处理方式不同，<br /> 当使用的是IIS5的时候Session是保存在aspnet_wp.exe的进程空间里的。<br /> 当使用的是IIS6时，默认情况下所有的应用程序共享应用程序池，Session保存在w3wp.exe的进程空间中。<br /><br />问：Session的超时设置是分钟还是秒？<br />答：是分钟，默认为20分钟。<br /><br />问：当页面出现错误后我的Session是否将被保存？我需要在Session_End中处理一些清理工作，但是失败了，为什么？<br />答： Session_End只有在Session运行在InProc模式下才会被执行。Session_End使用的帐号是运行aspnet_wp工作进程的帐号（这个可以在machine.config中设置）。因此，如果在Session_End方法里，使用集成安全性链接到SQL，它将使用 aspnet_wp进程的帐号打开链接，此时成功与否则依赖于你的SQL的安全性设置。<br /> <br />问：为什么当我设置cookieless为true是我在重定向的时候会丢失Session？<br />答：当使用cookieless时，你必须使用相对路径替换程序中的绝对路径，如果使用绝对路径ASP.NET将无法在URL中保存SessionID。<br /> 例如：将\myDir\mySubdir\default.aspx换成..\default.aspx即可。<br /><br />问：如何将SortedList存储到Session或者Cache里？<br />答：请参考下面的方法：<br /> SortedList x = new SortedList(); <br /> x.Add("Key1", "ValueA"); <br /> x.Add("Key2", "ValueB"); <br /> 保存到Session中: <br /> Session["SortedList1"] = x; <br /> 使用下面方法获得之：<br /> SortedList y = (SortedList) Session["SortedList1"]; <br /> Chahe则同理。<br /> <br />问：我为什么会获得这样的错误信息“Session state can only be used when enableSessionState is set to true, either in a configuration file or in the Page directive”？<br />答：这个问题可能在一个已经安装了Microsoft Visual Studio .NET开发环境的机器上，再安装Window Sharepoint Server（WSS）后出现。<br /> WSS ISAPI过滤器会处理所有的请求。当你通过虚拟目录浏览一个ASP.NET的应用程序时，ISAPI过滤器不会给文件夹目录分配URL。<br /> 解决方法是：不要再安装了WSS的机器上使用Session。<br /> 详细信息请参考：<br /> Session state cannot be used in ASP.NET with Windows SharePoint Services<br /> http://support.microsoft.com/default.aspx?scid=kb;en-us;837376<br /><br />问：如何删除Session变量？<br />答：想要删除Session变量可以使用HttpSessionState.Remove()方法。<br /> <br />问：是否有办法知道应用程序的Session在运行时占用了多少内存？<br />答：没有。目前这个值时无法考证的，至少我现在还没有看到这方面的资料。但是可以通过性能监视器以及程序代码大概估算出来一个值。<br /> <br />问：当页面中是否了frameset，发现在每个frame中显示页面的SessionID在第一次请求时都不相同，为什么？<br />答：原因是你的frameset是放在一个htm页面上而不是ASPX页面。<br />  在一般情况下，如果frameset是aspx页面，当你请求页面时，它首先将请求发送到Web服务器，此时已经获得了SessionID，接着浏览器会分别请求Frame中的其他页面，这样所有页面的SessionID就是一样的，就是FrameSet页面的SessionID。<br /> 然而如果你使用Html页面做FrameSet页面，第一个请求将是HTML页面，当该页面从服务器上返回是并没有任何Session产生，接着浏览器会请求 Frame里面的页面，这样这些页面都会产生自己的SessionID，所以在这种情况下就会出现这种问题。当你重新刷新页面时，SessionID就会一样，并且是最后一个请求页面的SessionID。<br /> <br />问：是否可以将不同应用程序的Session保存在相同的SQL Server服务器的不同数据库上。<br />答：可以，请参考：<br /> FIX: Using one SQL database for all applications for SQL Server session state may cause a bottleneck<br /> http://support.microsoft.com/default.aspx?scid=kb;en-us;836680<br /><br />问：在Session_End是我是否可以获得有效的HttpSessionState和HttpContext对象？<br />答：你可以在这个方法中获得HttpSessionState对象，可以直接使用Session来访问即可。但是不能获得HttpContext对象，因为该事件并没有和任何请求相关联，因此不存在上下文对象。<br /><br />问：在SQLServer模式下使用Session，为什么我的Session不过期？<br />答：在SqlServer模式下，Session的过期是通过SQL Agent的注册工作完成的，请检查你的SQL Agent是否运行？<br /> <br />问：当我设置EnableSessionState为“ReadOnly”后，但是我在InProc模式下依然可以修改Session的值，这是为什么？<br />答：即使EnableSessionState标示为ReadOnly，但是在InProc模式下用户依然可以编辑Session。唯一不同的是，在请求过程中Session将不会被锁住。<br /><br />问：我如何才能避免在链接SQL时指定密码？<br />答：使用信任链接或者使用加密的链接串。有关这方面的详细信息请参考：<br /> How To Use the ASP.NET Utility to Encrypt Credentials and Session State Connection Strings <br /> http://support.microsoft.com/default.aspx?scid=kb;en-us;329290<br /><br />问：我在我自己的类中该如何使用Session呢？<br />答：可以使用HttpContext.Current.Session方式使用，具体方法如下：<br /> HttpContext.Current.Session["SessionKey"] = "SessionValue"; <br /> 类似的你还可以使用这种方式使用Application对象。<br /> <br /><br />问：为什么在切换成SQLServer模式后我的请求被挂起了？<br />答：检查在Session里面是否都保存的是可以保存在SQLServer模式下的对象，即这些对象必须支持序列化。<br /> <br /><br />问：当Session设置成cookieless后会有什么影响？<br />答：当把cookieless设置成true时，主要会有下面的约束：<br /> 1、在页面中不能使用绝对链接<br /> 2、在应用程序中在除了Http和Https之间的切换时需要完成一些其他的步骤。<br /> 如果发送一个链接给其他人，此时的URL里面将包含Session ID的信息，所以两个人将公用一个Session。<br /><br />问：是否可以将Session保存在数据库中？<br />答：当然可以，详细信息请参考：http://support.microsoft.com/default.aspx?scid=kb;en-us;311209
          <br/><br/>
          <span style="color:red;">
            <a href="http://daimon.javaeye.com/blog/159401#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 25 Jan 2008 17:18:29 +0800</pubDate>
        <link>http://daimon.javaeye.com/blog/159401</link>
        <guid>http://daimon.javaeye.com/blog/159401</guid>
      </item>
      <item>
        <title>js常见问题辑</title>
        <author>daimon</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://daimon.javaeye.com">daimon</a>&nbsp;
          链接：<a href="http://daimon.javaeye.com/blog/159400" style="color:red;">http://daimon.javaeye.com/blog/159400</a>&nbsp;
          发表时间: 2008年01月25日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          1.document.write(""); 输出语句 <br />2.JS中的注释为// <br />3.传统的HTML文档顺序是:document->html->(head,body) <br />4.一个浏览器窗口中的DOM顺序是:window->(navigator,screen,history,location,document) <br />5.得到表单中元素的名称和值:document.getElementById("表单中元素的ID号").name(或value) <br />6.一个小写转大写的JS: document.getElementById("output").value = document.getElementById("i<br />nput").value.toUpperCase(); <br />7.JS中的值类型:String,Number,Boolean,Null,Object,Function <br />8.JS中的字符型转换成数值型:parseInt(),parseFloat() <br />9.JS中的数字转换成字符型:(""+变量) <br />10.JS中的取字符串长度是:(length) <br />11.JS中的字符与字符相连接使用+号. <br />12.JS中的比较操作符有:==等于,!=不等于,>,>=,&lt;.&lt;= <br />13.JS中声明变量使用:var来进行声明 <br />14.JS中的判断语句结构:if(condition){}else{} <br />15.JS中的循环结构:for([initial expression];[condition];[upadte expression]) {inside loop} <br />16.循环中止的命令是:break <br />17.JS中的函数定义:function functionName([parameter],...) <br />18.当文件中出现多个form表单时.可以用document.forms[0],document.forms[1]来代替. <br />19.窗口:打开窗口window.open(), 关闭一个窗口:window.close(), 窗口本身:self <br />20.状态栏的设置:window.status="字符"; <br />21.弹出提示信息:window.alert("字符"); <br />22.弹出确认框:window.confirm(); <br />23.弹出输入提示框:window.prompt(); <br />24.指定当前显示链接的位置:window.location.href="URL" <br />25.取出窗体中的所有表单的数量:document.forms.length <br />26.关闭文档的输出流:document.close(); <br />27.字符串追加连接符:+= <br />28.创建一个文档元素:document.createElement(),document.createTextNode() <br />29.得到元素的方法:document.getElementById() <br />30.设置表单中所有文本型的成员的值为空: <br />var form = window.document.forms[0] <br />for (var i = 0; i if (form.elements.type == "text"){ <br />form.elements.value = ""; <br />} <br />} <br />31.复选按钮在JS中判断是否选中:document.forms[0].checkThis.checked (checked属性代表为是否选中<br />返回TRUE或FALSE) <br />32.单选按钮组(单选按钮的名称必须相同):取单选按钮组的长度document.forms[0].groupName.length <br />33.单选按钮组判断是否被选中也是用checked. <br />34.下拉列表框的值:document.forms[0].selectName.options[n].value (n有时用下拉列表框名称加上.sel<br />ectedIndex来确定被选中的值) <br />35.字符串的定义:var myString = new String("This is lightsword"); <br />36.字符串转成大写:string.toUpperCase(); 字符串转成小写:string.toLowerCase(); <br />37.返回字符串2在字符串1中出现的位置:String1.indexOf("String2")!=-1则说明没找到. <br />38.取字符串中指定位置的一个字符:StringA.charAt(9); <br />39.取出字符串中指定起点和终点的子字符串:stringA.substring(2,6); <br />40.数学函数:Math.PI(返回圆周率),Math.SQRT2(返回开方),Math.max(value1,value2)返回两个数中的最<br />在值,Math.pow(value1,10)返回value1的十次方,Math.round(value1)四舍五入函数,Math.floor(Math.ra<br />ndom()*(n+1))返回随机数 <br />41.定义日期型变量:var today = new Date(); <br />42.日期函数列表:dateObj.getTime()得到时间,dateObj.getYear()得到年份,dateObj.getFullYear()得到<br />四位的年份,dateObj.getMonth()得到月份,dateObj.getDate()得到日,dateObj.getDay()得到日期几,dat<br />eObj.getHours()得到小时,dateObj.getMinutes()得到分,dateObj.getSeconds()得到秒,dateObj.setTi<br />me(value)设置时间,dateObj.setYear(val)设置年,dateObj.setMonth(val)设置月,dateObj.setDate(va<br />l)设置日,dateObj.setDay(val)设置星期几,dateObj.setHours设置小时,dateObj.setMinutes(val)设置分,<br />dateObj.setSeconds(val)设置秒 [注意:此日期时间从0开始计] <br />43.FRAME的表示方式: [window.]frames[n].ObjFuncVarName,frames["frameName"].ObjFuncVarN<br />ame,frameName.ObjFuncVarName <br />44.parent代表父亲对象,top代表最顶端对象 <br />45.打开子窗口的父窗口为:opener <br />46.表示当前所属的位置:this <br />47.当在超链接中调用JS函数时用:(javascript :)来开头后面加函数名 <br />48.在老的浏览器中不执行此JS: <br />49.引用一个文件式的JS: <br />50.指定在不支持脚本的浏览器显示的HTML: <br />51.当超链和 a事件都有时,则老版本的浏览器转向a.html,否则转向b.html.例:dfsadf <br />52.JS的内建对象有:Array,Boolean,Date,Error,EvalError,Function,Math,Number,Object,RangeError,<br />ReferenceError,RegExp,String,SyntaxError,TypeError,URIError <br />53.JS中的换行:\n <br />54.窗口全屏大小: <br />55.JS中的all代表其下层的全部元素 <br />56.JS中的焦点顺序:document.getElementByid("表单元素").tabIndex = 1 <br />57.innerHTML的值是表单元素的值:如 <br />"how are you" <br /><br />,则innerHTML的值就是:how are you <br />58.innerTEXT的值和上面的一样,只不过不会把这种标记显示出来. <br />59.contentEditable可设置元素是否可被修改,isContentEditable返回是否可修改的状态. <br />60.isDisabled判断是否为禁止状态.disabled设置禁止状态 <br />61.length取得长度,返回整型数值 <br />62.addBehavior()是一种JS调用的外部函数文件其扩展名为.htc <br />63.window.focus()使当前的窗口在所有窗口之前. <br />64.blur()指失去焦点.与FOCUS()相反. <br />65.select()指元素为选中状态. <br />66.防止用户对文本框中输入文本:onfocus="this.blur()" <br />67.取出该元素在页面中出现的数量:document.all.tags("div(或其它HTML标记符)").length <br />68.JS中分为两种窗体输出:模态和非模态.window.showModaldialog(),window.showModeless() <br />69.状态栏文字的设置:window.status='文字',默认的状态栏文字设置:window.defaultStatus = '文字.'; <br />70.添加到收藏夹:external.AddFavorite("http://www.dannyg.com"t;,"jaskdlf"); <br />71.JS中遇到脚本错误时不做任何操作:window. a = doNothing; 指定错误句柄的语法为:window.on<br />error = handleError; <br />72.JS中指定当前打开窗口的父窗口:window.opener,支持opener.opener...的多重继续. <br />73.JS中的self指的是当前的窗口 <br />74.JS中状态栏显示内容:window.status="内容" <br />75.JS中的top指的是框架集中最顶层的框架 <br />76.JS中关闭当前的窗口:window.close(); <br />77.JS中提出是否确认的框:if(confirm("Are you sure?"))else{alert("Not Ok");} <br />78.JS中的窗口重定向:window.navigate("http://www.sina.com.cn"t;); <br />79.JS中的打印:window.print() <br />80.JS中的提示输入框:window.prompt("message","defaultReply"); <br />81.JS中的窗口滚动条:window.scroll(x,y) <br />82.JS中的窗口滚动到位置:window.scrollby <br />83.JS中设置时间间隔:setInterval("expr",msecDelay)或setInterval(funcRef,msecDelay)或setTimeou<br />t <br />84.JS中的模态显示在IE4+行,在NN中不行:showModalDialog("URL"[,arguments][,features]); <br />85.JS中的退出之前使用的句柄:function verifyClose(){event.returnValue="we really like you and ho<br />pe you will stay longer.";}} window.onbeforeunload=verifyClose; <br />86.当窗体第一次调用时使用的文件句柄:onload() <br />87.当窗体关闭时调用的文件句柄:onunload() <br />88.window.location的属性: protocol(http:),hostname(example.com),port(80),host(e<br />xample.com:80),pathname("/a/a.html"),hash("#giantGizmo",指跳转到相应的锚记),href(全部的信<br />息) <br />89.window.location.reload()刷新当前页面. <br />90.window.history.back()返回上一页,window.history.forward()返回下一页,window.history.go(返回<br />第几页,也可以使用访问过的URL) <br />91.document.write()不换行的输出,document.writeln()换行输出 <br />92.document.body.noWrap=true;防止链接文字折行. <br />93.变量名.charAt(第几位),取该变量的第几位的字符. <br />94."abc".charCodeAt(第几个),返回第几个字符的ASCii码值. <br />95.字符串连接:string.concat(string2),或用+=进行连接 <br />96.变量.indexOf("字符",起始位置),返回第一个出现的位置(从0开始计算) <br />97.string.lastIndexOf(searchString[,startIndex])最后一次出现的位置. <br />98.string.match(regExpression),判断字符是否匹配. <br />99.string.replace(regExpression,replaceString)替换现有字符串. <br />100.string.split(分隔符)返回一个数组存储值. <br />101.string.substr(start[,length])取从第几位到指定长度的字符串. <br />102.string.toLowerCase()使字符串全部变为小写. <br />103.string.toUpperCase()使全部字符变为大写. <br />104.parseInt(string[,radix(代表进制)])强制转换成整型. <br />105.parseFloat(string[,radix])强制转换成浮点型. <br />106.isNaN(变量):测试是否为数值型. <br />107.定义常量的关键字:const,定义变量的关键字:var
          <br/><br/>
          <span style="color:red;">
            <a href="http://daimon.javaeye.com/blog/159400#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 25 Jan 2008 17:16:59 +0800</pubDate>
        <link>http://daimon.javaeye.com/blog/159400</link>
        <guid>http://daimon.javaeye.com/blog/159400</guid>
      </item>
      <item>
        <title>HTTP 协议的简介</title>
        <author>daimon</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://daimon.javaeye.com">daimon</a>&nbsp;
          链接：<a href="http://daimon.javaeye.com/blog/159070" style="color:red;">http://daimon.javaeye.com/blog/159070</a>&nbsp;
          发表时间: 2008年01月24日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span style="color: blue">HTTP协议是一种超文本传输协议（Hypertext Transfer Protocol），工作于网络应用层，自1990年起广泛应用于WWW 的全球信息服务，HTTP协议的详细说明可以在网上查阅RFC2518、RFC2616等文档。<br /><br />　　HTTP 协议老的标准是HTTP/1.0，目前最通用的标准是HTTP/1.1。HTTP/1.1是在HTTP/1.0基础上的升级，增加了一些功能，全面兼容 HTTP/1.0。HTTP/1.0不支持文件断点续传，如果服务器使用HTTP/1.0，“网络蚂蚁”的任何多线程下载程序都只能按单线程下载；好在目前的Web服务器绝大多数都采用了HTTP/1.1，所以，下面将基于HTTP/1.1进行介绍。<br /><br />　　HTTP协议的相关重要命令<br /><br />　　基于HTTP的浏览器浏览网页、下载文件时，工作原理类似客户机/服务器模式：浏览器向Web服务器发出一个HTTP请求行；Web服务器在收到有效的请求后，返回一个状态行或多个响应标题、一个空白行和相关文档。根据这一工作原理，下载程序必须实现向服务器发送请求和获取服务器响应状态的功能。<br /><br />　　1.向服务器发送 GET请求命令<br /><br />　　一个HTTP请求由一个请求行、可选数目的请求标题、一个空白行，以及在POST情况下的一些额外的数据组成。请求行的格式是：<br /><br />　　请求方法　URI　 HTTP/版本号<br /><br />　　GET 命令是浏览器常用的文档请求方法，在程序中间使用<br /><br />　　GET　URI　 HTTP/1.1<br /><br />　　向Web服务器发送请求行（行号3），Java 代码如下：<br /><br />．．．．<br />clientSocket = new Socket(host, port);//打开要下载文件服务器的Socket<br />outStream = new PrintStream(clientSocket.getOutputStream());<br />．．．．<br />outStream.println(“GET”+uri+“ HTTP/1.1”);<br />outStream.println(“Host:”+host);<br />outStream.println(“Accept:*/* ”);<br />outStream.println(“Referer:”);<br />outStream.println();<br />．．．．<br /><br />　　注：第4行给出URL中的主机名和端口号，第5行说明客户端接收所有MIME类型，第7行方送一个空白行，表明请求行结束。<br /><br />　　2.获取服务器响应状态<br /><br />　　在发送HTTP请求行以后，程序就可以读取服务器的响应状态了。HTTP响应状态行包括：HTTP 状态码和一些HTTP响应标题。<br /><br />　　1) HTTP状态码<br /><br />　　HTTP状态码格式是 HTTP/版本信息的数字表示。状态码例子如下：<br /><br />　　HTTP/1.0 200 OK // 表示服务器支持HTTP/1.0 协议，成功<br /><br />　　HTTP/1.1 200 OK // 表示服务器支持HTTP/1.1 协议，成功<br /><br />　　HTTP/1.0 404 Not Found // 表示服务器支持HTTP/1.0 协议，访问文件没有找到<br /><br />　　在程序中间，如果读到“HTTP/1.1 200 OK”这样的字符串，表明欲下载文件存在、该服务器支持断点续传，可以使用多线程下载。如果读到“HTTP/1.0 200 OK”这样的字符串，表明欲下载文件存在、但该服务器不支持断点续传，只可以使用单线程下载。<br /><br />．．．．．<br />while ((line=inStream.readLine()) != null)　//将服务器响应状态读到line<br />．．．．．．．．<br />if(line.substring(0,7).equals(“HTTP/1.”) )　//判断是否支持HTTP/1.1<br />{ if(line.charAt(7)==‘0’)<br />{<br />System.out.println(“server use http/1.0”);<br />threadcount=1;<br />}<br />if(!(line.substring(9,12)).equals(“200”)) //判断请求是否成功<br />{ System.out.println(“ERROR:”+line);<br />return false;<br />}<br />}<br /><br />　　2) 读取重要的响应标题，获得要下载文档的文件长度<br /><br />　　如果HTTP状态码表明访问成功，服务器会回送一些标题行，我们最关注的是Content-Length　这一行，比如，如果服务器回送“Content-Length:1000”，表明请求文件的长度是１０００字节，所以读取这一行信息，可以得到文件的长度信息：<br /><br />．．．．<br />if(line.substring(0,15).equals(“Content-Length:”) )<br />{ filelength=Long.parseLong(line.substring(15).trim());<br />System.out.println(“file length:” +filelength);<br />}<br />．．．．．．<br /><br />　　向服务器发送断点续传请求<br /><br />　　如上所述，如果服务器支持HTTP/1.1，再次向服务器发送GET请求：<br /><br />．．．．．<br />outStream.println(“GET ”+uri+“HTTP/1.1 ”);<br />outStream.println(“Host:”+host);<br />outStream.println(“Accept:*/* ”);<br />outStream.println(“RANGE:bytes=”+(fileblocklength)*thisthreadid+“-”);<br />outStream.println();<br />．．．．．<br /><br />　　第4行是关键，“RANGE:bytes=”是HTTP/1.1新增内容，HTTP/1.0每次传送文件都是从文件头开始，即０字节处开始，“RANGE:bytes=XXXX”表示要求服务器从文件XXXX字节处开始传送，这就是我们平时所说的断点续传！<br /><br />　　分割文件，多线程下载<br /><br />　　使用多线程编程技术，同时启动多个线程，根据线程个数，计算文件分割位置，向服务器发送几个不同的下载断点，同时接受数据并写入文件，就可以实现多线程下载了。<br /><br />.....<br />raf=new RandomAccessFile(file,“rw”);//以随机存取方式打开文件<br />.....<br />synchronized(raf) //按同步方式把各个线程得到数据分别写入文件<br />{ raf.seek(thisthreadid*(filelength/threadcount)+k*buflength);<br />raf.write(readbytes);<br />......<br />}<br />......<br />////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////<br />下面是用PHP模拟的POST中的构造Http协议部分<br />$request = "POST /happy/member.php HTTP/1.1rn";<br />$request .= "Pragma: no cachern";<br />$request .= "Host: phpx.comrn";<br />$request .= "User-Agent: " . $_SERVER['HTTP_USER_AGENT'] . "rn";<br />$request .= "Accept: */*rn";<br />$request .= "Accept-Language: " . $_SERVER['HTTP_ACCEPT_LANGUAGE'] . "rn";<br />$request .= "Keep-Alive: 300rn";<br />$request .= "Connection: keep-alivern";<br />$request .= "Cache-Control: max-age=0rn";<br />$request .= "Content-Type: application/x-www-form-urlencodedrn";<br />$request .= "Content-Length: $lenghtrn";<br />$request .= "rn";<br />$request .= $postValues;<br />＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝<br />下面是响应成功返回的信息<br />HTTP/1.1 200 OK<br />Date: Fri, 05 Nov 2004 01:06:59 GMT<br />Server: Apache<br />Set-Cookie: bblastvisit=1099616819; expires=Sat, 05-Nov-2005 01:06:59 GMT; path=/<br />Set-Cookie: bbuserid=17027; expires=Sat, 05-Nov-2005 01:06:59 GMT; path=/<br />Set-Cookie: bbpassword=3332def6f45e948bd403276b3b2002d4; expires=Sat, 05-Nov-2005 01:06:59 GMT; path=/<br />Set-Cookie: sessionhash=53a2b0ee3798fe2ca15342541b62f823; path=/<br />Content-Length: 3325<br />Keep-Alive: timeout=5, max=100<br />Connection: Keep-Alive<br />Content-Type: text/html; charset=GB2312<br /><br />[color=darkblue]</span>[/color]
          <br/><br/>
          <span style="color:red;">
            <a href="http://daimon.javaeye.com/blog/159070#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 24 Jan 2008 14:16:09 +0800</pubDate>
        <link>http://daimon.javaeye.com/blog/159070</link>
        <guid>http://daimon.javaeye.com/blog/159070</guid>
      </item>
      <item>
        <title>用PHP的Socket实现HTTP请求</title>
        <author>daimon</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://daimon.javaeye.com">daimon</a>&nbsp;
          链接：<a href="http://daimon.javaeye.com/blog/159062" style="color:red;">http://daimon.javaeye.com/blog/159062</a>&nbsp;
          发表时间: 2008年01月24日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          最近HTTP远程访问的程序写得多了，主要接触的是.NET类库里的WebHttpRequest类和Microsoft.XMLHTTP这个通用的对象，有了这些方便的类，我们可以通过C#，ASP，Javascript来模拟Web客户端访问其他的Web页面。但是今天想用PHP实现一下类似的功能，却一时找不到方向了，于是只能自己“丰衣足食”了。 <br /><br />目前，PHP里面还没有类似于HttpRequest的类，不过在官方在线文档中找到了这么一个HttpRequest Class的页面，不过也只是提及了此功能目前可能只有在CVS版本中存在，无奈... <br /><br />要实现HTTP访问无非就是用Socket发送一个请求，然后读取返回信息。于是我就用Socket写了一个HttpRequest的类，当然也可以用fsockopen()这个函数来实现，不过两个的区别不是很大，具体代码在附件里，自己看咯。 <br /><br />&lt;?php /**  * Network: HTTP request object  * Author: Li HouYu (Karajan Lee), Shanghai, China.  */  class HttpRequest { 	var $sHostAdd; 	var $sUri; 	var $iPort; 	 	var $sRequestHeader; 	 	var $sResponse; 	 	function HttpRequest($sUrl) 	{ 		$sPatternUrlPart = '/http:\/\/([a-z-\.0-9]+)(:(\d+)){0,1}(.*)/i'; 		$arMatchUrlPart = array(); 		preg_match($sPatternUrlPart, $sUrl, $arMatchUrlPart); 		 		$this->sHostAdd = gethostbyname($arMatchUrlPart[1]); 		if (empty($arMatchUrlPart[4])) 		{ 			$this->sUri = '/'; 		} 		else 		{ 			$this->sUri = $arMatchUrlPart[4]; 		} 		if (empty($arMatchUrlPart[3])) 		{ 			$this->iPort = 80; 		} 		else 		{ 			$this->iPort = $arMatchUrlPart[3]; 		} 		 		$this->addRequestHeader('Host: '.$arMatchUrlPart[1]); 		$this->addRequestHeader('Connection: Close'); 	} 	 	function addRequestHeader($sHeader) 	{ 		$this->sRequestHeader .= trim($sHeader)."\r\n"; 	} 	 	function sendRequest($sMethod = 'GET', $sPostData = '') 	{ 		$sRequest = $sMethod." ".$this->sUri." HTTP/1.1\r\n"; 		$sRequest .= $this->sRequestHeader; 		if ($sMethod == 'POST') 		{ 			$sRequest .= "Content-Type: application/x-www-form-urlencoded\r\n"; 			$sRequest .= "Content-Length: ".strlen($sPostData)."\r\n"; 			$sRequest .= "\r\n"; 			$sRequest .= $sPostData."\r\n"; 		} 		$sRequest .= "\r\n"; 		 		$sockHttp = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); 		if (!$sockHttp) 		{ 			die('socket_create() failed!'); 		} 		 		$resSockHttp = socket_connect($sockHttp, $this->sHostAdd, $this->iPort); 		if (!$resSockHttp) 		{ 			die('socket_connect() failed!'); 		} 		 		socket_write($sockHttp, $sRequest, strlen($sRequest)); 		 		$this->sResponse = ''; 		while ($sRead = socket_read($sockHttp, 4096)) 		{ 			$this->sResponse .= $sRead; 		} 		 		socket_close($sockHttp); 	} 	 	function getResponse() 	{ 		return $this->sResponse; 	} 	 	function getResponseBody() 	{ 		$sPatternSeperate = '/\r\n\r\n/'; 		$arMatchResponsePart = preg_split($sPatternSeperate, $this->sResponse, 2); 		return $arMatchResponsePart[1]; 	} 	 	function getResponseHead() 	{ 		$sPatternSeperate = '/\r\n\r\n/'; 		$arMatchResponsePart = preg_split($sPatternSeperate, $this->sResponse, 2); 		return $arMatchResponsePart[0]; 	} } ?>
          <br/><br/>
          <span style="color:red;">
            <a href="http://daimon.javaeye.com/blog/159062#comments" style="color:red;">已有 <strong>1</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 24 Jan 2008 13:52:21 +0800</pubDate>
        <link>http://daimon.javaeye.com/blog/159062</link>
        <guid>http://daimon.javaeye.com/blog/159062</guid>
      </item>
      <item>
        <title>wimax趋势</title>
        <author>daimon</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://daimon.javaeye.com">daimon</a>&nbsp;
          链接：<a href="http://daimon.javaeye.com/blog/136343" style="color:red;">http://daimon.javaeye.com/blog/136343</a>&nbsp;
          发表时间: 2007年10月29日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          wimax、voip都肯定是日后的趋势，中国就不要再出面阻拦了！还有就是mesh值得关注
          <br/><br/>
          <span style="color:red;">
            <a href="http://daimon.javaeye.com/blog/136343#comments" style="color:red;">已有 <strong>1</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 29 Oct 2007 14:00:36 +0800</pubDate>
        <link>http://daimon.javaeye.com/blog/136343</link>
        <guid>http://daimon.javaeye.com/blog/136343</guid>
      </item>
      <item>
        <title>丽江游</title>
        <author>daimon</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://daimon.javaeye.com">daimon</a>&nbsp;
          链接：<a href="http://daimon.javaeye.com/blog/135658" style="color:red;">http://daimon.javaeye.com/blog/135658</a>&nbsp;
          发表时间: 2007年10月26日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;</p>
<p>丽江十大浪漫事件： <br />
<br />
　　1. 两人坐在文昌宫门口的茶馆里，喝着玉龙雪山的雪水泡的绿茶，晒着暖暖的太阳，边打牌看着古城全景，花20元钱耗上个半天，感觉舒服极了。 <br />
<br />
　　2. 晚上在小河边，找一个安静的小吧，来两杯蓝山，共读一本《丽江的柔软时光》，享受潺潺流水声里的宁静和心灵交融的快感。 <br />
<br />
　　3. 清晨7：00－8:30，手拉手，漫步在超清静的古城小巷，呼吸着超新鲜的空气。这一刻整个丽江只属于我们俩！ <br />
<br />
　　4. 丽江的小店铺有上千家，一定要抽一两天，牵着手挨家挨家地逛。（在这里逛街特舒服。整个古城都是步行街，没有汽车的喧闹，没有高分贝的音响充斥， LG更不会象在城市陪同购物表示出不耐烦。原来在丽江购物也是一种享受，LG如是说。） <br />
<br />
　　5. 一定要抽出2-3天的时间，全程徒步虎跳峡，感受全世界最为浪漫的徒步线路。感受了丽江的温柔和繁华，再去体验徒步的豪放及艰辛，同甘共苦后绝对可以让你们的感情得到升华。建议在纳西雅阁住一晚，先预定能看见玉龙雪山的房间，感受星光下玉龙雪山的魅力。再在HALFWAY住一晚，超级浪漫。如果体力不够，就不必走下虎跳，游完中虎跳后直接回丽江。 <br />
<br />
　　6. 与客栈老板一起去市场购买自己喜欢的蔬菜，租用客栈的厨房，和老公一起制造婚后的甜蜜幸福。 <br />
<br />
　　7. 跟当地人租两匹马，让他们带着，在山野中穿行，在树林中野餐。体验&ldquo;马帮夫妇&rdquo;的二人世界。（在丽江租马很容易的，一般每匹马都配一个马夫，只要不快跑，安全没有问题，每匹马一天也就一百多块） <br />
<br />
　　8. 租一辆双人自行车，从丽江到束河（4KM）再到白沙（10KM），随便敲开一个农家，让他们帮忙做一个火腿鸡（当地的农家一般都存有上好火腿，真正的本地鸡也绝对的美味,13元一斤就可以买到，吃了包你终生难忘！） <br />
<br />
　　9. 在拉市海上划船，或只是在湖边依偎而坐，让思绪任微风飘洒。静静地等待夜幕降临，欣赏令人震撼的拉市海晚霞。天气好又不冷的日子租好帐篷来，又是一个绝对缠绵夜！以后吵架拌嘴时只要搬出这一幕，我保证比灭火器还有效。 <br />
<br />
　　10. 到黎明爬山也是一个很不错的选择，千龟山是开发不久的景区，游客少，登到山顶一览众山小，视野非常开阔，心情当然就更妙了。&nbsp;&nbsp;<br />
<a href="http://bbs.qq.com/allphoto.shtml?url=http://img1.qq.com/xian/pics/4997/4997702.jpg" target="_blank"></a>&nbsp;</p>
<p>丽江十大浪漫事件： <br />
<br />
　　1. 两人坐在文昌宫门口的茶馆里，喝着玉龙雪山的雪水泡的绿茶，晒着暖暖的太阳，边打牌看着古城全景，花20元钱耗上个半天，感觉舒服极了。 <br />
<br />
　　2. 晚上在小河边，找一个安静的小吧，来两杯蓝山，共读一本《丽江的柔软时光》，享受潺潺流水声里的宁静和心灵交融的快感。 <br />
<br />
　　3. 清晨7：00－8:30，手拉手，漫步在超清静的古城小巷，呼吸着超新鲜的空气。这一刻整个丽江只属于我们俩！ <br />
<br />
　　4. 丽江的小店铺有上千家，一定要抽一两天，牵着手挨家挨家地逛。（在这里逛街特舒服。整个古城都是步行街，没有汽车的喧闹，没有高分贝的音响充斥， LG更不会象在城市陪同购物表示出不耐烦。原来在丽江购物也是一种享受，LG如是说。） <br />
<br />
　　5. 一定要抽出2-3天的时间，全程徒步虎跳峡，感受全世界最为浪漫的徒步线路。感受了丽江的温柔和繁华，再去体验徒步的豪放及艰辛，同甘共苦后绝对可以让你们的感情得到升华。建议在纳西雅阁住一晚，先预定能看见玉龙雪山的房间，感受星光下玉龙雪山的魅力。再在HALFWAY住一晚，超级浪漫。如果体力不够，就不必走下虎跳，游完中虎跳后直接回丽江。 <br />
<br />
　　6. 与客栈老板一起去市场购买自己喜欢的蔬菜，租用客栈的厨房，和老公一起制造婚后的甜蜜幸福。 <br />
<br />
　　7. 跟当地人租两匹马，让他们带着，在山野中穿行，在树林中野餐。体验&ldquo;马帮夫妇&rdquo;的二人世界。（在丽江租马很容易的，一般每匹马都配一个马夫，只要不快跑，安全没有问题，每匹马一天也就一百多块） <br />
<br />
　　8. 租一辆双人自行车，从丽江到束河（4KM）再到白沙（10KM），随便敲开一个农家，让他们帮忙做一个火腿鸡（当地的农家一般都存有上好火腿，真正的本地鸡也绝对的美味,13元一斤就可以买到，吃了包你终生难忘！） <br />
<br />
　　9. 在拉市海上划船，或只是在湖边依偎而坐，让思绪任微风飘洒。静静地等待夜幕降临，欣赏令人震撼的拉市海晚霞。天气好又不冷的日子租好帐篷来，又是一个绝对缠绵夜！以后吵架拌嘴时只要搬出这一幕，我保证比灭火器还有效。 <br />
<br />
　　10. 到黎明爬山也是一个很不错的选择，千龟山是开发不久的景区，游客少，登到山顶一览众山小，视野非常开阔，心情当然就更妙了。&nbsp;&nbsp;<br />
<a href="http://bbs.qq.com/allphoto.shtml?url=http://img1.qq.com/xian/pics/4997/4997702.jpg" target="_blank"></a>&nbsp;<br />
<br />
</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://daimon.javaeye.com/blog/135658#comments" style="color:red;">已有 <strong>2</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 26 Oct 2007 10:43:51 +0800</pubDate>
        <link>http://daimon.javaeye.com/blog/135658</link>
        <guid>http://daimon.javaeye.com/blog/135658</guid>
      </item>
      <item>
        <title>西安美食</title>
        <author>daimon</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://daimon.javaeye.com">daimon</a>&nbsp;
          链接：<a href="http://daimon.javaeye.com/blog/135652" style="color:red;">http://daimon.javaeye.com/blog/135652</a>&nbsp;
          发表时间: 2007年10月26日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div><font size="2" face="Verdana">1. 东南亚甑糕王 <br />
<br />
<br />
地址：麻家什字东北角 <br />
<br />
<br />
口味 27 环境 8 服务 10 人均 5元 <br />
<br />
<br />
&ldquo;回民特色小吃&rdquo;，糯米&ldquo;软软的&rdquo;，&ldquo;黏黏的、甜甜的很有一番味道&rdquo;，上面还铺着一层&ldquo;上好的&rdquo;蜜枣泥、一些&ldquo;豆子&rdquo;，&ldquo;好吃死了&rdquo;，不愧是&ldquo;甜食动物的宠儿&rdquo;。服务员似乎都是&ldquo;暴拽的样子&rdquo;，&ldquo;不太和气&rdquo;。不过&ldquo;看在 美食的份上&rdquo;，也就&ldquo;无所谓&rdquo;了。 <br />
<br />
<br />
2. 定家小酥肉 <br />
<br />
<br />
地址：大皮院223号 87334853 <br />
<br />
<br />
口味 26 环境 8 服务 12 人均 9元 <br />
<br />
<br />
&ldquo;当地很有名的老字号&rdquo;。他家的小酥肉，&ldquo;肉质滑嫩&rdquo;，&ldquo;汤汁鲜美&rdquo;，&ldquo;是西安经典的味道&rdquo;。要是觉得&ldquo;没有配菜&rdquo;&ldquo;太单调&rdquo;，可以再加一个托托馍、一杯酸梅汤，准保你&ldquo;回味无穷&rdquo;。&ldquo;好吃&rdquo;、&ldquo;实惠&rdquo;、&ldquo;简单&rdquo;、&ldquo;特 色&rdquo;就是&ldquo;这里的卖点&rdquo;，&ldquo;有机会还要去试试&rdquo;。 <br />
<br />
<br />
3. 劳动西路肉丸糊辣汤 <br />
<br />
<br />
地址：劳动西路(西电四小南门对面) <br />
<br />
<br />
口味 26 环境 7 服务 16 人均 3元 <br />
<br />
<br />
这一片没有不知道他家的。糊辣汤超级好吃，从小吃到大。馍是自己家做的，&ldquo;很软&rdquo;&ldquo;很香&rdquo;。去吃的都是回头客。 <br />
<br />
4. 石家包子 <br />
<br />
<br />
地址：大学习巷98号 <br />
<br />
<br />
口味 26 环境 10 服务 10 人均 4元 <br />
<br />
<br />
&ldquo;西安最好&rdquo;的包子之一，味道&ldquo;绝对&rdquo;错不了，吃起来&ldquo;很过瘾&rdquo;。就是服务&ldquo;比较猛&rdquo;，得小心。 <br />
5. 老刘家糊辣汤 <br />
<br />
<br />
地址：大皮院内 <br />
<br />
<br />
口味 26 环境 10 服务 12 人均 4元 <br />
<br />
<br />
&ldquo;非常有名的老字号&rdquo;，大家都是从&ldquo;老远&rdquo;的地方特地&ldquo;跑过来&rdquo;吃的。糊辣汤果然名不虚传啊，选料和制作下了&ldquo;真功夫&rdquo;，欠勾&ldquo;不糊不稠&rdquo;、&ldquo;很有力道&rdquo;，加上一大勺&ldquo;香香&rdquo;的辣椒油，再把饼子&ldquo;掰碎&rdquo;了扔进去，&ldquo;呼啦 呼啦&rdquo;一碗下肚便能&ldquo;唤醒所有的味蕾&rdquo;，&ldquo;暖心暖肺&rdquo;，&ldquo;通体舒服&rdquo;&mdash;&mdash;&ldquo;正宗的西安style早餐&rdquo;，一定要试试。 <br />
<br />
<br />
6. 芙蓉饼 <br />
<br />
<br />
地址：案板街(近钟楼电影院) <br />
<br />
<br />
口味 26 环境 7 服务 14 人均 2元 <br />
<br />
<br />
很有特色的小吃。三角形的芙蓉饼里有卤鸡蛋、肉碎、咸菜、香菜、豆腐皮、辣酱、蒜汁。老板就一个人，一心给你加工美食，旁边有个纸箱子，你自己把钱放进去，自己找钱。 <br />
<br />
<br />
7. 龙凤岐正大岐山面 <br />
<br />
<br />
地址：西一路282号(近东大街) <br />
<br />
<br />
口味 26 环境 8 服务 12 人均 7元 <br />
<br />
<br />
一家&ldquo;不太起眼&rdquo;的面店，&ldquo;干干净净的&rdquo;。歧山面做得&ldquo;非常地道&rdquo;：面条是铡面，&ldquo;薄、筋、光&rdquo;；用的醋&ldquo;酸中带甜&rdquo;，是&ldquo;典型的岐山醋味道&rdquo;。缺点是臊子给得&ldquo;稍微少一点&rdquo;。饭口时总是&ldquo;坐无虚席&rdquo;。 <br />
<br />
<br />
8. 李老四腊牛肉夹馍 <br />
<br />
<br />
地址：韩森路(近经二路) <br />
<br />
<br />
口味 26 环境 6 服务 8 人均 7元 <br />
<br />
<br />
他家的腊牛肉夹馍&ldquo;贼地道&rdquo;，&ldquo;肉虽然烂却保留了鲜味儿&rdquo;，辣子也&ldquo;香&rdquo;，有机会&ldquo;一定要尝一下&rdquo;，保证你尝过之后&ldquo;想起来都会流口水&rdquo;；还有&ldquo;杂肝汤、粉丝汤、丸子汤&rdquo;，都挺&ldquo;好喝&rdquo;的，就着馍吃，都成&ldquo;保留节目&rdquo;了 。提醒：记着&ldquo;趁热吃&rdquo;，凉了味道就&ldquo;大打折扣&rdquo;了。 <br />
5. 老刘家糊辣汤 <br />
<br />
<br />
地址：大皮院内 <br />
<br />
<br />
口味 26 环境 10 服务 12 人均 4元 <br />
<br />
<br />
&ldquo;非常有名的老字号&rdquo;，大家都是从&ldquo;老远&rdquo;的地方特地&ldquo;跑过来&rdquo;吃的。糊辣汤果然名不虚传啊，选料和制作下了&ldquo;真功夫&rdquo;，欠勾&ldquo;不糊不稠&rdquo;、&ldquo;很有力道&rdquo;，加上一大勺&ldquo;香香&rdquo;的辣椒油，再把饼子&ldquo;掰碎&rdquo;了扔进去，&ldquo;呼啦 呼啦&rdquo;一碗下肚便能&ldquo;唤醒所有的味蕾&rdquo;，&ldquo;暖心暖肺&rdquo;，&ldquo;通体舒服&rdquo;&mdash;&mdash;&ldquo;正宗的西安style早餐&rdquo;，一定要试试。 <br />
<br />
<br />
6. 芙蓉饼 <br />
<br />
<br />
地址：案板街(近钟楼电影院) <br />
<br />
<br />
口味 26 环境 7 服务 14 人均 2元 <br />
<br />
<br />
很有特色的小吃。三角形的芙蓉饼里有卤鸡蛋、肉碎、咸菜、香菜、豆腐皮、辣酱、蒜汁。老板就一个人，一心给你加工美食，旁边有个纸箱子，你自己把钱放进去，自己找钱。 <br />
<br />
<br />
7. 龙凤岐正大岐山面 <br />
<br />
<br />
地址：西一路282号(近东大街) <br />
<br />
<br />
口味 26 环境 8 服务 12 人均 7元 <br />
<br />
<br />
一家&ldquo;不太起眼&rdquo;的面店，&ldquo;干干净净的&rdquo;。歧山面做得&ldquo;非常地道&rdquo;：面条是铡面，&ldquo;薄、筋、光&rdquo;；用的醋&ldquo;酸中带甜&rdquo;，是&ldquo;典型的岐山醋味道&rdquo;。缺点是臊子给得&ldquo;稍微少一点&rdquo;。饭口时总是&ldquo;坐无虚席&rdquo;。 <br />
<br />
<br />
8. 李老四腊牛肉夹馍 <br />
<br />
<br />
地址：韩森路(近经二路) <br />
<br />
<br />
口味 26 环境 6 服务 8 人均 7元 <br />
<br />
<br />
他家的腊牛肉夹馍&ldquo;贼地道&rdquo;，&ldquo;肉虽然烂却保留了鲜味儿&rdquo;，辣子也&ldquo;香&rdquo;，有机会&ldquo;一定要尝一下&rdquo;，保证你尝过之后&ldquo;想起来都会流口水&rdquo;；还有&ldquo;杂肝汤、粉丝汤、丸子汤&rdquo;，都挺&ldquo;好喝&rdquo;的，就着馍吃，都成&ldquo;保留节目&rdquo;了 。提醒：记着&ldquo;趁热吃&rdquo;，凉了味道就&ldquo;大打折扣&rdquo;了。 <br />
5. 老刘家糊辣汤 <br />
<br />
<br />
地址：大皮院内 <br />
<br />
<br />
口味 26 环境 10 服务 12 人均 4元 <br />
<br />
<br />
&ldquo;非常有名的老字号&rdquo;，大家都是从&ldquo;老远&rdquo;的地方特地&ldquo;跑过来&rdquo;吃的。糊辣汤果然名不虚传啊，选料和制作下了&ldquo;真功夫&rdquo;，欠勾&ldquo;不糊不稠&rdquo;、&ldquo;很有力道&rdquo;，加上一大勺&ldquo;香香&rdquo;的辣椒油，再把饼子&ldquo;掰碎&rdquo;了扔进去，&ldquo;呼啦 呼啦&rdquo;一碗下肚便能&ldquo;唤醒所有的味蕾&rdquo;，&ldquo;暖心暖肺&rdquo;，&ldquo;通体舒服&rdquo;&mdash;&mdash;&ldquo;正宗的西安style早餐&rdquo;，一定要试试。 <br />
<br />
<br />
6. 芙蓉饼 <br />
<br />
<br />
地址：案板街(近钟楼电影院) <br />
<br />
<br />
口味 26 环境 7 服务 14 人均 2元 <br />
<br />
<br />
很有特色的小吃。三角形的芙蓉饼里有卤鸡蛋、肉碎、咸菜、香菜、豆腐皮、辣酱、蒜汁。老板就一个人，一心给你加工美食，旁边有个纸箱子，你自己把钱放进去，自己找钱。 <br />
<br />
<br />
7. 龙凤岐正大岐山面 <br />
<br />
<br />
地址：西一路282号(近东大街) <br />
<br />
<br />
口味 26 环境 8 服务 12 人均 7元 <br />
<br />
<br />
一家&ldquo;不太起眼&rdquo;的面店，&ldquo;干干净净的&rdquo;。歧山面做得&ldquo;非常地道&rdquo;：面条是铡面，&ldquo;薄、筋、光&rdquo;；用的醋&ldquo;酸中带甜&rdquo;，是&ldquo;典型的岐山醋味道&rdquo;。缺点是臊子给得&ldquo;稍微少一点&rdquo;。饭口时总是&ldquo;坐无虚席&rdquo;。 <br />
<br />
<br />
8. 李老四腊牛肉夹馍 <br />
<br />
<br />
地址：韩森路(近经二路) <br />
<br />
<br />
口味 26 环境 6 服务 8 人均 7元 <br />
<br />
<br />
他家的腊牛肉夹馍&ldquo;贼地道&rdquo;，&ldquo;肉虽然烂却保留了鲜味儿&rdquo;，辣子也&ldquo;香&rdquo;，有机会&ldquo;一定要尝一下&rdquo;，保证你尝过之后&ldquo;想起来都会流口水&rdquo;；还有&ldquo;杂肝汤、粉丝汤、丸子汤&rdquo;，都挺&ldquo;好喝&rdquo;的，就着馍吃，都成&ldquo;保留节目&rdquo;了 。提醒：记着&ldquo;趁热吃&rdquo;，凉了味道就&ldquo;大打折扣&rdquo;了。 <br />
9. 秦豫肉夹馍 <br />
<br />
<br />
地址：东木头市19号 <br />
<br />
<br />
口味 25 环境 11 服务 12 人均 8元 <br />
<br />
<br />
&ldquo;西安最好&rdquo;的肉夹馍。馍&ldquo;很大&rdquo;、&ldquo;很脆&rdquo;，肉&ldquo;很多&rdquo;、&ldquo;很香&rdquo;，配上&ldquo;经典搭配的粉丝汤&rdquo;，&ldquo;真是过瘾&rdquo;、&ldquo;再也忘不了&rdquo;。小店&ldquo;很牛&rdquo;，&ldquo;只做上午的生意，中午以后就关门&rdquo;，所以一定要早点去。 <br />
<br />
<br />
10. 马虎面馆 <br />
<br />
<br />
地址：西七路20号(近解放路) 87418676 <br />
<br />
<br />
口味 25 环境 6 服务 7 人均 8元 <br />
<br />
<br />
他家门口立着个&ldquo;下面的大锅&rdquo;，锅&ldquo;大得能坐下两个大小伙&rdquo;。一到饭点就看着&ldquo;锅边围了一大堆人&rdquo;，&ldquo;一人一个大碗&rdquo;端着、等着，面好了就&ldquo;抢&rdquo;，&ldquo;不注意能把人挤到锅里去&rdquo;。面的味道那是&ldquo;没得说&rdquo;，&ldquo;量很大&rdquo;，吃上 一碗又&ldquo;实惠&rdquo;又&ldquo;舒服&rdquo;。就是吃的时候得&ldquo;多嚼嚼&rdquo;，千万别噎着。特别推荐&ldquo;来西安旅游&rdquo;的朋友们&ldquo;尝一尝&rdquo;。 <br />
<br />
<br />
11. 天发芽 <br />
<br />
<br />
地址：小南门内报恩寺街(近朱雀门街) <br />
<br />
<br />
口味 25 环境 8 服务 13 人均 12元 <br />
<br />
<br />
西安葫芦头的&ldquo;老店&rdquo;。店面大概有那么十几桌，&ldquo;能坐几十人&rdquo;。葫芦头就不用说了，肠子&ldquo;香&rdquo;，汤&ldquo;鲜浓&rdquo;，&ldquo;还没有完全吃过瘾，一碗已经下肚了&rdquo;。冬天的时候，一碗葫芦头，一盘棒棒肉，几颗生蒜头，二两太白酒，&ldquo;好惬 意的人生&rdquo;。&ldquo;如果环境再好那么一点点就好了&rdquo;。 <br />
<br />
<br />
12. 尚好云老四凉皮 <br />
<br />
<br />
地址：金康路红花巷(轻工业品批发市场对面巷子向南50米) 85056813 <br />
<br />
<br />
口味 24 环境 4 服务 8 人均 4元 <br />
<br />
<br />
朋友&ldquo;强烈推荐&rdquo;的，尝了以后&ldquo;果然不错&rdquo;！&ldquo;辣子很香&rdquo;，但&ldquo;不是特别辣&rdquo;，作料带着&ldquo;芝麻酱和蒜汁的香味&rdquo;，米皮和面皮口感&ldquo;非常好&rdquo;，加上&ldquo;豆芽和吸饱了调料的面筋&rdquo;，&ldquo;大口一吃&rdquo;，&ldquo;味道好极了&rdquo;！&ldquo;连吃了两碗 &rdquo;还没吃够。大家经过的时候可千万&ldquo;别忘了进去尝尝&rdquo;。 <br />
13. 王魁腊汁肉夹馍 <br />
<br />
<br />
八里村分店：长安路南段八里村 83771327 <br />
<br />
<br />
口味 24 环境 7 服务 10 人均 6元 <br />
<br />
<br />
吃他家的肉夹馍都&ldquo;快20年了&rdquo;。味道真是&ldquo;没得说&rdquo;，&ldquo;肉的香味和馍的香味&rdquo;完美地&ldquo;融合在一起&rdquo;，&ldquo;想想就要流口水&rdquo;。若是能配上一碗&ldquo;热腾腾的粉丝汤&rdquo;，简直&ldquo;撩咋了&rdquo;！每次路过&ldquo;无论饿不饿&rdquo;都要到店里&ldquo;解解馋&rdquo; ，然后再捎上&ldquo;二斤腊汁肉带回家&rdquo;。 <br />
<br />
<br />
八仙庵总店：东关长乐坊八仙庵 <br />
<br />
<br />
文艺路店：文艺路华仁医院斜对面 <br />
<br />
<br />
14. 柳巷面 <br />
<br />
<br />
地址：案板街18号吉庆大厦吉庆巷(易俗大剧院东门正对面) <br />
<br />
<br />
口味 23 环境 9 服务 11 人均 7元 <br />
<br />
<br />
西安人管它叫&ldquo;牛棍&rdquo;，&ldquo;很粗&rdquo;、&ldquo;很硬&rdquo;、&ldquo;很有嚼头&rdquo;，汤味道也&ldquo;很鲜美&rdquo;，吃过之后&ldquo;才知道果然是名不虚传&rdquo;。吃的时候记得&ldquo;一定要加一份菜&rdquo;，&ldquo;爱吃肉的可以再加一份肉&rdquo;。服务员&ldquo;够热情&rdquo;，老板娘&ldquo;记性特好&rdquo; ，&ldquo;回头客多多&rdquo;。虽然&ldquo;搬&rdquo;了几次家，但&ldquo;爱吃的人们总是能找到他&rdquo;。 <br />
<br />
<br />
15. 盛家凉皮 <br />
<br />
<br />
地址：大皮院西口 <br />
<br />
<br />
口味 23 环境 7 服务 12 人均 3元 <br />
<br />
<br />
每次去回民街吃凉皮都会&ldquo;直奔盛家&rdquo;。麻酱的最喜欢，放上&ldquo;多多的辣椒油&rdquo;，&ldquo;好吃&rdquo;，&ldquo;够味&rdquo;！想品尝的话要&ldquo;赶早&rdquo;，傍晚之前就会&ldquo;卖完&rdquo;了。 <br />
<br />
<br />
16. 顾大妈酸辣粉 <br />
<br />
<br />
高新路店：高新路(近科创路) <br />
<br />
<br />
口味 23 环境 7 服务 9 人均 6元 <br />
<br />
<br />
&ldquo;最最喜欢的酸辣粉&rdquo;。&ldquo;酸酸辣辣&rdquo;，&ldquo;正宗&rdquo;得&ldquo;没话说&rdquo;。里面调料也很多，有&ldquo;很多碎碎的花生&rdquo;，嚼起来&ldquo;满口余香&rdquo;。环境一般，&ldquo;路边小店多破他家就多破&rdquo;。不过生意很好，来的人&ldquo;络绎不绝&rdquo;。 <br />
<br />
<br />
咸宁中路店：咸宁中路5号 <br />
<br />
<br />
百盛店：东大街百盛对面 <br />
</font></div>
<div><font size="2" face="Verdana"></font>&nbsp;</div>
          <br/><br/>
          <span style="color:red;">
            <a href="http://daimon.javaeye.com/blog/135652#comments" style="color:red;">已有 <strong>34</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 26 Oct 2007 10:40:08 +0800</pubDate>
        <link>http://daimon.javaeye.com/blog/135652</link>
        <guid>http://daimon.javaeye.com/blog/135652</guid>
      </item>
      <item>
        <title>西安周边一两日旅游</title>
        <author>daimon</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://daimon.javaeye.com">daimon</a>&nbsp;
          链接：<a href="http://daimon.javaeye.com/blog/135644" style="color:red;">http://daimon.javaeye.com/blog/135644</a>&nbsp;
          发表时间: 2007年10月26日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div>一日游景点： <br />
<br />
1、西寺峡 <br />
<br />
原名西寺沟, 在户县太平峪内.距西安50公里,地处秦岭北坡。 沿山路蜿蜒上行，绿水青山, 碧空蓝蓝,乱云飞渡.一路溯溪而上,溪水潺潺,忽左忽右,曲径通幽,草木繁盛交错，石阶班驳，巨崖横空，古树叠翠, 树林荫郁,浓荫蔽日,阴气袭人,有&rdquo;天然空调&rdquo; 之称```. <br />
<br />
2、小五台 <br />
<br />
小五台位于长安子午镇之南五里处,距西安40里。小五台海拔1530米,是终南名山.山色优美，庙观汇集。到子午古镇，从西南方向进山，登高小五台，沿途芳草凄凄，树木斑斓，高山台地，庙观耸立。中有玉皇楼，顶有岱庙``````佛道同一山，,幽处悟禅机，山野风清，行云流水，登高畅远，直抒胸臆。登高岱庙，四野放眼，万物萧然，青山叠嶂，峰峦绵延。云海悠游，苍鹰高飞。俯瞰关中，一展平畴，沃野千里，魂绕梦牵 <br />
<br />
3、蛤蟆沟 <br />
<br />
&nbsp;蛤蟆沟位于长安沣峪鸡窝子附近沣峪西岸，距西安往返约130公里左右，沟内有一约100米的高山瀑布，蛤蟆沟的学名叫水崖沟，听人说之所以俗称蛤蟆沟，是因为那里山路陡峭，路况十分险要，许多必经之路是要匍匐在地，四肢并用，像蛙一般爬行而过，因而得名蛤蟆沟。蛤蟆沟是秦岭中最绚丽、最张扬的景观之一。只要走在国道上，就可一睹它的风采。它像一条银色的丝带，高高镶嵌在西面山壁；它像一脉天上银河，洒洒脱脱、垂垂而落来到人间。它得益于阳光、雨露和云雾的滋润，显得格外妖娆、妩媚。 <br />
<br />
4、情侣溪 <br />
<br />
<br />
户县太平峪内13公里处的煤厂农家四布，水色山光。一道东向溪流淙淙而下汇入太平河，人称情侣溪，逆溪挺进，黄崖青树，水潭乱布，风云悠闲。健行、越河、抱石，探幽情侣溪深处，观奇山秀水，畅意蜿蜒溪谷丛林。 <br />
<br />
<br />
5、曲峪 <br />
<br />
<br />
曲峪隶属户县辖区。大部分属于石井乡蔡家坡村地界，距西安约50公里。曲峪因谷道弯曲不直而得名。谷道南北走向，12公里长。曲峪有将军山，势巍峨雄奇；有古栈道，有庙宇老君庵，佛香袅袅；有溪水潺潺，有瀑布飞流，水潭清澈见底，是旅游休闲的好去处。莲花山在曲峪深处，因山头颇似莲花得名。海拔约1700米。　　从曲峪口进入，登临将军山，俯瞰大小石峡，拜谒瓦岗庙老君庵，途经金龙峪，过古栈道，拔高莲花山。一路峰峦如聚，水波含冰，古庙栈道，风云际幻，人文山水，雀鸟婉转，健行拔高，意气风发，高处呐喊，动地撼天。 <br />
<br />
6、东坪沟高山草甸 <br />
<br />
<br />
东坪沟在长安区滦镇街道办境内沣峪鸡窝子东,距西安70多公里。东坪沟高山草甸，海拔约2400米，在秦岭牛背梁自然保护区范围内。&nbsp;&nbsp;&nbsp; 从长安沣峪口行进，一路上山势嵯峨，奇峰指天，绵延不绝。抵达海拔1500米左右的长安沣峪鸡窝子。东坪沟口，缓步行进,溪水两边灌木丛生,缓慢拔高至一片片的山涧草地,脚下盛开的小花,绿色的青草,给人清新的感觉。继续沿着小溪水行进,听森林的舞动声音;一个小拔高后，来到高山草甸。冷风吹过，丝丝凉意，沁人心扉。 <br />
<br />
<br />
7、万华山 <br />
<br />
万华山位于长安滦镇境内，在喂子坪东面,,距西安城区约55公里。&nbsp;&nbsp; 万华山标高1980米,九峰如戟势冲天,位沣峪内10公里处喂子坪北石槽东侧。翠松盘崖,色彩斑斓,沿15里优美山径问道岱顶,山高风走云游,早秋仙光洒面,畅胸怀于寥廓天地,指江山于浩浩长空.脚下是长安滚滚红尘,眼前为终南连绵高峰,天宇碧空净,山高人为峰,秋之野山蓊郁, <br />
<br />
<br />
8、大小飘沟 <br />
<br />
<br />
大瓢沟位于石砭峪水库以上约五里路处，紧挨熊沟。与南五台，翠花山相望。口小内大，形似葫芦而得名。沟内视野开阔，农家错落有致，庭院清爽，松林成荫，竹林茂密，寺庙禅音飘荡，如到净土。庙内九十岁高龄名僧盛名远播，****遍及海内外。欲大兴土木，回报师傅.&nbsp;&nbsp; 登临山颠庙宇,听禅音远荡,看松生旷,望层峦叠嶂,观芸芸众生,山话静放,顿有宠辱皆忘,忧烦顿消,如沐春风,使人顿生,遁世之意,真乃修身养性,参禅悟道,天赐福地. <br />
&nbsp;石砭峪小瓢沟 在西安长安区太乙街道办管辖范围，在秦岭山脉终南山范围内,距西安约40公里。石砭峪的河道边曲折延伸，小瓢沟沟长幽深,山体嵯峨,林木燥干,溪河水欢,一路听喜鹊叫枝 ,看竹林诉青。过北池灵一组农家,穿松树林，过豁口，直走正沟，悠扬的佛音缭绕，寺院群山环保中显得峻险秀媚高远神秘。俯瞰沙梁子,直接石砭峪水库；东面背倚青峰山,远接北沟梁；南面青岔,五指山；北面熊沟,石沟梁,地势险要,蔚为壮观,四周环绕山峰宛若莲花瓣 <br />
<br />
<br />
9、饮马池 <br />
<br />
<br />
饮马池在北石槽与关石之间,沣峪河西岸的沟道深处.一般人很难发现这一处避暑胜地.&nbsp;&nbsp;&nbsp; 一路之上，林荫遮路，泉水相伴，热了累了，就坐在水边石上，清风送凉，水激石响．佳木秀而繁阴，花草绿而芬芳．鲜红的野草梅点缀在葱绿之上．辛勤的农夫开地种玉米，土豆在山坡之上，窝棚中的被子好似刚刚卷上，田中的稻草人正在值班上岗．水尤清冽．水潭遍布．　　最后一段，奇锋突起．坡陡，路滑，极尽挑战，传说中的饮马池就在山梁之上，当地人已经多年将他遗忘． <br />
<br />
<br />
10、西角峪管坪 <br />
<br />
<br />
西角峪管坪均在户县太平管委会境内。西角峪又名犀角峪，在太平峪内约3公里处一西向峪道，推测峪道得名是因其形似犀角的缘故。管坪在西角峪南面，因唐代管坪寺而得名。西角峪峪道水浅，山势变幻，秋色蒙胧，青山绵延，秋风送爽，高天阔步，,逆溪上行，渐次拔高，自在云树溪河，鸟鸣云荡悠悠。翻山越岭，转沟饶梁，纵情放歌，一路曲径蜿蜒,过竹林，草地，庙堂，穿行花草绿树之间 ```此程登高可观圭峰山，万华山，紫阁峰，郭家山，莲花山，九华山，翠峰十二峰，化羊峪将军山诸景观。 <br />
<br />
<br />
11、翠华山 <br />
<br />
<br />
翠华山风景区距西安约23公里，是终南山的支峰，山上名胜古迹很多，风景如画，因汉武帝曾在此祭太乙神，又称太乙山。翠华山由翠华天池、山崩石海、鹰崖珠帘、盘道红叶、双瀑飞虹等18个主要景点组合而成，它集山、石、洞、水、林、庙于一体，其山崩地貌奇特、自然风光优美，是游览观光、度假疗养、登山考察最佳去处。这块终南山的游览胜地上，汉唐两代曾建过太乙宫和翠微宫，是历代帝王祭祀神仙和游乐避暑之所。 <br />
<br />
<br />
12、九龙潭 <br />
<br />
<br />
&nbsp; 秦岭九龙潭瀑布风景区，位于秦岭北麓，西安市长安区境内。（沣峪口转盘正南13公里喂妇坪路牌边）。九龙潭景区是陕西大山旅游开发公司近年来新开发的旅游胜地。游客誉有&ldquo;小华山&rdquo;之称。九龙潭瀑布是千百年来流水冲击山石自然形成的不同山峰的九个不同风格的水潭。一潭水深五米，在奇石小路边形成 ；二潭似世外桃源，在崎岖茂密的花草中形成；三、四、五、六潭连在一起又叫连珠潭，在数百米斜坡旁形成；穿过似华山苍龙岭的牛背梁，悬崖险景，扶梯而上，来到四壁合围的七潭，百米瀑布使人望而生畏；在参天大树的原始森林里，游客见到了沿山飞瀑的八潭和直径十几米的九潭。景色非常壮观。 <br />
<br />
<br />
13、太平森林公园 <br />
<br />
<br />
太平森林公园位于西安市西南户县太平峪内。距西安44公里，咸阳60公里，总面积2117公顷。公园所处地貌为秦岭中山地。整个区域高差悬殊、峭壁林立、峰峦叠嶂、沟谷连绵、多瀑布、急流和险滩，形成了丰富奇妙的山水自然景观。园内有石门、月宫潭、石船子、黄羊坝、桦林湾五大景区。 <br />
<br />
<br />
14、朱雀森林公园 <br />
<br />
<br />
朱雀国家森林公园位于西安市户县南部东涝河上游，秦岭梁北侧，距西安市74里，距咸阳市75公里，总面积2621公顷有5个景区，105个景点。公园内的山为北秦岭褶皱带的组成部分，前山沟道开阔平坦，森林茂密，山环水绕、秀丽异常。后山峰峦层叠、山势峻峭，孤峰入云、岩石奇巧，瀑布潭间如飞龙串珠，无数奇崖怪石掩映在密林巨树，奇花异木之中，构成了一幅天然的山水画卷。冰河翠之雄，龙潭子之奇，奇秀峰之险，芦花河之秀、秦岭梁之幽、各显特色。挂天飞瀑落差100多米，如银河倒挂。冰晶顶海拨3015米，属太白山以东最高峰，有冰川遗迹，高山草甸，高山落叶松若盆景古董。游人到此可欣赏自然天功的神奇，森林风光的野趣， 处处感受到大自然幽静古野的原始情调。 </div>
<div>二日游景点 <br />
<br />
<br />
1、华山 玉泉院 西岳庙 <br />
<br />
西岳庙位于华阴市城东2.5公里处，距华山8公里，是历代帝王拜祭华山的地方。始建于汉武帝元光初年(公元前140&mdash;87年)，以后历代均有修建，现存为明清建筑。由于西岳庙是历代帝王祭祀华山的神庙，所以建筑规格极高，形似北京故宫，宏伟壮丽、庄严肃穆。庙四周筑有高大城墙，高10米，厚7米，南北长525米，东西宽225米，占地132000平方米。建筑布局以南北中轴线为对称。南门叫灏灵门，上书&ldquo;敕建西岳庙&rdquo;石刻大字。门前有琉璃照壁一座，左右有石狮一对。门内是五凤楼，亦称午门，其形雄伟。再北是灵星门，是一座七楼八柱形牌楼，斗拱上刻有九个龙头，称九龙口。过了金门和金水桥，便是西岳庙的主体建筑灏灵殿，灏灵殿为琉璃瓦单檐歇山顶，面宽7间，殿基高大，气势雄伟，殿内挂有清康熙、道光、慈禧太后题写的牌匾。最北是万寿阁台基，阁楼已毁于兵火，但基座、柱石保存完好，游人可登台俯视庙院和眺望华山。 <br />
<br />
玉泉院紧接华山峪口，全院傍山临水，泉流淙淙，山气霏霏，绿茵蓖日，峰峦当窗，幽竹傍岩，亭台廊厢参差曲折，情趣映然。整个布局显的开朗豁达，清新明净，为上山游客必经之地。玉泉院始建于宋仁宗皇祐年间，是道士贾得升为其师父陈传修建的祠堂。因宋太宗赐陈传号希夷先生，所以古时将玉泉院大殿称为希夷祠，现在为什么称作玉泉院，还有一个奇妙的传说。原来这里有一股明净的泉水，晶莹如玉，与华山峰顶的&ldquo;玉井&rdquo;相通，故称&ldquo;玉泉&rdquo;。唐朝有一位公主，一年的夏天，偕同侍女游览华山，在莲花峰玉井打水洗头时，不慎将头上的玉簪坠落井里，很不高兴。第二天公主下山后到这里休息，当她在泉水里梳洗时，却找到了在山上丢失的那枚玉簪。这就证明该泉与玉井相通，因此就给这个泉起名&ldquo;玉泉&rdquo;以后又就地修筑了这个闻名的玉泉院。 <br />
<br />
2、黑河森林公园 <br />
<br />
西安市周至县,公园位于秦岭北坡，是南北植物区系的交汇地，因此，动植物资源丰富多彩，种类繁多；著名的森林景观景点有：铁甲神树、玉兰王、森林浴小道、松林听涛、花溪春潮、迎客松等；公园位于黑河上游，主要的水色景点有巨瓮潭瀑布、月牙潭、黑龙潭、鱼洞泉、青岩飞雪等；公园北依号称华中第一山的太白山，地貌景观奇特，主要景点有：白龙吸水、龙骨峡、鲤鱼峰、象鼻吸虹、太白远眺等；举世闻名的傥骆古道从公园中穿过，是古时由长安通往汉中的最捷近的要道，在公园境内有4处古栈道遗址。 <br />
<br />
<br />
3、洽川处女泉 <br />
<br />
国内最大的黄河湿地湖泊型风景名胜区，位于陕西省合阳县东20公里的黄河之滨，景区内有国内最大的芦苇荡，面积达10万余亩；栖息着丹顶鹤、黑鹳、大鸨、白天鹅、苍鹭等珍稀鸟类72种；景区有华夏绝景瀵泉七眼，常年水温保持在29-31摄氏度，其中尤以处女泉最奇，人入水不沉，泉涌沙动，如绸拂身，似&quot;沙浪浴&quot;。可温泉沐浴，观鱼垂钓、芦苇泛舟、观赏黄河、参与洽川&quot;农家乐&quot;&hellip;&hellip;天上人间，地下洽川。 <br />
<br />
&nbsp; <br />
4、关山牧场 <br />
<br />
关山草原旅游风景区位于陕。甘两省接壤的陇县西南部，距宝鸡市 134 公里，距西安 360 公里，是我国西北内陆地区唯一的以高原草甸为主题的具有欧式风情的省级风景名胜区。 景区内游天然林 104 万亩，草地 35 万亩，海拔 2200 米，年平均气温 6 摄氏度。春秋相连，长冬无夏，是人们饱览欧式草原风光，骑马射箭，消夏避暑，旅游观光的理想胜地。地貌与中欧阿尔卑斯山相似，幽涧水泽兼具，草原森林相间，地势广阔，水肥草美，牧马成群，景色秀丽。气候受垂直地带性地理条件的影响，冬春无界，夏秋相连，有&ldquo;关山六月寒凝霜&rdquo; 的写照。自古以秦非子养马而闻名于世，为陕西最大的林牧区，我国内陆中东部地区最大和唯一的天然草原.游客在关山草原还能骑马驰骋、弯弓射箭，欣赏嘹亮高亢的牧歌，品尝风味独特的烤全羊。 关山草原将成为一个集骑射、娱乐、赏雪、滑雪、滑草、生态观光于一体的国内独具特色的草甸型风景区。 <br />
<br />
&nbsp; <br />
5、金丝峡、丹江飘流 <br />
<br />
商南金丝大峡谷商南县位于陕西省东南部，辖属商洛市。地处秦岭南麓连接巴山北坡，居长江流域汉江水系丹江中游地区。东经110度24分---111度01分，北纬33度06度～33度44分。 境内地势起伏，谷岭相间，主要属低山和丘陵地貌。丹江由西向折南进入河南、湖北境内。商南县内丹江划分为丹北、丹南两大部分。丹北为蟒岭和流岭的东延，山体浑圆，峰峦起伏；丹南处新开岭腹地，山形陡峭，河谷深切，水系发育，森林茂密，植被覆盖率高，自然环境优美 ，金丝大峡谷即在其中。南南县距西安市216km，金丝峡处新开岭西部，太昌河镇以北。距县城约50km.。金丝峡包括三峡一寨，构成环抱，俯视为&quot;火炬状&quot;。俯长共计20.5km，寨为一独立孤峰，峡的发端为滔河、冷水河、耀岭河、太吉河和开河等到五河源头，呈&quot;巨指&quot;状，金丝峡窄、深、幽、秀、奇，河流密布，森林茂密。 <br />
<br />
&nbsp; <br />
<br />
6、红河谷 <br />
<br />
红河谷原名赤河、赤峪河，源出太白湫，因太白八景之一的&ldquo;红河丹崖&rdquo;而得名，自古是登太白山古道之一。民间传说&quot;红河&quot;为太白山神怒斩恶龙，河流被血水染红而得名。 红河谷距西安120公里、宝鸡60公里,公园入口距下板寺26公里，可和太白山国家森林公园形成环形旅游线路,山外可和西宝高速常兴、宝南线相连。内山势险峻，石峡深邃，幽谷含秀，飞瀑深潭，珠飞玉溅，景观多变。太公石船古朴悠远，双洞水帘神秘莫测，群仙聚首如生灵显现，神龟宝蛋美妙故事让人回味留恋。蟠龙湾，曲径通幽，穿林涉水，别有风情。斗母瀑布气势宏大，从斗奇峰倾泻而下，垂直落差八十余米，堪称陕西第一瀑。传说赵匡胤，时乖命蹇，穷困潦倒，到此幸游观景，诚心礼拜后，时来运转，黄袍加身，登基称帝，称此地为福泽之地。仙桃飞帘，玉柱飞虹，峡谷石门，景色迤逦交错辉映。 公园有太白山独有的奇特景观第四纪冰川遗迹，不用登高山就可看到冰川石海的奇特。还可观赏太白八景的&ldquo;红河丹崖&rdquo;、&ldquo;斗母奇峰&rdquo;、&ldquo;平安云海&rdquo;和关中八景之一的&ldquo;太白积雪&rdquo;胜景。 <br />
<br />
<br />
7、法华寺 <br />
法华寺位于西安南部秦岭山脉长安区境内，距离西万公路４５公里。由于该寺非旅游热点景区，甚至省内许多人对此也不太熟识，因此这条线常被户外游爱好者选为徒步游初级线路。 <br />
<br />
法华寺毗邻九龙潭风景区，始建于隋末唐初，据传隋炀帝曾经在此礼佛，当年之盛可见一般。法华寺屡屡毁于战乱，但又被虔诚的信徒重建，现存的法华寺就是１９９１重建的，大殿巍峨庄重，晨钟暮鼓，木鱼声声，令人肃然起敬。 <br />
<br />
进入法华寺所在地，庙宇成群，大殿巍峨，内有园照法师舍利塔，藏经楼，以及隋、唐时期遗留的石刻，寺后红腹角雉、羚牛、野猪时而出没，都市休闲族想要探寻古迹、观赏野生动物，这里实在是个好去处，另外，深秋去法华寺祈福纳祥，也不失为特色游选项。 <br />
<br />
8、南五台 <br />
南五台位于西安市南３０千米的秦岭北麓。因山上有清凉、文殊、舍身、灵应、观音五个高台（即五个山峰），且位于西安北部的耀县五台（药王山）以南而得名。南五台是终南山国家森林公园的主要景区，也是省级风景名胜区。 <br />
<br />
游玩重点：南五台自古为佛教名山与皇家避暑之地，其内森林景观优美，植物种类繁多，森林季节变化丰富，四季景色各异，是西安近郊不可多得的天然动植物园。这里有圣寿寺隋塔，西林寺，五百罗汉堂等６０余处，让人心旷神怡。 <br />
<br />
自驾车：走西安&mdash;太乙宫&mdash;五台镇这条路。 <br />
<br />
自助游：南门外乘坐发至南五台专线车，５元／人，或者在南门坐１５路公交车到长安韦曲，票价１元／人，再换韦曲到五台长途车２．２元／人（１０分钟一趟） <br />
<br />
具体花费：正常花费每人得４０元左右。 <br />
<br />
省钱攻略：上山有１１．３公里路，公园有专车接，８元／人，此车能坐６人左右，您可以多联络几个人一切包车，３０元／趟。 <br />
<br />
住宿：山中有胜宝泉山庄和独松阁可供食宿。标准间１６０～２２０元／间；包间１５０元／间；四人间２５～４０元／人；木屋６０～８０元／２人；蒙古包１０～２０元／人；１５～３０元／６人间。 <br />
<br />
9、西安朱雀森林公园二日游 <br />
西安朱雀森林公园位于户县南部，秦岭北麓，东涝河上游，面积３０００公顷，有朱雀崖、秦岭粱、芦花河、奇秀峰、龙潭子、冰河翠六个景区。景区内自然山水神奇，天然森林密布，无数奇崖怪石，清潭飞瀑掩映在密林巨树之中，构成了一幅天然的山水画卷，十分值得背包客一游。 <br />
<br />
10、太平森林公园二日 <br />
太平森林公园位于户县太平峪内，峪中山水景观奇特，多瀑布、急流、险滩，曾是唐王朝权贵观花避暑的山水乐园。景区内有瀑布群，瀑下皆有潭，飞瀑入潭，激起千层雾，形成万道虹，被誉为&ldquo;北方九寨沟&rdquo;。 <br />
<br />
乘车线路 从西安美院门前或水司十字东南角乘坐去太平峪或李家庄的中巴车，票价５～１０元。约１．５小时后到达终点太平峪口或与内煤厂，建议坐李家庄的车直到煤厂，可少走些路。 <br />
<br />
进山线路 沿大路徒步进山，也可在峪内５里２１０所向左转进入万花山瀑布景区，第二天按原路返回。 <br />
<br />
营地安排 太平峪景区内有太平河，其支流河水可直接饮用。峪内可扎营平地较多，可在自己喜欢的地方就地扎营。若要纵深穿越，必须有当地向导同行。 <br />
<br />
路况 山谷地形，有便道，较好走。 <br />
<br />
注意事项：雨多季节，一定要做好防雨防潮工作，安营扎寨时也别忘了远离河岸，晚上被水漫的感觉可不好受 <br />
<br />
11、嘉午台 <br />
五里庙---嘉午台（10公里），水库---五里庙（2.5公里） <br />
<br />
12、莲花洞（一日、二日） <br />
水库---五里庙---十里庙---擂鼓台---新贯寺---莲花洞（16公里） <br />
<br />
13、天赐顶（一日、二日） <br />
水库---五里庙---十里庙---擂鼓台---新贯寺---长桥---板庙子---罗家坪---天赐顶（19.5公里） <br />
<br />
14、天子峪（一日、二日） <br />
天子峪---至相寺---西岭---抱龙峪（10公里） <br />
<br />
15、黄寺峪---黄寺峪村---白石峪（18公里） <br />
<br />
16、黄寺峪---黄寺峪村---青化山（18公里） <br />
<br />
17、黄寺峪---黄寺峪村---丰峪（17公里） <br />
<br />
18、小坝沟线路 <br />
&nbsp;&nbsp; 线路简介：小坝沟也是比较成熟的线路，难度较低，即使没有户外经验也可承受。小坝沟位于长安沣峪、距西安40公里的秦岭山中，关石道班的斜对面过桥进山，行程15公里左右，老少皆宜。 <br />
<br />
&nbsp;&nbsp;&nbsp; 景色描述：小坝沟山路婉转，山峰秀丽，河水清澈，碧空如洗，白云飘飘，山花烂漫，万华山峰，北成屏障，五指山体，遥相呼应。翻过庙梁子，展望大坪，台地开阔，宛若桃源。农家乐后，直奔中沟转角楼，从原始森林穿越后出大坪，到小坝沟口，回返西安。 <br />
<br />
&nbsp;&nbsp;&nbsp; 行程推荐：西安－沣峪－石羊关－小坝沟口－庙梁子－大坪－中沟转角楼－中沟梁－大坪－小坝沟口－西安 <br />
<br />
路线：进沣峪口，过了关石（地名）的大桥，再往前走一点，看见有个北石槽的路标，路的左手有个水泥小桥，小坝沟就是从小桥进去的，一直走，没有岔路，走到村子就到了。&nbsp; 自己公车可以停路边人家。&nbsp;&nbsp;&nbsp; 如果找不到地方，可以路上问下关石道班，小坝沟水泥小桥就在关石道班的斜对面。 <br />
农家乐很多 <br />
<br />
19、西角峪黄柏峪翻越 <br />
&nbsp;&nbsp;&nbsp; 一.地理位置： <br />
&nbsp;&nbsp;&nbsp; 西角峪黄柏峪均在户县太平管委会境内,距西安城区约50多公里。 <br />
&nbsp;&nbsp;&nbsp; 二.风光概要： <br />
&nbsp;&nbsp;&nbsp; 1.西角峪； <br />
&nbsp;&nbsp;&nbsp; 2.古栈道遗迹； <br />
&nbsp;&nbsp;&nbsp; 3.原始女阴崇拜遗迹打儿洞（私族公社时期的遗迹）； <br />
&nbsp;&nbsp;&nbsp; 4.山腰法雨寺（此庵内有清修化外之人若干，其中有一位法号世界，一位法号和平；她们不希望别人去打扰清净。） ； <br />
&nbsp;&nbsp;&nbsp; 5.黄柏峪小庙，清泉石上流景观； <br />
&nbsp;&nbsp;&nbsp; 6.&ldquo;丫&rdquo;字瀑布； <br />
&nbsp;&nbsp;&nbsp; 7．石墙，羽石，黄柏峪水库。 <br />
&nbsp;&nbsp;&nbsp; 西角峪黄柏峪均在户县太平管委会境内。西角峪又名犀角峪，在太平峪内约3公里处一西向峪道，推测峪道得名是因其形似犀角的缘故。黄柏峪在太平峪西面，因峪道内柏树多而得名。 <br />
&nbsp;&nbsp;&nbsp; 西角峪峪道水浅，山势变幻，万木望春，，高天阔步，,渐次拔高，自在云树，鸟鸣云荡。翻山越岭，转沟饶梁，纵情放歌，一路曲径蜿蜒,过竹林，草地，庙堂，穿行黄柏绿树之间,丫瀑清流，羽石想暖```此程登临绝高可俯瞰圭峰山，万华山，紫阁峰，郭家山，莲花山，九华山，翠峰十二峰，化羊峪将军山诸景观。 <br />
&nbsp;&nbsp;&nbsp; 从太平峪进约3公里，西进西角峪，西偏北上行，绕山过梁，披荆斩棘，独辟蹊径，过法雨寺，登小流域分水岭，折向北下行黄柏峪，观清泉石上流，访黄柏峪小学旧址，一路春色深深，羽石欲飞，石墙立屏，水库向晚~~~出黄柏峪村，到环山公路处集合上车回返 <br />
<br />
<font size="2" face="Verdana"><font size="2" color="#c0c0c0" face="Verdana"><span></span></font></font></div>
          <br/><br/>
          <span style="color:red;">
            <a href="http://daimon.javaeye.com/blog/135644#comments" style="color:red;">已有 <strong>3</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 26 Oct 2007 10:32:13 +0800</pubDate>
        <link>http://daimon.javaeye.com/blog/135644</link>
        <guid>http://daimon.javaeye.com/blog/135644</guid>
      </item>
      <item>
        <title>(转)对FckEditor编辑器在MAXTHON浏览器下选择服务器文件对话框显示不正常的改进</title>
        <author>daimon</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://daimon.javaeye.com">daimon</a>&nbsp;
          链接：<a href="http://daimon.javaeye.com/blog/135636" style="color:red;">http://daimon.javaeye.com/blog/135636</a>&nbsp;
          发表时间: 2007年10月26日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          &nbsp;用过FckEditor的朋友都知道，它的选择图片对话框中&ldquo;浏览服务器&rdquo;按钮。点击该按钮可以浏览以前已经上传过的文件。不过这个按钮点击后弹出的对话框在MAXTHON浏览器下是以标签形式打开的，这样模态对话框就始终显示在了浏览文件窗口之前，要想选择文件得先关掉模态对话框。先前有朋友提出把弹出模态对话框的功能改为ShowModlessDialog，这个终究不是解决之道，现将我的解决方法写下来与大家分享：<br />
思路就是基于IE内核的浏览器采用模态对话框弹出浏览服务器窗口，其他的仍然window.open不变1:修改\fckeditor\editor\dialog\common\fck_dialog_common.js<br />
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080">&nbsp;1</span>&nbsp;<span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;OpenFileBrowser(&nbsp;url,&nbsp;width,&nbsp;height&nbsp;)<br />
</span><span style="COLOR: #008080">&nbsp;2</span>&nbsp;<span style="COLOR: #000000">{<br />
</span><span style="COLOR: #008080">&nbsp;3</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;oEditor&nbsp;must&nbsp;be&nbsp;defined.</span><span style="COLOR: #008000"><br />
</span><span style="COLOR: #008080">&nbsp;4</span>&nbsp;<span style="COLOR: #008000"></span><span style="COLOR: #000000"><br />
</span><span style="COLOR: #008080">&nbsp;5</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;iLeft&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(&nbsp;oEditor.FCKConfig.ScreenWidth&nbsp;&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;width&nbsp;)&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">&nbsp;;<br />
</span><span style="COLOR: #008080">&nbsp;6</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;iTop&nbsp;&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(&nbsp;oEditor.FCKConfig.ScreenHeight&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;height&nbsp;)&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">&nbsp;;<br />
</span><span style="COLOR: #008080">&nbsp;7</span>&nbsp;<span style="COLOR: #000000"><br />
</span><span style="COLOR: #008080">&nbsp;8</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;sOptions&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">toolbar=no,status=no,resizable=no,dependent=yes,scrollbars=yes</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">&nbsp;;<br />
</span><span style="COLOR: #008080">&nbsp;9</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;sOptions&nbsp;</span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">,width=</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;width&nbsp;;<br />
</span><span style="COLOR: #008080">10</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;sOptions&nbsp;</span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">,height=</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;height&nbsp;;<br />
</span><span style="COLOR: #008080">11</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;sOptions&nbsp;</span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">,left=</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;iLeft&nbsp;;<br />
</span><span style="COLOR: #008080">1