我有一个应用程序,其中客户端将多个异步javascript请求发送到第三方服务器。我面临的问题是,只要客户端响应这些响应,该站点就会在这毫秒的时间内变为非活动状态。因此,发送这些多个请求会增加不活动时间。例如,如果我发送了x个请求,并假设每次响应该站点在y avg毫秒内都处于非活动状态,则总无效时间为x * y。如何将这些通话减少为一个通话。我指的第三方就像是呼吁Google Analytics(分析),google ad Leads等等
这是我正在拨打电话的示例
function () {
var oldonload = window.onload;
window.onload = function(){
__adroll_loaded=true;
var scr = document.createElement("script");
var host = (("https:" == document.location.protocol) ? "https://s.adroll.com" : "http://a.adroll.com");
scr.setAttribute('async', 'true');
scr.type = "text/javascript";
scr.src = host + "/j/roundtrip.js";
((document.getElementsByTagName('head') || [null])[0] ||
document.getElementsByTagName('script')[0].parentNode).appendChild(scr);
if(oldonload){oldonload()}};
}());
首先:内联异步javascript不会阻止浏览器。但是立即调用函数可以。您无需将window.onload
回调嵌套到立即调用的函数中。
我建议您提供一种功能来响应浏览器事件。举个例子:
window.onload = function() {
//do everything here
}
如果您的应用逻辑可能,请将此脚本放在</body>
关闭标签之前。
这可能对您有帮助。无论如何,我还建议您评估脚本执行时您的应用程序实际执行的操作。您可以轻松地做到这一点,例如,使用chrome开发人员工具(“时间轴”标签)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句