簡體   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