Javascript 关闭窗口-如何确定窗口是如何打开的?

Javascript 关闭窗口-如何确定窗口是如何打开的?,javascript,window,Javascript,Window,在一个页面上,我有一个带有target=“\u blank”的超链接 在目标页面上,我有一个“关闭”按钮,它使用JS关闭新的选项卡/窗口 如果用户单击超链接,我可以使用JS关闭打开的窗口。太好了 如果用户右键单击链接并选择“在新选项卡中打开”,my JS事件将无法关闭窗口。嘘声:-( 我理解这样做的原因,但是在第二种情况下,如果Javascript无法关闭窗口,我不想显示“关闭”按钮 所以我的问题是:如何预先确定窗口是否可以用Javascript关闭?不要使用target=“\u blank”,

在一个页面上,我有一个带有
target=“\u blank”
的超链接

在目标页面上,我有一个“关闭”按钮,它使用JS关闭新的选项卡/窗口

  • 如果用户单击超链接,我可以使用JS关闭打开的窗口。太好了

  • 如果用户右键单击链接并选择“在新选项卡中打开”,my JS事件将无法关闭窗口。嘘声:-(

  • 我理解这样做的原因,但是在第二种情况下,如果Javascript无法关闭窗口,我不想显示“关闭”按钮

    所以我的问题是:如何预先确定窗口是否可以用Javascript关闭?

    不要使用
    target=“\u blank”
    ,使用
    target=“popup1”
    。 然后,在新选项卡中,通过以下方式检测:

    if(window.name == "popup1") {
      document.body.className += " closeable";
    }
    
    然后:

    
    .closeable#closebutton{显示:块}
    
    不要使用
    target=“\u blank”
    ,使用
    target=“popup1”
    。 然后,在新选项卡中,通过以下方式检测:

    if(window.name == "popup1") {
      document.body.className += " closeable";
    }
    
    然后:

    
    .closeable#closebutton{显示:块}
    
    …除了添加一点,我不能再打开多个目标窗口,也不能自动聚焦任何后续打开的窗口。我必须调整
    目标
    ,使其每次都是唯一的名称。谢谢。是的,相应地调整目标名称,并对
    窗口使用子字符串匹配。名称
    …除了添加我不能再打开多个目标窗口,也不能自动聚焦任何后续打开的窗口。我必须调整
    目标
    ,使其每次都是唯一的名称。谢谢。是的,相应地调整目标名称,并使用子字符串匹配
    窗口。名称