1

つまり、 datatablesという JavaScript ライブラリで強化された HTML テーブル内で、新しい WordPress 3.6 [audio] ショートコード (mediaelement.js) を使用しています。
これは私のページです: http://thetracksmiths.com/beats/fight-club/

上記のページを任意の PC または Mac (任意のブラウザー) で表示すると、すべて問題なく動作します。iPhone または iPad で表示すると、テーブル内のプレーヤーは機能しません。答えを徹底的に探した後、いくつかのテスト後にデータテーブルの作成者が言わなければならなかったことは次のとおりです(下部の太字に注意してください)

そのため、これについてもう少し調べてみたところ、DataTable がなくても問題を簡単に再現できます。行う必要があるのは、ドキュメントから要素を削除してから、再度追加することだけです。メディア プレーヤーは、その後 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