0

onclick()基本的に、DOMを操作するjavascript関数をトリガーするすべてのリンクを含む単一のページ(index.html)のみを含むSpotifyアプリを作成しました。たとえば、最初の4枚のアルバムを表示し、残りのアルバムを読み込んでレンダリングする[その他のアルバムを表示]リンクがあります。最初の4枚のアルバムが1回だけ読み込まれるようにこれを行いました。pushState()細字を読むまで、制限があることに気づきませんでした。Spotifyは、を使用しようとすると「セキュリティ例外pushState()」が発生すると言います。リンクをクリックするたびに新しいHTMLページを読み込むようにアプリを書き直したくない。完全なURIを使用する方法(例<a href='spotify:app:chirp:best_of:index'>)を試しましたが、動作が不安定です(コード)。一般的なアプローチに関する推奨事項はありますか?ありがとう。

4

1 に答える 1

1

pushStateSpotifyアプリではサポートされていません。ユーザーが戻るボタンをクリックすると前の状態に戻るように履歴に新しいエントリを作成する場合は、次のようなリンクが必要です。

<a href='spotify:app:chirp:best_of:2009'>See More</a>

models.EVENT.ARGUMENTSCHANGEDそして、イベントを観察することで、ユーザーがクリックしたことを検出します。

同様のアプローチを使用するGitHubのSpotifyアプリチュートリアルをご覧ください。

seeMoreAlbumsOfTheYearOnClick新しいエントリを作成せずにアルバムを追加するだけの場合は、新しいURIに移動して、現在のように関数を実行する必要はありません。

新しいURLに移動するふりをしない場合は、イベント変数をseeMoreAlbumsOfTheYearOnClick関数に渡して、を呼び出す必要があることに注意してくださいevent.preventDefault();。別の可能性は、button代わりに要素を使用することです。

于 2013-01-16T21:40:53.897 に答える