看看这个播放按钮,完全写看来,使用javascript: Spotify的播放按钮 。
请注意,压着打会导致Spotify的开始播放音乐。 好了,我觉得威盛一些特定的应用程序协议链接来实现(如Spotify://播放),虽然我可能是错的。 但疯狂的是,如果你停止播放音乐的Spotify,该按钮就会在浏览器更新以显示音乐停止播放! 这是如何运作的?
你可以看一下它的源头在这里 。
看看这个播放按钮,完全写看来,使用javascript: Spotify的播放按钮 。
请注意,压着打会导致Spotify的开始播放音乐。 好了,我觉得威盛一些特定的应用程序协议链接来实现(如Spotify://播放),虽然我可能是错的。 但疯狂的是,如果你停止播放音乐的Spotify,该按钮就会在浏览器更新以显示音乐停止播放! 这是如何运作的?
你可以看一下它的源头在这里 。
桌面运行在服务器*.spotilocal.com
您的计算机上,然后在网络上,嵌入的播放器( 例如 )将选择的一个子域名(例如: fdxubmxkqp.spotilocal.com
)。
然后,它请求到本地服务器的API,例子:
https://fdxubmxkqp.spotilocal.com:4370/service/version.json
https://fdxubmxkqp.spotilocal.com:4370/simplecsrf/token.json
它只是返回一些JSON:
{
"version": 9,
"client_version": "1.0.10.107.gd0dfca3a"
}
见这个截图更多信息,或者您也可以通过获得去同一个信息news.spotify.com和使用网络审查员spotilocal
作为过滤器。
(请注意,这不是他们实际上如何做到这一点,但它仍然是找人来实现类似的东西一个有效的答案)
它注册了一个自定义协议内容处理程序。 您可以通过浏览器注册协议,任何"web-*"
的协议,为了让您的网站处理该协议,但在安装时注册一个协议,你还可以有应用。 (这是Spotify的是如何工作的)。 在这里看到这篇文章:
注册到URL协议的应用
你的浏览器可以被配置为识别特定的处理程序。
我不知道在每一个浏览器是怎么做的,我相信它的工作原理上的Internet Explorer注册表水平按照上面链接的文章。
无论如何,在Chrome和Firefox有一个window.navigator.registerProtocolHandler
注册您的协议功能。
在这里看到: https://developer.mozilla.org/en-US/docs/DOM/navigator.registerProtocolHandler
此外,检查出这个非常简短的文章 。 (这是对信息非常稀疏虽然)
铬13最后包括navigator.registerProtocolHandler
。 该API允许网络应用程序将自身注册为特定协议可能处理程序。 例如,用户可以选择你的应用程序来处理“电子邮件地址”的链接。
注册一个协议方案,如:
navigator.registerProtocolHandler(
'web+mystuff', 'http://example.com/rph?q=%s', 'My App');
如果我没有在我回答这个问题清楚了,我已经提供了Web应用程序如何可以注册自己的协议信息,而且,如何桌面应用程序可以注册一个新的协议。 (任何Web应用程序,需要使用前缀web-*
避免安全问题)
Spotify的播放按钮长轮询(通过HTTPS)运行于本Spotify的应用程序更新的状态。