javaScript include包含ghost数据

时间:2017-06-27 13:07:56

标签: javascript nginx

我遇到一个我无法解释的奇怪问题,希望有人知道可能是什么原因。

我们正在测试在4台计算机上运行的JavaScript应用程序,每个打开4个独立的镀铬窗口。

应用程序是在vanilla JavaScript中创建的,因为它在生产中的非常低规格的计算机上运行。

应用程序index.html由nginx提供,包含一个包含所有所需代码的player.js JavaScript文件。

一切正常,但每2天左右就会发生以下情况:

index.html中包含的player.js javascript文件内显示以下内容。

HTTP/1.1 200 OK
Server: nginx
Date: Sat, 24 Jun 2017 05:25:30 GMT
Content-Type: application/javascript
Content-Length: 268068
Connection: keep-alive
ETag: "594dc946-41724"
Last-Modified: Sat, 24 Jun 2017 02:07:02 GMT
X-Frame-Options: SAMEORIGIN
Accept-Ranges: bytes

这会导致JavaScript错误,导致应用程序崩溃。

下面我已经包含了一段从服务器加载的JavaScript文件,以了解不需要的代码突然出现的位置。

           ping: function ping() {

                return new Promise(function (resolve, reject) {

                    var xhr = new XMLHttpRequest();
                    xhr.open('GET', app.config.endpoints.heartbeat);

                    xhr.onload = function () {
                        if (xhr.status === 200) {
                            var status = xhr.response;
                            if (status) resolve(true); // is true resolve
                            if (!status) reject(false); // not true
                        } else {
                            app.errorHandler.warn("not able to ping " + app.config.endpoints.heartbeat);
                            reject(false);
                        }
                    };

                    xhr.onerror = function () {
                        app.errorHandler.warn("there was a xhr.error during ping to " + app.config.endpoints.heartbeat);
                        reject(false);
                    };

                    xhr.send();
                });
            }
        };
    }());
}(window, window[app]);HTTP/1.1 200 OK
Server: nginx
Date: Sat, 24 Jun 2017 05:25:30 GMT
Content-Type: application/javascript
Content-Length: 268068
Connection: keep-alive
ETag: "594dc946-41724"
Last-Modified: Sat, 24 Jun 2017 02:07:02 GMT
X-Frame-Options: SAMEORIGIN
Accept-Ranges: bytes

"use strict";

+function (window) {
    /** Register the app name to use as the global `app` scope. */
    window.app = "edgeclient";
    /** The actual object that represents the `app` */
    window[app] = {};
}(window);
"use strict";

var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };

+function (window, app) {
    "use strict";
    /**
     * @description
     * Publish the `pageload` event on `DOMContentLoaded`.
     */

    document.addEventListener("DOMContentLoaded", function () {
        app.event.publish("pageload");
    }, false);

0 个答案:

没有答案