【问题标题】:Use Pace.js to track dynamically loaded script使用 Pace.js 跟踪动态加载的脚本
【发布时间】:2016-04-30 19:41:42
【问题描述】:

我正在使用独立的 pjax 和 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();
});

任何帮助/建议将不胜感激!

【问题讨论】:

    标签: javascript ajax houndify pace


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-30
      • 2011-03-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多