HTA:VBScript字符串中的Javascript函数导致HTA错误?

时间:2010-12-31 19:09:08

标签: javascript vbscript hta

我在我的HTA中使用了javascript / vbscript,并且正在为VBS循环中的HTA接口构建表。当我简单地跑:

strHTML = strHTML & "<tr>" &_ 
        "<td><a id=""" & aName & """ href=""javascript:toggleRow('" & rowName & "','" & arrTemp(1) & "','" & aName & "')"">+ </a>" & arrTemp(1) & "</td>" & _
        "<td>" & arrTemp(2) & "</td><td class='status'>" & _
        "<img onclick=""displayRow()"" src='" & strStatus & "' border='0'></td></tr>" & _
        "<tr id='" & rowName & "' style=""display:none;""><td id='" & arrTemp(1) & "' colspan=""3"">test</td></tr>"

...我的HTA显示正常。但是当我尝试将Javascript函数添加到TR标记时,我会收到各种VBS错误:

strHTML = strHTML & "<tr onmouseover=""ChangeColor(this, true);"" onmouseout=""ChangeColor(this, false);"" onclick=""DoNav();"">" &_ 
        "<td><a id=""" & aName & """ href=""javascript:toggleRow('" & rowName & "','" & arrTemp(1) & "','" & aName & "')"">+ </a>" & arrTemp(1) & "</td>" & _
        "<td>" & arrTemp(2) & "</td><td class='status'>" & _
        "<img onclick=""displayRow()"" src='" & strStatus & "' border='0'></td></tr>" & _
        "<tr id='" & rowName & "' style=""display:none;""><td id='" & arrTemp(1) & "' colspan=""3"">test</td></tr>"

我很确定我已正确评论了额外的引文,但我无法让它发挥作用。谁能在第一行看到我做错了什么?

编辑:此外,如果我将所有on *事件及其关联的4个引号保留但删除所有内部javascript函数,那么页面加载正常(如果这有用的话)

1 个答案:

答案 0 :(得分:1)

啊......找到了答案。 HTA将这些功能解释为VBS功能。 javascript的明确声明就是诀窍:

strHTML = strHTML & "<tr onmouseover=""javascript:ChangeColor(this, true);"" onmouseout=""javascript:ChangeColor(this, false);"" onclick=""javascript:DoNav();"">" &_ 
                          "<td><a id=""" & aName & """ href=""javascript:toggleRow('" & rowName & "','" & arrTemp(1) & "','" & aName & "')"">+ </a>" & arrTemp(1) & "</td>" & _
                          "<td>" & arrTemp(2) & "</td><td class='status'>" & _
                          "<img src='" & strStatus & "' border='0'></td></tr>" & _
                          "<tr id='" & rowName & "' style=""display:none;""><td id='" & arrTemp(1) & "' colspan=""3"">test</td></tr>"