← All posts tagged MSHTA

Некоторые факты об mshta.exe:
1. Помешать закрыть окно с не сохранёнными данными при помощи beforeunload не получится. Вопрос вылезет, но что ни отвечай, всё равно закроется. Это известный, признанный Microsoft баг.
2. setAttribute для динамически созданных элементов DOM вообще по боку. Только свойствами можно порулить поведением. Пришлось свои библиотечки адаптировать под эту инопланетную среду. Я всегда считал, что манипуляции с DOM первичны, а всякие свойства типа style — это нечто вроде синтаксического сахара. В mshta.exe всё наоборот.
3. Если checkbox вставляется в другой DOM элемент, его checked обнуляется.
4. Скрипт с type="text/javascript" не запустится
5. Свойства приложения описываются в теге HTA:APPLICATION, но никто не знает, какой URI у пространства имён HTA. Его просто нет, и он рвёт шаблоны зияющей пустотой своего отсутствия.
6. Пока не нашёл работающего способа сделать background-size: cover. Библиотеки, которые должны работать даже в IE7, не могут в mshta.exe
7. Динамически навесить обработчик события, записанный строкой, не получится. Подойдёт только настоящее замыкание.

Есть и положительная сторона. Я давно не видел, чтоб что–то браузерное так быстро работало. Electron такого ощущения не давал.