<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; HTA: отображение анимированной заставки]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=8636&amp;type=atom" />
	<updated>2013-10-17T15:53:28Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=8636</id>
		<entry>
			<title type="html"><![CDATA[Re: HTA: отображение анимированной заставки]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=76098#p76098" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2013-10-17T15:53:28Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=76098#p76098</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: HTA: отображение анимированной заставки]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=75991#p75991" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[wisgest]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=3850</uri>
			</author>
			<updated>2013-10-13T12:23:14Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=75991#p75991</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: HTA: отображение анимированной заставки]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=75106#p75106" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2013-08-30T23:23:41Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=75106#p75106</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[HTA: отображение анимированной заставки]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=75103#p75103" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[wisgest]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=3850</uri>
			</author>
			<updated>2013-08-30T21:32:35Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=75103#p75103</id>
		</entry>
</feed>
