用javascript创建一个var;修改脚本以创建var用法

Creating a var in javascript; modification of a script to create var usage?

本文关键字:var 创建 修改 用法 脚本 javascript 一个      更新时间:2023-09-26

对于熟悉js的人来说,我有一个相当简单的问题。我非常喜欢以下音频播放器的风格:http://wpaudio.com/

我已经将其提取到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;
}

显然,几乎所有的代码都不相关,但这只是为了说明_wpaudio var是在那里创建的。我真的不想构建路径等。我只想能够操作脚本,以便在js文件中创建var。我尝试了几种不同的方法,但我对javascript太不熟悉了,所以到目前为止我的尝试都是徒劳的。

以下是在控制台中加载时失败的javascript,并出现Can't find variable: _wpaudio错误:https://gist.github.com/fd208d327484306d65a9

如何修改脚本,使其在初始化时正确创建_wpaudio

如果你在wpaudio插件文件夹的文件中搜索_wpaudio,你会在wpaudio.php的第150行找到这个(yup,你提供的代码片段中出现的那个):

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

这告诉您应该在html页面的某个位置插入这个脚本片段。$head意味着插件将把它添加到文档的head部分(<head>…</head>)。这可能是一个很好的位置。在任何情况下,在初始化插件之前都应该存在_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>