这更像是一个信息性帖子,而不是一个问题。但我会留下一个开放式的问题;如果你能改进这个想法请分享。 ~EDIT
有没有更好的方法在HTA中存储变量?我已经提出了这种方法并且它有效,但我不确定这是否是最好的方法;
前言:我是编码的新手。
我一直在研究以VBScript为基础的GUI(包含在HTA中)。我正在寻找一种动态存储变量的方法,我可以轻松地在其他子/函数中独立调用这些变量。这就是我想出来的;
psuedo代码:
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产生的唯一影响是在html中实际放置div。我通常把这些div放在我的html主体的末尾。
无论如何,我刚刚正式加入。自从我开始编码(不太长)以来,我一直在使用这个网站,但我想我会开始贡献。
答案 0 :(得分:1)
使用VB脚本,您可以定义一个全局变量,然后您可以调用它并在代码中的任何位置更改它,即使在Javascript中添加了该变量也是如此。
<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 = MyValue
或MyValue = theDiv.InnerHTML
等