跳過導覽列

O3noBLOG

A Happy(?)Designer ~~

單篇彙整

拾貳 19

short-amazon

剛剛寫的縮短Amazon網址的小東西,純 javascript,還提供了 bookmarklet 版,理論上只要 Amazon 沒有改他的網址定義的話都會生效。

其實快寫完的時候Jedi大師告訴我以前有人寫過,不過我看一下前人的 code 後,發現我處理的比較完善,可以對付比較多國家的Amazon網址,不過中國的沒辦法就是。

昨天後來和討論過後,好像 dp (detail page) 發現好像治百病,所以剛剛修改過,變成產生的都是 dp/ASIN 這樣的網址,這樣就和 short amazon affiliate 一樣了,所以我比較強只有可以處理 .com 以外的和可以處理多行。

引用(http://othree.net/cgi-bin/mt/mt-tb.cgi/559)

目前無人引用。

迴響(發表你的迴響)

  1. 1Jacky在 2008-12-19 10:28:09 發表:

    我會這樣寫 regexp:

    var url = 'http://www.amazon.com/Complete-Star-Wars-Encyclopedia/dp/0345477634/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1229625244&sr=8-1';
    var re = /^(http:\/\/www\.amazon\.[\w\.]{2,6})\/.*(\/(dp|gp\/product)\/\d*\/).*/;
    if(re.test(url)) {
    url = url.replace(re,'$1$2');
    }

    當然這樣做 readability 不太好 :p

  2. 2Jacky在 2008-12-19 10:44:52 發表:

    剛剛留了言,但好像發不了?

    我會這樣寫:http://jsbin.com/aqoli
    當然這樣 readability 會不太好 :p

  3. 3othree.net在 2008-12-19 11:35:45 發表:

    @Jacky

    其實還有一些比較特別的網址會沒顧慮到喔,像是有 ASIN 後面是問號而不是斜線的,還有 ASIN 前面沒 dp 或 gp 的例子,不過昨天測試好像是只要找到 ASIN ,然後前面加 dp 就可以了,不管原來是什麼形式,還在測試中。(長輩說似乎有遇過不行的)

  4. 4Jacky在 2008-12-19 12:37:22 發表:

    我也跟據你的改動修改了,asin 改成 [a-z0-9] 判定,和尾綴是 / 或 ? 也可以,見:http://jsbin.com/umiki

    (可以到http://jsbin.com/umiki/edit修改測試,很方便)

發表迴響

如果欲使用OpenID,請開啟瀏覽器的JavaScript功能。

accesskey:P


其它資訊

關於本文章

short-amazon發表於2008-12-19,文章類別為網頁、網站相關,截至目前為止共有0篇文章引用此文、4篇讀者迴響,你可以為此篇文章留下你的想法,或是訂閱讀者迴響的RSS

關於本網站

本網站是O3(othree)的個人部落格,主要內容為網路標準、網頁設計,穿插些ACG心得和敗家紀錄,如果需要聯絡我請寄信到

Google Friend Connect


認證、授權

XHTML, CSS,WCAG,創用CC 姓名標示