Wordpress 音频播放器和 SmoothState。调用回调以在新页面上重新加载播放器?

Posted

技术标签:

【中文标题】Wordpress 音频播放器和 SmoothState。调用回调以在新页面上重新加载播放器?【英文标题】:Wordpress Audio Player and SmoothState. What to call on callback to reload player on new pages? 【发布时间】:2016-01-23 06:45:05 【问题描述】:

我在“header.php”页面的代码中使用带有简码的 Wordpress 音频播放器。

我也在使用 SmoothState (http://miguel-perez.github.io/smoothState.js/)。

我必须在“回调”上调用什么函数才能在新页面上重新加载播放器?

我在 functions.php 中加入 js 和 css,如下所示:

wp_enqueue_style( 'wp-mediaelement' );
wp_enqueue_script( 'wp-mediaelement' );

【问题讨论】:

没有人知道该怎么做。难以置信。 【参考方案1】:

wp_enqueue_script(); 所做的只是在检查依赖项后将脚本放入您的页面。它不会在不同的页面上为您重新加载播放器。但是,只要您正确使用此功能,您的脚本应该会加载到每个页面上。也许您的错误在其他地方?

From the WordPress documentation on wp_enqueue_script();:

在正确的时间将脚本文件链接到生成的页面 到脚本依赖项,如果脚本还没有 包括以及是否已注册所有依赖项。

如果 Wordpress 音频播放器 将 jQuery 作为依赖项(很可能),您的 functions.php 文件应如下所示:

function wpaudioscript() 
    // Parameters are name, path, dependency, version, loadinfooter
    // Better explanation here: http://codex.wordpress.org/Function_Reference/wp_enqueue_script
    wp_enqueue_script(
        'name-of-script',
        get_stylesheet_directory_uri() . '/js/custom_script.js',
        array( 'jquery' ),
        1.0.0,
        true
    );


add_action( 'wp_enqueue_scripts', 'wpaudioscript' );

其他注意事项:

您应该在应用程序的页脚中加载脚本以获得更好的性能。将 wp_enqueue_script 的第五个参数设置为true,如上例所示,将为您执行此操作。 许多人通常将这样的自定义功能放入他们的 functions.php 文件中,但我发现将您自己的所有修改放入自定义模块中会更简洁。 Smashing Mag a nice rundown of how to do this。

【讨论】:

这不能回答我的问题。我正在该 js 中寻找一个脚本调用,用于使用 Smoothstate 重新加载播放器。就像一个 ajax 加载页面。 你真的在这里问了两个不同的问题。 wp_enqueue_script 不支持回调。我从未使用过 smoothstate,但我找到了一篇文章,供您使用 5 秒的 google 搜索,了解 smoothstate 和 WP 的交互方式:parsonsprojects.co.uk/smoothstate-wordpress - 看看,看看你在哪里。

以上是关于Wordpress 音频播放器和 SmoothState。调用回调以在新页面上重新加载播放器?的主要内容,如果未能解决你的问题,请参考以下文章

一键事件吼js播放多个音频文件

为啥 HTML5 音频标签在 iOS 上显示错误?

使用 snd_pcm_writei() 播放音频时如何正确处理 ALSA 编程中的 xrun?

如何使用 PHP 在移动设备上强制下载音频 mp3

在 Chrome、Edge 和 Firefox 中视频有声音但没有图像

iOS音频播放