Web サイトに入ったときに「Trace Window」ポップアップ ウィンドウを実装し、Web サイト全体でそのウィンドウにメッセージを送信して、サイトで発生している厄介な問題を診断しようとしています。問題は、新しい TraceText が追加される前に、トレース ウィンドウが既に存在する場合、ページが変更されることです。すべてのコンテンツが削除されます。私が欲しいのは、Web サイト内の任意のページからメッセージを送信できる Window です。
すべての画面にスクリプトとして含める JavaScript スクリプト debugger.js があります (以下を参照)。次に、sendToTraceWindow() 関数を呼び出して、Web サイト全体にメッセージを送信します。これは現在、現在調査中の問題のため、ほとんどが vbscript で行われています。これは、debugger.js ですべての画面にスクリプトを作成しているためだと思います。これにより、traceWindow 変数 = null が設定されます (以下のコードを参照)。しかし、これを回避する方法がわかりません。
どんな助けでも大歓迎です。アンドリュー
コード例:
debugger.js :
var traceWindow = null
function opentraceWindow()
{
traceWindow = window.open('traceWindow.asp','traceWindow','width=400,height=800')
}
function sendToTracewindow(sCaller, pMessage)
{
try
{
if (!traceWindow)
{
opentraceWindow()
}
if (!traceWindow.closed)
{
var currentTrace = traceWindow.document.getElementById('trace').value
var newTrace = sCaller + ":" + pMessage + "\n" + currentTrace
traceWindow.document.getElementById('trace').value = newTrace
}
}
catch(e)
{
var currentTrace = traceWindow.document.getElementById('trace').value
var newTrace = "error tracing:" + e.message + "\n" + currentTrace
traceWindow.document.getElementById('trace').value = newTrace
}
}
traceWindow.asp - id='trace' のテキストエリアのみ:
<HTML>
<head>
<title>Debug Window</title>
</head>
<body>
<textarea id="trace" rows="50" cols="50"></textarea>
</body>
</HTML>