<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; HTA: отображение анимированной заставки]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=8636</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=8636&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «HTA: отображение анимированной заставки».]]></description>
		<lastBuildDate>Thu, 17 Oct 2013 15:53:28 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: HTA: отображение анимированной заставки]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=76098#p76098</link>
			<description><![CDATA[<p>Прошу прощения — зараз просмотрел.<br /></p><div class="quotebox"><cite>wisgest пишет:</cite><blockquote><p>Возвращаясь к исходному примеру, хочу спросить, откуда взялось волшебное число 26.47?</p></blockquote></div><p>Мне бы тоже хотелось вспомнить, что это <img src="//forum.script-coding.com/img/smilies/wink.png" width="15" height="15" />. Вроде как отношение одних единиц измерения к другим.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Thu, 17 Oct 2013 15:53:28 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=76098#p76098</guid>
		</item>
		<item>
			<title><![CDATA[Re: HTA: отображение анимированной заставки]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=75991#p75991</link>
			<description><![CDATA[<p>Чувствую, что моё молчание выглядит невежливо, но на самом деле оно вызвано не неуважением, а наоборот желанием ответить пообстоятельнее (возможно, по несколько отвлеченным вопросам), но т.к. с мыслями так и не собрался, то приходится ограничиваться дежурной отпиской.</p><p>Чтобы это сообщение было хоть немного содержательным отмечу следующее:<br /></p><div class="quotebox"><cite>alexii пишет:</cite><blockquote><div class="quotebox"><blockquote><p>Размеры же изображения можно узнать обратившись к его свойствам .width и .height, если явно не заданы соответствующие атрибуты, — а зачем их задавать, если…</p></blockquote></div><p>Недостаток опыта: «body {… overflow: hidden;}».</p></blockquote></div><p>— на самом деле это предназначено для того же, что и &lt;HTA:APPLICATION SCROLL=NO /&gt; (и могло было также быть получено с помощью &lt;BODY SCROLL=NO&gt;). Так же и ряд других атрибутов HTA:APPLICATION может быть заменён более общими решениями. Собственно говоря, это относится к одному из направлений по которому мне хотелось растечься мыслию по древу — о непродуманности нововведений, плодящей новые сущности вместо упорядочивания имеющихся (к этому относится и «&lt;meta charset=…»)…</p><br /><div class="quotebox"><cite>alexii пишет:</cite><blockquote><p>Коллекция Вас ждёт .</p></blockquote></div><p>Не исключено, коль такая тема уже существует, но пусть пока подождёт.</p><p>Возвращаясь к исходному примеру, хочу спросить, откуда взялось волшебное число 26.47?</p>]]></description>
			<author><![CDATA[null@example.com (wisgest)]]></author>
			<pubDate>Sun, 13 Oct 2013 12:23:14 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=75991#p75991</guid>
		</item>
		<item>
			<title><![CDATA[Re: HTA: отображение анимированной заставки]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=75106#p75106</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Выводить заставку перед запуском приложения на заранее заданное время — дурной вкус</p></blockquote></div><p>OFF: Кто бы спорил о целесообразности сего <img src="//forum.script-coding.com/img/smilies/wink.png" width="15" height="15" />. Как я понимаю, у заказчика была именно такая блажь на «свистоперделки».</p><div class="quotebox"><blockquote><p>— первые две задают одно и то же,</p></blockquote></div><p>Точнее — вторая строка частично содержит ту же инструкцию, что и первая, так?</p><div class="quotebox"><blockquote><p>а с учётом того, что не используются не-ASCII символы можно убрать обе; третья здесь бесполезна и, к тому же, ложна (весь немногочисленный текст — на английском).</p></blockquote></div><p>Это у меня — на ломаном английском. Отсутствие наличия не есть наличие отсутствия. Посему — не приемлется.</p><div class="quotebox"><blockquote><p>Не стоит полагаться на .commandLine — это свойство может содержать путь к файлу отличному от загруженного в данный момент в окно HTA или вообще быть пустым</p></blockquote></div><p>Поскольку инициализация hta проводится нами же (свойство «.commandLine» определяется однозначно), способ с «.commandLine» мне показался предпочтительнее. Почему я отказался от «document.url» — уже не помню.</p><div class="quotebox"><blockquote><p>Размеры же изображения можно узнать обратившись к его свойствам .width и .height, если явно не заданы соответствующие атрибуты, — а зачем их задавать, если…</p></blockquote></div><p>Недостаток опыта: «body {… overflow: hidden;}».</p><p>Прочее же принимается.</p><br /><p>Коллекция Вас ждёт <img src="//forum.script-coding.com/img/smilies/wink.png" width="15" height="15" />.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Fri, 30 Aug 2013 23:23:41 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=75106#p75106</guid>
		</item>
		<item>
			<title><![CDATA[HTA: отображение анимированной заставки]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=75103#p75103</link>
			<description><![CDATA[<p><a href="http://forum.script-coding.com/viewtopic.php?id=8548">Коллекция скриптов и идей — HTA: отображение анимированной заставки</a></p><p>1) Выводить заставку перед запуском приложения на заранее заданное время — дурной вкус, имеет смысл делать это на время необходимое для полной загрузки (инициализации) приложения. Как быть в таком случае при использовании отдельного hta-файла: как его прикрутить к выполняющему полезную работу скрипту? — вопрос не раскрыт (в случае HTA можно бы окно заставки создавать через <em>window.showModelessDialog()</em>).</p><p>2) Рассмотрим строки:<br /></p><div class="codebox"><pre><code>        &lt;meta charset=&quot;windows-1251&quot;&gt;
        &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=windows-1251&quot;&gt;
        &lt;meta http-equiv=&quot;Content-Language&quot; content=&quot;ru&quot;&gt;
</code></pre></div><p> — первые две задают одно и то же, одну из них надо убрать (я бы убрал первую), а с учётом того, что не используются не-ASCII символы можно убрать обе; третья здесь бесполезна и, к тому же, ложна (весь немногочисленный текст — на английском).</p><p>3) Не стоит полагаться на <em>.commandLine</em> — это свойство может содержать путь к файлу отличному от загруженного в данный момент в окно HTA или вообще быть пустым (правильно использовать <em>location</em> или <em>document.URL</em>)!<br />Да и не надо его узнавать:<br />так как файл изображения находится в том же каталоге что и HTA, в атрибуте <em>src</em> можно указать относительный путь, но прочтя соответствующее атрибуту свойство <em>.src</em> уже можно будет узнать полный путь к файлу изображения и вывести его, если произойдёт ошибка при загрузке изображения (а ошибкой будет не только отсутствие файла, но и, например, его неправильный формат!).</p><p>4) Размеры же изображения можно узнать обратившись к его свойствам <em>.width</em> и <em>.height</em>, если явно не заданы соответствующие атрибуты, — а зачем их задавать, если размеры окна всё-равно подгоняются к размерам изображения?</p><p>5) Явный недочёт: после вывода сообщения об отсутствии файла изображения окно HTA остаётся открытым ещё какое то время.<br />В идеале же до этого момента его вообще не следовало бы делать видимым.</p><br /><p>С учётом (2-5) можно сделать так:<br /></p><div class="codebox"><pre><code>&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Splash&lt;/title&gt;

&lt;style type=&quot;text/css&quot;&gt;
html {background-color: buttonface;}
body {margin: 0px; padding: 0px; border-width: 0px; overflow: hidden;}
&lt;/style&gt;

&lt;script language=&quot;VBScript&quot;&gt;
Option Explicit

With window
  .resizeTo 0, 0
  .moveTo 0, -500
End With


Sub onImgLoad()
  Set Img.onload = Nothing &#039;защита от повторных вызовов для анимированных GIF

  Dim width, height
  width = Img.width: height = Img.height

  With window
    .moveTo (.screen.availWidth - width) \ 2, (.screen.availHeight - height) \ 2
    .resizeTo width, height
    .setTimeout &quot;window.close()&quot;, 5000
  End With
End Sub


Sub onImgError()
  Dim path: path = unescape(Img.src)
  MsgBox &quot;Can&#039;t open path &quot;&quot;&quot; &amp; path &amp; &quot;&quot;&quot;.&quot;, vbOKOnly &amp; vbExclamation, document.title
  window.close
End Sub
&lt;/script&gt;

&lt;hta:application
  applicationname=&quot;Splash&quot;
  singleinstance=&quot;yes&quot;
  showintaskbar=&quot;no&quot;
  border=&quot;none&quot;
  contextmenu=&quot;no&quot;
  selection=&quot;no&quot;
&gt;&lt;/hta:application&gt;
&lt;/head&gt;

&lt;body&gt;
&lt;div&gt;
&lt;img id=&quot;Img&quot; src=&quot;160x160.gif&quot;
  onload=&quot;onImgLoad()&quot; onerror=&quot;onImgError()&quot;
  ondragstart=&quot;window.event.returnValue = False&quot;
&gt;&lt;/div&gt;
&lt;/body&gt;&lt;/html&gt;
</code></pre></div><p>Буду рад ответной критике. Примите искреннийшие заверения в совершеннейшем почтении.</p>]]></description>
			<author><![CDATA[null@example.com (wisgest)]]></author>
			<pubDate>Fri, 30 Aug 2013 21:32:35 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=75103#p75103</guid>
		</item>
	</channel>
</rss>
