检查spotify:url是否在用户设备上可用

时间:2014-04-23 17:24:07

标签: javascript html http spotify

我正在为我的网站开发一个脚本,随机化我最喜欢的歌曲,我想让用户只需点击它即可收听歌曲。

目前,我正在使用本地spotify:网址

生成此类链接
<a href='spotify:search:track:"+ trackVal +"+artist:"+ artistVal +"'>"+ trackVal +"</a>

不幸的是,当用户未在其设备上安装Spotify时,此功能无效。有没有办法检测/预见链接是否有效(仅用于后备目的)?

1 个答案:

答案 0 :(得分:3)

检测Spotify安装的一种方法:如果安装了spotify,Spotify将在客户端计算机上运行http服务器(1234.spotilocal.com:12345 -> 127.0.0.1:12345),以启用javascript交互。要检测是否安装了spotify,请尝试连接到本地服务器以查看它是否存在。但是,这并不能保证spotify:链接可以正常工作,因为它可能被用户禁用,但它比检测自定义协议处理程序容易得多。最后,您可能遇到跨域问题,我不确定本地服务器是否支持JSONP ...如果您想沿着这条漫长的道路前进,here's a good read

为了保持简单,仍然可以获得干净的后备,请考虑使用http://open.spotify.com/track/(yourTrackNo)网址。 open.spotify.com页面将检测是否安装了spotify并提示用户安装和/或在线监听(如果不是)。要获取您的歌曲的(yourTrackNo),如果您还没有它(我不知道您是如何手动生成链接的?),则必须使用 {{ 3}} ,现已弃用,以支持Spotify Metadata Api