Как отключить авторефреш поля HTML с уже сформированной страницей?

1. sound 535 16.11.10 08:59 Сейчас в теме
Как сделать чтобы при переключении на отдельную вкладку формы, на которой расположено полеHTML с уже сформированной страницей, это полеHTML заново не обновлялось? И вообще кто это так делает 1С или IE или кто? DOM IE? Чувствую одно свойство где-то надо отключить/включить, а понять не могу. (Win7, IE 8, 1C 8)
+
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. sound 535 16.11.10 10:44 Сейчас в теме
Я может опять непонятно изъяснился?
+
3. sound 535 17.11.10 10:18 Сейчас в теме
Неужели никто не сталкивался?
Тут дело в том, что на HTML странице есть поле ввода textarea, в него соответственно вводится текст, но потом мне нужно например переключиться на другую вкладку, но когда переключаешься обратно, происходит обновление всей страницы и соответственно набранный текст из textarea "теряется". Его конечно можно и запомнить где-нибудь - но это бред
+
4. sound 535 22.03.11 12:23 Сейчас в теме
может кто-то все таки поможет а?
+
5. mozz 148 23.03.11 15:34 Сейчас в теме
Над тем же вопросом бьюсь уже несколько часов. Если найдете решение поделитесь пожалуйста.
+
6. sound 535 23.03.11 15:42 Сейчас в теме
(5) Посмотрите дату поста и увидите, что я не могу найти решение уже несколько месяцев. Я вот думаю или я не так объясняю или просто с этим никто не сталкивался, причем чувствуется что решение-то должно быть простым как всегда.
+
7. mozz 148 23.03.11 15:53 Сейчас в теме
Один из способов решения криво, но работает:

Объявляем переменную Перем Документ;
затем в обработку формы ПриОткрытии() добавляем:

Документ = ЭлементыФормы.ПолеHTMLДокумента.Документ;

В обработку панели вкладок ПриСменеСтраницы пишем следующее:

ЭтаФорма.ЭлементыФормы.ПолеHTMLДокумента.УстановитьТекст(Документ.Body.InnerHTML);

У меня сработало
+
8. sound 535 23.03.11 15:58 Сейчас в теме
Блин у меня страницы динамически создаются (типа как в браузере), не хранить же их щас все, как то должно по другому работать
+
9. cool.vlad4 2 23.03.11 16:25 Сейчас в теме
Нафиг пользовать 1с-овскую обертку, используйте
IE = Новый COMОбъект("InternetExplorer.Application");
можно сделать
IE.Offline = true;
IE = "";
и рефреш настроить, на поиски уходит минута http://msdn.microsoft.com/en-us/library/aa752084(VS.85).aspx
+
13. sound 535 23.03.11 17:22 Сейчас в теме
(9) Если честно пока не знаю (не пробовал) как работать с IE через COM, вопрос был именно про "Поле HTML документа", думаю что объектная модель должна быть одинаковой.
Тогда подскажите как сделать такую вещь юзая COM: по нажатию на кнопку создать на форме 2 страницы, в каждой из которых вывести какую нибудь примитивную html-страницу и чтобы при переключении между страницами этот текст заново не перегружался (чтоб страницы не обновлялись)
+
10. cool.vlad4 2 23.03.11 16:26 Сейчас в теме
11. cool.vlad4 2 23.03.11 16:29 Сейчас в теме
Как суперское извращение, можно сделать -> ПолучитьТекст -> УстановитьТекст, и не будет вообще рефреша, текст статический. Зы Ошибка - на событие лучше не вешать.
+
12. mozz 148 23.03.11 17:13 Сейчас в теме
cool.vlad4 пишет:

Как суперское извращение, можно сделать после события ДокументСформирован -> ПолучитьТекст -> УстановитьТекст, и не будет вообще рефреша, текст статический.


IMHO это зациклит обработку...
+
15. cool.vlad4 2 23.03.11 17:36 Сейчас в теме
(12) :D я же и написал, что это суперское извращение...на событие, конечно, вешать не надо и не будет никакого зацикливания-либо проверять адрес...(13) объектная модель не одинаковая, а одна и та же. Смотрите как это делается в vb к примеру, поищите в конце концов, если у вас несколько недель было на эту полеhtml, то я думаю на ie тоже найдется.
+
14. mozz 148 23.03.11 17:26 Сейчас в теме
Еще один извращенный вариант:
ПолеHTMLДокумента вставляешь не внутрь страницы панели а на саму форму и кладешь ее поверх панели в нужном месте, дальше дело техники - сделать ее видимой на нужной странице и невидимой на остальных - при этом ПолеHTMLДокумента не рефрешится...

Если ЭтаФорма.ЭлементыФормы.Панель1.ТекущаяСтраница=ЭтаФорма.ЭлементыФормы.Панель1.Страницы.Страница2 тогда
ЭтаФорма.ЭлементыФормы.ПолеHTMLДокумента.Видимость=Ложь;
Иначе
ЭтаФорма.ЭлементыФормы.ПолеHTMLДокумента.Видимость=Истина;

КонецЕсли;
adhocprog; +1
16. sound 535 23.03.11 17:51 Сейчас в теме
(14) а есть примерчик? а то что-то не догоняю. Вообще, если интересно, мне это надо для одной моей хрени (http://infostart.ru/public/78388/files/).

(15) Несколько недель конечно не было :), получилось как всегда: поискал-поюзал, не получилось, спросил - не ответили, забил :D
+
21. mozz 148 24.03.11 17:06 Сейчас в теме
22. sound 535 25.03.11 11:55 Сейчас в теме
(21) да, реально изврат, я кстати тоже думал об этом, но решил сделать по нормальному, т.к. был уверен, что вопрос решится :)
+
17. cool.vlad4 2 23.03.11 22:34 Сейчас в теме
Повторюсь...лучше использовать родные микрософтовские весчи...есть упрощенный ActiveX Web Browser, есть отличия с Internet.Apllication, но сейчас навскидку сказать не смогу...в 1С кладите его на форму...там даже галочка offline есть...
+
18. sound 535 24.03.11 00:23 Сейчас в теме
(17) знакомые линуксоиды поговаривают, что микрософтовские весчи вообще лучше не использовать :|
+
19. cool.vlad4 2 24.03.11 00:30 Сейчас в теме
(18) знакомые линуксоиды программируют на 1С? ...детский сад...ну что ж... используйте какое-нибудь с-шное api...
ЗЫ Да, и ПолеHTMLДокумента, тогда получается тоже лучше не использовать, следуя знакомым линуксоидам...
+
20. sound 535 24.03.11 11:24 Сейчас в теме
(19) Это была лишь шутка :)
А не подскажете еще как в этот ком объект установить произвольный html текст, аналог УстановитьТекст() у 1Сного поля HTML документа или нужно через временный файл, а потом IE.Navigate(url) ?
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот