Шапка Страницы Xpages

doka

Well-known member
18.02.2010
118
0
#1
Здравствуйте!

Бьюсь с отображением кода в разных браузерах, а в IE9 некоторый скрипт не отрабатывает с html4. А в xpages шапка страницы прописывается автоматически.
Как переставить чтобы код страницы генерировался через html5? Это настройки сервера или клиентского браузера?

Заранее спасибо
 

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 802
21
#2
А пример посмотреть можно? что именно не так отображается?
 

doka

Well-known member
18.02.2010
118
0
#3
не отрабатывает css border-radius, box-shawdow

<div style="
border-radius: 15em 15em 0em 0em;
border:3px red solid; ">
Текст
</div>

Я в инете порыл, нашел что ie работает только при html5. В xpages, при открытии через браузер, в шапке прописывается
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 802
21
#4
не отрабатывает css border-radius, box-shawdow

<div style="
border-radius: 15em 15em 0em 0em;
border:3px red solid; ">
Текст
</div>

Я в инете порыл, нашел что ie работает только при html5. В xpages, при открытии через браузер, в шапке прописывается
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Ну дык страница формируется на сервере.
И что-то мне подсказывает - проблемы на стороне ИЕ.
Почему-то в Chrome, Opera и других нормальных браузерах все нормально работает
 

doka

Well-known member
18.02.2010
118
0
#5
NickProstoNick, а у тебя в шапке страницы что прописывается в <!DOCTYPE>?
 

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 802
21
#6
NickProstoNick, а у тебя в шапке страницы что прописывается в <!DOCTYPE>?
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Но знаю что все стили по скруглению углов нормально работают в Chrome, Opera, Firefox
 

doka

Well-known member
18.02.2010
118
0
#7
:) Я тоже это знаю, но от этого не легче

Вот видишь генерируется через HTML 4.01, а вот как бы прописать чтобы через HTML 5 было? Ведь шапка xpages прописывается автоматически, значит где-то прописано чтобы использовался HTML 4.01. Наверное где-то на сервере, но вот где я не могу найти.
 

doka

Well-known member
18.02.2010
118
0
#9
Ссылка клевая, но нефига не помогло :)
Видимо дело не только в html4

Будем искать...
 

doka

Well-known member
18.02.2010
118
0
#10
У кого в IE через xpages заработает это

<div style="
border-radius: 15em 15em 0em 0em;
border:3px red solid; ">
Текст
</div>

тот получит жирный плюсик :)
 

doka

Well-known member
18.02.2010
118
0
#11
Попробовал дома на своем сервере
border-radius:10px;
box-shadow: 10px 10px 5px #888888;
все прекрасно отработало в IE. В Doctype прописано html 4
Принес тоже самое на работу - не работает. :)

Дома стоит 8.5.2, на работе 8.5.3. IE и там и там 9
 

nvyush

Lotus team
22.04.2009
2 317
0
#14
А после 9? Версии в формате #.#.#.#, гляньте в окошке "Справка"/"О программе", может младшие цифры отличаются. Также имеет смысл сравнить HTML-коды одной и той же страницы, сгенерированной разными версиями сервера.
 

doka

Well-known member
18.02.2010
118
0
#15
В IE нажал F12 и открылась панель "Средства разработчика". Там указал "Режим совместимости" IE9 и все стало отображаться нормально.

Ищу теперь как прописать это в xpages по умолчанию...
 

xKlonx

Lotus team
10.09.2009
410
0
#16
Свойства страницы xPages,event before page load и вставляем код:

Код:
var exCon = facesContext.getExternalContext();
var response = exCon.getResponse();
response.setHeader("X-UA-Compatible", "IE=9");
Добавлено: У меня получилось
 

doka

Well-known member
18.02.2010
118
0
#17
Круть! Заработало! Спасибо большое!

В продолжение вопрос:

Можно ли это прописать в базе по умолчанию, чтобы не прописывать на каждом xpages? Например, как в ссылке, которую скинул Кирилл Шваб http://www.qtzar.com/blog/dslh-834qun/

Просто пробую различные варианты написания этого свойства, но что-то меня не понимают)
 

Кирилл Шваб

Well-known member
30.06.2006
145
4
#18
Можно ли это прописать в базе по умолчанию, чтобы не прописывать на каждом xpages?
Можно:

1. Сделать Custom Control с этим кодом, который надо будет вставить в каждую XPage.
2. Добавить веб-правило в администраторе (Domino Administrator -> вкладка Configuration -> Web -> Internet Sites -> документ вашего сайта -> Web Site... -> Create Rule -> Type of rule -> HTTP response headers)
3. Воспользоваться возможностями JSF


3-й способ самый простой, т.к. надо всего лишь:

1. добавить свой обработчик в faces-config.xml (Window -> Open Perspective -> Java, WebContent -> WEB-INF -> faces-config.xml)

Код:
<?xml version="1.0" encoding="UTF-8"?>
<faces-config>
<lifecycle>
<phase-listener>ru.shvab.xsp.TestPageListener</phase-listener>
</lifecycle>
</faces-config>
2. добавить класс с кодом обработчика (Window -> Open Perspective -> Domino Designer, Code -> Java -> New Java Class -> package: ru.shvab.xsp, name: TestPageListener)

Код:
package ru.shvab.xsp;

import javax.faces.context.FacesContext;
import javax.faces.event.PhaseEvent;
import javax.faces.event.PhaseId;
import javax.faces.event.PhaseListener;
import javax.servlet.http.HttpServletResponse;

public class TestPageListener implements PhaseListener {

private static final long serialVersionUID = 1L;

public PhaseId getPhaseId() {
return PhaseId.RENDER_RESPONSE;
}

public void beforePhase(PhaseEvent event) {
FacesContext facesContext = event.getFacesContext();
HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
response.setHeader("X-UA-Compatible", "IE=9");
}

public void afterPhase(PhaseEvent event) {
}

}
P.S.

Тем кто пишет под веб на XPages рекомендую на досуге ознакомиться с:

1. XSP Starter Kit
2. XPages Extensibility API
 

doka

Well-known member
18.02.2010
118
0
#19
Кирилл Шваб, т.е. в сторону xsp.properties смотреть не стоит?
 

Кирилл Шваб

Well-known member
30.06.2006
145
4
#20