Имя: Пароль:
1C
1С v8
Два вопроса вопроса по Webkit 1C ^8.14
, ,
0 izekia
 
31.01.20
06:35
1. Возможно ли уменьшить время таймаута, когда выполняется получение внешнего скрипта из заголовка? (на текущий момент таймаут составляет примерно 20 секунд)

2. Почему не применяются внешние стили подключенные в заголовке через тег link, если помещать в качестве ресурса для поля HTML не ссылку, а непосредственно текст? И как это можно исправить?
Я решил это вставкой содержимого ресурсов в заголовок, но может быть есть более правильные варианты?
1 DrWatson
 
31.01.20
09:19
(0) А Вы текст стилей в какой тег вставляете?
2 izekia
 
31.01.20
09:26
(1) <link rel="stylesheet" href="..." type="text/css" />
3 izekia
 
31.01.20
09:27
это то что не работает, когда я текст помещаю
4 DrWatson
 
31.01.20
09:33
Вопрос был куда текст помещаете? в href?
5 DrWatson
 
31.01.20
09:43
6 izekia
 
31.01.20
09:45
(4) который получаю из подгруженных ресурсов? - в style, но тогда все работает как нужно и стили применяются.
Но мне хотелось бы, чтобы применялись внешние стили.
7 DrWatson
 
31.01.20
09:51
(6) Я не понимаю. Мы по-прежнему говорим о "помещать ... не ссылку, а непосредственно текст"? Или теперь уже "не хочу вытаскивать текст стилей, хочу чтобы работал тег link на внешние стили"?
8 izekia
 
31.01.20
10:01
(7) еще раз, что именно не работает, чтобы не было путаницы:
Условия: у меня в <head> есть ссылка на внешний css в виде: <link rel="stylesheet" href="http://192.168.0.1/style.css"; type="text/css" />
Вариант №1: я сохраняю свой html в файл, и в поле помещаю путь к нему -> все нормально отрабатывает и стили применяются.
Вариант №2: я помещаю непосредственно текст html в поле -> стили не применяются. Ссылки на внешние скрипты в заголовке отрабатывают номально.
9 izekia
 
31.01.20
10:02
(7) и не нужно только ссылки кидать на базу по хтмл плиз
10 DrWatson
 
31.01.20
10:14
Аа, дошло. Я думал ты о тексте стилей внутри html.
Да, есть такое. Причем только в тонком клиенте, в веб - нормально отрабатывает. На 8.3.15 - так же.
Я не знаю способа как его заставить подключить внешние стили, которые находятся за пределом сервера 1С.
11 izekia
 
31.01.20
10:23
(10) понятно, то есть пока не работает
Я у себя примерно такой вариант использовал, и потом просто добавляю в самое начало заголовка, ну или если что-то более сложное с очередностью, то в соответствующие места тогда:
        Стили = Новый ТекстовыйДокумент;
        Стили.ДобавитьСтроку("<style type=""text/css"">");
        RegExp.Pattern = "<\s*link.*?(?:href=""([^""]+)""\s*).*?\/\s*>";
        Match = RegExp.Execute(ТекстHTML);
        Если Match.Count > 0 Тогда
            Для Инд = 0 По Match.Count - 1 Цикл
            ОтносительныйПуть = Match.Item(Инд).SubMatches.Item(0);
            Запрос = Новый HTTPЗапрос(ОтносительныйПуть);
            Результат = Соединение.Получить(Запрос);
            Стили.ДобавитьСтроку(Результат.ПолучитьТелоКакСтроку());
            КонецЦикла;
        КонецЕсли;
        Стили.ДобавитьСтроку("</style>");
12 DrWatson
 
31.01.20
10:27
Да, загружать стили вручную.
Спасибо за готовый пример.
13 izekia
 
31.01.20
10:30
(12) да не за что) один момент, если еще и style используются, то тогда нужно с учетом очередности делать, но в моем случае все просто
14 pechkin
 
31.01.20
10:30
может нужно просто рефреш поля сделать?
15 izekia
 
31.01.20
10:33
(14) какой в этом смысл? я вообще кучу способов перепробовал, так как не хотелось именно таким путем идти. Здесь еще проблема в том, что я по сути получаю готовый файл с сервера, к которому у меня нет доступа. И не хотелось что-то глобальное писать или прокси вешать модифицирующий.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший