Spotify应用程序选项卡 - 更新缓存

时间:2012-05-30 11:53:41

标签: spotify

如果href包含spotifyURI,我正在尝试在标签播放列表中显示div。这将用于在选项卡下显示播放列表。

这是我的问题:

  1. 点击播放列表标签,然后点击“我的播放列表1”。
  2. href显示在选项卡播放列表下的播放列表容器中。 (到目前为止完美)
  3. 单击开始选项卡,然后单击播放列表选项卡。
  4. 不再显示播放列表列表,而是再次显示播放列表容器。那么最后使用的网址是否被缓存?
  5. 然后,如果再次点击播放列表标签,则网址将被“重置”,并且将显示播放列表列表并隐藏播放列表容器。
  6. 我希望4.立即显示播放列表。 有没有办法重置或我缺少什么?

    <script>
    $(document).ready(function() {
        sp = getSpotifyApi(1);   
        var m = sp.require("sp://import/scripts/api/models");
        updateTabs();
        m.application.observe(m.EVENT.ARGUMENTSCHANGED, updateTabs);
        function updateTabs() 
        {   
            console.log(m.application.arguments);
            var args = m.application.arguments;
            $('.section').hide();
            if (args[1] == "spotify") $("#playlist").html("args:"+args).show();
            else $("#"+args[0]).show();
        }
    });
    </script>
    
    <div id="playlist" class="section">Container for playlist content</div> 
    <div id="start" class="section">Welcome</div>  
    <div id="playlists" class="section"> 
    My <a href="spotify:app:tabtest:playlists:spotify:user:_username_:playlist_uri1">playlist1</a>
    My <a href="spotify:app:tabtest:playlists:spotify:user:_username_:playlist_uri2">playlist2</a>
    </div> 
    

    非常感谢所有回复!

2 个答案:

答案 0 :(得分:1)

以下是我将如何使用JQuery。

首先,您需要使用Localstorage:

var stor = sp.require("sp://import/scripts/storage");

然后,例如,如果您获得播放列表列表,则可以像这样构建列表

for (var i=0; i<d.playlists.length; i++) {
$('#playlists').append('My <a id="p' + i + '"href="'+ d.playlists[i] +'">playlist1</a>');
$('#playlists #p'+i).live('click', function(e) {
e.preventdefault();
stor.set('choosenplaylist', d.playlists[i]);
});
}

这是为了改变tad时的存储空间:

if (!stor.get('choosenplaylist')=='') {
location.href=stor.get('choosenplaylist');
}

好的,这是一个建议,需要针对您的应用进行测试。

答案 1 :(得分:0)

我现在尝试这个,我可以重现你的错误(我猜它是一个错误,标签替换我认为的网址)

但是,在修复之前,我最好的猜测是在取消使用适当的播放列表视图替换内容后,捕获事件处理程序中的播放列表链接并取消原始事件。

Tab test code (on gist.github.com)

我从事件处理程序中抽象出了实际的视图绑定,并添加了一个调用抽象视图绑定器而不是“真实”绑定器的单击事件挂钩,这也支持深入链接到应用程序