2012-04-11 4 views
0

У меня есть .hta-файл на сопоставленном диске, на который я могу вручную перейти, дважды щелкните файл .hta, и он отлично выполнит. Тем не менее, я добавил ссылку на полный путь на долю (от страницы IE 8) и когда я пытаюсь запустить его по ссылке, как:Как мне сделать прямую ссылку для выполнения .hta-файла?

Q:. \ Путь ... \ HTA

Затем я получаю ошибку javascript, возникшую при запуске сценария «длина равна null или не является объектом». Javascript код исходит из самого .hta файла на этой линии:

... 
for (var i = 0; i < matches.length; i++) { 
... 

Я предполагаю, что по какой-то причине «я» не инициализируется, когда .hta будет сбегать по ссылке, а не вручную ,

В любом случае, когда я пытаюсь напрямую перейти к файлу по ссылке, я получаю диалог с вопросом, хочу ли я запускать, сохранять или отменять файл .hta. Когда я пытаюсь запустить его, я получаю ошибку javascript.

Так что мои вопросы:

  1. как я запускаю этот .hta файл из ссылки браузера?
  2. Почему я получаю ошибку javascript при запуске из ссылки, а не когда она запускается вручную?
+0

Когда вы нажимаете ссылку браузера, запрашивает ли вы запустить .hta или переместится к физическому пути в ваш браузер? – mellamokb

ответ

1

HTA не распознает подключенные диски.

Я предполагаю, что ваше приложение сохранено на сервере, а затем запустите его на рабочей станции, где у вас есть этот сопоставленный драйвер Q как ярлык для сервера.

Правильный путь к серверу что-то вроде этого:

//Your_Server_Name/path_in_server/file.hta 

Реальный IP также может быть использован вместо Your_Server_Name.

Для запуска HTA в браузере (только IE) без подсказок вам нужно будет изменить многие параметры в зоне безопасности зоны интрасети и передовые вкладки в очень небезопасный режим.

О сообщении об ошибке:

Кажется, что matches не свойство с именем length. Если определено matches, это, вероятно, число или логический или какой-либо другой тип объекта, который не имеет свойства length.

Если сообщение есть примерно так: Can't get the property length: object is null or not defined. Это означает, что matches не определено.

Обратите внимание, что HTA - это независимое приложение с собственным top.window и не может взаимодействовать с окном браузера. (Нет способа ссылаться на opener в HTA, если открывающее окно является окном браузера.)

+0

Да, мы работаем только в IE, но мне не нужно получать подсказку. match - это var, который использует str.match с регулярным выражением. Q - фактически только сопоставленный диск, где находится .hta. IE работает в среде VDI и просто переходит непосредственно к сопоставленному диску в привязке привязки. –

Смежные вопросы