1

Тема: HTA: Управление содержанием

Коллеги, приветствую !
Есть следующий вопрос...
в HTA использую iframe, а имено, пытаюсь его свойству src присвоить значение указывающее на другое HTA приложение. В итоге получаю ещё одно окно, а не открывается во фрэйме
Если использовать HTM - то выползает предупреждение об опасных элементах на странице
Безопасность понижать - не айс
Хотелось бы отдельные функции программы сделать в разных HTA'шках, чтобы программа была разбита на логические блоки...
Как в этом случае лучше поступить...

Времени не хватает... :-(

2

Re: HTA: Управление содержанием

или уж использовать frame вместо iframe ?

Времени не хватает... :-(

3

Re: HTA: Управление содержанием

Попробуй использовать атрибут в iframe application="yes".

4

Re: HTA: Управление содержанием

Зачот !
Тема закрыта !

Времени не хватает... :-(

5

Re: HTA: Управление содержанием

Даже после того, как заработало - не сразу нагуглил

Времени не хватает... :-(

6 (изменено: Евген, 2011-08-02 19:46:14)

Re: HTA: Управление содержанием

Коллеги, подскажите плиз...
может я уже сёдня переработал и не хватает мозга где-то что-то заменить, но сегодня у меня на работе на XP SP3 x86 это просто чудесно работало, а дома на 7 SP1 x64 - отказ вот такого вида...
http://korosteleff.narod.ru/error42.png
вот сама строчка

<input type=button style="width:150px" onclick="vbscript:call GoToClients()" value="Клиенты" />

Вот так тоже не работает

<th bgcolor=lightsteelblue><button style="width:150px" onclick="vbscript:call seek()">Поиск</button></th>

P.S.: Процедура GoToClients конечно же есть.

Времени не хватает... :-(

7

Re: HTA: Управление содержанием

Попробуй скопировать 32-битный mshta и запустить.

8

Re: HTA: Управление содержанием

JSman пишет:

Попробуй использовать атрибут в iframe application="yes".

Тоже так вылечил.


С одного сайта, адреса нет, можно по тексту вычислить.

HTA и безопасность



Междоменному написанию скриптов свойственно адресовать риск безопасности, HTA разрешает атрибут APPLICATION для FRAME и IFRAME. Этот оригитнальный HTA атрибут не единственная доступная предосторожность защиты. HTA разработаны таким образом, что FRAME и IFRAME, где атрибут APPLICATION установлен в NO, не имеют доступа скрипта в HTA, который их содержит. Таким образом никакое незащищённое содержимое не допускается в HTA через недоверенное окно.

HTA разработаны таким образом, что недоверенные HTML FRAME и IFRAME не имеют доступа скрипта к HTA, который их содержит. В отношении FRAME, которые не являются разрешёнными для HTA, фрейм высшего уровня содержит главное окно для всех FRAME, содержащихся в нём. Для вышеупомянутого FRAME, window.top и window.self одно и тоже. Кроме того, ненадёжные FRAME и IFRAME не получают ни referrer ни opener  URL из родительского HTA. Конечный результат - они не знают о HTA, содержащемся внутри, как о родительском окне.

В приложениях, где всё содержимое безопасно, FRAME и IFRAME могут быть благополучно помечены как доверенные. Мастера и контрольные панели являются примерами безопасного содержимого. Разрешённый HTA статус IFRAME в нижеуказанном примере позволяет ему передавать информацию обратно в его родительское окно.

<IFRAME SRC="filename.htm" APPLICATION="yes">
В противоположность, IFRAME, который позволяет просмотр незащищённого содержимого, должен быть запущен как обычный HTML. Содержимое в примере IFRAME ниже - подчиняется настройке безопасности для его зоны. Следующий IFRAME может быть использован при внедрении HTML.

<IFRAME SRC="filename.htm" APPLICATION="no">
Запомните,  атрибут APPLICATION игнорируется, если он используется в HTML предпочтительнее, чем HTA.
При выполнении HTA, пользователи должны принимать те же меры предосторожности, как и с любой выполнимой программой: устанавливать только те HTA, которые созданы в надёжных источниках. HTA не могут быть подписаны. Однако они могут быть установлены из отмеченных cabinet-файлов (.cab) или других отмеченных инсталляционных форматов. Так или иначе, наиболее ответственные источники будут корпоративными сетями intranet и признанными поставщиками программного обеспечения.

Совместимость

Реализация HTA фирмой Microsoft ограничена 32-битными системами Windows, выполняющими Internet Explorer 5. HTA не поддерживают свойства или внешний объект HTML AutoComplete в формах .

9 (изменено: Евген, 2011-08-08 12:14:25)

Re: HTA: Управление содержанием

Коллеги, выручайте !
Приведённый ниже код работает только на половине компов.
Ошибка выпадает при нажатии на кнопки, не может обратиться к процедуре...
Что я не так сделал ?

Работает только на XP SP3 x86
Не работает на 7 SP1 x64 и на XP SP 2 x86 тоже не работает


<html>
<head>
  <HTA:APPLICATION
ID="CRM"
APPLICATIONNAME="SKIT-CRM"
BORDERSTYLE="normal"
SHOWINTASKBAR="yes"
SINGLEINSTANCE="yes"
SYSMENU="yes"
ICON=""
MAXIMIZEBUTTON="no"
MINIMIZEBUTTON="no"
VERSION="1.0">
</HTA:APPLICATION>
 
</head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
 
<style type="text/css">
*{font-family:tahoma;font-size:11px;padding:0px 0px 0px 0px;margin-bottom:0px;margin-top:0px;margin-left:0px;margin-right:0px;}
</style>
<body style="overflow-x:hidden; overflow-y:hidden;border;hidden;">
 
<script type="text\vbscript">
 
Sub Window_Onload()
          ' Windows Common Controls-2 6.0 license key
          ' Windows Common Controls 6.0 license key
Set WshShell=CreateObject ("WScript.Shell")
WshShell.Run "regsvr32 /s Mscomct2.ocx",0,0
WshShell.Run "regsvr32 /s MSCOMCTL.OCX",0,0
WshShell.RegWrite "HKEY_CLASSES_ROOT\Licenses\4F86BADF-9F77-11d1-B1B7-0000F8753F5D\","iplpwpnippopupiivjrioppisjsjlpiiokuj","REG_SZ"
WshShell.RegWrite "HKEY_CLASSES_ROOT\Licenses\ED4B87C4-9F76-11d1-8BF7-0000F8754DA1\","knlggnmntgggrninthpgmnngrhqhnnjnslsh","REG_SZ"
 

    Document.Title="СКИТ - Абоненты"
    window.resizeTo 800,600
    window.moveTo 30,30
End Sub
 
Sub Clients()
Document.GetElementbyID("workspace").src="clients.htm"
End Sub
 
Sub tarifs()
Document.GetElementbyID("workspace").src="tarifs.htm"
End Sub
 
Sub seek()
Document.GetElementbyID("workspace").src="seek.htm"
End Sub
 
Sub kredit()
Document.GetElementbyID("workspace").src="kredit.htm"
End Sub
 
Sub debet()
Document.GetElementbyID("workspace").src="debet.htm"
End Sub
 
Sub korrektor()
Document.GetElementbyID("workspace").src="korrektor.htm"
End Sub
 
Sub sverka()
Document.GetElementbyID("workspace").src="sverka.htm"
End Sub
 
Sub massdebet()
Document.GetElementbyID("workspace").src="mass_debet.htm"
End Sub
 
Sub saldovka()
Document.GetElementbyID("workspace").src="saldovka.htm"
End Sub
 
Sub payfile()
Document.GetElementbyID("workspace").src="payfile.htm"
End Sub
</script>
 
<table bgcolor=black border=0 cellpadding=1 cellspacing=1>
<tr>
<td bgcolor=lightsteelblue><button style="width:150px" onclick="vbscript:call clients()">Клиенты</button></td>
<td bgcolor=lightsteelblue><button style="width:150px" onclick="vbscript:call seek()">Поиск</button></td>
<td bgcolor=lightsteelblue><button style="width:150px" onclick="vbscript:call tarifs()">Тарифы</button></td>
<td bgcolor=lightsteelblue><button style="width:150px" onclick="vbscript:call debet()">Удержание</button></td>
<td bgcolor=lightsteelblue><button style="width:150px" onclick="vbscript:call kredit()">Оплата</button></td>
</tr>
<tr>
<td bgcolor=lightsteelblue><button style="width:150px" onclick="vbscript:call korrektor()">Корректор</button></td>
<td bgcolor=lightsteelblue><button style="width:150px" onclick="vbscript:call sverka()">Сверка</button></td>
<td bgcolor=lightsteelblue><button style="width:150px" onclick="vbscript:call massdebet()">Общее начисление</button></td>
<td bgcolor=lightsteelblue><button style="width:150px" onclick="vbscript:call saldovka()">Сальдовка</button></td>
<td bgcolor=lightsteelblue><button style="width:150px" onclick="vbscript:call payfile()">Зачисление файла</button></td>
</tr>
</table>
 
<iframe application="yes" id="workspace" src="" frameborder="no" hspace="0" vspace="0" scrolling="auto" width="100%" height="100%">
    Ваш браузер не поддерживает плавающие фреймы!
</iframe>
 
</body>
</html>
Времени не хватает... :-(

10

Re: HTA: Управление содержанием

Блин, неужели из-за неправильного слэша ?!?!
Проверьте плиз, у кого XP SP2 под рукой...

<script type="text\vbscript">
Времени не хватает... :-(

11

Re: HTA: Управление содержанием

Так и есть
Исправил...

Времени не хватает... :-(