0

这更像是一个信息性帖子,而不是一个问题。但我会留下一个开放式问题;如果您可以改进这个想法,请分享。~编辑

有没有更好的方法将变量存储在 HTA 中?我想出了这种方法并且它有效,但我不确定这是否是最好的方法;

前言:我是编码新手。

我一直在开发一个由 VBScript 支持的 GUI(包装在 HTA 中)。我正在寻找一种动态存储变量的方法,我可以轻松地独立调用其他子/函数。这就是我想出的;

伪代码:

Function StoreVar()
    If somecondition = "someexpectation" Then
      source.InnerHTML = "<a name='myVar' value='var1'></a>"
    Else 
      source.InnerHTML = "<a name='myVar' value='var2'></a>"
    End If
End Function

标记;

<div id="source"></div>
<input type="button" name="Show Variable" onclick="CallVar()" />

调用存储的变量;

Function CallVar()
   MsgBox myVar.value
End Function

相当直截了当,但使用了一些技巧,因为您永远不会看到实际存储的变量,因为它要进入的 div 不会出现在 GUI 中。它可能对 GUI 产生的唯一影响是 div 在 html 中的实际位置。我通常将这些 div 放在我的 html 正文的末尾。

不管怎样,我才正式加入。自从我开始编码(不是太久)以来,我一直在使用这个网站,但我想我会开始贡献。

4

1 回答 1

1

使用 VB 脚本,您可以只定义一个全局变量,然后您可以调用它并从代码中的任何位置更改它,即使在 Javascript 中,如果您将其添加到 hta。

<script language="VBScript" type="text/vbscript">
Dim MyValue

Sub storeValue(theValue)
    If theCondition Then
        MyValue = theValue
    Else
        MyValue = "Something Else"
    End If
End Sub

Sub retrieveValue
    MsgBox MyValue
End Sub 
</script>

<script language="javascript" type="text/javascript">
    function clearValue() {
        MyValue = ""
    }
</script>

编辑:我想编辑说,我实际上正在做你提到的在 HTA 中使用的一些变量,除了我将 InnerHTML 的值存储为“值”并且我的 div 设置为“显示:没有任何。”

<div id=theDiv style="display:none"></div>
然后
theDiv.InnerHTML = MyValueMyValue = theDiv.InnerHTML等等

于 2013-11-05T20:28:59.220 回答