2013年12月29日 星期日
2013年12月21日 星期六
2013年12月16日 星期一
2013年12月13日 星期五
2013年12月10日 星期二
2013年12月9日 星期一
2013年12月7日 星期六
2013年12月5日 星期四
2013年12月4日 星期三
2013年11月29日 星期五
2013年11月27日 星期三
2013年11月8日 星期五
2013年11月2日 星期六
2013年10月29日 星期二
2013年10月17日 星期四
2013年9月3日 星期二
2013年8月30日 星期五
2013年8月25日 星期日
2013年8月22日 星期四
2013年8月21日 星期三
2013年8月17日 星期六
2013年8月16日 星期五
2013年8月13日 星期二
2013年8月11日 星期日
2013年8月3日 星期六
2013年8月1日 星期四
2013年7月31日 星期三
2013年7月30日 星期二
2013年7月28日 星期日
2013年7月26日 星期五
2013年7月25日 星期四
2013年7月24日 星期三
2013年7月23日 星期二
2013年7月16日 星期二
2013年7月10日 星期三
2013年7月5日 星期五
2013年6月15日 星期六
2013年5月26日 星期日
2013年3月29日 星期五
2013年3月28日 星期四
2013年3月16日 星期六
2013年3月15日 星期五
2013年3月1日 星期五
2013年2月28日 星期四
2013年2月23日 星期六
2013年2月18日 星期一
五招圖解 Google 搜尋密技
2013年2月15日 星期五
網頁圖表
Google
最近網頁需要圖表,前幾日花了一天時間研究 Google Chart Editor。後來發現相關服務套上 deprecated 這個字:Google Chart Tools: Image Charts (Deprecated)。如果我沒看錯的話,這項服務(用 img 元素產生圖表的方式)只延續到 2015 年。這樣會讓人害怕,萬一哪天 google 整個圖表服務也停止,或是改成收費服務,那所有寫過的程式可能都要改寫。最好還是使用那種可以把整個套件、程式碼下載的比較好。一個專案就用一套,也不用怕改版。
Fushion Charts 不是免費的,不過還是可以下載 Trial 版本,只是產生出來的圖表都會有 Fushion Charts Trial 這個字嵌在上面。這應該還可以接受。
amCharts
一樣也不是真正免費,不過還是可以免費使用。原本還在猶豫要用哪一套,看到這一頁的展示,決定用它了!曲線圖的 x 軸竟然可以選擇範圍區間,太方便了。
amCharts 介紹
Getting Started with amCharts Bundle v.2. Part 1.
基本介紹,比較 Javascript 跟 Flash 這兩種方式產生的圖表有何不同。
最近網頁需要圖表,前幾日花了一天時間研究 Google Chart Editor。後來發現相關服務套上 deprecated 這個字:Google Chart Tools: Image Charts (Deprecated)。如果我沒看錯的話,這項服務(用 img 元素產生圖表的方式)只延續到 2015 年。這樣會讓人害怕,萬一哪天 google 整個圖表服務也停止,或是改成收費服務,那所有寫過的程式可能都要改寫。最好還是使用那種可以把整個套件、程式碼下載的比較好。一個專案就用一套,也不用怕改版。
Fushion Charts 不是免費的,不過還是可以下載 Trial 版本,只是產生出來的圖表都會有 Fushion Charts Trial 這個字嵌在上面。這應該還可以接受。
amCharts
一樣也不是真正免費,不過還是可以免費使用。原本還在猶豫要用哪一套,看到這一頁的展示,決定用它了!曲線圖的 x 軸竟然可以選擇範圍區間,太方便了。
amCharts 介紹
Getting Started with amCharts Bundle v.2. Part 1.
基本介紹,比較 Javascript 跟 Flash 這兩種方式產生的圖表有何不同。
2013年2月7日 星期四
Voip 電話
免費且開放的 SIP VoIP 網路電話
VoipBuster 免費網路電話 (台灣免費!)
VoipBuster官網
VoipBuster中國代理
Fine-Start - http://www.fine-start.com/
看起來是在賣各種介面卡,但是它的產品目前沒有任何文件。不過它導覽列的 download 可以下載有 trixbox 及 asterisk 的說明。
Trixbox 中文論壇(簡體)
Google 網上論壇-Asterisk
https://groups.google.com/forum/?hl=zh-TW%E3%80%82&fromgroups#!forum/asterisk-tw
(第二篇) 如何在一個site內部署一部Elastix
(第三篇) Elastix安裝
自建專業級 PBX:trixbox
trixbox - 百度百科
VoipBuster 免費網路電話 (台灣免費!)
VoipBuster官網
VoipBuster中國代理
Fine-Start - http://www.fine-start.com/
看起來是在賣各種介面卡,但是它的產品目前沒有任何文件。不過它導覽列的 download 可以下載有 trixbox 及 asterisk 的說明。
Trixbox 中文論壇(簡體)
Google 網上論壇-Asterisk
https://groups.google.com/forum/?hl=zh-TW%E3%80%82&fromgroups#!forum/asterisk-tw
(第二篇) 如何在一個site內部署一部Elastix
(第三篇) Elastix安裝
自建專業級 PBX:trixbox
trixbox - 百度百科
表單送出前先以 ajax 方式檢查 phpcapcha 圖片驗證的問題
phpcapcha 使用方法
最近遇到一個問題。表單送出後,先執行一個 Javascript 函數,檢查各欄位資料有無問題,若有問題,立即以 return false 終止函數。其中最後一步是做圖片驗證的檢查,都通過之後再將表單送出。
這部份照理來說應該是循序執行,最後送出表單。但最近遇到的問題,圖片驗證不論怎麼打,隨便打,表單一定會送出。查了一陣子才發現是 ajax 的問題。先來看下列程式碼:
原本預想的流程是這樣:一開始 phpcaptcha_checked 變數是 0 ,等到圖片驗證通過之後,再將 phpcaptcha_checked 改為 1 。然後當 phpcaptcha_checked = 1 的時候,將表單送出。
後來才發現 phpcaptcha_checked 的值永遠是 0 。因為 phpcaptcha_checked 是用 ajax + jquery 的方式做後端處理,而 ajax 的特性就是可以不重整頁面來更新資料。看看上面程式碼,回傳 success 那一行。雖然照理來說,回傳 success 之後 phpcaptcha_checked 應該就要變成 1 。但是 alert 出來的結果,即便圖片驗證的字串正確輸入, phpcaptcha_checked 的值還是 0 。
ajax 是可以在更新資料的時候,不用重整頁面。但我指定同一個東西,不是應該可以改變嗎?就像常用的:document.getElementById(id).innerHTML=xmlHttp.responseText,改變現有頁面上的某個元素啊。看起來,大概是函數裡的變數會重新指派吧。總之,要把把送出表單的指令移到 sucess 那一段裡面。
最近遇到一個問題。表單送出後,先執行一個 Javascript 函數,檢查各欄位資料有無問題,若有問題,立即以 return false 終止函數。其中最後一步是做圖片驗證的檢查,都通過之後再將表單送出。
這部份照理來說應該是循序執行,最後送出表單。但最近遇到的問題,圖片驗證不論怎麼打,隨便打,表單一定會送出。查了一陣子才發現是 ajax 的問題。先來看下列程式碼:
function checkForm(){
//check account
//...
//check password
//...
//check phpcaptcha
var phpcaptcha_checked = 0;
var ct_captcha = document.getElementById('ct_captcha').value;
$.post("libs/ajax_phpcaptcha.php", {ct_captcha: ""+ct_captcha+""}, function(data){
if(data=='error'){
showErrorToast('Incorrect security code entered');
return false;
}else if(data=='success'){
var phpcaptcha_checked = 1;
}
});
//alert('isChecked='+isChecked+' isChecked='+isChecked);
if(phpcaptcha_checked==1){
document.getElementById('pgForm').submit();
}
}
原本預想的流程是這樣:一開始 phpcaptcha_checked 變數是 0 ,等到圖片驗證通過之後,再將 phpcaptcha_checked 改為 1 。然後當 phpcaptcha_checked = 1 的時候,將表單送出。
後來才發現 phpcaptcha_checked 的值永遠是 0 。因為 phpcaptcha_checked 是用 ajax + jquery 的方式做後端處理,而 ajax 的特性就是可以不重整頁面來更新資料。看看上面程式碼,回傳 success 那一行。雖然照理來說,回傳 success 之後 phpcaptcha_checked 應該就要變成 1 。但是 alert 出來的結果,即便圖片驗證的字串正確輸入, phpcaptcha_checked 的值還是 0 。
ajax 是可以在更新資料的時候,不用重整頁面。但我指定同一個東西,不是應該可以改變嗎?就像常用的:document.getElementById(id).innerHTML=xmlHttp.responseText,改變現有頁面上的某個元素啊。看起來,大概是函數裡的變數會重新指派吧。總之,要把把送出表單的指令移到 sucess 那一段裡面。
//check phpcaptcha
var ct_captcha = document.getElementById('ct_captcha').value;
$.post("libs/ajax_phpcaptcha.php", {ct_captcha: ""+ct_captcha+""}, function(data){
if(data=='error'){
showErrorToast('Incorrect security code entered');
return false;
}else if(data=='success'){
document.getElementById('pgForm').submit();
}
});
2013年2月6日 星期三
2013年2月3日 星期日
檢測瀏覽器
JavaScript程式碼:
<script type="text/javascript">
var ua = navigator.userAgent.toString();
if(/MSIE/.test(ua)){var isIE=1;}
else if(/Firefox/.test(ua)){var isFirefox=1;}
else if(/Chrome/.test(ua)){var isChrome=1;}
else if(/Safari/.test(ua)){var isSafari=1;}
else if(/Opera/.test(ua)){var isOpera=1;}
document.write('ua='+ua+'<BR>');
document.write('isIE='+isIE+'<BR>');
document.write('isFirefox='+isFirefox+'<BR>');
document.write('isChrome='+isChrome+'<BR>');
document.write('isSafari='+isSafari+'<BR>');
document.write('isOpera='+isOpera+'<BR>');
document.write('isFirefox='+isFirefox+'<BR>');
</script>
2013年2月2日 星期六
IP與黑名單
TCPIPUTILS.com
包括 Whois, Traceroute, 各種 Blacklist,以及 Ping
SPAMHAUS
http://www.spamhaus.org/lookup/
可檢測 IP 位址或網域
http://cbl.abuseat.org/lookup.cgi?ip=203.69.30.1&.pubmit=Lookup
http://www.backscatterer.org/?ip=203.69.30.1
http://moensted.dk/spam/
http://whatismyipaddress.com/blacklist-check
http://www.dnsbl.info/dnsbl-database-check.php
http://www.mxtoolbox.com/blacklists.aspx
How to find BOTs in a LAN
http://cbl.abuseat.org/advanced.html
2013年2月1日 星期五
2013年1月29日 星期二
2013年1月28日 星期一
2013年1月22日 星期二
2013年1月11日 星期五
訂閱:
文章 (Atom)