2014年

2月

01日

【JPIERE-0002】IE(Internet Explore)8対応 -個別対応カスタマイズ-

ウィンドウでの縦スクロールバーの表示

 IE(Internet Explore)8では、ウィンドウで縦スクロールバーが表示されないという不具合がありますが、ソースコードを少し修正する事で表示させる事ができます。

 IE8は、基本的に使われなくなってきているので、このカスタマイズは、JPiereの導入を希望する企業に対して、個別に適用しています。

事象

IE8ブラウザ問題
IE8ブラウザ問題

【技術情報】IE8で縦スクロールバーを表示する

 IE8で縦スクロールバーを表示するためには、org.adempiere.ui.zkプロジェクト(バンドル)のorg.adempiere.webui.adwindowパッケージのADTabpanelクラスの修正します。

370行目付近:修正前

else

{

Vlayout div = new Vlayout();

div.setSclass("adtab-form");

div.appendChild(form);

div.setStyle("overflow-y: visible;");

div.setVflex("1");

div.setWidth("100%");

div.setSpacing("0px");

 

Borderlayout layout = new Borderlayout();

layout.setParent(this);

layout.setSclass("adtab-form-borderlayout");

 

Center center = new Center();

layout.appendChild(center);

center.appendChild(div);

formContainer = layout;

}

 

370行目付近:修正後

else

{

Vlayout div = new Vlayout();

div.setSclass("adtab-form");

div.appendChild(form);

//JPIERE-2 Modify ADTabpanel#init() by Hideaki Hagiwara

if ( AEnv.isInternetExplorer() &&

(Servlets.getBrowser((ServletRequest) Executions.getCurrent().getNativeRequest(), "ie").intValue() < 9))

{

div.setStyle("overflow-y: scroll;");

}else{

div.setStyle("overflow-y: visible;");

} //JPiere-2 Finish

div.setVflex("1");

div.setWidth("100%");

div.setSpacing("0px");

 

Borderlayout layout = new Borderlayout();

layout.setParent(this);

layout.setSclass("adtab-form-borderlayout");

 

Center center = new Center();

layout.appendChild(center);

center.appendChild(div);

formContainer = layout;

}


 この修正を行うためには次のクラスをインポートする必要があります。

  • import javax.servlet.ServletRequest;
  • import org.adempiere.webui.apps.AEnv;
  • import org.zkoss.web.servlet.Servlets;

関連するコンテンツ

OSS ERP