繁体   English   中英

停止 JavaScript 关闭 window

[英]Stopping JavaScript from closing a window

我的公司需要使用另一家公司在 ASP.NET 开发的应用程序。 该应用程序需要在两个单独的浏览器 windows 中打开。开发该应用程序的公司在主页顶部添加了一些 JavaScript 以阻止用户打开该应用程序的多个实例。 放置在主页顶部的脚本如下:

<script type="text/javascript">
  function OpenApplicationWindow() {
    var sessionId = 'sidus455bjzspf55cunqrv55';
    if (window.name.search(sessionId) == -1) {
        window.open(window.location.href, sessionId, "resizable=yes,scrollbars=yes,toolbar=no,status=yes");
      window.open('', '_parent', '');
      window.close();
    }
  }
  OpenApplicationWindow();
</script>

无论如何打开该页面的链接并允许打开多个实例? 还是无论如何要阻止该脚本运行。

除了禁用 JavaScript(这可能会导致其他问题)之外,我唯一能想到的就是编写一个小代理来剥离这些东西。

如果您只在几个工作站上需要它,您可以使用带有脚本编辑器的 Fiddler 来检查和修改响应。

http://www.fiddler2.com/Fiddler2/version.asp -- 下载Fiddler
http://www.fiddler2.com/fiddler/FSE.asp -- 下载脚本编辑器。
http://www.fiddler2.com/Fiddler/Dev/ScriptSamples.asp -- 请参阅此页面上的示例以删除所有 div 标记。

您可以使用GreaseMonkey for IE ,并创建一个小的自定义脚本来覆盖或删除有问题的脚本。

有关在 IE 中使用 greasemonkey 脚本的更多信息

我怀疑该应用程序试图阻止同时打开多个 windows,以防止由于两个接口在同一个 session 上运行而导致的竞争条件。

如果你可以同时打开两个 windows,它可能会崩溃。

最简单的解决方法是运行两个独立的浏览器。 每个人都会得到自己的 session,他们不会互相干扰。

阻止您打开另一个 window 的脚本是 window.open 的第二个参数,即 sessionid

它正在检查 window 在再次打开之前不存在具有该名称的名称。

不确定那是否是您真正要问的。

如果您使用的是 Firefox,您可以编写一个 greasemonkey 脚本来覆盖 JavaScript function。

尝试写另一个同名的 function

打开应用程序窗口

那什么都不做

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM