Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何像adf.ly那样缩短javascript中的URL_Javascript_Url_Url Shortener - Fatal编程技术网

如何像adf.ly那样缩短javascript中的URL

如何像adf.ly那样缩短javascript中的URL,javascript,url,url-shortener,Javascript,Url,Url Shortener,如何使用javascript将URL缩短为短的唯一字符串。我尝试使用hashids.org上的算法,但没有成功。如何做到这一点?不可能使用JavaScript进行适当、可用的URL缩短 adf.ly的工作原理是,它们有一个数据库后端,并使用服务器端编程语言(如PHP),生成一个唯一的散列,然后将一条记录存储到数据库中,使用该url和该散列 然后,当有人访问缩短的URL时,系统通过搜索缩短的部分从数据库检索结果,然后重定向到该URL 更新:如果您真的想使用JavaScript,有一种方法: 复制过

如何使用javascript将URL缩短为短的唯一字符串。我尝试使用hashids.org上的算法,但没有成功。如何做到这一点?

不可能使用JavaScript进行适当、可用的URL缩短

adf.ly的工作原理是,它们有一个数据库后端,并使用服务器端编程语言(如PHP),生成一个唯一的散列,然后将一条记录存储到数据库中,使用该url和该散列

然后,当有人访问缩短的URL时,系统通过搜索缩短的部分从数据库检索结果,然后重定向到该URL

更新:如果您真的想使用JavaScript,有一种方法:

复制过来,然后写下如下内容:

<input type="text" id="urlhere" />
<input type="button" onclick="shorten();" />
<script type="text/javascript">
  function shorten() {
    var shortened = base64_encode(document.getElementById("urlhere").value);
        document.getElementById("urlhere").value = "http://www.example.com/shortened/" + encodeURIComponent(shortened);
  }
</script>

函数shorten(){
var shorted=base64_encode(document.getElementById(“urlhere”).value);
document.getElementById(“urlhere”).value=”http://www.example.com/shortened/“+编码组件(缩短);
}

在重定向页面上,使用JavaScript解析URL,获取URL的该部分,解码URL,然后重定向到该URL


这绝对不是一个好方法。相信我。没有人喜欢键入base64字符串,也没有人想复制它。

这毫无意义,因为缩短后的字符串必须存储在服务器端的某个位置才能正常工作。同意Pekka的说法。生成id,然后将唯一的映射id存储在数据库中(例如)。好的,这就是方法。Thanks@user3183103别担心。