通过缩短网址显示视频或图片

时间:2014-11-21 10:51:48

标签: javascript html5

如何正确显示可以保存视频或图像文件的缩短网址? URL不包含扩展名,域可以是不同的来源。我需要使用视频或图像标签,具体取决于源类型,以便浏览器正确呈现。解决方案可以使用JavaScript或标记。

例:
[IMAGE] http://bit.ly/1uI7Ddj
[视频] http://bit.ly/1vvkYJ1

我试过了,但它没有按预期工作:

<video width="300" height="150" src="http://bit.ly/1uI7Ddj">
    <img width="300" height="150" src="http://bit.ly/1uI7Ddj" alt="Fallback if video is not playing" />
</video>

2 个答案:

答案 0 :(得分:0)

除非您拥有想要缩短网址的域名,否则无法做到这一点。例如,要做到这一点,您需要拥有(或有权访问)网站bit.ly。

bit.ly不会托管您的视频或图片,只会在您点击链接时将其重定向到真实网址。

您的bit.ly的源代码可以在chrome上找到:view-source:http://bit.ly/1uI7Ddj

您将看到您的图片不在代码中。它只会重定向到包含图像的页面。

答案 1 :(得分:0)

要获取 bit.ly 的完整网址,您需要注册开发人员API和create an app,而不是使用expand method

对于 goo.gl 短链接,请使用Google帐户登录并注册API,然后使用expand method

但在您的情况下,最佳将是 longurl.org API ,它有一种扩展网址的简单方法。看看他们的expand-url documentation

对其API的示例请求:

GET http://api.longurl.org/v2/services&format=json

既然你不想使用PHP,那么你需要以这种方式询问jsonp格式:

GET http://api.longurl.org/v2/services&format=json&callback=foo&user-agent=Application-Name%2F3.7

所以,总而言之,你需要扩展url并以这种方式获取json:

GET http://api.longurl.org/v2/expand?url=http%3A%2F%2Fbit.ly%2F1uI7Ddj&format=json&callback=foo&user-agent=Application-Name%2F3.7

你得到回应:

foo({"long-url":"http:\/\/flark.it\/f\/i\/1884680242.WP_000008.jpg"})

jsonpread more about jsonp

类似

还有expandURL API,但我没有看到它们提供jsonp响应。例如:

GET http://expandurl.appspot.com/expand?url=http%3A%2F%2Fbit.ly%2F1uI7Ddj

你得到了json回复:

{
    "status": "OK",
    "end_url": "http://flark.it/f/i/1884680242.WP_000008.jpg",
    "redirects": 1,
    "urls": ["http://bit.ly/1uI7Ddj",
    "http://flark.it/f/i/1884680242.WP_000008.jpg"],
    "start_url": "http://bit.ly/1uI7Ddj"
}