Access VBScript variable within Javascript inside of an HTA

二次信任 提交于 2019-12-11 02:59:39

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!