代码之家  ›  专栏  ›  技术社区  ›  EMP

在javascript中打开新的浏览器窗口而不激活它

  •  0
  • EMP  · 技术社区  · 15 年前

    我有一些JavaScript可以进行Ajax调用,如果调用失败,将打开一个新窗口(Firefox中的选项卡),并在该窗口中显示服务器的响应。这对于调试非常方便,因为错误通常来自于挂架,所以它是一个完整的HTML页面。

    唯一的问题是,新的标签变成了活动的标签,这将完全混淆一个普通用户。是否有任何方法可以打开选项卡/窗口,但不能使其处于活动状态,即保持当前的活动窗口?

    我的代码当前如下:

        errorWindow = window.open("", "TCerrorWindow")
        if (errorWindow)
            errorWindow.document.write(xhr.responseText);
    
    2 回复  |  直到 15 年前
        1
  •  5
  •   Duroth    15 年前

    你可以打电话 errorWindow.blur(); window.focus(); 之后,强制浏览器将焦点返回到上一个窗口。

    你试图达到的效果通常被称为 pop-under window .

        2
  •  3
  •   simon    15 年前

    阿法克,这是不可能的,作为一个安全措施,防止弹出窗口。出于调试目的,您可以

    • 使用Firebug(使用一个方便的控制台,您可以从代码中输出自己的日志消息)
    • 在页面上创建调试层(DIV),在该层中,如果发生错误,将输出错误消息