HTA iframe всегда открывает новое окно - PullRequest
1 голос
/ 10 января 2020

Я пытаюсь использовать iframes в приложении HTA, работающем на компьютере Windows 10. И родительская, и встроенная страница являются приложениями HTA. Однако страница / приложение iframe всегда открывается в новом окне. Это те тестовые страницы, которые я использую - я сохранил их как можно проще, но, похоже, ничего не работает.

<HTML>
<HEAD> 
<HTA:APPLICATION ID="oHTA" APPLICATIONNAME="Optic" WINDOWSTATE="maximize" />
</HEAD>
<BODY>
<IFRAME APPLICATION="yes" src="test2.hta" style="width:100%;height:100%;"></IFRAME>
</BODY>
</HTML>

и источник test2.hta:

<HTML> 
<HEAD> 
<HTA:APPLICATION ID="oHTA" APPLICATIONNAME="Optic" />
</HEAD>
<BODY>
TEST2.hta
</BODY>
</HTML>

1 Ответ

0 голосов
/ 11 января 2020

Это ожидаемое поведение. HTA - это окно приложения, и его основная цель - предложить окно для приложения (аналогично любому окну Windows приложения), в котором вы можете запустить привилегированный код JS / VBS.

Для решения ваша проблема, измените все файлы .hta, предназначенные для отображения в iframe, на обычные файлы .htm (или. html) и удалите тег HTA из файлов.

Когда iframe на главной странице имеет атрибут application="yes", файл .htm, загруженный в этот iframe, имеет те же права, что и главная страница (HTA). Это также хорошо помнить, если вы планируете показывать некоторый контент, загруженный из целого rnet в iframe.

Указанный атрибут также необходим для взаимодействия главной страницы и страницы в рамке. друг с другом. Если атрибут опущен или для него установлено значение «нет», главная страница и страница в рамке не могут взаимодействовать друг с другом.


Обратите внимание, что HTA является устаревшей техникой. Вы можете проверить подсказки , чтобы обновить свой HTA даже чуть ближе к современным веб-функциям и JavaScript.

...