gpt4 book ai didi

javascript - 主线程上的同步 XMLHttpRequest 已弃用

转载 作者:行者123 更新时间:2023-11-28 07:27:25 27 4
gpt4 key购买 nike

  • 我正在研究 extjs 框架..
    • 我有一个在 extjs 上运行的应用程序..
    • 每当我在浏览器中打开应用程序时...我都会看到以下内容我的控制台中出现警告...

主线程上的同步 XMLHttpRequest 已被弃用,因为它会对最终用户的体验产生不利影响。如需更多帮助,请查看http://xhr.spec.whatwg.org/

  • 你们能告诉我如何删除它吗..
  • 当我点击 ext-all-debug-w-comments.js 文件所需的警告时
  • 并指向以下代码部分...

    尝试{ xhr.open('GET', noCacheUrl, false); xhr.send(null); } 捕获 (e) { isCrossOriginRestricted = true; }

  • 你们能告诉我如何防止这种情况发生吗...

  • 在该文件中提供下面的代码

    /** * 加载脚本文件,支持异步和同步方式 * @私有(private)的 */ loadScriptFile: 函数(url, onLoad, onError, 范围, 同步) { if (isFileLoaded[url]) { 返回装载机; }

            var config = Loader.getConfig(),
    noCacheUrl = url + (config.disableCaching ? ('?' + config.disableCachingParam + '=' + Ext.Date.now()) : ''),
    isCrossOriginRestricted = false,
    xhr, status, onScriptError,
    debugSourceURL = "";

    scope = scope || Loader;

    Loader.isLoading = true;

    if (!synchronous) {
    onScriptError = function() {
    };

    scriptElements[url] = Loader.injectScriptElement(noCacheUrl, onLoad, onScriptError, scope);
    } else {
    if (typeof XMLHttpRequest != 'undefined') {
    xhr = new XMLHttpRequest();
    } else {
    xhr = new ActiveXObject('Microsoft.XMLHTTP');
    }

    try {
    xhr.open('GET', noCacheUrl, false);
    xhr.send(null);
    } catch (e) {
    isCrossOriginRestricted = true;
    }

    status = (xhr.status === 1223) ? 204 :
    (xhr.status === 0 && (self.location || {}).protocol == 'file:') ? 200 : xhr.status;

    isCrossOriginRestricted = isCrossOriginRestricted || (status === 0);

    if (isCrossOriginRestricted
    ) {
    }
    else if ((status >= 200 && status < 300) || (status === 304)
    ) {
    // Debugger friendly, file names are still shown even though they're eval'ed code
    // Breakpoints work on both Firebug and Chrome's Web Inspector
    if (!Ext.isIE) {
    debugSourceURL = "\n//@ sourceURL=" + url;
    }

    Ext.globalEval(xhr.responseText + debugSourceURL);

    onLoad.call(scope);
    }
    else {
    }

    // Prevent potential IE memory leak
    xhr = null;
    }
    },

最佳答案

此警告仅在 ExtJs 开发环境中的 Chrome 中显示。使用 sencha cmd 构建应用程序后,警告将不再显示。正如@Evan 指出的那样,该警告看起来是良性的,您不必担心它。

事实上,存在警告不应成为问题,因为它永远不会显示在已部署的应用程序中。如果您尚未使用 sencha cmd,那么将其集成到您的开发周期中绝对值得。

我知道这不是问题的直接答案。我本人想知道是否有可能完全摆脱这个警告。

关于javascript - 主线程上的同步 XMLHttpRequest 已弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29481767/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com