frameおよびiframeでなく、style.overflowにてスクロールを実装しているエレメント内にJSVR部品を置く場合は、次の注意が必要です。
エレメント内でスクロールを行った場合に、JSVR文字入力部品とツールバーやインライン変換リストの表示位置が一致しません。
なお、frameおよびiframeを利用することで、この現象を回避することができます。
JSVR部品は、内部にSubmit用のフォーム部品を持っており、JSVR部品の表示文字列と内部フォーム部品の値を同期させながら動作しています。そのため、JSVR部品上の文字列をSubmitする場合は、次の点に注意してください。
この場合は、Submit処理前に、利用者アプリケーション側で次のいずれかの値同期関数を利用し、値同期処理を行う必要があります。
syncSubmitValue()
syncSubmitValueByName()
この場合は、JSVR部品が自動的に値同期を行います。利用者アプリケーション側での注意は不要です。
JSVR部品を使用するform内では、[Enter]キーでフォームが送信(submit)されないように実装する必要があります。[Enter]キーでフォームが送信されるように実装すると、JSVR部品上で文字を直接確定(かな漢字変換せずに、読みのまま[Enter]キーを押す)した場合、送信処理が動作することがあります。
JSVR部品の出力文字サイズを小さくした場合、文字がつぶれることがあります。出力文字サイズについては、アプリケーションの画面設計時に次の点を十分検討してください。
11px以下の場合、文字がつぶれ、出力品質が極端に低下します。
12px以上24px未満の場合、使用頻度の高い内字にはラスタフォントが使用され可読性は保てます。しかし、外字にはラスタフォントは使用されないため、文字がつぶれます。
24px以上であっても、複雑な字形の場合は文字がつぶれることがあります。
JSVR部品の出力文字サイズを12~24pxにした場合、頻度の高い内字については、ラスタフォントが使用されます。その際、縦横線分などを間引いた省略字形が使用されます。正確な字形を確認する場合は、出力文字サイズを大きくするか、文字の「プロパティ」ダイアログを使用してください。
JSVR部品にアクセスする場合、必ずCharset-Web入力のシステムが提供するアクセスメソッドを使用してください。JSVR部品が持つエレメントに対し、規定のアクセスメソッドを用いず、直接参照・書き換えなどのアクセスを行った場合、正常に動作しないことがあります。
特に、document.all()、document.getElementsByTagName() などで不特定エレメントへのアクセスを行うと、本規約違反になりますので、充分ご注意ください。
JSVR部品に対するイベントフローを変更・遅延させると、正常に動作しない可能性があります。部品が動作している間は、keydownのフックや、ダイアログ表示などは行わないようご注意ください。
例えば、Internet Explorerで、サブミット時にダイアログを表示する設定になっている場合は、インライン変換リストでページ移動する際にこのダイアログが表示され、変換リストが消えてしまうことがあります。
td, div{…}などによる、不特定エレメントに対するスタイル定義を行った場合、JSVR部品が正常に動作しないことがあります。
idやclass属性を用いて、特定エレメントにのみ適用するようにしてください。
String, Arrayなど、JavaScriptが標準実装しているオブジェクトを拡張すると、JSVR部品が正常に動作しないことがあります。
Charset-Web入力が使用している変数名、関数名と同じ名前の変数・関数などを定義した場合、JSVR部品が正常に動作しないことがあります。
Charset-Web入力で使用している名前のprefixは次のとおりです。
項目 | prefix |
---|---|
変数名 | ej_ |
関数名 | ej_ |
オブジェクト名 | EJ_ |
CSS-Styleクラス名 | EJ_ |
また、次に示す関数名を使用しています。
isKana()
isNumber()
cnvNumberEmEn()
JSVR部品のGUI部品(ツールバー、読みがな表示域、インライン変換リスト、入力領域上の文字を右クリックして表示されるメニュー)の表示領域をJSVR部品の右側および下側に確保するために、以下の注意が必要です。
DIVエレメントの描画を上書きしてしまうエレメント(SELECT、FRAME、IFRAME、ActiveX等)をJSVR部品の右側や下側に配置すると、JSVR部品のGUI部品の表示/操作が妨げられることがあります。
描画の表示順をコントロールしているエレメント(z-index等)をJSVR部品の右側や下側に配置すると、JSVR部品のGUI部品の表示/操作が妨げられることがあります。
JSVR部品を搭載するドキュメントにて、JSVR部品の右側や下側に充分な表示域がないと、JSVR部品のGUI部品の表示/操作が妨げられることがあります。さらに、充分な表示域のないドキュメントのスクロールを禁止してしまうと、JSVR部品のインライン変換リストの操作の結果、ドキュメントの表示領域が変わってしまい、元に戻らなくなることがあります。
JSVR部品のインライン変換リストで下方向に選択を進めていくと、変換リストの候補を表示するために、ドキュメントの強制下スクロールが行われますが、ドキュメントにスクロールバーがないために、上スクロールして元の表示位置に戻すことができなくなってしまいます。
なお、インライン変換リストの表示高は、利用者が指定したインライン変換リストのフォントサイズ(intListFontSize)に依存します。実際の画面で確認の上、表示領域確保を行ってください。
Internet Explorerの保護モードが有効になっている場合は、showModalDialog関数で表示したポップアップウィンドウ内にJSVR部品を使用すると、入力することができません。この場合は、部門サーバを信頼済みサイトに登録するか、他のポップアップウィンドウ(openやshowModelessDialog)を使用してください。
Internet Explorerバージョンやポップアップウィンドウなどのウィンドウ表示方法に依存して、カーソルが表示されないことがあります。その場合は、本製品の媒体に置かれた資源("extra/j_svr/page/ime/img/caret_nonblinking.gif")を、caret.gifに変名して"インストール先/j_svr/page/ime/img/caret.gif"に上書きすることで回避できます。ただし、caret_nonblinking.gifを使用した場合には、カーソルの点滅表示はされません。なお、caret.gifを上書きする場合には、サーブレットコンテナを停止してから行ってください。