2012-02-07 49 views
1

我有一個頁面,它使用散列#來存儲一些額外的信息。 我想通過JavaScript來添加一個按鈕[短URL]縮短我的網址全部通過JavaScript可行嗎?

應該

  1. 得到當前的URL(易location.href)
  2. 它傳遞給一些URL縮短服務(如位。 LY)等
  3. 取回新的URL,並顯示在一個文本框供用戶複製和粘貼(再次易)

這2點,我不知道該怎麼做(或者,如果它是可行的l)

注意:所有這些都應該在客戶端解決,而不是在我的服務器端。

+0

通過查找服務API來解決此問題; http://code.google.com/p/bitly-api/wiki/ApiDocumentation – 2012-02-07 15:11:29

回答

0

使用bit.ly的API,這應該是蛋糕:

http://code.google.com/p/bitly-api/wiki/ApiDocumentation#/v3/shorten

/V3 /縮短

很長的URL,/ V3 /編碼縮短的URL並返回一個短的。

$.getJSON("http://"+api_url+"/v3/shorten?longUrl=" 
    + encodeURIComponent(url) 
    + "&login=" + api_login 
    + "&apiKey=" + api_key 
    + "&callback=?", callback); 

你將GE回:

{ 
    "status_code": 200, 
    "data": { 
     "url": "http://bit.ly/cmeH01", 
     "hash": "cmeH01", 
     "global_hash": "1YKMfY", 
     "long_url": "http://betaworks.com/", 
     "new_hash": 0 
    }, 
    "status_txt": "OK" 
} 
+0

請注意,在使用此客戶端時,您將需要'callback'參數。 – 2012-02-07 15:12:36

+0

@hunter我可以在客戶端獲得登錄和apiKey全部嗎? – Zo72 2012-02-07 16:01:44

+0

這似乎是從他們的文檔 – hunter 2012-02-07 16:02:49

0

這需要縮短服務API工作過JSONP,這bitly一樣。我不知道其他人。 jsonp的替代方案將是服務器上的縮短代理,通過請求縮短您選擇的服務。

bitly jsonp api

+0

@Labbeder您的解決方案需要驗證,我相信,在客戶端無法完成所有驗證。 – Zo72 2012-02-08 11:47:16