我终于找到了一种方法,但这有点麻烦,但它现在可以完成这项工作
Dim url1 As String = "MYURL.html"
Response.Write("<script>")
Response.Write("newwindow=window.open('" + url1 + "','_blank');")
Response.Write("newwindow.focus()")
Response.Write("window.open('" + HttpContext.Current.Request.Url.AbsoluteUri + "','_self')")
Response.Write("</script>")
代码下面的行将获得相同的 url 并在同一个选项卡中打开它(就像 location.reload(); 会做的那样,但在这种情况下我无法使用它,所以我想出了这个替代品)并且作为第一个页面有一个元标记,可以在 ie edge 中打开页面,一切看起来都很好。
Response.Write("window.open('" + HttpContext.Current.Request.Url.AbsoluteUri + "','_self')")
编辑:
如果弹出窗口阻止程序仍然阻止该站点,则第一页将进入怪癖模式.. 但是下面的代码会提醒用户解决问题,如果弹出窗口阻止程序被禁用,它会显示第二页
Dim url1 As String = "MYURL.html"
Response.Write("<script>")
Response.Write("newwindow=window.open('" + url1 + "','_blank');")
Response.Write("if(!newwindow || newwindow.closed || typeof newwindow.closed=='undefined'){")
Response.Write("alert('please disable pop-up blocker for this site');")
Response.Write("}")
Response.Write("else{")
Response.Write("newwindow.focus();")
Response.Write("}")
Response.Write("window.open('" + HttpContext.Current.Request.Url.AbsoluteUri + "','_self')")
Response.Write("</script>")
编辑 2:我终于发现了问题所在...实际上 response.write 是我的第一页进入怪癖模式并修复它的原因,我使用了 Page.RegisterClientScriptBlock 之类的波纹管打开我的窗口,一切正常
Page.RegisterClientScriptBlock("", "<script>window.open('" & MYURL & "', '_blank', 'toolbar=no');</script>")