Имя: Пароль:
1C
1С v8
Возможно ли для ПолеHTMLДокумента отключить сообщения об ошибке сценария?
0 Bugmenot
 
21.09.12
11:36
Вижу по поиску что вопрос такой задавался уже не однократно, но все же, какое-то решение должно быть? Положить на форму ActiveX от нормального браузера проблематично - у меня УФ.
1 Bugmenot
 
21.09.12
11:48
буду апать иногда..
2 Jaap Vduul
 
21.09.12
11:53
В настройках браузера отключить отладку сценариев
3 Bugmenot
 
21.09.12
12:02
Установлено:
"Отключить отладку скриптов (Internet Explorer)"
"Отключить отладку скриптов (другие)"
4 Jaap Vduul
 
21.09.12
12:15
(3)
Сними флаги
5 Bugmenot
 
21.09.12
12:31
(4) Не помогло :(
6 Bugmenot
 
21.09.12
13:49
ап!
7 Bugmenot
 
21.09.12
14:51
^
8 Algiz
 
21.09.12
15:20
подпишусь, интересно)
9 Bugmenot
 
21.09.12
16:03
^
10 Bugmenot
 
21.09.12
16:38
Кто еще будет интересоваться этим вопросом: на партнерском решения нет, тоже советуют "отключить отладку скриптов" (тоже не помогает), да fixin пальцы гнет с каким-то магическим Silent-свойством, которое ни к стандартному 1С-ному контролу, ни к IE, конечно никакого отношения не имеет.
11 Bugmenot
 
24.09.12
12:15
Последний безнадежный ап? )
12 stas_undead
 
25.09.12
18:45
Я тоже хочу знать ответ. Ну, помогите же, люди-человеки!
13 oleg_km
 
25.09.12
21:46
Ну вы не одни такие страждущие. Присоеденюсь, но судя по многочисленным советам это настоящий IT-вопрос
14 Bugmenot
 
26.09.12
14:39
Если проблемный скрипт лежит на стороннем сайте, то скидывайте этот домен на localhost через \etc\hosts
15 stas_undead
 
26.09.12
14:50
А если скрипт находится в загружаемой странице и производит действия с этой же страницей?
Вообще где можно почитать про все методы, которые имеются в ПолеHTMLДокумента.Документ?
16 Bugmenot
 
26.09.12
14:52
(15)
В таком случае решения не существует, извините.
Вот здесь например http://msdn.microsoft.com/en-us/library/ie/ms531073(v=vs.85).aspx
17 stas_undead
 
26.09.12
15:12
А events onError? Можно ли как-то его использовать?
18 stas_undead
 
27.09.12
09:18
Господа, лёд двинулся.

Как вариант можно поступить так:
1. У ПоляHTMLДокумента при событии onreadystatechange подвесить проверку на readystate.
2. При readystate = "loading" сделать следующее:
   Скрипт = ЭлементыФормы.ПолеHTMLДокумента1.Документ.CreateElement("script");
   Скрипт.language = "javascript";
   Скрипт.text= "function stas( ){return true;} window.onerror = stas;";    
   ЭлементыФормы.ПолеHTMLДокумента1.Документ.documentElement.children.item(0).appendChild(Скрипт);
3. Профит! :)
19 oleg_km
 
27.09.12
09:38
(18) Что-то не помогло:

Процедура ПолеHTMLonreadystatechange(Элемент, pEvtObj)
   Если Элемент.Документ.readystate = "loading" Тогда
       Скрипт = Элемент.Документ.CreateElement("script");
       Скрипт.language = "javascript";
       Скрипт.text= "function empty_err( ){return true;} window.onerror = empty_err;";
       Элемент.Документ.documentElement.children.item(0).appendChild(Скрипт);
   КонецЕсли;
КонецПроцедуры

Ругается на children
{Документ.БКСеансПротокол.Форма.ФормаДокумента(21)}: Значение не является значением объектного типа (children)
       Элемент.Документ.documentElement.children.item(0).appendChild(Скрипт);
20 stas_undead
 
27.09.12
09:41
Попробуй так:
ЭлементыФормы.ПолеHTMLДокумента1.Документ.documentElement.appendChild(Скрипт)
21 stas_undead
 
27.09.12
09:42
Или даже так:
ЭлементыФормы.ПолеHTMLДокумента1.Документ.appendChild(Скрипт);
22 oleg_km
 
27.09.12
09:52
(20) Так ругается
(21) Так не ругается, но и ничего не делает

Ладно на досуге поковыряюсь, примерно замысел понял
23 stas_undead
 
27.09.12
09:53
У меня работает во всех трёх случаях :)
2 + 2 = 3.9999999999999999999999999999999...