0

Icefaces JSF ライブラリを使用して panelPopup を作成しようとしています。

Netbeans と Glassfish を使用しています。Icefaces Netbeans 統合プラグインを適切にインストールし、小さなテスト プロジェクトを Netbeans 上の Icefaces プロジェクトとして作成しました。

テストしたところ、ポップアップ ダイアログは実際にはページから飛び出していません (ページに埋め込まれています)。

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>

これは何なのか、誰かアドバイスをください。

4

1 に答える 1

0

ActiveXObjectMSIE 独自の JavaScript オブジェクトです。エラーが Firefox に表示されるように見えるのは、関連する JavaScript コードが機能検出ではなくブラウザー検出を誤って使用しており、Firefox ブラウザーを MSIE ブラウザーとして検出し、不注意にActiveXObjectインスタンスを割り当てようとしたためだと思います。

さらに悪いことに、JavaScript コードはActiveXObject、すべてのターゲット Web ブラウザーでサポートされていることに依存しており、ブラウザーや機能の検出を行わずに不注意に使用しています。このブラウザ全体のサポートは実際には真実ではなく、Microsoft の作成によってのみサポートされています。

これまでに提供された情報で言えることはそれだけです。JavaScript デバッガー ( Firebug ? Venkman ? など) を実行し、JavaScript コードの原因を突き止め、最終的にはサーバー側のコードにバックトラックして、それに応じて修正するか、担当のメンテナーに報告する必要があります。

于 2011-07-29T18:05:59.057 に答える