1

简而言之,我在一个 HTML 表格中使用了新的 WordPress 3.6 [音频] 短代码(即 mediaelement.js),该表格通过一个名为datatables的 javascript 库进行了增强。
这是我的页面:http ://thetracksmiths.com/beats/fight-club/

如果您在任何 PC 或 Mac(在任何浏览器中)上查看上述页面,一切都很好。在 iPhone 或 iPad 上查看,表内的玩家将无法使用。在竭尽全力寻找答案之后,以下是数据表的作者在经过一些测试后不得不说的内容(注意底部的粗体字)

因此,我对此进行了更多研究,并且在没有 DataTables 的情况下,我可以相当轻松地复制该问题。所需要做的就是从文档中删除元素,然后重新添加。在 iOS 上之后,媒体播放器根本无法播放(这种删除和添加是 DataTables 工作方式的基础)。

例如,如果您在页面上禁用 DataTables 并添加以下代码:

jQuery(document).ready( function ($) {
    var a = $('#tablepress-2 tbody tr:eq(2)')[0];
    a.parentNode.removeChild( a );

    $('#tablepress-2 tbody').append( a );
} );

表中的所有玩家都可以工作,除了最后一行(已删除并重新添加的那一行)。

因此,这不是 DataTables 做错的事情,而是由 DataTables 采取的操作触发的媒体播放器中的问题。正如我所说,这是 DataTables 的基础并且不太可能改变,所以我们需要知道媒体播放器库的作者是否可以修复它,以便在项目被删除然后重新添加到 DOM 时进行修复。或者,当元素重新添加到 DOM 时,可以调用某种重新初始化。

如果我正确理解了所有这些(我不是编码员!),那么作者所说的是,当音频代码中的某些内容从页面上取下然后重新添加时,它在 iOS 上播放得很糟糕。这是一个真正的错误吗?如何解决这个问题?

4

0 回答 0