2009-06-16 14 views
1

私の会社は、ASP.NETで開発したアプリケーションを別の会社が使用する必要があります。アプリケーションは2つの独立したブラウザウィンドウで開く必要があります。アプリケーションを開発した会社は、メインページの上部にJavaScriptを追加して、ユーザーがアプリケーションの複数のインスタンスを開くのを止めました。次のようにメインページの最上部に配置されたスクリプトは次のとおりです。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> 

は、そのページへのリンクを開くと、複数のインスタンスを開くことができるように、とにかくはありますか?または、とにかくそのスクリプトの実行を停止する必要があります。あなたが別のウィンドウを開いて停止している

+0

あなたは、この他のアプリのソースコードがありませんし、同じ名前

OpenApplicationWindow

で別の関数を書いてみては? – RichardOD

+0

いいえ、ソースにアクセスする予定はありません。 – Lukasz

+0

sessionIdは動的ですか?アプリケーションを開くたびに異なるのですか?それとも毎回同じですか? –

答えて

1

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タグを削除するには、このページの例を参照してください。

+0

あなたはそのようなことをする方法についていくつかの情報源を教えてもらえますか? – Lukasz

+0

上記のリンクが役立つかどうかを確認してください。基本的に、あなたの目標は、 'OpenApplicationWindow();'を置き換えることです。ベンダーのページの本文に含まれている場合は空の文字列で置き換えます。数台のワークステーション以上に必要な場合は、おそらくWindowsサービスのようにもう少し透明なものが必要になるでしょう。 – steamer25

0

スクリプトは、ウィンドウが再びそれを開く前に、すでにその名前で存在していないことを確認して

セッションIDれるwindow.openへの第二のパラメータです。

あなたが本当に頼んでいるかどうかわからないことは確かです。

+0

申し訳ありませんが、私はなぜ/どのように2つのウィンドウを開くのを止めているのか理解しています。私が何を求めているかは、とにかく複数のウィンドウを開く方法です。 – Lukasz

0

Firefoxを使用している場合は、greasemonkeyスクリプトをコーディングしてJavaScript機能を無効にすることができます。

+0

私たちの組織はIEのみを使用できます。注:IEを使用できるのは、上司がすべての従業員にWindows XPのActive Desktopでイントラネットを実行する必要があるためです。私たちがVistaまたは7に移行すると、おそらく新しいOS用のアクティブなデスクトップをコード化するだろうか? lol – Lukasz

1

GreaseMonkey for IEを使用して、問題のスクリプトを上書きまたは削除するための小さなカスタムスクリプトを作成できます。

さらにinformationについては、IEでgreasemonkeyスクリプトを使用してください。

+0

これは、ソフトウェアの配備を必要としないソリューションでなければなりません。 – Lukasz

1

同じセッションで2つのインターフェイスが動作して競合状態が発生するのを防ぐため、複数のウィンドウを同時に開くのをブロックしようとします。

2つのウィンドウを同時に開くことができれば、おそらく壊れるでしょう。

最も簡単な回避策は、2つの別個のブラウザを実行することです。それぞれが独自のセッションを獲得し、互いに干渉することはありません。

+0

最初のブラウザでURLを実行すると、新しいウィンドウが開き、URLを実行するために使用したブラウザウィンドウが閉じてしまうのは本当に奇妙です。別のブラウザウィンドウを開くと、URLを実行すると新しいウィンドウが開きますが、ブラウザウィンドウは閉じられ、URLを実行するブラウザウィンドウも閉じます。だからあなたは1つのウィンドウで終わる。 – Lukasz

関連する問題