问题
I'm trying to access a variable in javascript that i set in vbscript all within one hta file:
<script type="vbscript">
var globalVariable = test123
</script>
<script type="text/javascript">
var globalVariable = <%= globalVariable %>;
</script>
This doesn't populate the variable globalVariable with anything. I've also tried
var globalVariable = "<%= globalVariable %>";
This just populates the string within the quotes into the variable globalVariable.
I can't get the value 'test123
' set in the VBScript section to populate into a JS variable within the JS section.
Any help would be appreciated.
回答1:
Based on your question, I've written an HTA containing the following code:
<script type="text/vbscript">
dim globalvariable
globalvariable = "test123"
</script>
<script type="text/javascript">
alert(globalvariable);
</script>
and the value "test123" is displayed in the alert box.
Note the following differences with your code:
- vbs language syntax is different to js syntax;
- your js code looks like asp code to me, rather than js;
- I got an error message using '' without 'text/' prefix;
回答2:
Mixing languages in a .HTA App is easy, if you just follow the syntactical rules for each language (e.g. there is no "var" in VBScript).
<html>
<head>
<hta:application id = "mix"></hta>
<script LANGUAGE="VBScript">
Dim gsX : gsX = "global VBScript variable"
</script>
<script LANGUAGE="JScript">
alert(gsX);
</script>
</head>
<body>
</body>
</html>
回答3:
Can you use a DOM element like a hidden input field to communicate between VBScript and JS? If that works you can trigger a custom event when the value changes, and listen for that event on both sections.
I never used VBScript before so this may not be possible.
来源:https://stackoverflow.com/questions/8620630/access-vbscript-variable-within-javascript-inside-of-an-hta