最近、サイトの JavaScript コードにパフォーマンスの問題があることに気付きました。プロファイリングを行った結果、問題はイベントの追跡に使用している Marketo Munchking コードにあることがわかりました。最近、JS コードを変更して、へのすべての呼び出しに対して同期 http 要求を送信するように見えますMunchkin.munchkinFunction
。関連するコード スニペットは次のとおりです。
a=new XMLHttpRequest;a.open("GET",b,!1); ... a.send();
Marketo でチケットをオープンしましたが、Marketo がコードを修正するまで回避策を探しています。私はいくつか考えました:
- jsコードをフックして
XMLHttpRequest
非同期にする方法はありますか? - たとえば、古いバージョンのスクリプトを直接参照しても安全です
//munchkin.marketo.net/143/munchkin.js
。私はそれをテストし、動作しますが、何かが足りないかもしれません。
これ以上の回避策はありますか? どんな考えでも大歓迎です。
更新:
マルケトのサポートから返事が来ました。彼らは呼び出しが実際に同期的であることを認めていますが、これが情報を失わない唯一の方法であると主張しています。Munchkin.munchkinFunction
リダイレクトの直前にへの呼び出しが行われた場合を考えていると思います。私は彼らに同意しません。代替案を提供するよう依頼します。その間、私は古いバージョンのコードを使用しています。
更新#2:
彼らのサポート チームから、私のアイデアは良いとの返事がありましたが、今すぐ実装することはできず、開発者の 1 人がいつかそれらを取り上げてくれることを望んでいます...とにかく、Marketo でアイデアを作成しましたコミュニティ。