ページの先頭行へ戻る
Interstage Charset Manager Standard Edition Web入力 Agent V9 コマンドリファレンス JSVR部品 JSVR-Webサービス JSVRAX編
FUJITSU Software

8.7.2 API

本HTCはエレメントビヘイビアであり、一般的なエレメントビヘイビアの機能に本HTCの独自実装を加えたものが、本HTCの全機能となります。ここでは、本HTCの独自実装についてのみ説明します。

参考

「エレメントビヘイビア」とは、HTCをHTMLのカスタムエレメントとして扱えるInternet Explorerの技術で、idプロパティやsetAttribute()メソッドなど、DOMエレメントの基本的なインタフェースを持っています。

利用可能/不可能なインタフェースなどについて詳細は「8.11 エレメントビヘイビアのインタフェースについて」を参照してください。

注意

  • 本HTCでは、一部の文字の表示/入力に注意が必要です。注意が必要な文字(コード)と、<TEXTAREA>および本HTCでの表示状態は次のようになります。また、下記以外の制御文字を入力した場合にも、その制御文字が消えたり、空白(U+0020)に置き換えられる場合があります。

    入力文字

    <TEXTAREA>

    <JSVRAX:textarea>

    備考

    U+0009

    U+0009

    U+0020

    文字参照形式でも同様

    U+000A

    コンテンツ文字列の先頭にある場合は消失、それ以外はU+000D、U+000A

    U+000D、U+000A

    文字参照形式でも同様

    U+000D

    コンテンツ文字列の先頭にある場合は消失、それ以外はU+000D、U+000A

    U+000D、U+000A

    文字参照形式でも同様

    U+00A0

    U+00A0

    U+0020

    文字参照形式でも同様

    &nbsp;

    U+00A0

    U+0020

    文字参照形式でも同様

  • 一般属性のdisabledをfalse(上位エレメントのdisabled属性変更など、結果的にターゲットエレメントの属性がfalseになる場合も含む)にしてはいけません。

  • 拡張プロパティの変更は、本HTCにフォーカスがない状態で行ってください。

  • 本HTCでは、文字の存在しない行にはペーストできません。

  • 本HTCをFRAME/IFRAMEで利用する場合、次の現象が発生することがあります。

    • JSVRAX.TSF未起動状態の削除/コピー&ペーストが行えない

    • JSVRAX.TSF起動時にコピーが行えない

    これらの現象は、Internet Explorerの不具合によるものです。詳細は、Microsoftのサポート技術情報KB300829を参照してください。なお、KB300829の記事はInternet Explorer 6を対象に記載されていますが、上記現象はInternet Explorer 11でも発生します。

  • innerHTMLは、設定のみ有効です。読み出さないようにしてください。

  • 本HTCを割り当てたエレメントのコンテンツに対し、TextRangeを用いてアクセスしないでください。

  • 送信ボタン等を押させるなどのGUI操作を行わず、スクリプトなどにより任意のタイミングで値を送信した場合、入力途中の未補正文字列を含んだままの値が送信される可能性があります。エレメントからフォーカスが外れているなど、文字入力中では無いことが明らかな状態で値を送信するようにしてください。

  • 本HTCを使ったとしても、何らかのトラブルによって、補正されない文字列がサーバに送信される可能性があります。送信情報の確認画面を用意し、サーバ側で再チェックを行うなど、システムの各フェーズで必ず値をチェックするようにしてください。

  • 本HTCは、文字の表示/入力やカーソル移動/範囲選択などをJavaScriptにより実装していたり、JSVR-Webサービスと通信して、代替画像表示も行うなど、他のHTCや、標準的なJavaScriptロジックなどと比較して、処理コストが高い機能です。そのため、必要な場所にだけ、本HTCによる文字表示/入力フィールドを使うようにしてください。1画面に本HTCを複数組み込む際は、処理性能や動作に支障がないことを充分に確認してから運用するようにしてください。

8.7.2.1 実装モジュールのURL

/%JSVRAX_PATH%/Textarea.htc

8.7.2.2 HTC情報

namespace

JSVRAX

注意

  • タグおよびJSVRAXが拡張実装するプロパティ/イベントに付加してください。

  • 変更してはいけません。

name

jsvrax_textarea

注意

通常は不要です。使い方については、Internet ExplorerのHTCに関するドキュメントを参照してください。

urn

http://jsvr.fujitsu.com/client/jsvrax/textarea

注意

