Spotify 应用程序和 jQuery

Posted

技术标签:

【中文标题】Spotify 应用程序和 jQuery【英文标题】:Spotify Apps and jQuery 【发布时间】:2012-01-20 05:50:53 【问题描述】:

如何在我的 Spotify 应用程序中添加和使用 jQuery(使用 Spotify 应用程序 API)?

关于这篇文章http://docs.jquery.com/Using_jQuery_with_Other_Libraries我在我的 Spotify 应用程序中试过这个:

<body onload="sp = getSpotifyApi(1); j = sp.require('jquery'); tutorial = sp.require('tutorial'); tutorial.init();">

然后:

var $j = j.jQuery.noConflict();
$j("h2").text("ddd");

但它不起作用......

【问题讨论】:

【参考方案1】:

为什么不在head 中添加jQuery.js 文件?

所以如果你学习教程http://developer.spotify.com/download/spotify-apps-api/tutorial/ 它会变成

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>My First App</title>
    <link rel="stylesheet" href="sp://import/css/adam.css">
    <link rel="stylesheet" href="tutorial.css">
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
</head>
<body>
<h1 id="header">Hello, world!</h1>
</body>
</html>

【讨论】:

如果您将http://ajax.googleapis.com 添加到清单中的RequiredPermissions 中,则此方法有效。【参考方案2】:

对于通过插件中的脚本标签使用 jquery 是下载 jquery,将其保存到您的插件文件夹并简单地调用它:

<script type="text/javascript" src="jquery.js"></script>

这是有道理的,因为指南说:

[...]您必须确保将所有逻辑/布局/图形/等捆绑在 您的应用程序包,以便在运行时无法替换它[...] 简而言之 - 只从您自己的后端请求动态数据,然后让 所有其他数据都进入应用程序包本身。

这应该意味着只能向外部位置发出 POST/GET 请求,并且只能向清单RequiredPermissions 列表中列出的位置发出。 我确信可以通过在清单中允许 ajax.googleapis.com 来解决这个问题,通过外部调用下载 jquery 并通过一些邪恶的 eval 函数运行它。但我真的没有看到任何意义.

使用 CDN 最适用于您希望用户使用较早时间从同一 CDN 下载的缓存版本的 jquery 以节省加载时间的网站。然而,在 Spotify 应用案例中,远程托管 jquery 并没有真正的利润,即使该应用的每个用户都始终连接到互联网。

【讨论】:

【参考方案3】:

我可以把它放在文档的顶部。如果我的应用是社交应用并且 jquery 位于 /js/jquery-1.7.1.min.js 中,请编写以下内容

sp.require("sp://social/js/jquery-1.7.1.min");

【讨论】:

【参考方案4】:

您可以通过在 index.html 中包含脚本标记来使用 jQuery,但建议您从应用程序中的本地副本加载 jquery.js - 否则您必须添加 code.jquery.com suddomain到 manifest.json 上的 RequiredPermissions 数组。

【讨论】:

【参考方案5】:

我认为您不允许通过脚本标签访问外部文件。但是,如果您下载 jquery.js 并将其放入您的应用程序文件夹中,您将能够按照示例显示的方式访问它。

【讨论】:

以上是关于Spotify 应用程序和 jQuery的主要内容,如果未能解决你的问题,请参考以下文章

在 Spotify(Javascript)中进行 ajax 调用后没有保存 Cookie?

试图通过 jQuery 使 Spotify 小部件响应但无法完成。帮我

创建和填充临时播放列表 Spotify 应用程序

Spotify 使用 Meteor 和 xinranxiao 登录:accounts-spotify

如何停止或暂停 Pandora 和 Spotify

Spotify - 如何暂停曲目和恢复曲目