Ищите помощь для небольшой ошибки отображения. Вот пример кода работает на JBoss 7.0.2.Final с ICEfaces 2.0.2:Меню IceFacesBar + menuItem ошибка отображения на IE7
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:c="http://java.sun.com/jstl/core" xmlns:f="http://java.sun.com/jsf/core" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:ice="http://www.icesoft.com/icefaces/component">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>TEST</title>
<style>
*{margin: 0;padding: 0;font-family: Helvetica, Arial, Verdana ;font-size: 12px;}
.mainmenubar{width: 100%;height: 32px;background-color: blue;}
.mainmenubarItem{float: left;height: 27px;border-right: 1px solid white;padding-top: 5px;}
.mainmenubarItem a, .mainmenubarItem a:hover, .mainmenubarItem a span{color: white;font-size: 16px;font-weight: bold;text-decoration: none;}
.mainmenubarSubMenu{position: absolute;background-color: #F5F5F5;}
</style>
</h:head>
<h:body>
<div style="background-color: grey; width: 100%; height: 50px;" />
<ice:form id="menuform">
<ice:menuBar styleClass="mainmenubar" orientation="horizontal">
<ice:menuItem styleClass="mainmenuitem" id="mainmenu1" onclick="return false;" value="MENU1">
<ice:menuItem value="SUBMENU1" styleClass="submenuitem" id="submenu1" onclick="return false;" />
<ice:menuItem value="SUBMENU1" styleClass="submenuitem" id="submenu2" onclick="return false;" />
</ice:menuItem>
<ice:menuItem styleClass="mainmenuitem" id="mainmenu2" onclick="return false;" value="MENU2" />
</ice:menuBar>
</ice:form>
<div class="bottom" style="background-color: yellow; width: 100%; height: 1800px;" />
</h:body>
</html>
Кажется, я не могу напрямую загружать файлы вложений в этом сообщении, чтобы показать скриншоты. Тем не менее, вы должны иметь возможность скопировать/вставить этот код в любой проект IceFaces с аналогичной конфигурацией, открыть версию IE7 (на самом деле я использую режим IE8 с включенным режимом совместимости, интересно, имеет ли он эффект).
Если вы не пролистаете страницу и не наведите курсор на МЕНЮ1, вы увидите правильно отображаемое SUBMENU. Однако, если вы немного прокрутите страницу, чтобы иметь меню на верхней части страницы и наведите указатель на MENU1, вы увидите, что SUBMENU отображается примерно под 50px в меню. следовательно, вы никогда не сможете щелкнуть по второму меню ...
Не могу понять, почему это не работает. Я посмотрел витрину IceFaces на http://component-showcase.icefaces.org/component-showcase/showcase.iface и увидел, что она работает в моей версии IE (на самом деле не может показаться, что витрина использует ту же версию IceFaces, что и я).
Я сделал дополнительный тест: при визуализации кода витрины локально отображается то же поведение (с ошибкой). Вот точный код я бегу:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:c="http://java.sun.com/jstl/core" xmlns:f="http://java.sun.com/jsf/core" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:ice="http://www.icesoft.com/icefaces/component">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>TEST</title>
<link rel="stylesheet" type="text/css" href="http://component-showcase.icefaces.org/component-showcase/xmlhttp/css/rime/rime.css" />
<link rel="stylesheet" type="text/css" href="http://component-showcase.icefaces.org/component-showcase/css/showcase_style.css" />
<link rel="stylesheet" type="text/css" href="http://component-showcase.icefaces.org/component-showcase/css/showcase_overrides.css" />
<link rel="stylesheet" type="text/css" href="http://component-showcase.icefaces.org/component-showcase/css/showcase_layout.css" />
</h:head>
<h:body>
<ice:panelGroup styleClass="componentBox">
<ice:panelGroup styleClass="synopsisBox menuBarContainer">
<ice:outputText value="The menuBar component provides a robust menu system." />
<ice:outputText value="In the box below, choose the orientation of the Menu Bar and then select a menu item. The backing been value of the selected item will be reflected under Server-side Backing Bean Values." />
</ice:panelGroup>
<ice:panelGroup styleClass="clearer" />
<!-- main menu declaration -->
<ice:panelGroup styleClass="exampleBox menuBarContainer">
<ice:menuBar id="menuBar" orientation="horizontal">
<!-- File menu -->
<ice:menuItem value="File" id="file" onclick="return false;">
<ice:menuItem onclick="return false;" id="open" value="Open" icon="http://component-showcase.icefaces.org/component-showcase/images/menu/open.gif"></ice:menuItem>
<ice:menuItem id="close" value="Close" onclick="return false;"></ice:menuItem>
<ice:menuItem id="recent" value="Recent" icon="http://component-showcase.icefaces.org/component-showcase/images/menu/recent.gif" onclick="return false;">
<ice:menuItem id="file1" value="File 1" onclick="return false;"></ice:menuItem>
<ice:menuItem id="file2" onclick="return false;" value="File 2">
<ice:menuItem id="para1" onclick="return false;" value="Para 1"></ice:menuItem>
<ice:menuItem id="para2" value="Para 2" onclick="return false;"></ice:menuItem>
<ice:menuItem id="para3" value="Para 3" onclick="return false;"></ice:menuItem>
</ice:menuItem>
<ice:menuItem value="File 3" id="file3" onclick="return false;"></ice:menuItem>
<ice:menuItem value="File 4" id="file4" onclick="return false;"></ice:menuItem>
</ice:menuItem>
<ice:menuItem id="save" icon="http://component-showcase.icefaces.org/component-showcase/images/menu/save.gif" value="Save" onclick="return false;"></ice:menuItem>
<ice:menuItemSeparator />
<ice:menuItem id="print" icon="http://component-showcase.icefaces.org/component-showcase/images/menu/print.gif" value="Print" onclick="return false;"></ice:menuItem>
</ice:menuItem>
<!-- Edit menu -->
<ice:menuItem value="Edit" id="edit" onclick="return false;">
<ice:menuItem id="cut" value="Cut" onclick="return false;"></ice:menuItem>
<ice:menuItem id="copy" value="Copy" onclick="return false;"></ice:menuItem>
<ice:menuItem id="paste" value="Paste" onclick="return false;"></ice:menuItem>
</ice:menuItem>
<!-- View menu -->
<ice:menuItem value="View" id="view" onclick="return false;">
<ice:menuItem id="zoom_in" value="Zoom In" icon="http://component-showcase.icefaces.org/component-showcase/images/menu/zoomin.gif" onclick="return false;"></ice:menuItem>
<ice:menuItem id="zoom_out" value="Zoom Out" icon="http://component-showcase.icefaces.org/component-showcase/images/menu/zoomout.gif" onclick="return false;"></ice:menuItem>
<ice:menuItem id="fit_in_window" value="Fit In Window" icon="http://component-showcase.icefaces.org/component-showcase/images/menu/fitinwindow.gif" onclick="return false;"></ice:menuItem>
<ice:menuItem id="actual_size" value="Actual Size" icon="http://component-showcase.icefaces.org/component-showcase/images/menu/actualsize.gif" onclick="return false;"></ice:menuItem>
</ice:menuItem>
<!-- Help Menu -->
<ice:menuItem value="Help" id="help" onclick="return false;">
<ice:menuItem id="docs" value="Documentation" icon="http://component-showcase.icefaces.org/component-showcase/images/menu/help.gif" link="http://www.icefaces.org/main/resources/documentation.iface" target="_blank" />
</ice:menuItem>
</ice:menuBar>
</ice:panelGroup>
<ice:panelGroup styleClass="clearer" />
</ice:panelGroup>
<div style="height: 1800px;width: 100%;" />
</h:body>
</html>
Если кто-то может проверить этот код на IE7 или IE8 с точки зрения совместимости, чтобы подтвердить прослушивают поведение, было бы уже помочь.
Я также задаюсь вопросом, связана ли эта проблема с тем фактом, что мы используем здесь версию IE8 с «представлением о совместимости», а не автономный IE7 (делает ли IE8 с режимом совместимости отправкой заголовков IE8 или IE7 на сервер?). Может ли кто-нибудь протестировать с помощью автономного IE7?
Любая помощь будет принята с благодарностью.
Поскольку IceFaces 3 сейчас нет, я тестировал эту новую версию. Похоже, что теперь это исправлено (не изменилось ни одной строки в моем проекте). Кажется, это ошибка версии 2.0.X. – Wis