2016-05-17 2 views
3

Прежде всего, я должен сказать, что я не очень разбираюсь в JavaScript, и мне нужна помощь в передаче значения sessionStorage в настройку.Сессия синтаксиса Javascript. Значение для хранения значений до значения

$(document).ready(function(){ 
    window.userSettings = null; 

    $("#jquery_jplayer_1").jPlayer({ 
     ready: function() { 
      $(this).jPlayer("setMedia", { 
       title: "TestRadio", 
       mp3: "http:/streamlink" 
      }); 
     }, 
     swfPath: "jplayer/dist/jplayer", 
     supplied: "mp3", 
     wmode: "window", 
     volume: "75", 
     useStateClassSkin: true, 
     loop: true, 
     autoBlur: true, 
     smoothPlayBar: true, 
     keyEnabled: true, 
     remainingDuration: false, 
     toggleDuration: false 
    }); 
}); 

function storeUserjPlayerSettings(){ 

var settings = new Object(); 

settings.volume = $("#jquery_jplayer_1").data().jPlayer.status.volume; 
settings.paused = $("#jquery_jplayer_1").data().jPlayer.status.paused; 
settings.src = $("#jquery_jplayer_1").data().jPlayer.status.src; 

sessionStorage.setItem('userjPlayerSettings', JSON.stringify(settings)); 
window.userSettings = JSON.parse(sessionStorage.getItem('settings')); 
} 

То, что я хотел бы сделать, это передать settings.volume веб сохраненное значение для параметра объема

$("#jquery_jplayer_1").jPlayer({ 
      ready: function() { 
       $(this).jPlayer("setMedia", { 
        title: "TestRadio", 
        mp3: "http:/streamlink" 
       }); 
      }, 
      swfPath: "jplayer/dist/jplayer", 
      supplied: "mp3", 
      wmode: "window", 
      **volume**: "75", 
      useStateClassSkin: true, 
      loop: true, 
      autoBlur: true, 
      smoothPlayBar: true, 
      keyEnabled: true, 
      remainingDuration: false, 
      toggleDuration: false 
     }); 
    }); 
+1

Просто делать то же самое, что вы делаете в '' storeUserjPlayerSettings, а именно 'JSON.parse ((«настройки»sessionStorage.getItem)) 'и получить доступ к свойству' volume'? –

+0

@FelixKling благодарю вас за ответ. Честно говоря, я наткнулся на это решение онлайн, но для меня очень сложно заставить его работать. Было бы очень полезно, если бы вы предоставили мне небольшой фрагмент кода о том, как должен выглядеть код. –

+0

О, получается, что это ответ, который вы взяли, вероятно, это было бы полезно, если бы вы связали его в своем вопросе. Вместо 'getItem ('settings')', do 'getItem ('userjPlayerSettings')'. Я обновлю это в другом ответе в этом потоке. Вы можете проверить, работает ли он, отлаживая ваш веб-браузер и глядя на значение 'volume'. –

ответ

2

Вы экономите громкость раньше, так что вы просто получить доступ к нему в обратном процессе когда вам это нужно.

Например, измените инициализацию volume: 75 на вызов функции, которая извлекает том из ваших сохраненных настроек: volume: volumeSetting().

Вот пример того, как вы могли бы написать, что сама функция:

function volumeSetting() { 
    var settings = sessionStorage.getItem("userjPlayerSettings"); 
    if (settings != null) { 
    settings = JSON.parse(settings); 
    if (typeof settings.volume == 'number') 
     return settings.volume; 
    } 
    return 75; 
} 
+0

Немного объяснения полезно. Возможно, некоторые из нас прекрасно понимают этот код, но OP говорит нам, что ему сложно, так как исходный код был выведен из веб-страницы. Объясните код, и я подниму вас. Правила в stackoverflow запрещают ответы _link-only_ и _code-only_, поскольку они не являются полезными. –

+0

@ MarcosPérezGude хорошая точка, спасибо –

+0

Приветствую вас, я вижу вашу репутацию, и я думаю, что вы не очень хорошо знакомы с поведением этого сайта, но все учатся.) Мое преимущество перед вами. Удачи! –