2012-03-14 64 views
1

對於熟悉js的人來說,我有一個相當簡單的問題。我很喜歡的音頻播放器從風格:http://wpaudio.com/在javascript中創建var;修改腳本以創建var用法?

我已經採取了這一點,並它主要是提取到Rails項目,但事實證明,在WordPress插件PHP內創建一個變量_wpaudio如下:

## WPaudio style, jQuery, SWFObject 
function wpaHead(){ 
    global $wpa_options; 
    # Put all styles into the _wpaudio settings object 
    $style = ''; 
    foreach ($wpa_options as $key => $value) { 
     $exploded = explode('_', $key, 3); 
     if ($exploded[1] == 'style') { 
      $style .= $exploded[2] . ":'$value',"; 
     } 
    } 
    $style = trim($style, ','); 
    $style = '{' . $style . '}'; 
    # Common JS 
    $wpa_pref_link_mp3 = ($wpa_options['wpa_pref_link_mp3']) ? 'true' : 'false'; 
    $head = "<script type='text/javascript'>/* <![CDATA[ */ var _wpaudio = {url: '" . WPAUDIO_URL . "', enc: {}, convert_mp3_links: $wpa_pref_link_mp3, style: $style}; /* ]]> */</script>"; 
    echo $head; 
} 

顯然幾乎是代碼的ALL是不相關的,但是它只是說明了_wpaudio VAR那裏創建。我並不真正關心構建的路徑等。我只是想要能夠操縱腳本,以便在js文件中創建var。我嘗試了幾種不同的方式,但我在JavaScript中非常不熟悉,以至於我的嘗試迄今爲止一直徒勞無功。

下面是其失敗的負載在控制檯與Can't find variable: _wpaudio錯誤的JavaScript: https://gist.github.com/fd208d327484306d65a9

如何修改腳本,以便它正確初始化時創建_wpaudio?

+0

我查看了您的錯誤案例。但是我不知道你在哪裏實例化一個名爲_wpaudio的對象。你是否缺少一些代碼? – 2012-03-15 06:39:20

+0

不,我很抱歉,這正是我最初在這裏需要做的。在這種情況下,我不確定在哪裏實例化對象。 – ylluminate 2012-03-15 07:18:49

回答

2

如果您運行跨wpaudio插件文件夾中的文件_wpaudio搜索,你會發現這一點,在wpaudio.php的線150(燁,出現在片段中的一個,你提供):

$head = "<script type='text/javascript'>/* <![CDATA[ */ var _wpaudio = {url: "[[path/to/wpaudio-mp3-player]]", enc: {}, convert_mp3_links: [[true|false]], style: {[[style]]} }; /* ]]> */</script>"; 

這告訴你,你應該把這個腳本片段插入你的html頁面的某個地方。 $頭意味着插件將它添加到文檔的頭部(<頭> ... < /頭>)。這可能與任何地方一樣好。無論如何,在插件初始化之前應該存在一個_wpaudio變量,在加載wpaudio.js之前應該插入該腳本片段。

<script type='text/javascript'> 
/* <![CDATA[ */ 
    var _wpaudio = { 
    url: "[[path/to/wpaudio-mp3-player]]", 
    enc: {}, 
    convert_mp3_links: [[true|false]], 
    style: {[[style formatting as a json object, empty object should work]]} }; 
/* ]]> */ 
</script> 
+0

好的,這非常有幫助,謝謝。我做了不同的觸摸,但現在它已經初始化了。然而,我有一個問題,並且很好奇你是否能夠提供建議。我得到:'錯誤:語法錯誤,無法識別的表達式:[href $ =。mp3]'。在初始化函數中,我看到了這一點(第10行):http://j.mp/ywsCrl – ylluminate 2012-03-15 09:19:57

+0

明白了,沒關係。 .mp3根本沒有被引用。非常棒,看起來棒極了! WPAudio現在是一個基於鏈接的Rails音頻播放器的超級實現! – ylluminate 2012-03-15 09:24:30

相關問題