Mar 07
這是前陣子在寫 Plurk Bot 時發現的問題。
因為 FeedBurner 已經被 Google 買下了。
所以,FeedBurner 會以「http://feedproxy.google.com/.....」這種 URL 進行 HTTP 重新導向,使瀏覽器連結到「http://原始URL/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A......」這種頁面。
若是部落客用 FeedBurner 把放在 Xuite 上面的部落格 RSS/Atom feed 燒起來,而訂閱者透過 feedproxy.google.com 連結到文章頁面時,得到 HTTP 400 Error 的頁面(只有第一次被重新導向時,是正常的)。
會得到 HTTP 400 Error 頁面的原因是...
經過第一次的瀏覽後,瀏覽器的 cookie 被塞入兩個值,而 Xuite 無法正確解析瀏覽器的 cookie。

目前使用者自行排除問題的方式是拒絕 Xuite 存取瀏覽器的 cookie。
Technorati Tags: cookie, FeedBurner, Google, Xuite
Tags:
cookie ,
FeedBurner ,
Google ,
Xuite
(Visited 278 times)
Feb 02
這幾天,我的噗浪河道上,除了 Apple iPad 之外,也出現了一些關於 CNNIC 根憑證的噗。
基於中國大陸政府的黑暗與邪惡,以及中國網路界的「和諧」作風,我決定把 CNNIC 的根憑證移除掉,順便把移除方法貼出來。
- IE(Internet Explorer):

- Firefox(聽說 3.6 有。因為我在用的附加元件尚未完全相容,所以我還在用 3.5.7):