通常は不要です。使い方については、Internet ExplorerのHTCに関するドキュメントを参照してください。

tagName

textarea

コンテンツ

あり

コンテンツ文字列の指定方法については、「◆初期表示文字列の指定」を参照してください。

8.7.2.3 拡張プロパティ

TSFBootKey

説明はTSFAttacher#TSFBootKeyを参照してください。

TSFAutoBoot

説明はTSFAttacher#TSFAutoBootを参照してください。

TIPsBootKeys

説明はTSFAttacher#TIPsBootKeysを参照してください。

charBehavMap

本HTCおよびJSVRAX.IMEのインラインかな漢字変換TIPなどで使用する文字処理定義を設定/返却します。

説明はJSVRAX.IMEのインラインかな漢字変換TIP#charBehavMapを参照してください。

altChar

説明はTSFAttacher#altCharを参照してください。

editMode

編集モードを設定/返却します。

シンタックス
HTMLの場合
<ELEMENT JSVRAX:editMode="_mode"… >
Scriptの場合
element["JSVRAX:editMode"] = _mode

上記のような一般的なDOMアクセス

パラメータ

_mode

string型

正常値

  • <INPUT type="text"><TEXTAREA>のdisabled相当時は"disabled"

  • <INPUT type="text"><TEXTAREA>のreadonly相当時は"readonly"

  • 通常編集時は"null"

デフォルト

null

判定/補正

設定時/あり

注意

本エレメントのdisabled属性に関しては「8.11 エレメントビヘイビアのインタフェースについて」を参照してください。

multiLine

コンテンツを複数行で表示するか否かを設定/返却します。

シンタックス
HTMLの場合
<ELEMENT JSVRAX:multiLine="_multi"... >
Scriptの場合
element["JSVRAX:multiLine"] = _multi

上記のような一般的なDOMアクセス

パラメータ

_multi

boolean型

正常値

複数行で表示(<TEXTAREA>相当)する場合はtrue、それ以外はfalse

デフォルト

true

判定/補正

設定時/あり

注意

  • 複数行で使用する場合、縦スクロールバーを消すことはできません。

  • 複数行で使用する場合、本HTCのエレメントに対して高さを指定しないと、入力文字列の行数に従って、エレメントの高さが変わります。

  • 単一行で使用し、かつDOCTYPEによりXHTMLなどのstandardレンダリングモードを指定している場合は、本HTCのエレメントに対して高さを指定しないと、縦方向に潰れた入力域になります。

maxLength

コンテンツ文字列の最大長を設定/返却します。

シンタックス
HTMLの場合
<ELEMENT JSVRAX:maxLength="_length"... >
Scriptの場合
element["JSVRAX:maxLength"] = _length

上記のような一般的なDOMアクセス

パラメータ

_length

number型

正常値

本HTCで表示/編集可能な文字列の最大長(1000)を超えない数値。0以上。

デフォルト

本HTCで表示/編集可能な文字列の最大長(1000)

判定/補正

設定時/あり

注意

コンテンツ文字列の最大長については「◆操作文字数の制限と文字列長補正」を参照してください。

value

コンテンツのテキスト値を設定/返却します。

シンタックス
HTMLの場合

N/A

Scriptの場合
element["JSVRAX:value"] = _val

上記のような一般的なDOMアクセス

パラメータ

_val

string型

正常値

コンテンツ文字列の最大長を超えない長さの文字列

デフォルト

空文字列

判定/補正

設定時/あり

注意

  • 初期表示文字列については「◆初期表示文字列の指定」を参照してください。

  • 本プロパティによる値の設定/返却には処理コストがかかります。そのため、呼び出し回数は極力減らすようにしてください。

8.7.2.4 拡張メソッド

jsvrax_bootTSF

説明はTSFAttacher#jsvrax_bootTSF()を参照してください。

jsvrax_isTSFBooting

説明はTSFAttacher#jsvrax_isTSFBooting()を参照してください。

jsvrax_reset

innerHTMLを使ってコンテンツを作り直します。

シンタックス
element.jsvrax_reset()
パラメータ

なし

jsvrax_reflectStyle

スタイル情報を読み直します。

シンタックス
element.jsvrax_reflectStyle()
パラメータ

なし

注意

本メソッドは、以下の手段以外で動的スタイル変更を行った場合に使用してください。

  • element.style.cssTextに対してスタイル宣言文字列を指定する

  • element.style.colorなどのプロパティを直接指定する

  • element.idあるいはelement.classNameを変更し、スタイルセレクタを変更する

