最近我注意到我网站的 javascript 代码中存在一些性能问题。经过一些分析后,我发现问题出在我用来跟踪事件的 Marketo Munchking 代码上。看起来最近他们改变了他们的 JS 代码,为每次调用发送同步 http 请求到Munchkin.munchkinFunction
. 相关的代码片段是:
a=new XMLHttpRequest;a.open("GET",b,!1); ... a.send();
我已经向 Marketo 开了一张票,但在他们修复他们的代码之前,我正在寻找一种解决方法。我想到了几个:
- 有没有办法挂钩他们的 js 代码以强制
XMLHttpRequest
异步? - 直接引用其脚本的旧版本是安全的,例如
//munchkin.marketo.net/143/munchkin.js
. 我测试了它并且它有效,但也许我错过了一些东西。
还有其他解决方法吗?任何想法都值得赞赏。
更新:
刚刚收到 Marketo 支持的回复。他们承认调用确实是同步的,但他们声称这是不丢失信息的唯一方法。我猜他们会想到Munchkin.munchkinFunction
在重定向之前拨打电话的情况。我不同意他们的观点,并会要求他们提供替代方案。与此同时,我正在使用他们的旧版本代码。
更新#2:
从他们的支持团队那里得到了另一个回复,说我的想法很好,但他们现在无法实施,他们希望有一天开发人员会接受它们......无论如何,我已经在 Marketo 中创建了一个想法社区。