我有一個頁面,它使用散列#來存儲一些額外的信息。 我想通過JavaScript來添加一個按鈕[短URL]縮短我的網址全部通過JavaScript可行嗎?
應該
- 得到當前的URL(易location.href)
- 它傳遞給一些URL縮短服務(如位。 LY)等
- 取回新的URL,並顯示在一個文本框供用戶複製和粘貼(再次易)
這2點,我不知道該怎麼做(或者,如果它是可行的l)
注意:所有這些都應該在客戶端解決,而不是在我的服務器端。
我有一個頁面,它使用散列#來存儲一些額外的信息。 我想通過JavaScript來添加一個按鈕[短URL]縮短我的網址全部通過JavaScript可行嗎?
應該
這2點,我不知道該怎麼做(或者,如果它是可行的l)
注意:所有這些都應該在客戶端解決,而不是在我的服務器端。
從http://code.google.com/p/bitly-api/wiki/ApiDocumentation#API_Key_Security
API密鑰安全
爲了確保您的API密鑰的絕對安全,我們建議您經常進行API調用服務器端。
如果它是絕對必要調用我們從客戶端代碼API,請記住,沒有辦法,積極確保您的API密鑰將不會被發現。但是,可以採取某些措施來減輕這種風險。
使用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"
}
這需要縮短服務API工作過JSONP,這bitly一樣。我不知道其他人。 jsonp的替代方案將是服務器上的縮短代理,通過請求縮短您選擇的服務。
@Labbeder您的解決方案需要驗證,我相信,在客戶端無法完成所有驗證。 – Zo72 2012-02-08 11:47:16
通過查找服務API來解決此問題; http://code.google.com/p/bitly-api/wiki/ApiDocumentation – 2012-02-07 15:11:29