AnsweredAssumed Answered

Munchkin.js を埋めたウェブページで、タブやリンクの挙動が重くなる問題を回避したい

Question asked by 2b1c1db310dc3aa12ebdde306c9787c90e2db2df on Jun 4, 2015

Munchkin.js を埋めたウェブページで、タブやリンクの挙動が重くなる問題について、回避方法をご教授いただけませんでしょうか。

 

手元で問題になっているのは、次のような HTML で、それぞれのa要素をクリックすると、タブが切り替わる、という実装です。Bootstrap を使っています。

Munchkin が埋まったページだけ、クリックしてから、切り替えまでに、時間がかかります。

 

<li class="active"><a href="tabA.html" data-toggle="tab">...</a></li>

<li><a href="tabB.html" data-toggle="tab">...</a></li>

 

調べたところ、Munchkin によって、リンクをクリックしたときに、Marketo のサーバーにビーコンが飛んでいるようです。

非同期通信ではなく、同期通信のようです。おそらく、クロスドメイン制約を回避するためと思います。

そして、ビーコンの読み込みが完了してはじめて、class 属性のつけかえ(li 要素の .active セレクタ)が発火しました。

 

試しに、a 要素を div 要素に置き換えると、速くなりました。

 

しかし、アクセシビリティの点で特別な配慮をしなくともキーボードフォーカスがあたること、JavaScript が動作しない環境でリンクがたどれることを考えて、できれば a 要素での実装を維持したいと思います。

 

特定の a 要素だけ、Munchkin のトラッキング対象からはずす、あるいは、Munchkin のイベント発火より先に class 属性のつけかえが発火するように順番を変える、などの方法はありませんでしょうか。

 

ぜひ、ご教授いただますよう、お願いいたします。

Outcomes