当我进入一个网站时,我正在尝试实现一个“跟踪窗口”弹出窗口,然后在整个网站上向该窗口发送消息,以便诊断我在网站上遇到的一些更尴尬的问题。问题是页面发生变化,如果跟踪窗口已经存在,则在添加新的 TraceText 之前删除所有内容。我想要的是一个可以从网站内任何页面发送消息的窗口。
我有一个 javascript Script debugger.js,我将它作为脚本包含在每个屏幕中(如下所示),然后我会调用 sendToTraceWindow() 函数在整个网站上向它发送消息。由于我正在调查的问题,目前这主要是在 vbscript 中完成的。我认为这是因为我在 debugger.js 中编写脚本到每个屏幕,它设置 traceWindow 变量 = null (见下面的代码)但我不知道如何解决这个问题!
非常感谢任何帮助。安德鲁
代码示例:
调试器.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>