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

Тема в разделе "Lotus - Xpages", создана пользователем doka, 17 июл 2012.

  1. doka

    doka Well-Known Member

    Регистрация:
    18 фев 2010
    Сообщения:
    118
    Симпатии:
    0
    Здравствуйте!

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

    Заранее спасибо
     
  2. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    А пример посмотреть можно? что именно не так отображается?
     
  3. doka

    doka Well-Known Member

    Регистрация:
    18 фев 2010
    Сообщения:
    118
    Симпатии:
    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">
     
  4. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    Ну дык страница формируется на сервере.
    И что-то мне подсказывает - проблемы на стороне ИЕ.
    Почему-то в Chrome, Opera и других нормальных браузерах все нормально работает
     
  5. doka

    doka Well-Known Member

    Регистрация:
    18 фев 2010
    Сообщения:
    118
    Симпатии:
    0
    NickProstoNick, а у тебя в шапке страницы что прописывается в <!DOCTYPE>?
     
  6. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    Код (PHP):
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    Но знаю что все стили по скруглению углов нормально работают в Chrome, Opera, Firefox
     
  7. doka

    doka Well-Known Member

    Регистрация:
    18 фев 2010
    Сообщения:
    118
    Симпатии:
    0
    :) Я тоже это знаю, но от этого не легче

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

    Кирилл Шваб Well-Known Member

    Регистрация:
    30 июн 2006
    Сообщения:
    144
    Симпатии:
    4
  9. doka

    doka Well-Known Member

    Регистрация:
    18 фев 2010
    Сообщения:
    118
    Симпатии:
    0
    Ссылка клевая, но нефига не помогло :)
    Видимо дело не только в html4

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

    doka Well-Known Member

    Регистрация:
    18 фев 2010
    Сообщения:
    118
    Симпатии:
    0
    У кого в IE через xpages заработает это

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

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

    doka Well-Known Member

    Регистрация:
    18 фев 2010
    Сообщения:
    118
    Симпатии:
    0
    Попробовал дома на своем сервере
    border-radius:10px;
    box-shadow: 10px 10px 5px #888888;
    все прекрасно отработало в IE. В Doctype прописано html 4
    Принес тоже самое на работу - не работает. :)

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

    xKlonx Lotus team
    Lotus team

    Регистрация:
    10 сен 2009
    Сообщения:
    412
    Симпатии:
    0
    А вы сравнивали версии ИЕ дома и на работе?
     
  13. doka

    doka Well-Known Member

    Регистрация:
    18 фев 2010
    Сообщения:
    118
    Симпатии:
    0
    и там и там 9
     
  14. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    А после 9? Версии в формате #.#.#.#, гляньте в окошке "Справка"/"О программе", может младшие цифры отличаются. Также имеет смысл сравнить HTML-коды одной и той же страницы, сгенерированной разными версиями сервера.
     
  15. doka

    doka Well-Known Member

    Регистрация:
    18 фев 2010
    Сообщения:
    118
    Симпатии:
    0
    В IE нажал F12 и открылась панель "Средства разработчика". Там указал "Режим совместимости" IE9 и все стало отображаться нормально.

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

    xKlonx Lotus team
    Lotus team

    Регистрация:
    10 сен 2009
    Сообщения:
    412
    Симпатии:
    0
    Свойства страницы xPages,event before page load и вставляем код:

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

    doka Well-Known Member

    Регистрация:
    18 фев 2010
    Сообщения:
    118
    Симпатии:
    0
    Круть! Заработало! Спасибо большое!

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

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

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

    Кирилл Шваб Well-Known Member

    Регистрация:
    30 июн 2006
    Сообщения:
    144
    Симпатии:
    4
    Можно:

    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)

    Код (Text):
    <?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)

    Код (Text):
    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
     
  19. doka

    doka Well-Known Member

    Регистрация:
    18 фев 2010
    Сообщения:
    118
    Симпатии:
    0
    Кирилл Шваб, т.е. в сторону xsp.properties смотреть не стоит?
     
  20. Кирилл Шваб

    Кирилл Шваб Well-Known Member

    Регистрация:
    30 июн 2006
    Сообщения:
    144
    Симпатии:
    4
    Не стоит, т.к. через xsp.properties добавить к заголовкам ответа дополнительный параметр нельзя.

    Документацию по xsp.properties можно посмотреть в книге XPages Portable Command Guide:
    http://codeby.net/forum/threads/39346.html?vi...st&p=222272
     
Загрузка...

Поделиться этой страницей