在Base64中显示BitLy缩短的URL

时间:2016-02-24 18:55:57

标签: javascript jquery html url bit.ly

我想在base64中显示以下代码的(结果)。

下面的代码缩短了输入的url并显示了它的结果,但我想让它在base64中对结果进行编码。

即它会将输入的网址缩短为隐藏状态,但只会显示base64编码结果。

例如,如果特定缩短的网址结果是

  

http://bit.ly/url

应该显示

  

aHR0cDovL2JpdC5seS91cmw =

的jQuery

$(document).ready(function() {

  //bit_url function
  function bit_url(url) {
    var url=url;
    var username="username"; // bit.ly Api username
    var key="BitLy Key"; //bit.ly Api key
    $.ajax({
      url:"http://api.bit.ly/v3/shorten",
      data:{longUrl:url,apiKey:key,login:username},
      dataType:"jsonp",
      success:function(v) {
        var bit_url=v.data.url;
        $("#result").html('<a href="'+bit_url+'" target="_blank">'+bit_url+'</a>');
      }
    });
  }


  $("#short").click(function() {
    var url=$("#url").val();
    var urlRegex = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
    var urltest=urlRegex.test(url);
    if(urltest) {
      bit_url(url);
    } else {
    alert("Bad URL");
    }
  });

});

HTML

Enter URL:
<input type="text" placeholder="http://"" name="url" id="url"/>
<input type="submit" id="short" value="Submit"/>
<div id="result"></div>

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您应该可以使用btoa()对bit.ly网址进行编码。像这样的东西会起作用:

$(document).ready(function() {

  //bit_url function
  function bit_url(url) {
    var url=url;
    var username="username"; // bit.ly Api username
    var key="BitLy Key"; //bit.ly Api key
    $.ajax({
      url:"http://api.bit.ly/v3/shorten",
      data:{longUrl:url,apiKey:key,login:username},
      dataType:"jsonp",
      success:function(v) {
        var bit_url=v.data.url;
        var encodedUrl = btoa(bit_url);
        console.log(encodedUrl);
        $("#result").html('<a href="'+bit_url+'" target="_blank">'+bit_url+'</a>');
      }
    });
  }


  $("#short").click(function() {
    var url=$("#url").val();
    var urlRegex = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
    var urltest=urlRegex.test(url);
    if(urltest) {
      bit_url(url);
    } else {
    alert("Bad URL");
    }
  });

});

有关在JavaScript中编码和解码base64的更多信息,请参阅开发人员文档: https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding

希望有所帮助!