通过AJAX加载内容时不加载音频播放器,不适用MediaElement.js

时间:2016-01-20 作者:Pablo Levin

当我使用ajax加载内容时,它不应用MediaElements。js到我的音频播放器,因此音频不会显示。我认为这是因为MediaElement。js加载了wp-footer(),这个新音频在之后添加到DOM中,MediaElement无法识别它。js。

本地视频也出现了同样的情况。

如何解决此问题?

1 个回复
SO网友:murcoder

我也有同样的问题。您需要重新分类mediaelement样式和脚本,如中所述this 邮递在ajax调用之后,只需调用此函数:

function enqueue_mediaelement(){
    wp_enqueue_style( \'wp-mediaelement\' );
    wp_enqueue_script( \'wp-mediaelement\' );
}
add_action( \'wp_enqueue_scripts\', \'my_enqueue_scripts\' );
如果要为特定页面添加自己的样式(在以下ID为“2”的页面示例中),我建议您另外添加自己的样式表:

function enqueue_mediaelement(){
  if( is_page( \'2\' ) ) {
    wp_enqueue_style( \'wp-mediaelement\' );
    wp_enqueue_style(\'my-audio-player\', get_stylesheet_directory_uri() . \'/audio-player-styles.css\', array(), null );
  }else{
    wp_enqueue_style( \'wp-mediaelement\' );
  }
  wp_enqueue_script(\'wp-mediaelement\');
}
add_action( \'wp_enqueue_scripts\', \'my_enqueue_scripts\' );
当然,您可以对单个脚本执行相同的操作。

而且this 文章可能会有所帮助。