1

Тема: HTA: не работает атрибут windowstate в теге <hta:application>

какое бы значение этому атрибуту не присваивал (normal |minimize | maximize), окно открывается дефолтного размера (т.е. normal)
кроме того, alert (hta-элемент.windowState), открываемый по загрузке, во всех случаях возвращает undefined
использую Windows 7 и Explorer 11

а мне нужно получить фулскриновый размер окна при его открытии
может кто-либо что-нить подсказать по этому поводу?

2

Re: HTA: не работает атрибут windowstate в теге <hta:application>

kalabuni, покажите код, пожалуйста. Без этого сложно делать выводы.

Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !

3

Re: HTA: не работает атрибут windowstate в теге <hta:application>

<html>
<head>
<hta:application id="myhta" windowstate="maximize"></hta:application>

<script>
onload = function () {alert(document.getElementById ('myhta').windowState);}
</script>
</head>
<body bgcolor="lime">
hi!
</body>
</html>

4

Re: HTA: не работает атрибут windowstate в теге <hta:application>

kalabuni, у меня работает и так (IE10). Возможно IE 11 более требователен к правильному синтаксису (у тега hta нет парного закрывающего):

<hta:application id="myhta" windowstate="maximize" />

5 (изменено: kalabuni, 2017-10-12 21:19:19)

Re: HTA: не работает атрибут windowstate в теге <hta:application>

mozers, увы, Вы ошибаетесь --  в документации https://msdn.microsoft.com/en-us/librar … s.85).aspx прописано: "The HTA:APPLICATION element requires a closing tag".
Но что так, что эдак -- проблема остаётся: в полноэкранном режиме окно не открывается, и в алерте пишет undefined

6

Re: HTA: не работает атрибут windowstate в теге <hta:application>

kalabuni,

kalabuni пишет:

открываемый по загрузке, во всех случаях возвращает undefined
использую Windows 7 и Explorer 11

Перечитал Ваш вопрос. Возник встречный - Вы этот код исполняете не в пределах HTA файла через mshta, а обычный HTML файл запускаете в Internet Explorer и ждёте результата или я всё-таки неправильно Вас понял ?

Уж очень сильное ощущение, что как раз второй вариант. Если так, то это абсолютно логичное поведения для Internet Explorer. Тэг hta:application будет у Вас отрабатывать правильно только при интерпретации кода через mshta. Для этого файл с кодом, который Вы запускаете, должен иметь расширение ".hta", а не (".html" / ".htm").

Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !

7 (изменено: kalabuni, 2017-10-12 21:10:45)

Re: HTA: не работает атрибут windowstate в теге <hta:application>

Xameleon, код, который выложен выше, сохранён у меня на диске как файл test.hta

8 (изменено: kalabuni, 2017-10-12 23:25:23)

Re: HTA: не работает атрибут windowstate в теге <hta:application>

Задачу свою я, разумеется, решил, но тем самым -- "через Альпы" -- способом
В хедер поместил скрипт

<script>
window.moveTo (0, 0);
window.resizeTo (screen.availWidth, screen.availHeight);
</script>

И, кстати, достал из кладовки старый ноутбук ещё с ХРюнделем, скачал  демо-файл с MSDN http://samples.msdn.microsoft.com/works … _allex.hta и обнаружил, что вообще ни один атрибут этого тега скриптом не читается

9

Re: HTA: не работает атрибут windowstate в теге <hta:application>

kalabuni, крайне странная ситуация, Вы не находите ? У всего мира работает hta на всех версиях Windows, начиная от Windows 2000 до Win 10, а у Вас нет. ИМХО, странно как-то. Видимо какие-то индивидуальные настройки влияют так. Вы на 100% уверены, что файл у Вас открывается приложением mshta.exe ?

Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !

10 (изменено: kalabuni, 2017-10-12 23:49:23)

Re: HTA: не работает атрибут windowstate в теге <hta:application>

Xameleon, скачайте, пожалуйста, файл по ссылке выше и запустите его
а) обратите внимание, что откроется никак не полноэкранное окно, хотя в коде указано windowstate="maximize"
б) когда в окне нажмёте кнопку "Retrieve HTA Property Values", увидите много-много undefined'ов -- это говорит о том, что ни одно из значений атрибутов тега не прочиталось
у меня именно так работает и в win7,  и в winXP
PS и запускается именно приложением mshta -- диспетчер задач его однозначно указывает

11

Re: HTA: не работает атрибут windowstate в теге <hta:application>

kalabuni, вот что я наблюдаю на Win 10.

Post's attachments

screenshot.jpg 162.79 kb, file has never been downloaded. 

You don't have the permssions to download the attachments of this post.
Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !

12

Re: HTA: не работает атрибут windowstate в теге <hta:application>

Спасибо, Xameleon
У меня совсем иначе -- не знаю уж, почему :-(

Post's attachments

screen.png 534.11 kb, file has never been downloaded. 

You don't have the permssions to download the attachments of this post.

13

Re: HTA: не работает атрибут windowstate в теге <hta:application>

kalabuni, вот и меня удивляет, что mshta у вас так работает. Более того, на двух компьютерах. Далее логически рассуждаю - Так как точно знаю, что в стандартных условиях mshta работает и на XP и на Win 7 нормально, то могу предположить, что каким-то образом подменен движок IE, который парсит HTML для Mshta. Про то чтобы родное win ПО делало такие фокусы не слышал и думаю самостоятельно руками Вы реестр не правили. Тогда остается - влияние стороннего софта (твикеры, оптимизаторы реестра, специфическое стороннее ПО или как самый бредовый вариант - вредоносное ПО. )

Если есть желание поисследовать, то можем проверить в каком режиме запускается у Вас HTA вот таким кодом:


<script>
	alert('Document mode: ' + document.documentMode)
</script>

У меня на Win 10 выдаёт: Document mode: 5

Заодно модифицировал hta файл взятый по ссылке. Возможно этот фикс исправит ситуацию.

Post's attachments

hta_allex_mod.hta 2.05 kb, 7 downloads since 2017-10-13 

You don't have the permssions to download the attachments of this post.
Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !