2011-12-13 89 views
1

尋找一些小顯示錯誤的幫助。下面是與ICEfaces的2.0.2在JBoss 7.0.2.Final運行的代碼示例:IceFaces menuBar + 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,激活了「兼容視圖」模式,不知道它是否有效果)。

如果您不滾動頁面並懸停MENU1,您將看到SUBMENU正確顯示。但是,如果您滾動頁面使菜單位於頁面頂部並將鼠標懸停在MENU1上,則會看到SUBMENU在菜單下顯示約50px。因此,你將永遠無法點擊第二個菜單...

想不通這是行不通的。我查看了http://component-showcase.icefaces.org/component-showcase/showcase.iface上的IceFaces展示櫃,並看到它在我的IE版本上工作(不能證明展示櫃使用與我相同版本的IceFaces)。

我做了一個額外的測試:在本地展示代碼顯示相同的行爲(有bug)。下面是我運行的確切代碼:

<!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進行測試嗎?

任何幫助將不勝感激。

+0

由於IceFaces 3現在不在了,所以我測試了這個新版本。看來現在已經糾正了(沒有改變我項目中的一行)。似乎是2.0.X版本的錯誤。 – Wis

回答

0

IceFaces 3糾正了這個錯誤,不再需要解決方法。