|
Проблема с COMОбъект("InternetExplorer.Application") для IE9 |
☑ |
0
Mashinist
21.02.13
✎
21:08
|
Есть такой код
Сайт = Новый COMОбъект("InternetExplorer.Application");
Сайт.Navigate("http://xxx.xxx.com/");
Состояние("Загрузка сайта ...");
Пока Сайт.ReadyState <> 4 Цикл
ОбработкаПрерыванияПользователя();
КонецЦикла;
Состояние("");
Сайт.Document.forms["vin_check"].vin_.value = "...";
В IE8 работает нормально
А в IE9 Поле объекта не обнаружено (vin_check)
В чем разница? Неужели есть разница в DOM-модели?
|
|
1
Mashinist
22.02.13
✎
00:36
|
апну разочек
|
|
2
ВалераОшкин
22.02.13
✎
00:38
|
>
ты на порнуху из 1С ходишь?
|
|
3
Mashinist
22.02.13
✎
00:42
|
порнуха это
есть разница.
|
|
4
Mashinist
22.02.13
✎
01:02
|
ну можно в ИЕ9 вот так работать
Сайт.Document.getElementById("vin_").value = "..."
Но что самое гнусное, что еще в ИЕ9 и Document.body.innerHTML возвращает не такой результат
ну формально то HTML одинаковый, но как текст он разный
типа
<div id="warning"><strong> и <DIV ID=warning><STRONG>
как бы еще понять какой ИЕ установлен на компе....
|
|
5
Jaap Vduul
22.02.13
✎
01:29
|
document.parentWindow.navigator.appVersion
|
|
6
Mashinist
22.02.13
✎
16:03
|
(5)Спасибо
Вот еще возник вопрос
Выполняю скрипт так
Сайт.Document.parentWindow.eval("getj()");
При этом объекту нужно некоторое время на отработку скрипта
Но Сайт.ReadyState не меняется
Как узнать, что скрипт закончил работу?
|
|
7
Mashinist
23.02.13
✎
01:21
|
ну получается, что события никакого нету и тупо нужно проверять innerHTML на предмет появления нужных данных
или не появления...
|
|
8
Mashinist
23.02.13
✎
01:31
|
и еще выяснилось, что Сайт.Document.getElementById("vin_").value
работает и в ИЕ8 и в ИЕ9
Но document.parentWindow.navigator.appVersion у ИЕ9 нету
Получается как-то фигово... потому как нельзя сделать универсально
Попытка/Исключение как кривой вариант...
|
|
9
Mashinist
24.02.13
✎
02:39
|
Так все же как узнать, что скрипт изменил страничку?
Сайт.Document.parentWindow.eval("getj()");
|
|
10
Mashinist
24.02.13
✎
03:27
|
ну кроме как циклом ни как не узнать догрузился ли скрипт.
|
|