Icefaces и ActiveXObject
Я пытаюсь создать PanelPopup с JSF-библиотекой Icefaces.
Я использую Netbeans и Glassfish. Я правильно установил плагин интеграции Icefaces Netbeans и создал небольшой тестовый проект как проект Icefaces на Netbeans.
При тестировании всплывающее диалоговое окно на самом деле не появляется на странице (оно встроено в страницу)
Firebug (при тестировании на FF) сообщает, что "ActiveXObject не определен".
Но вывод постоянен для FF, IE, Chrome и Opera (все последние версии)
Код страницы выглядит следующим образом:
<?xml version='1.0' encoding='UTF-8' ?>
<!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:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:icecore="http://www.icefaces.org/icefaces/core"
xmlns:ace="http://www.icefaces.org/icefaces/components"
xmlns:ice="http://www.icesoft.com/icefaces/component">
<h:head>
<title>ICEfaces 2</title>
<link rel="stylesheet" type="text/css" href="./xmlhttp/css/rime/rime.css"/>
</h:head>
<h:body styleClass="ice-skin-rime">
<h:form id="form">
<ice:panelPopup rendered="true" visible="true">
<f:facet name="header">
popup header contents
</f:facet>
<f:facet name="body">
popup body contents
</f:facet>
</ice:panelPopup>
</h:form>
</h:body>
<h:outputStylesheet library="org.icefaces.component.skins" name="rime.css" />
</html>
Пожалуйста, кто-нибудь посоветуете мне, что это.
1 ответ
ActiveXObject
является проприетарным объектом JavaScript MSIE. Похоже, что ошибка появляется в Firefox, я готов поспорить, что соответствующий код JavaScript неправильно использует обнаружение браузера вместо обнаружения функций и каким-то образом обнаружил ваш браузер Firefox как браузер MSIE и небрежно пытался выделить ActiveXObject
пример.
Или, что еще хуже, код JavaScript полагается, что ActiveXObject
поддерживается всеми целевыми веб-браузерами и использует его небрежно, не обнаруживая браузер или функции. Эта поддержка в браузере на самом деле не соответствует действительности, она поддерживается только созданием Microsoft.
Это все, что можно сказать о представленной информации. Вы должны запустить отладчик JavaScript ( Firebug? Venkman? И т. Д.) И зафиксировать виновника в коде JavaScript, в конечном итоге отследить его до кода на стороне сервера и затем исправить его соответствующим образом или сообщить об этом ответственному сопровождающему.