首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >jQuery on the fly网址缩写工具

jQuery on the fly网址缩写工具
EN

Stack Overflow用户
提问于 2009-11-20 23:52:38
回答 6查看 36.1K关注 0票数 18

我正在寻找一个在飞行的网址缩短很像tweetdeck的工作方式。我发现很多jQuery和一般的javascript插件都会获取一个url,然后在按下按钮时通过bit.ly等缩写服务运行它。然而,我还没能找到一个能在飞行中做到这一点的。我的第一个问题是,这是不是已经存在了?其次,如果不是这样,那么识别文本框中需要缩短的URL的最佳方法是什么?我的想法是:

  1. 在该文本区域的onKeyUp上遍历文本,查找http
  2. ,如果找到,则抓取整个URL (如何确定结尾?可以是句点、逗号、空格等...)
  3. 确保该URL不是bit.ly url
  4. 验证该URL (发出请求并确保http响应不是错误,bit.ly是否已经这样做了?)
  5. 如果有效,请将该URL发送到bit.ly的API,并从文本区域中包含短URL的长URL中获取response
  6. Replace。

有什么想法?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-08-10 11:49:51

以下是使用Bitly API和jQuery获取缩略地址的示例:

代码语言:javascript
复制
function get_short_url(long_url, login, api_key, func)
{
    $.getJSON(
        "http://api.bitly.com/v3/shorten?callback=?", 
        { 
            "format": "json",
            "apiKey": api_key,
            "login": login,
            "longUrl": long_url
        },
        function(response)
        {
            func(response.data.url);
        }
    );
}

下面的代码可以用来获取一个短URL:

代码语言:javascript
复制
/*
Sign up for Bitly account at
 https://bitly.com/a/sign_up

and upon completion visit
https://bitly.com/a/your_api_key/ 
to get "login" and "api_key" values
*/
var login = "LOGIN_HERE";
var api_key = "API_KEY_HERE";
var long_url = "http://www.kozlenko.info";

get_short_url(long_url, login, api_key, function(short_url) {
    console.log(short_url);
});
票数 18
EN

Stack Overflow用户

发布于 2014-02-27 17:22:41

我猜Bitly的API稍微有些变化。现在,您只需要一个访问令牌就可以请求一个短URL。

best practices之后,我创建了以下仅限Javascript的代码片段:

代码语言:javascript
复制
getShortUrl: function(url, callback)
{
   var accessToken = '___YOUR_ACCESS_TOKEN___';
   var url = 'https://api-ssl.bitly.com/v3/shorten?access_token=' + accessToken + '&longUrl=' + encodeURIComponent(url);

    $.getJSON(
        url,
        {},
        function(response)
        {
            if(callback)
                callback(response.data.url);
        }
    );
},
票数 8
EN

Stack Overflow用户

发布于 2009-11-21 00:12:25

运行中的bit将很难实现可靠和快速。

大多数时候,人们不会输入http,甚至不会输入www。

最后,就像你说的,很难确定url中是否包含空格,或者更糟糕的是,会进入下一句话,因为用户没有输入空格。

如果人们因为输入的是http://stakoverflow.com/而不是https://stackoverflow.com/而需要在事后更改url,该怎么办?

我认为最好的解决方案是在你的文本编辑器上添加一个“插入缩写的url”按钮,这样人们就可以做到这一点。或者,在发布帖子时在服务器端这样做。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1771397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档