使用Pace.js跟踪动态加载的脚本

时间:2016-04-28 18:53:24

标签: javascript ajax houndify pace

我正在使用pjax standalone和pace.js来显示页面加载进度。一切顺利。

但是我有一个脚本,我按照一个非常大的按钮点击动态加载(houndify-web-sdk.min.js 700kb),并且还希望显示此负载的进度。

目前正在添加脚本:

var newScript = document.createElement("script");

newScript.setAttribute("src", "/js/large-script.min.js");
document.body.appendChild(newScript);

是否有可能加快跟踪此负载的速度?

我也没试过下面的Pace.track功能。

Pace.track(function() {
  var xhr = new XMLHttpRequest();
  xhr.open("GET", "http://large.min.js", true);
  xhr.responseType = "text";

  xhr.onload = function() {
    if (this.status === 200) {
      console.log("loaded");
    // not sure how I would then put the response into a script src file
    }
  };
  xhr.send();
});

非常感谢任何帮助/建议!

1 个答案:

答案 0 :(得分:1)

如果其他人遇到此问题 - 使用jQuery.getScript()效果很好。要启用缓存,最好按以下方式执行:

$.ajax({
  url: url,
  dataType: "script",
  success: success,
  cache: true
});
相关问题