8.7.2.5 拡張イベント

onbeforetsfperform

説明はTSFAttacher#onbeforetsfperformを参照してください。

onaftervaluechange

valueの値が変更された後に発生します。

シンタックス
HTMLの場合
<ELEMENT JSVRAX:onaftervaluechange="handler" ...>
Scriptの場合
element["JSVRAX:onaftervaluechange"] = "handler"

上記のような一般的なDOMアクセス

event情報

キャンセラブル

No

デフォルト処理

N/A

event属性

srcElement

説明

一般属性。但し、変更不可。

srcUrn

説明

一般属性。本HTCのURN。

oninitcomplete

エレメントの初期化終了時に発生します。

シンタックス
HTMLの場合
<ELEMENT JSVRAX:oninitcomplete="handler" ...>
Scriptの場合
element["JSVRAX:oninitcomplete"] = "handler"

上記のような一般的なDOMアクセス

event情報

キャンセラブル

No

デフォルト処理

N/A

event属性

srcElement

説明

一般属性。但し、変更不可。

srcUrn

説明

一般属性。本HTCのURN。

8.7.2.6 拡張スタイル

jsvrax--padding-top

エレメントの上パディングサイズを設定/返却します。

シンタックス
HTMLの場合
{ jsvrax--padding-top : _padding }
Scriptの場合
element.style["JSVRAX:jsvrax--padding-top"] = _padding

上記のような一般的なDOMアクセス

パラメータ

_padding

型/正常値

一般属性のpadding-topと同じ。

デフォルト

1px

判定/補正

実行時/なし

jsvrax--padding-right

エレメントの右パディングサイズを設定/返却します。

シンタックス
HTMLの場合
{ jsvrax--padding-right : _padding }
Scriptの場合
element.style["JSVRAX:jsvrax--padding-right"] = _padding

上記のような一般的なDOMアクセス

パラメータ

_padding

型/正常値

一般属性のpadding-rightと同じ。

デフォルト

1px

判定/補正

実行時/なし

jsvrax--padding-bottom

エレメントの下パディングサイズを設定/返却します。

シンタックス
HTMLの場合
{ jsvrax--padding-bottom : _padding }
Scriptの場合
element.style["JSVRAX:jsvrax--padding-bottom"] = _padding

上記のような一般的なDOMアクセス

パラメータ

_padding

型/正常値

一般属性のpadding-bottomと同じ。

デフォルト

1px

判定/補正

実行時/なし

jsvrax--padding-left

エレメントの左パディングサイズを設定/返却します。

シンタックス
HTMLの場合
{ jsvrax--padding-left : _padding }
Scriptの場合
element.style["JSVRAX:jsvrax--padding-left"] = _padding

上記のような一般的なDOMアクセス

パラメータ

_padding

型/正常値

一般属性のpadding-leftと同じ。

デフォルト

1px

判定/補正

実行時/なし

8.7.2.7 使用例

<HTML xmlns:JSVRAX>                                                                              1.
<HEAD>
<?IMPORT namespace="JSVRAX" implementation="/JSVRAX/Environment.htc " >                          2.
<JSVRAX:environment />                                                                           3.
<?IMPORT namespace="JSVRAX" implementation="/JSVRAX/Textarea.htc" >                              4.
<HEAD>
<BODY>
<FORM action="..." onsubmit="importValue()">                                                     5.
<INPUT name="memoReal" type="hidden">                                                            6.
<JSVRAX:textarea id="memoVirtual" JSVRAX:TSFBootKey="alt 49" JSVRAX:multiLine="false">           7.
        今日はいい天気でした<JSVRAX:textarea>
...
</FORM>
<SCRIPT>
function importValue()
{
        document.getElementsByName("memoReal")[0].value
            = document.getElementById("memoVirtual")["JSVRAX:value"];               8.
}
</SCRIPT>
...
  1. 「JSVRAX」というnamespaceを宣言。

  2. 宣言したnamespaceに環境設定HTCの実装モジュールをインポート。

  3. namespace付きで環境設定HTCをWebページに追加。

  4. 宣言したnamespaceに本HTCの実装ファイルをインポート。

  5. onsubmitで、値を移しかえるメソッドが呼ばれるように定義。

  6. submitのための<INPUT>を定義。

  7. namespace付きで本HTCをWebページに追加。同時に、TSFBootKeyプロパティ値を"alt 49"に設定。

  8. submitのための<INPUT>に本HTCの値を代入。