<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; HTA: синхронизация VBScript и JavaScript]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=2553&amp;type=atom" />
	<updated>2008-12-07T11:15:40Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=2553</id>
		<entry>
			<title type="html"><![CDATA[HTA: синхронизация VBScript и JavaScript]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=16842#p16842" />
			<content type="html"><![CDATA[<p>Можно совместно использовать VBScript и JavaScript в одном HTA(HTML) документе.</p><br /><p>Вызов функции JavaScript из области VBScript осуществляется достаточно просто:</p><div class="codebox"><pre><code>&lt;META HTTP-EQUIV=Content-Type content=&#039;text/html;charset=windows-1251&#039;&gt;
&lt;HTML&gt;
&lt;BODY SCROLL=&quot;NO&quot;&gt;

&lt;SCRIPT Language=&quot;JavaScript&quot;&gt;
    function sample()
    {alert(&#039;hello Dword!&#039;)}
&lt;/SCRIPT&gt;

&lt;SCRIPT Language=&quot;VBScript&quot;&gt;
    &#039;Вызов функции JavaScript из области VBS
    sample()
    window.close()
&lt;/SCRIPT&gt;
&lt;/BODY&gt;
&lt;/HTML&gt;</code></pre></div><p>Вызов функции VBScript из области JavaScript осуществляется несколько сложнее, путем передачи VBScript-функции как параметра.</p><div class="codebox"><pre><code>&lt;META HTTP-EQUIV=Content-Type content=&#039;text/html;charset=windows-1251&#039;&gt;
&lt;HTML&gt;
&lt;BODY SCROLL=&quot;NO&quot;&gt;

&lt;SCRIPT Language=&quot;JavaScript&quot;&gt;
//Вспомогательная функция JavaScript
    function callDWorld(param)
        {return param}
&lt;/SCRIPT&gt;

&lt;SCRIPT Language=&quot;VBScript&quot;&gt;
&#039;Основная функция VBScript
    Function Sample()
        MsgBox &quot;Hello DWORD!&quot;,vbExclamation+vbSystemModal,&quot;Sample&quot;
        Sample=0
    End Function
&lt;/SCRIPT&gt;

&lt;SCRIPT Language=&quot;JavaScript&quot;&gt;
//Вызов вспомогательной функции
//с передачей основной функции
//как параметра
    callDWorld(Sample())
    window.close()
&lt;/SCRIPT&gt;
&lt;/BODY&gt;
&lt;/HTML&gt;</code></pre></div><p>Пользуясь методом window.close() и тем, что скрипт общей области HTA(HTML) документа выполняется <em>до</em> отображения окна, можно пробовать создавать неоконные HTA проекты, с одновременным использованием VB и JavaScript(некий аналог .WSF). Например в JavaScript отсутствует функция Hex, зато такая функция есть в VBScript. Пользуясь вышеприведенными соображениями, можно получить Hex представление числа из области JavaScript:</p><div class="codebox"><pre><code>&lt;META HTTP-EQUIV=Content-Type content=&#039;text/html;charset=windows-1251&#039;&gt;
&lt;HTML&gt;
&lt;BODY SCROLL=&quot;NO&quot;&gt;

&lt;SCRIPT Language=&quot;JavaScript&quot;&gt;
//Вспомогательная функция JavaScript
    function callDWorld(param)
        {return param}
&lt;/SCRIPT&gt;

&lt;SCRIPT Language=&quot;VBScript&quot;&gt;
&#039;Основная функция VBScript(получение HEX представления числа)
    Function Sample(data)
        MsgBox &quot;0x&quot; &amp; Hex(data),vbExclamation+vbSystemModal,&quot;Hex Sample&quot;
        Sample=0
    End Function
&lt;/SCRIPT&gt;

&lt;SCRIPT Language=&quot;JavaScript&quot;&gt;
//Вызов вспомогательной функции
//с передачей основной функции
//как параметра
    var x=775676
    callDWorld(Sample(x))
    window.close()
&lt;/SCRIPT&gt;
&lt;/BODY&gt;
&lt;/HTML&gt;</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Poltergeyst]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=83</uri>
			</author>
			<updated>2008-12-07T11:15:40Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=16842#p16842</id>
		</entry>
</feed>
