• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

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

  • Автор темы doka
  • Дата начала
D

doka

Здравствуйте!

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

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

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
А пример посмотреть можно? что именно не так отображается?
 
D

doka

не отрабатывает 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 851
27
BIT
0
не отрабатывает 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 и других нормальных браузерах все нормально работает
 
D

doka

NickProstoNick, а у тебя в шапке страницы что прописывается в <!DOCTYPE>?
 

NickProstoNick

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

doka

:) Я тоже это знаю, но от этого не легче

Вот видишь генерируется через HTML 4.01, а вот как бы прописать чтобы через HTML 5 было? Ведь шапка xpages прописывается автоматически, значит где-то прописано чтобы использовался HTML 4.01. Наверное где-то на сервере, но вот где я не могу найти.
 
30.06.2006
141
5
BIT
0
Defining an alternate DOCTYPE for IBM Lotus Notes Domino XPages


Changing the DocType in XPages
 
D

doka

Ссылка клевая, но нефига не помогло :)
Видимо дело не только в html4

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

doka

У кого в IE через xpages заработает это

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

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

doka

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

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

xKlonx

А вы сравнивали версии ИЕ дома и на работе?
 
N

nvyush

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

doka

В IE нажал F12 и открылась панель "Средства разработчика". Там указал "Режим совместимости" IE9 и все стало отображаться нормально.

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

xKlonx

Свойства страницы xPages,event before page load и вставляем код:

Код:
var exCon = facesContext.getExternalContext();
var response = exCon.getResponse();
response.setHeader("X-UA-Compatible", "IE=9");

Добавлено: У меня получилось
 
D

doka

Круть! Заработало! Спасибо большое!

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

Можно ли это прописать в базе по умолчанию, чтобы не прописывать на каждом xpages? Например, как в ссылке, которую скинул Кирилл Шваб

Просто пробую различные варианты написания этого свойства, но что-то меня не понимают)
 
30.06.2006
141
5
BIT
0
Можно ли это прописать в базе по умолчанию, чтобы не прописывать на каждом 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.
2.
 
D

doka

Кирилл Шваб, т.е. в сторону xsp.properties смотреть не стоит?
 
30.06.2006
141
5
BIT
0
Мы в соцсетях:

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