По поводу css на лотусовых сайтах

  • Автор темы Автор темы Gandliar
  • Дата начала Дата начала
  • Теги Теги
    web

Gandliar

Lotus Team
16.02.2004
573
26
BIT
181
Всем привет!

Подскажите пожалуйста, как Вы внедряете css на Ваши веб-сайты на лотусе.

Спасибо.
 
1) как дизайн элемент
2) как Page
3) как аттач
4) как вид
 
Уточню вопрос. Гугл рекомендует css подключать не как файл, а внедрять в тело странички. Как в этом случае?
 
Уточню вопрос. Гугл рекомендует css подключать не как файл, а внедрять в тело странички. Как в этом случае?
вообще-то он рекомендует не блокировать шапку, и именно для этого CSS ответственный за показ шапки писать сразу ;)
 
Пробую обкатывать такую схему:
1. Пишу front (js и css) отдельно в нормальной IDE (react + router + redux + material-ul, собираю webpack'ом).
2. Domino юзаю как rest API (на xPage кладу customRestService, который мапится на мой кастомный класс, наследник CustomServiceBean - получаем чистый JavaEE (HttpServletRequest + HttpServletResponse) + Domino обекты (ExtLibUtil.getCurrentSession() + ExtLibUtil.getCurrentDatabase()...)).

Front собирается в bundle.css и bundle.js, которые запихиваются в ODP (On Disk Project) на файловом уровне (например total commander) в WebContent.
Туда же (WebContent) кладуться все необходимые ресурсы и index.html, который и открывается в вебе.

В index.html ресурсы подключаются:

<link rel="stylesheet" href="build/bundle.css"> - мои стили из WebContent\build\bundle.css
<script type="text/javascript" src="build/bundle.js"></script>- мои скрипты из WebContent\build\bundle.js
<script type="text/javascript" src="/ckeditor/ckeditor.js"></script> - ckeditor из domino

Front и Domino ODP кладу в git - имею версионный контроль.
 
<link rel="stylesheet" href="build/bundle.css"> - мои стили из WebContent\build\bundle.css

Вот этого хотелось бы избежать, а внедрять прямо в страничку.
По грамотному внедрять надо в head

в формулу поля почему то не влазит :)
брать из профильного документа - так он не реплицируется или реплицируется с глюками.
пихаю агентом в поле, но не уверен, что это лучший вариант.
 
Эх джедаи). А у меня вот так работает:
1. На каждой страничке есть в заголовке HTML
wdbn:=@WebDbName;
libversion:=@GetProfileField("Configuration_Profile";"cssjsversion");
gzip:=@If(@Middle(HTTP_Cookie;"onimod_gzip=";";")="1";@True;@False);
filesystem:=@If(@Middle(HTTP_Cookie;DBID+"_filesystem=";";")="1";@True;@False);
commonlibpath:=@If(filesystem;@If(gzip;"/gzip/common.js?Open";"/common.js?Open");@If(gzip;"/"+wdbn+"/gzipcommon.js?OpenFileResource";"/"+wdbn+"/common.js?OpenJavascriptLibrary"))+
"&ExpandSection="+libversion;
base:="http"+@If(HTTPS="OFF"; ""; "s")+"://" + Server_Name;
common:="<script src=\""+base+commonlibpath+"\"></script>";
На вебе выглядит так
<script src=".....nsf/common.js?OpenJavascriptLibrary&ExpandSection=120"></script>
2. В заголовке каждой страницы JS
_doSkin();
3. В либе common.js
Код:
//Skin managed browser side so we can cache better
function _doSkin() {
var tmp_skin=_doExtractCookie('skin') ; if(tmp_skin==null) {tmp_skin='Default'}
var tmp_lang=_doExtractCookie('lang') ; if (tmp_lang=='' | tmp_lang==null | tmp_lang=='null') {tmp_lang='ru'}
//set variables
document.write('<script>var onimod_ui=\''+_doExtractCookie('ui')+'\'</script>');
document.write('<script>var onimod_skin=\''+tmp_skin+'\'</script>');
//then load css and html from skin
var tmp_cssjsversion = '&ExpandSection='+onimod_cssjsversion;
if (onimod_httpfilesystemmode=='YES') {
    var tmp_libcommand='?Open';
    var tmp_libprefix='';
    if (_doExtractCookie('gzip')=='1') {var tmp_libpath='domBulletin/gzip'} else {var tmp_libpath='domBulletin'}}
else {
    var tmp_libpath=onimod_webdbname;
    if (_doExtractCookie('gzip')=='1') {var tmp_libcommand='?OpenFileResource';var tmp_libprefix='gzip'} else {var tmp_libcommand='?OpenJavascriptLibrary';var tmp_libprefix=''}
}
document.write('<script language="JavaScript" src="/'+ tmp_libpath+'/'+tmp_libprefix+'language_ressources_'+tmp_lang+'.js'+tmp_libcommand+tmp_cssjsversion+'"&charset="UTF-8"><\/script>');
document.write('<script language="JavaScript" src="/'+ tmp_libpath+'/'+tmp_libprefix+'footer.js'+tmp_libcommand+tmp_cssjsversion+'"&charset="UTF-8"><\/SCRIPT>');
document.write('<link rel="stylesheet" type="text/css" href="/'+onimod_webdbname+'/Skins/'+tmp_skin+'?OpenDocument&Expand=CSS'+tmp_cssjsversion+'">');
document.write('<script language="JavaScript" src="/'+onimod_webdbname+'/Skins/'+tmp_skin+'?OpenDocument&Expand=HTMLAfter'+tmp_cssjsversion+'"><\/script>')
}
4. В доке по форме Skin есть поле CSS, в которое пишется сам скин и переключается Enable Disable.

То есть вначале на странице грузится common.js, из которого по функции _doSkin() достается док-страница из базы с активным CSS и применяется по ?OpenDocument&Expand=CSS. По кукам юзер может выбрать тот скин и тот язык, который ему нравится. Xpage идут лесом.
Жуть! :))))))))))

Хотя достаточно обычной страницы с CSS, подключаемой в Head. . Гугл вам наговорит еще...
 
Последнее редактирование:
ну если хочешь быть в результатах поиска повыше, то гугл надо слушать
 
а я рендерю все странички заранее агентом, вот прямо так в одно RT, его потом и свечу
а так как собираю по байтово - никаких проблем и скорость максимальна
 
в форме задается other для документа?

А как быть с ричтекстовым полем, если оно используется под веб?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!