2014年1月

JavaScript判断按钮URL是否指向当前页

html 标签内容

<div id="navigation">
  <ul>
    <li><a href="index.html">Home</a></li>
    <li><a href="about.html">About</a></li>
    <li><a href="photos.html">Photos</a></li>
    <li><a href="live.html">Live</a></li>
    <li><a href="contact.html">Contact</a></li>
  </ul>
</div>

JavaScript 代码

function highlightPage() {
  if (!document.getElementsByTagName) return false;
  if (!document.getElementById) return false;
  if (!document.getElementById("navigation")) return false;
  var nav = document.getElementById("navigation");
  var links = nav.getElementsByTagName("a");
  for (var i=0; i<links.length; i++) {
    var linkurl = links[i].getAttribute("href");
    var currenturl = window.location.href;
    if (currenturl.indexOf(linkurl) != -1) {
      links[i].className = "here";
      var linktext = links[i].lastChild.nodeValue.toLowerCase();
      document.body.setAttribute("id",linktext);
    }
  }
}

PHP判断按钮URL是否指向当前页

这里介绍PHP的判断方法,实际应用中应考虑客户端运行环境,如果能用js,尽量用js实现。

操作IsURLCurrentPage()将判断按钮URL是否指向当前页面。这里使用strpos(),它可以查看给定的URL是否包含在服务器设置的变量中。strpos($_SERVER['PHP_SELF'], $url )语句将返回一个数字(如果$url中的字符串包含在全局变量$_SERVER['PHP_SELF'])或者false(如没有包含在全局变量中)。

<?php
class Page
{
  //class Page's attributes
  public $buttons = array("首页"       => "index.php",
                          "虚拟主机"   => "plans.php",
                          "合作加盟"   => "aff.php",
                          "域名注册"   => "domains.php",
                          "常见问题"   => "faq.php",
                          "关于我们"   => "about.php",
                          "客户中心"   => "#"
                          );

  //class Page's operations
  public function DisplayMent($buttons)
  {
      echo "<ul class=\"nav nav-pills pull-right\">\n";
      
      while (list($name, $url) = each($buttons)) {
        $this->DisplayButton($name, $url,
               !$this->IsURLCurrentPage($url));
      }
      echo "</ul>\n";
  }

  public function IsURLCurrentPage($url)
  {
    if(strpos($_SERVER['PHP_SELF'], $url )==false) {
      return false;
    } else {
      return true;
    }
  }

  public function DisplayButton($name, $url, $active = true)
  {
    if ($active) {
      echo "<li><a href=\"".$url."\">".$name."</a></li>\n";
    } else {
      echo "<li class=\"active\"><a href=\"#\">".$name."</a></li>\n";
    }
  }
}
?>

centos跳过验证重置mysql的root密码

下午在一台centos上折腾,用到mysql的时候发现root密码忘记了,很久没上了……
如果有centos root权限的话,可以尝试跳过验证修密码,具体操作如下。

(mysql如果是通过 yum 安装的,可以用 rpm -ql mysql (usr/bin) 查找安装路径)

# /etc/init.d/mysqld stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysqld restart
# mysql -uroot -p
Enter password:
mysql>

CentOS安装7ZIP

下载地址:http://pkgs.repoforge.org/p7zip/

CentOS 5.x 32位

# wget http://pkgs.repoforge.org/p7zip/p7zip-9.20.1-1.el5.rf.i386.rpm
# rpm -ivh p7zip-9.20.1-1.el5.rf.i386.rpm

CentOS 5.x 64位

# wget http://pkgs.repoforge.org/p7zip/p7zip-9.20.1-1.el5.rf.x86_64.rpm
# rpm -ivh p7zip-9.20.1-1.el5.rf.x86_64.rpm

CentOS 6.x 32位

# wget http://pkgs.repoforge.org/p7zip/p7zip-9.20.1-1.el6.rf.i686.rpm
# rpm -ivh p7zip-9.20.1-1.el6.rf.i686.rpm

CentOS 6.x 64位

# wget http://pkgs.repoforge.org/p7zip/p7zip-9.20.1-1.el6.rf.x86_64.rpm
# rpm -ivh p7zip-9.20.1-1.el6.rf.x86_64.rpm

参考: http://teddysun.com/176.html

CentOS安装中文输入法

以root登入,或者su root

# yum install "@Chinese Support"

完成安装后回到桌面进行设置:system -> preferences -> input method

附:在ibus-pinyin里使用搜狗词库


# wget http://hslinuxextra.googlecode.com/files/sougou-phrases-full.7z
# 7za x sougou-phrases-full.7z
# cp ibus/android.db /usr/share/ibus-pinyin/db/android.db
# 输入y确认覆盖

2013 & 2014

sj

2013年转眼就过去了,时间过的飞快。13年里发生的很多事情,现在回想起来还历历在目。看到不少朋友在写13年总结,我却写不出什么东西。不知道写什么,可能近来撸多了吧,伤到脑了;也可能觉得意义不大,很多东西还是得用实际行动去说话的。

2014年期待更多的挑战!今年的目标早已经布置好了,如果要对今年的自己说些什么的话,那就是珍惜时间了。