Имя: Пароль:
1C
1С v8
Поле HTML и отображение рисунков.
0 manc88
 
27.03.14
12:49
Добрый день, коллеги!
Бьюсь уже довольно долго с таким вопросом:
На форме есть ПолеHTML, в него передается html страничка для отображения. Вроде все в порядке и поле работает, но есть одно очень важное но - в страничке содержится закодированная base64 картинка, и она не отображается если ее размер более 32Кб, а если меньше то все в порядке, кто как обходил такую проблему?
1 manc88
 
27.03.14
13:23
ну что никто не сталкивался?
2 Поpyчик-4
 
27.03.14
13:40
(1) Ну вот щас все бросили свои дела и метнулись решать твою важную проблему.
С закодированными картинками, по-моему ограничение в 32 кб в платформе и любом браузере. Ищи пояснение в гугле.
3 manc88
 
27.03.14
13:42
(2) Firefox открывает нормально, а вот IE не открывает.
4 Сниф
 
27.03.14
13:47
(3) если не ошибаюсь, ПолеHTML и является оболочкой для activex компонента IE. Причем, древней версии.
5 Поpyчик-4
 
27.03.14
13:47
(3) Ну значит, ограничение эксплорера. 1С использует именно его двиг. В общем, не фартануло вам.

(4) 7 версия IE.
6 Поpyчик-4
 
27.03.14
13:51
(4) Версия ИЕ в 1С http://savepic.su/4247695.png
7 manc88
 
27.03.14
13:54
т.е 1с нельзя никак указать двиг которым показывать html?
(6)Mozilla Microsost IE  это сильно..
8 Сниф
 
27.03.14
13:58
(7) можно попробовать открывать через webbrowser.ocx
9 manc88
 
27.03.14
14:00
(8) Это что то типа редиректа на другой браузер?
10 Сниф
 
27.03.14
14:03
(9) это в обычных формах (не управляемых) Форма->Вставить ActiveX. При этом у вставленного объекта появятся куча событий и свойств через точку.
11 Сниф
 
27.03.14
14:05
+ у меня в списке доступных ActiveX он называется Microsoft Web Browser
12 manc88
 
27.03.14
14:17
(11) т.е мне надо на УФ както вытащить ActiveX, потом что то типа:

ЭлементВК = Элементы.Видео.Документ.getElementById("WMP");
    
Элементы.Видео.ТолькоПросмотр = Ложь;

WMP = ЭлементВК.contentDocument;

только вместо WMP подставить webbrowser.ocx ?
13 Сниф
 
27.03.14
14:22
(12) Так у тебя УФ? Тогда не взлетит. Открывать webbrowser.ocx внутри ПолеHTML может и можно, но совсем бессмысленно.
14 manc88
 
27.03.14
14:30
(13) угу значит придется как то изворачиваться. вот что прочитал в интернетах:
http://stackoverflow.com/questions/2628885/ie-9-support-for-base64-image-encoding
Значит IE 9 поддерживает свыше 32Кб, чтож нада потестить.
15 Сниф
 
27.03.14
14:38
Я не знаю, зачем тебе, но может так извратиться: скачивать картинку по ссылке и отображать в поле картиyки сбоку от поля HTML, а не в самом поле HTML)
16 manc88
 
27.03.14
15:32
(15) не нужно именно в поле html, это письмо скачанное с почтовика.
17 kimba
 
27.03.14
16:46
все работает, необходимо только строчку в html добавить
<meta http-equiv="X-UA-Compatible" content="IE=9">
она переключает trident
Соответственно на компе должен быть установлен IE9+
Можешь во временный файл сохранять html, насильно туда строчку добавлять в начало и потом открывать
18 manc88
 
27.03.14
17:01
(17) спасибо большое, вечером попробую!
19 manc88
 
27.03.14
17:05
(17) а если просто установить IE 9 ? движок его не подхватит автоматом?
20 kimba
 
27.03.14
17:08
(19) нет, в 1с по умолчанию ie7
21 manc88
 
27.03.14
17:35
(20) Понятно, спасибо