0

smartgwt カレンダー ツールに問題があります。クラス カレンダーの保護されたメソッド getdaybodyhtml() を使用して、月の特定の日に特別なアイコン フラグを割り当てるようにカスタマイズしました。クロム(すべてのバージョン)IE(7、8、9)およびFF(14.0.1まで)ですが、FF(15から19の間)でカレンダーを表示すると、このフラグアイコンは表示されません。コードをフォローしたところ、getdaybodyhtml() メソッドで定義した html コードが出力されていないことがわかりました。

そのような問題についてsmartgwtを探していましたが、関連するものは見つかりませんでした。どんな助けも受け取られるでしょう。(私の英語があまり上手でない場合は申し訳ありませんが、私の第二言語です)

コードの一部は次のとおりです。

private Calendar calendar = new Calendar(){
    @Override
    @SuppressWarnings("deprecation")
    protected String getDayBodyHTML(Date date, CalendarEvent[] events, Calendar calendar, int rowNum, int colNum) {
        String value = defaultMessage != null ? defaultMessage : date.getDate()+"";
        // The "events" are the events of the day
        List<CalendarEvent> calendarEvents =  new ArrayList<CalendarEvent>(Arrays.asList(events));
        if(calendarEvents != null && calendarEvents.size() > 0) {
            // Removing the tooltip and the excluded colours
            removeTooltipsFromCalendar(calendar,date);
            removeExcludedColoursFromCalendar(calendarEvents);
            if(calendarEvents.size() == 1){
                // Description contains the colour
                String colour = calendarEvents.get(0).getDescription();
                value = imgHTML(COASTAL_IMAGES_DIR+colour+COASTAL_IMAGE_SUFFIX, colourWidth, colourHeight, "images", "class='handCursor'", null);
            }else if(calendarEvents.size() > 1){
                // Might have two vessels going to the same port in the same day
                Set<String> colours = new HashSet<String>();
                for(CalendarEvent event : calendarEvents){
                    // Description contains the colour
                    colours.add(event.getDescription());
                }
                int numberOfPorts = colours.size();
                for(String colour : colours){
                    value += "<div>";
                    value += imgHTML(COASTAL_IMAGES_DIR+colour+COASTAL_IMAGE_SUFFIX, colourWidth, colourHeight/numberOfPorts, "images", "class='handCursor'", null);
                    value += "</div>";
                }
            }else{
                value = defaultMessage != null ? defaultMessage : date.getDate()+"";
            }
        }
        return value;
    }
};

PD: Chrome と IE のすべてのバージョンのコード:

value += "<div>";
                value += imgHTML(COASTAL_IMAGES_DIR+colour+COASTAL_IMAGE_SUFFIX, colourWidth, colourHeight/numberOfPorts, "images", "class='handCursor'", null);
                value += "</div>";

14バージョンまでのfire foxでは問題なく印刷されますが、15から19までのffでは「div」と「image」が印刷されません。コードがfirebugをスローし、divがそのfirefoxバージョン(15-19)に表示されないことをすでに確認しています。

PD: IE 10 の最新の更新でも動作しません。

4

2 に答える 2