javascript window.open无限加载

时间:2018-10-31 10:26:19

标签: javascript window.open

我有一个可以返回错误状态和消息的JQuery ajax请求。

要处理它们,我使用以下代码:

$.ajax("url", {
    options: options
}).done(function(text, statusText, data) {
    //Manage data
}).fail(function(data) {
    //Manage fail
});

在失败句柄中,如果要使用500: internal server error,我想打开一个带有响应文本的新标签页(用于调试)

我这样做:

if (data.status === 500) {
    var w = window.open("App error", "blank");
    w.document.write(data.responseText);
}

而且有效!
除了一点:我的浏览器加载了页面,显示了内容(由于它是静态内容,所以这不是一个真正的问题),但是该标签被标记为正在加载...正在加载...。正在加载...

我正在使用Firefox 63.0(64位)。

有人知道这是哪里来的吗?并不是很烦人,这只是我不理解的(有趣?)行为。

Here is a fiddle on which I get the exact same behavior.

1 个答案:

答案 0 :(得分:4)

它与w.document.write行有关。如果关闭文档,则加载程序将完成。将代码更改为:

if (data.status === 500) {
    var w = window.open("App error", "blank");
    w.document.write(data.responseText);
    w.document.close();
}

来源: Open about:blank window in firefox