|
Добавить CSS для Поля HTML Документа | ☑ | ||
---|---|---|---|---|
0
Alexey87
15.05.20
✎
15:08
|
На форме есть ПолеHTMLДокумента, передаю ему URL, отображается результат, все ок.
Обращаю внимание, что я передаю именно URL, и дальше выполняется загрузка; т.е. я не передаю уже готовый HTML. Как в моем случае сделать так, чтобы результат отображался с использованием определенной CSS? (CSS сейчас в виде отдельного файла) Здесь искал, но того, что мне нужно нет: Поле HTML документа и CSS |
|||
1
ДенисЧ
15.05.20
✎
15:12
|
Вписать link в сам html?
|
|||
2
Alexey87
15.05.20
✎
15:22
|
(1)а в какой момент это делать?
Пока я не использую ПолеHTMLДокумента.Перейти по сути и html нет. А если делать после, не совсем понятно, как обновить отображение html с учетом примененного css. |
|||
3
ДенисЧ
15.05.20
✎
15:32
|
(2) В сам документ. Который на сервере.
|
|||
4
Garykom
гуру
15.05.20
✎
15:35
|
(0) Тебе кто мешает передать url, дождаться загрузки в ПолеHTMLДокумента, затем взять там текст html, поправить его и записать назад?
|
|||
5
Garykom
гуру
15.05.20
✎
15:37
|
(4)+ ну или можно HTTPСоединение по url и полученный (не забыть про возможные редиректы) текст в ПолеHTMLДокумента
|
|||
6
Garykom
гуру
15.05.20
✎
15:39
|
(3) Да хороший вариант еще перехватить обращение и подменить содержимое страницы.
Опсосы так любят на сайтиках без ssl делать рекламу свою подставляя. |
|||
7
Alexey87
15.05.20
✎
15:45
|
(4)вообще я думал, что это изварат; но так изначально и сделал.
Проблема в том, что через раз после загрузки страницы указанное содержимое пустое: ЭлементыФормы.ПолеHTMLДокумента1.Документ.Body.innerHTML. Хотя при этом все отображается корректно. Почему так происходит не совсем непонятно. |
|||
8
Alexey87
15.05.20
✎
15:46
|
(7)*не совсем понятно
|
|||
9
Сияющий в темноте
15.05.20
✎
19:35
|
если документ не готов,то он виден,но через обьектную модель недоступен.
вписать или линк или сами стили в документ проще всего,чем что-то потом править. а так,событие зааершения загрузки документа как раз для того,чтобы обновлять. |
|||
10
Alexey87
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=адрес таблицы стилей стиль да. |
|||
12
Alexey87
17.05.20
✎
13:45
|
(11) Спасибо, буду пробовать!
|
|||
13
Alexey87
18.05.20
✎
15:01
|
(11)в итоге все получилось, добавил в ДокументСформирован() в начало HTML строку(толстый клиент):
"<link rel=""stylesheet"" href=""D:\Folder\Table.css"">" |
|||
14
Alexey87
20.05.20
✎
15:21
|
Попробовал сделать то же самое в управляемом приложении.
Реакции на вставку линка с css вообще ноль, отображение ПоляHTMLДокумента не меняется. Делаю так же - &НаКлиенте в самое начало добавляю строку из (13), событие ПолеHTMLДокументаДокументСформирован(). Есть мысли, почему не работает? |
|||
15
Garykom
гуру
20.05.20
✎
15:45
|
||||
16
Alexey87
20.05.20
✎
15:56
|
(15)строка из (13) так и оформлена
|
|||
17
Garykom
гуру
20.05.20
✎
16:05
|
(16) А "D:\Folder\Table.css" на клиенте лежит?
|
|||
18
Alexey87
20.05.20
✎
16:43
|
(17)Да, но я же и запускаю в толстом клиенте.
Вобщем, когда добавлял линк css все равно не отрабатывал хоть в толстом клиенте, хоть в тонком (отображалось как HTML из блокнота). Есть изящное решение, если кому понадобится, вместо всех этих танцев с бубном: style1 = ЭлементыФормы.ПолеHTMLДокумента1.Документ.createElement("style"); style1.innerHTML = ПолучитьМакет("ТекстCSS").ПолучитьТекст(); ЭлементыФормы.ПолеHTMLДокумента1.Документ.head.appendChild(style1); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |