Вход | Регистрация
 

Добавить CSS для Поля HTML Документа

Добавить CSS для Поля HTML Документа
Я
   Alexey87
 
15.05.20 - 15:08
На форме есть ПолеHTMLДокумента, передаю ему URL, отображается результат, все ок.
Обращаю внимание, что я передаю именно URL, и дальше выполняется загрузка; т.е. я не передаю уже готовый HTML.
Как в моем случае сделать так, чтобы результат отображался с использованием определенной CSS? (CSS сейчас в виде отдельного файла)

Здесь искал, но того, что мне нужно нет: Поле HTML документа и CSS
   ДенисЧ
 
1 - 15.05.20 - 15:12
Вписать link в сам html?
   Alexey87
 
2 - 15.05.20 - 15:22
(1)а в какой момент это делать?
Пока я не использую ПолеHTMLДокумента.Перейти по сути и html нет.
А если делать после, не совсем понятно, как обновить отображение html с учетом примененного css.
   ДенисЧ
 
3 - 15.05.20 - 15:32
(2) В сам документ. Который на сервере.
   Garykom
 
4 - 15.05.20 - 15:35
(0) Тебе кто мешает передать url, дождаться загрузки в ПолеHTMLДокумента, затем взять там текст html, поправить его и записать назад?
   Garykom
 
5 - 15.05.20 - 15:37
(4)+ ну или можно HTTPСоединение по url и полученный (не забыть про возможные редиректы) текст в ПолеHTMLДокумента
   Garykom
 
6 - 15.05.20 - 15:39
(3) Да хороший вариант еще перехватить обращение и подменить содержимое страницы.
Опсосы так любят на сайтиках без ssl делать рекламу свою подставляя.
   Alexey87
 
7 - 15.05.20 - 15:45
(4)вообще я думал, что это изварат; но так изначально и сделал.
Проблема в том, что через раз после загрузки страницы указанное содержимое пустое: ЭлементыФормы.ПолеHTMLДокумента1.Документ.Body.innerHTML. Хотя при этом все отображается корректно. Почему так происходит не совсем непонятно.
   Alexey87
 
8 - 15.05.20 - 15:46
(7)*не совсем понятно
   Сияющий в темноте
 
9 - 15.05.20 - 19:35
если документ не готов,то он виден,но через обьектную модель недоступен.

вписать или линк или сами стили в документ проще всего,чем что-то потом править.

а так,событие зааершения загрузки документа как раз для того,чтобы обновлять.
   Alexey87
 
10 - 16.05.20 - 23:51
(9)несколько вопросов:

1. Событие окончания загрузки - это ДокументСформирован()?
2. Я правильно понимаю, что вписать стили или линк в документ - это исправить содержимое между тегами <style type="text/css"> и </style>? Или так можно только вписать сами стили; а вписать линк можно как-то изящнее?
   Сияющий в темноте
 
11 - 17.05.20 - 12:09
1.да
2. линк вписывается через таг link rel=stylesheet href=адрес таблицы стилей
стиль да.
   Alexey87
 
12 - 17.05.20 - 13:45
(11) Спасибо, буду пробовать!
   Alexey87
 
13 - 18.05.20 - 15:01
(11)в итоге все получилось, добавил в ДокументСформирован() в начало HTML строку(толстый клиент):

"<link rel=""stylesheet"" href=""D:\Folder\Table.css"">"
   Alexey87
 
14 - 20.05.20 - 15:21
Попробовал сделать то же самое в управляемом приложении.
Реакции на вставку линка с css вообще ноль, отображение ПоляHTMLДокумента не меняется.

Делаю так же - &НаКлиенте в самое начало добавляю строку из (13), событие ПолеHTMLДокументаДокументСформирован().

Есть мысли, почему не работает?
   Garykom
 
15 - 20.05.20 - 15:45
   Alexey87
 
16 - 20.05.20 - 15:56
(15)строка из (13) так и оформлена
   Garykom
 
17 - 20.05.20 - 16:05
(16) А "D:\Folder\Table.css" на клиенте лежит?
   Alexey87
 
18 - 20.05.20 - 16:43
(17)Да, но я же и запускаю в толстом клиенте.

Вобщем, когда добавлял линк css все равно не отрабатывал хоть в толстом клиенте, хоть в тонком (отображалось как HTML из блокнота).
Есть изящное решение, если кому понадобится, вместо всех этих танцев с бубном:

style1 = ЭлементыФормы.ПолеHTMLДокумента1.Документ.createElement("style");
style1.innerHTML = ПолучитьМакет("ТекстCSS").ПолучитьТекст();
ЭлементыФормы.ПолеHTMLДокумента1.Документ.head.appendChild(style1);

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.