2

基本上我想要的是创建一个链接列表,如果安装了 Spotify,它将使用 Spotify URI 链接到 Spotify,如果没有安装,则只是纯文本。

据我所知:

spotify:track:7yOKhepYf8pO8ILT2Z5KN1

如果在浏览器中输入并安装了 Spotify,它将立即启动曲目或您请求的任何内容。

如果未安装 Spotify,这只会运行正常的浏览器请求。

我已经在文档中查看了我可以挂钩的东西,但我找不到任何可以在外部应用程序上使用的东西,只是重申这个应用程序不是原生 Spotify 应用程序。

我正在寻找的最终结果是一种调用方法,该方法检查是否安装了 Spotify 以返回 true,如果未安装则返回 false。

要求仅使用 HTML CSS 和 JavaScript。

4

2 回答 2

1

除非您使用诸如firebreath之类的东西编写浏览器插件,否则出于安全原因,我认为这是不可能的。

于 2012-11-22T08:04:35.007 回答
1

我还没有对此进行深入研究,但是您可以使用端口 4380 上的 spotilocal.com 域(只是对 127.0.0.1 的 DNS 引用)联系本地 Spotify 客户端。

如果它允许 CORS,那么您应该能够使用 javascript 调用此 URL:

http://1234.spotilocal.com:4380/remote/status.json

看看结果如何。

这就是 Facebook 进行 Spotify 集成的方式,如下所示:

拥有解析为 127.0.0.1 的域名(spotilocal)有什么好处?

更新

如果您在 Chrome 中,请在此页面上打开您的开发工具,然后在控制台中粘贴并运行它:

$.get('http://1234.spotilocal.com:4380/remote/status.json', function(data){console.log(data)});

响应标头包含Access-Control-Allow-Origin:*因此您应该能够从您的页面使用 AJAX 调用该 URL

更新 2 (24/07/13)

最新版本的 spotify 客户端(我在 0.9.1.57 上)不再包含Access-Control-Allow-Origin标题,因此上述方法不再有效。

于 2012-11-30T12:21:47.327 回答