2008-10-19

【徵】認養超可愛流浪貓

0 comments

可憐的流浪貓~~受到其它野貓的欺負!!
因此徵求好心人士認養。<我不是好心人士,我沒辦法養……>
性情乖巧可愛。
大概3個月吧(自已亂猜的)
不會亂咬人。很溫和的一隻黑色虎斑貓~~
有興趣者請留言~~感恩呀~~~~
附上幾張喵喵的可愛照片









2008-10-14

【程式】PHP : Singleton

0 comments

之前在網路上看到一篇文章[Using globals in PHP ],裡面寫的方法還不錯,用起來的感覺就像Global一樣,一直都只會有一個Object。

// Get instance of DBConnection
$db =& DBConnection::getInstance();

// Set user property on object
$db->user = 'sa';

// Set second variable (which points to the same instance)
$second =& DBConnection::getInstance();

// Should print 'sa'
echo $second->user;

Class DBConnection {
  var $user;

  function &getInstance() {
    static $me;
    if (is_object($me) == true) {
      return $me;
    }
    $me = new DBConnection;
    return $me;
  }
  function connect() {
    // TODO
  }
  function query() {
    // TODO
  }
}

更進一步的用法,就是可以在Object宣告一個Array,寫一個Get和Set的Function,
然後利用Get和Set來存取你的資料。

Class Registry {
  var $_objects = array();

  function &getInstance() {
    static $me;
    if (is_object($me) == true) {
      return $me;
    }
    $me = new Registry;
    return $me;
  }
  function set($name, &$object) {
    $this->_objects[$name] = &$object;
  }
  function &get($name) {
    return $this->_object[$name];
  }
}
$db = new DBConnection;
$settings = new Settings_+XML;
$user = new User;

//Register Objects
$registry =& Registry::getInstance();
$registry->set ('db', $db);
$registry->set ('settings', $settings);
$registry->set ('user', $user);

function test() {
  $registry =& Registry::getInstance();
  $db =& $registry->get('db');
  $settings =& $registry->get('settings');
  $user =& $registry->get('user');
  // Do something with the objects
}



2008-10-08

【J】用 JavaScript 來判斷Browser種類

0 comments

有時候,會針對Browser,例如在IE跟Firefox,做不同的動作。

這時候就可以用下面這段語法來判別Browser的種類了。

JavaScript有一個Navigator的物件,有下面二個屬性。

appName : Browser名稱

appVersion : Browser版本

var IE4 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) >= 4);

var NN4 = (navigator.appName == "Netscape" && parseInt(navigator.appVersion) >= 4);

if (IE4){
alert('IE不好用,粉爛…');
}else if(NN4){
alert('Firefox好用多了!!');
}else{
alert('目前我不想管其他的Browser…');
} 

【J】讓IE執行Javascript更快速

0 comments

只要加上一行,就可以讓IE更快的執行Javascript。
我是沒有太大的感覺啦~~不過就加嘛~~才一行~~哈~~

參考來源: 一行で IE の JavaScript を高速化する方法CommentsAdd Star

/*@cc_on _d=document;eval('var document=_d')@*/

來個測式範例

// Before
var date = new Date;
for (var i = 0; i < 100000; i++) document; 

alert(new Date - date); // 643

/*@cc_on _d=document;eval('var document=_d')@*/

// After
date = new Date;
for (var i = 0; i < 100000; i++) document; 

alert(new Date - date); // 145

 

2008-10-01

【C】移除連結的虛線外框

0 comments

 

有時候點了連結後,會出現像上圖一樣的虛線,感覺很醜。

由其現在都是在用AJAX,一直都是在同一頁作業,所以這個虛線就很討厭了。

所以我找了一下解決的方式,在【這裡】有看到解決的辦法。

就是簡單的將下面的CSS加進網頁中即可。

語法如下:

/**** IE:針對li及a,移除外框 ****/
li, a {
  noFocusLine:expression(this.onFocus=this.blur());
}

/**** Firefox:加上這個,就都可以了****/
:focus {
  -moz-outline-style: none;
}