【问题标题】:How to close browser window using Asp.Net MVC and JavaScript如何使用 Asp.Net MVC 和 JavaScript 关闭浏览器窗口
【发布时间】:2022-12-08 21:24:07
【问题描述】:
我想在一些成功操作后关闭窗口选项卡,因为客户不想手动关闭它
下面的脚本
<script type="text/javascript">
window.close()
<script>
仅关闭当前 View(),而不是整个窗口。
但是,如果它在第一次启动时放在“_Layout.cshtml”中,则脚本会按预期进行处理。但是经过几次重定向,然后返回“index.cshtml”时,出现错误
脚本可能只关闭它们打开的窗口。
我知道这是javascript的防御性约束,但是我对js不好,不知道这个错误在什么情况下出现,如何绕过或者避免
【问题讨论】:
标签:
javascript
c#
asp.net
.net
asp.net-mvc
【解决方案1】:
为了避免烦恼和不良做法,浏览器不允许 Javascript 关闭浏览器窗口,除非它们检测到明确的操作(即按下按钮的结果)。如果你想在一些异步工作后关闭窗口,你很可能无法这样做。
您应该尝试添加一个弹出窗口,让用户可以选择单击一个按钮,如果足够的话,该按钮将关闭选项卡。您可以将以下内容添加到按钮以使其这样做:
onClick="window.close()"
它应该工作得很好。如果失败,请尝试使用类似的标签
<a href="javascript:close_window();">Close</a>
如果您绝对不能没有此功能,则需要为您想要支持的每个浏览器创建一个扩展程序,该扩展程序将根据请求关闭窗口。除此之外,您还需要找到一个漏洞。