2010/02/02 23:37 UPDATE
另有 MacOS 與 Linux 的移除教學文,有需要的請參考以下連結:
Technorati Tags: CNNIC, Firefox, IE, Internet Explorer, root certificate
Tags:
CNNIC ,
Firefox ,
IE ,
Internet Explorer ,
root certificate
(Visited 2832 times)
Jan 07
Javascript 提供了 For ... In ... ,我用的還蠻高興的(雖然我很少撰寫 Javascript)。
今天遇到某種特殊需求,我才發現這個迴圈語法並非萬能。
從 array 裡隨機挑出不重複的值有兩種情況,一種很單純,For ... In ... 迴圈可以處理的很好:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var x;
while(fruits.length > 0) {
var r = Math.floor( Math.random() * fruits.length );
var n = fruits[r];
document.write("Choosen[" + r + "]: " + n + "<br />");
document.write("Array: " + fruits + "<br />");
for(x in fruits) {
if (fruits[x] == n) {
fruits.splice(x, 1);
}
}
}
若是 array 裡面已經存在重複的值,而且 array 的資料的來源不方便控制(例如是 HTML 裡面的 li 物件),For ... In ... 這種方便的迴圈語法就必須放棄,改用傳統的 for 迴圈:
var fruits = ["Banana", "Banana", "Orange", "Orange", "Banana", "Apple", "Apple", "Orange", "Mango"];
var i=0;
while(fruits.length > 0) {
var r = Math.floor( Math.random() * fruits.length );
var n = fruits[r];
document.write("Choosen[" + r + "]: " + n + "<br />");
document.write("Array: " + fruits + "<br />");
for(i=0; i<fruits.length; i++) {
if (fruits[i] == n) {
fruits.splice(i, 1);
i--;
}
}
}
Technorati Tags: array, For loop, Javascript, random
Tags:
array ,
For loop ,
Javascript ,
random
(Visited 2035 times)
Jul 18
這兩天在處理 RoundCube 的郵件中文夾檔問題。
原本覺得情況很詭異,因為 Firefox 都很正常,可是 IE 有這兩種狀況:
- 直接以左鍵點選,中文檔名的附帶夾檔無法下載。
- 以滑鼠中鍵(開新的 Tab),就正常了。
坦白說,RoundCube 的程式架構實在很難摸,所以追了蠻久的..
我幫忙追問題的 RoundCube 版本是 0.1-STABLE 。
最後追到的解法是去修改 program/steps/mail/get.inc , diff -u 生出來的檔案內容是這樣:
--- program/steps/mail/get.inc.orig 2008-07-18 02:01:46.000000000 +0800
+++ program/steps/mail/get.inc 2008-07-18 15:45:37.000000000 +0800
@@ -106,9 +106,19 @@
}
else
{
- header(sprintf("Content-Disposition: %s; filename="%s";",
+ $HTTP_USER_AGENT = $_SERVER["HTTP_USER_AGENT"];
+
+ if (strstr($HTTP_USER_AGENT, "compatible; MSIE ") !== false &&
+ strstr($HTTP_USER_AGENT, "Opera") === false) {
+ header(sprintf("Content-Disposition: %s; filename="%s";",
+ $_GET["_download"] ? "attachment" : "inline",
+ $part->filename ? rawurlencode(abbreviate_string($part->filename, 55)) :
+ rawurlencode("roundcube.$ctype_secondary")));
+ } else {
+ header(sprintf("Content-Disposition: %s; filename="%s";",
$_GET["_download"] ? "attachment" : "inline",
$part->filename ? abbreviate_string($part->filename, 55) : "roundcube.$ctype_secondary"));
+ }
// turn off output buffering and print part content
$IMAP->get_message_part($MESSAGE["UID"], $part->mime_id, $part, true);
關鍵就在... 給 IE 吃的話,要先用 rawurlencode() 處理一遍。
Technorati Tags: IE, RoundCube
Tags:
IE ,
RoundCube
(Visited 8984 times)
Jul 12
忘記從什麼時候開始(好像是我的 Firefox 升級成 3.0 ?
),Google Reader 常常變成這種畫面:

感覺像是被踢出來了一樣...
而且,登入時要看運氣,有時得登入個 2~3 次...
相同的瀏覽器(Firefox)視窗,不同標籤頁的 Gmail 都沒事,就 Google Reader 有問題。
真詭異啊~
Technorati Tags: Firefox, Gmail, Google Reader
Tags:
Firefox ,
Gmail ,
Google Reader
(Visited 8004 times)
Apr 09
上週一,有幸出席露天拍賣營運長,葉奇鑫先生的演講。
演講內容非常豐富與生動。
而我在演講後,私下跟他提及網拍隱私的問題,這點是許多人疏忽掉的部份。
講白話一點,就是目前的網拍的使用者評價頁,可以看到這個人買過什麼、賣過什麼。
如果商品標題中包含了一些詳細的說明,大家可以從相關資訊頁面得知那個人的特殊癖好,罩杯^H^H體型大小。
他在演講中提到,露天拍賣每週都有個新功能上線。
所以,他當場回覆說,露天會在這週解決這方面的問題。
剛才搜索了一下, 4/7 晚上九點已有網友在網路上提到這個功能了。
( 系統功能頁面在此 )
看看 Y 拍啥時跟進吧!
Technorati Tags: bid, Ruten
Tags:
bid ,
Ruten
(Visited 7000 times)
Dec 05
剛剛在看 MMDays 時,赫然發現他們的文章標題下面有個簡煩轉換的 javascript link。
研究了一下他們的網頁原始碼之後,動手移植到我這邊玩玩看。 
在我這裡,連結被我放在右邊 sidebar 的上頭。
在這邊分享一下移植方式(假設使用的這個 javascript 的網址是 http://blog.tw),順便作個紀錄。
移植的步驟大致如下:
- 抓取 javascript,在 MMDays 那邊的連結是 http://mmdays.com/wp-content/themes/mistylook/scripts/tw_cn.js ,我這邊的連結是 http://www.joehorn.idv.tw/tw_cn.js(可以用 fetch、wget 抓)。
- 將抓到的 javascript 放在你想放的網頁目錄(接下來的說明是假設放在網頁根目錄下)。
- 在網頁的 與 之間放入這串 HTML code:
<script language="javascript" src="http://blog.tw/tw_cn.js" type="text/javascript"></script>
- 在你想放置轉換連結的地方加入這串 HTML code(當然啦,呈現方式可以自己改,「<a id=...>」這個部份別動到就好):
将网页转换为<a id="translateLink"><font color="blue">简体</font></a>
- 在網頁末端的 </body> 上面加入這些 HTML code:
<script type="text/javascript">
var defaultEncoding = 1;
var translateDelay = 0;
var cookieDomain = "http://blog.tw/";
var msgToTraditionalChinese = "繁體";
var msgToSimplifiedChinese = "简体";
var translateButtonId = "translateLink";
translateInitilization();
</script>
注意:HTML code 裡面的「http://blog.tw」記得換成自己的網址啊!
我不是很清楚這樣有沒有侵犯到 MMDays 的權益,而且我在他們的部落格上面也找不到他們的 E-Mail 位址。 
如果本文有冒犯之處,歡迎大家留言回應,或是寄信跟我說,我會儘快把這篇文章封進水泥桶,丟到高雄港... orz
當然啦,有用到的人記得感謝 MMDays (或是原作者)哦。
Technorati Tags: Simple Chinese, Traditional Chinese, translation, website
Tags:
Simple Chinese ,
Traditional Chinese ,
translation ,
website
(Visited 2919 times)
Nov 10
這幾天接了一個 PHP 的系統要作,為了防止 Spambot,必須加入視覺驗證碼。
在眾多視覺驗證碼的 solution 中,我第一個想到的就是 reCAPTCHA 。
不過,根據以前用過的經驗,reCAPTCHA 還沒有多國語言支援的能力。
我看了一下他們給的 PHP library 跟 使用說明頁 。
很遺憾... 目前還是沒有支援多國語言。
在 reCAPTCHA 的 Forum 則是找到 這個討論串 。
雖然會擔心收到抱怨,不過依照目前的情況看來,只能先硬著頭皮上,然後靜待佳音了。
回覆 那個討論串 的文章催促一下,進度會不會比較快呀?
Technorati Tags: PHP, reCAPTCHA, translation
Tags:
PHP ,
reCAPTCHA ,
translation
(Visited 1553 times)
Nov 05
剛剛把這邊升級成 WordPress 2.3.1 。
因為 WordPress 2.3 開始支援 tag ,所以之前使用的 Ultimate Tag Warrior 被我拔掉了。
(其實是... 要先拔掉才能升級... 不然會有 function redeclare 的 error 。
)
在拔掉 Ultimate Tag Warrior 之前,我在網路上嘗試尋找把原本的 tag 轉移到 WordPress 2.3 內建的 tag 功能的作法。
我找到了 這篇,不過升級後我就發現管理平台的 Manage -> Import 中就有搬移的功能!
接著要修改 theme ,增加 tag 與 tag cloud 顯示的語法。
很快地,我發現在我用的 theme 裡面增加的 the_tags() 只能在多篇文章顯示時運作正常,瀏覽單篇文章時都看不到。
如果有人也有遇到相同問題的話,請修改 wp-includes/category-template.php ,把 function get_the_tags( $id = 0 ) 中的這段:
$id = (int) $id;
if ( ! $id && ! in_the_loop() )
return false; // in-the-loop function
if ( !$id )
$id = (int) $post->ID;
改成
$id = (int) $id;
/*
if ( ! $id && ! in_the_loop() )
return false; // in-the-loop function
*/
if ( !$id )
$id = (int) $post->ID;
應該就能解決了。
升級完 WordPress 2.3.1 的話可以檢查目錄下的檔案,以下這些是不需要的,可以砍掉。
- wp-admin/admin-db.php
- wp-admin/cat.js
- wp-admin/categories.js
- wp-admin/custom-fields.js
- wp-admin/dbx-admin-key.js
- wp-admin/edit-comments.js
- wp-admin/install-rtl.css
- wp-admin/install.css
- wp-admin/upgrade-schema.php
- wp-admin/upload-functions.php
- wp-admin/upload-rtl.css
- wp-admin/upload.css
- wp-admin/upload.js
- wp-admin/users.js
- wp-admin/widgets-rtl.css
- wp-admin/widgets.css
- wp-admin/xfn.js
- wp-includes/js/tinymce/license.html
另外,新版的 WordPress 後台會顯示 plugin 有沒有新的版本啦!
Technorati Tags: tag, WordPress
Tags:
tag ,
WordPress
(Visited 1295 times)
Feb 07
因為 FreeBSD 的 zh-phpbb-tw 這支 ports ( /usr/ports/chinese/phpbb-tw ) 的版本還在 2.0.21 ,而且根據 FreshPorts - VuXML 呈現的結果, 2.0.21 被標上「存有漏洞」。
維護人 chinsan 在 1 月初通知我,希望我能幫忙聯絡 竹貓 ,請他們釋出 2.0.22 中文版,以方便他進行維護工作。
我在 1/8 用 MSN 向小竹子提過,至今 竹貓 仍然無動於衷,而討論區僅有 這個討論串 有提到。
phpBB 2.0.22 新增了一行語言設定:
$lang["Session_invalid"] = "Invalid Session. Please resubmit the form.";
現在也還不確定 竹貓 的翻譯結果為何。
竹貓 的網站好像準備改版了,不過身為亞洲地區中文支援站,總該付點責任吧!?
另外,我覺得 phpBB 在多語支援的作法上還有改進的空間。
比較好的作法應該是在釋出新版前,通知各語言檔的翻譯團隊,請他們翻譯好之後送回官方,將各語言包在一起再釋出。
Technorati Tags: phpBB, translation
Tags:
phpBB ,
translation
(Visited 2540 times)
Recent Comments