HTA:VBScript文字列内のJavaScript関数は、HTAのエラーを引き起こしますか?
-
14-10-2019 - |
質問
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>"
余分な引用を正しくコメントしたと確信していますが、うまくいくことはできません。誰もが最初の行で私が間違っていることを見ることができますか?
編集:さらに、関連する4つの引用符ですべてのイベントを残しているが、内部JavaScript関数のすべてを削除すると、ページはまったく役立つ場合にページが正常にロードされます
解決
ああ...答えを見つけました。 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>"
所属していません StackOverflow