2016-05-17 59 views
3

首先,我應該說,我不是很有經驗的JavaScript,我想幫助傳遞sessionStorage值到一個設置。Javascript語法問題sessionStorage值設置

$(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(「設置」)) '並訪問'音量'屬性? –

+0

@FelixKling謝謝你的回答。老實說,我在網上遇到了這個解決方案,但對我來說,真的很難讓它工作。如果你能提供一段關於代碼應該如何的小片段,那將是非常有幫助的。 –

+0

哦,事實證明,這是你從中取得的答案,如果你在你的問題中把它聯繫起來,它可能會很有用。 取代getItem('settings')',執行getItem('userjPlayerSettings')'。我會在該主題的其他答案中更新它。您可以通過在Web瀏覽器中調試並查看'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告訴我們這很難。解釋代碼,我會upvote你。在stackoverflow中的規則禁止_link-only_和_code-only_答案,因爲沒有用。 –

+0

@MarcosPérezGude好點,謝謝 –

+0

不客氣,我看到你的聲望,我認爲你對這個網站的行爲不是很熟悉,但都是學習過程;)我對你讚不絕口。祝你好運! –