<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; HTA: синхронизация VBScript и JavaScript]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=2553</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=2553&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «HTA: синхронизация VBScript и JavaScript».]]></description>
		<lastBuildDate>Sun, 07 Dec 2008 11:15:40 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[HTA: синхронизация VBScript и JavaScript]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=16842#p16842</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (Poltergeyst)]]></author>
			<pubDate>Sun, 07 Dec 2008 11:15:40 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=16842#p16842</guid>
		</item>
	</channel>
</rss>
