• Resolved skillsharejp

    (@skillsharejp)


    CloudFlareのRocket Loaderを使用するとreporter.jsが正常に読み込まれないため、プラグインがjavascriptを出力する際に標準で「data-cfasync=”false”」を含めていただけないでしょうか?

    含めたところで他の機能が一切停止する、遅くなるという事はないので。

Viewing 5 replies - 1 through 5 (of 5 total)
  • Thread Starter skillsharejp

    (@skillsharejp)

    最終的には出力コードがこうなると思います。ドメイン名は隠してます。

    <script data-cfasync=”false”>
    /* <![CDATA[ */
    var aurora_heatmap_reporter = {"ajax_url":"https:\/\/staging.***\/wp-admin\/admin-ajax.php","action":"aurora_heatmap","access":"pc","interval":"10","stacks":"10","reports":"click_pc,click_mobile","debug":"0"};
    /* ]]> */
    </script>
    <script data-cfasync=”false” src='https://staging.***/wp-content/plugins/aurora-heatmap/js/reporter.js?ver=1.3.2&fver=20200108013626'></script>
    • This reply was modified 5 years, 2 months ago by skillsharejp.
    Plugin Author r3098

    (@r3098)

    ご希望の data-cfasync=”false” の追加は副作用が少ない点ではよい方法だと思います。

    ただ、サイト全体を他のプラグインなども含めて全般的に考慮しますと、他にも data-cfasync=”false” が必要なケースが生まれる可能性がありそうです。
    こう捉えますと Aurora Heatmap というより、適用している高速化処理に合わせて、ユーザー側で調整する部分にあたるのではないかと考えます。

    さまざまなプラグインの利用が想定される環境では、CloudFlare の Rocket Loader は高速化の Automatic でなく、有効指定があれば高速化の Manual が望ましいかもしれません。
    (詳しくは次の記事などをご覧ください https://wispyon.com/w3totalcache-cloudflare/#toc4

    Aurora Heatmap での script タグの挿入は WordPress で一般的な wp_enqueue_script() 関数と wp_localize_script() 関数で行っています。
    これらの関数側では data-cfasync=”false” などを直接付与できないため、Automatic のまま「Aurora Heatmap の reporter.js を高速化の対象外としたい」場合はフィルターフックで付け加える形になります。
    functions.php などに追記するコードをお伝えすることは可能ですので、こちらの手法がご希望でしたら、ご返信ください。

    Thread Starter skillsharejp

    (@skillsharejp)

    昔はマニュアルモードで細かく設定できたのが良かったですが、今はもうその機能がありません。ご紹介いただいた記事も昔を基準とした内容です。

    ページ等に応じてプラグイン読み込みを制御できるプラグインを使っているのですが、Aurora Heatmapはログアウト時にしかコードが出力されないので意図的に読み込みを停止させてRocket Loader対応コードを読み込ませるという事ができませんでした。

    なのでfunctions.phpのフィルターフックを教えていただけるととても助かります。

    Plugin Author r3098

    (@r3098)

    >昔はマニュアルモードで細かく設定できたのが良かったですが、今はもうその機能がありません。ご紹介いただいた記事も昔を基準とした内容です。
    そうなのですね、それはそれで不便ですね。
    では、下記をお使いのテーマのfunctions.phpに追加してみてください。

    function ahm_reporter_add_cfasync_false( $tag, $handle, $src ) {
        if ( 'aurora-heatmap-reporter' === $handle ) {
            return str_replace( '<script ', '<script data-cfasync="false" ', $tag );
        }
        return $tag;
    }
    add_filter( 'script_loader_tag', 'ahm_reporter_add_cfasync_false', 10, 3 );
    Thread Starter skillsharejp

    (@skillsharejp)

    動作確認できました!ありがとうございます。m(_ _)m

Viewing 5 replies - 1 through 5 (of 5 total)
  • The topic ‘data-cfasync=”false”をjavascriptへ含めてほしい’ is closed to new replies.