使用環境による機能制約
アプリケーションでの同期通信サポートに関する制約
iOS端末のRuntime環境では、同期通信をサポートしません。非同期通信のみサポートします。
RP | 作成日 | 説明 |
---|---|---|
42234 | 2015-05-12 | iOS端末のRuntime環境でのバイナリ/圧縮通信は、DeviceAPIを使って実装されています。 iOSから提供されるWebView環境では同期通信を処理することができません。 |
2019-12-24 | 14.0.1.3400バージョンでiOSの最小仕様がiOS9に変更され、UIWebViewのサポートが中止になったため、14.0.1.3400以降のバージョンではこの制約事項は該当しません。 |
MaskEditコンポーネントへフォーカスが移動した際に、キャレット位置が変わる事象
iOS端末では、MaskEditコンポーネントのtypeプロパティ値が「string」である場合、フォーカスが移動した際にキャレット位置が末尾に移動する事象が発生します。
RP | 作成日 | 説明 |
---|---|---|
69265 | 2016-09-13 | iOS端末では、コンポーネントの編集領域へフォーカスが移動した場合にソフトウェアキーボードを表示するコマンドを呼び出します。その際に、内部的にはINPUT DOMツリーのtypeを変更し、textの値を再設定しますが、その過程でキャレットが末尾に移動する事象が発生します。強制的にキャレットの位置を変更することは可能ですが、パフォーマンスに影響を与える可能性があるため、現状のままにしています。 |
「拡張保護モード」オプションが有効な場合、ファイルのダウンロード機能の制約
IE10以上のブラウザでは、[拡張保護モード]オプションを有効にした場合、Windowsフォルダを保護するために、特定のフォルダにのみアクセスできるようにパスが仮想化されます。ユーザーが該当のオプションを有効にした場合、ファイルをダウンロードするフォルダのパスを指定する機能が使用できません。
RP | 作成日 | 説明 |
---|---|---|
71778 | 2017-02-13 | [拡張保護モード]は、IE10以上のブラウザの使用時にユーザーが設定するオプションです。必要に応じて、ユーザーがオプションを変更するようにガイドすることで回避できます。 |
Menuコンポーネントの背景画像が表示されない事象
Firefoxでは、Menuコンポーネントのitembackground>imageプロパティに画像ファイルを設定し、かつrepeatプロパティ値を「stretch」に設定した場合、アプリケーションのロード時に背景画像が表示されない事象が発生します。
RP | 作成日 | 説明 |
---|---|---|
71855 | 2017-02-17 | Firefoxのレンダリングエンジンの制約事項です。ページの再読み込みをすると、背景画像が表示されます。 |
setFocusメソッドを実行する際にキャレットが移動しない事象
Edgeでは、Edit系コンポーネントのonkillfocusイベント関数内で同一コンポーネントのsetFocusメソッドを呼び出す場合、フォーカスのみ移動し、キャレットが移動しない事象があります。
例えば、Edit00とEdit01の二つのEditコンポーネントがあるとします。最初のEditコンポーネント(Edit00)にフォーカスがある状態で、次のEditコンポーネント(Edit01)の編集領域をクリックし、フォーカスを移動した場合、Edit00のonkillfocusイベントが発生します。この際にフォーカスはEdit00へ移動しますが、キャレットはEdit01に表示される事象です。
this.Edit00_onkillfocus = function(obj:Edit, e:nexacro.KillFocusEventInfo) { if(obj.value == null) obj.setFocus(); }
RP | 作成日 | 説明 |
---|---|---|
71955 | 2017-02-23 | Edgeのバグです。 |
2020-04-21 | Edgeのバージョン44.18362にて正常に動作することを確認しました。 44.18362以降のバージョンではこの制約事項は該当しません。 |
FileUploadコンポーネントのappendItemメソッドが動作しない事象
Windows版Safariで、FileUploadコンポーネントのappendItemメソッドを繰り返し呼び出す場合、2回目以降は正常に動作しません。
RP | 作成日 | 説明 |
---|---|---|
72002 | 2017-02-28 | Windows版Safariのバグです。 |
Edit領域を持つコンポーネントのテキスト検索に関する制約
IEでは、ブラウザの検索機能を使用し、Edit領域を持つコンポーネントに入力されたテキストを検索することができません。
RP | 作成日 | 説明 |
---|---|---|
72123 | 2017-03-09 | IEの機能制約です。 |
WebBrowserコンポーネントの生成と削除の繰り返しによるOSのメモリ増加
Windows端末用のRuntime環境にて、WebBrowserコンポーネントの生成と削除が頻繁に発生した場合、OSのメモリ使用量が増加し、アプリケーションのパフォーマンス低下が発生します。
例えば、Divコンポーネントのurlプロパティに指定したFormオブジェクト内にWebBrowserコンポーネントが配置された場合、Divコンポーネントのurlプロパティ値を変更するたびに、内部的にはWebBrowserコンポーネントの生成と削除が繰り返され、メモリ使用量が増加することになります。
RP | 作成日 | 説明 |
---|---|---|
74036 | 2017-7-5 | Runtime環境で実行した際のWebBrowserコンポーネントは、WebBrowser2 OLEコントロールを組み込んだ機能を使用しますが、WebBrowser2 OLEコントロールの特性上、作成と削除が繰り返された場合にメモリが増加するとの内容で、メーカー側(Microsoft)が公式に回答しています。 一度生成したWebBrowserコンポーネントを再利用することを推奨します。 |
マウスカーソルを高速で動かすと、Divコンポーネントのonmouseoutイベントが発生しない事象
UIコンポーネントを配置し、onmouseoutイベントを設定したDivコンポーネントにて、マウスカーソルをDivコンポーネント上を通り過ぎて外側へ移動した際にonmouseoutイベントが発生しますが、高速で移動した場合はイベントが正常に発生しません。
下図の例でマウスの移動範囲はDiv(青色)の外側からDiv内のButton(赤色)の上を通り過ぎてDivの外側までになっています。その際にマウスを高速で動かすと、onmouseoutイベントが正常に発生しない場合があります。
下記は生成されたHTMLコードを簡略化したものです。本事象はDivタグがネストされている場合に発生します。
<div id="mainframe_VFrameSet0_ChildFrame0_form_Div00" style="left: 141px; top: 504px; width: 400px; height: 115px; background-color: rgb(0, 0, 255); "> <div style="position: absolute; left: 20px; top: 20px; width: 300px; height: 73px; background-color:red; ">Button00 </div> </div>
RP | 作成日 | 説明 |
---|---|---|
76382 | 2017-10-16 | Webブラウザでマウスカーソルを高速で動かした場合、希に発生します。 |
iOSにてソフトウェアキーボード(テンキー)使用時に、韓国語入力に関する制約
iOSでは韓国語を入力する際に組み合わせの完了に関するイベントを確認することができず、キャレットの位置で組み合わせが完了しているかどうかを判断します。そのため、ソフトウェアキーボードのレイアウトとして「テンキー」を使用している場合には、組み合わせの完了に関する正確な処理を保証することができません。入力した韓国語文字がvalueプロパティ値として正確に反映されないか、もしくはその他のプロパティ、メソッド、イベントに影響を与えます。
RP | 作成日 | 説明 |
---|---|---|
86842 | 2019-09-25 | iOSにて韓国語のソフトウェアキーボードのレイアウトを「テンキー」に設定している場合の制約事項です。韓国語入力の際に正常な動作を保証できません。 |
iOSのWKWebViewに関連する制約
iOSでWKWebViewを使用する場合、CORS(Cross Origin Resource Sharing)セキュリティポリシーに関連する下記の2つの制約が発生します。
Cookie使用の制限
コンテンツ(Run.html)ファイルがローカルパス(file://)で動作する場合には、全てのCookieを許可せず、Cookieを設定することができません。
スクリプトにより参照(document.cookie)したり、WKWebView API(WKHTTPCookieStore)によりCookieを設定することもできません。
WebBrowserコンポーネントのurlプロパティによるLocal-Urlへのアクセス時の制約
コンテンツ(Run.html)ファイルがローカルパス(file://)で動作する場合には、IFRAMEを使用するコンポーネントの使用に制約があります。
WebBrowserコンポーネントでcallMethodメソッドによりHTMLファイルを参照する機能は使用できません。
iOSのCookieを使用する必要があるか、WebBrowserコンポーネントでcallMethodを使用する必要がある場合には、下記のような方法でサーバーからRun.htmlファイルを呼び出すことができるように設定してください。
1
TypeDefinitionからUpdate情報を削除します。
もしくは、nexacro studioのArchiveメニューより生成したstart_ios.jsonファイルのresource関連の設定を削除します。
"resource" : { }
2
Run.htmlファイルを下記のように修正します。
nexacro studioにて、Archiveメニューより生成したRun.zipファイルの圧縮を解凍してRun.htmlファイル内の記述内容を編集します。archivefiles.jsファイルを呼び出す行を削除し、load関数の引数として指定しているProject URL値を空値に変更します。
<script type="text/javascript" src="./archivefiles.js"></script>
>>
削除
application.load("TEST", "TEST.xadl.js", "http://localhost:8080"); >> application.load("TEST", "TEST.xadl.js", "");
nexacro studioにて、ArchiveメニューによりProject URL値を空値に入力してもRun.htmlファイルの生成時に自動的にデフォルトアドレスが設定されるため、生成後のRun.htmlファイルを直接編集する必要があります。
3
変更したRun.htmlファイルをstart_ios.jsonファイルと同じパスに配置します。
Generateメニューにより生成したファイルとRun.html、start_ios.jsonファイルを同じサーバの同じパスに配置する必要があります。
4
AppDelegate.mファイルでisDirectオプションを追加します。
アプリのビルド時に設定するファイルの中でAppDelegate.mファイルにisDirectオプション(isDirect=YES)を追加します。
@implementation AppDelegate -(NexacroMainViewController*)initMainViewController:(NSInteger)nView { [[NexacroResourceManager sharedResourceManager]setBootstrapURL: @"http://172.10.10.10:8080/nexacro/start_ios.json" isDirect=YES]; return [[AppViewController alloc] initWithLoader:nView]; } @end
RP | 作成日 | 説明 |
---|---|---|
- | 2019-12-24 | 2019年12月、サポートするiOSの最小仕様がiOS9に変更されました。 iOSアプリで使用するWKWebViewのセキュリティポリシーによる制約事項です。 |
TextAreaコンポーネントでスクロールバーが2つ表示される不具合
nexacro platformでは、HTMLの基本スクロールバーを使用せずに独自のスクロールバーを使用しています。そのため、HTMLの基本スクロールバーは動作せず、表示されないように処理しています。
iOS13以降のバージョンおよびiPadOSではスクロール機能の改善が行われ、スクロールバー関連のプロパティが一部変更されました。その影響でHTMLの基本スクロールバーが再び表示されるようになり、TextAreaでは2つのスクロールバーが表示されます。
別の対応方法でスクロールバーが2つ表示されないようにすることは可能ですが、スクロールに関連する他の機能と動作に影響を与えるため、現状維持して本件を制約事項にします。
RP | 作成日 | 説明 |
---|---|---|
87651 | 2019-11-19 | iOS13以降のバージョンおよびiPadOSで発生する制約事項です。 |
longpressがtouchmove動作として処理される事象
iOSでは開発者がlongpressイベントを利用することができません。そのためnexacro platfromではOSのイベントではなく、ユーザーのタッチ操作時間を測定してtouchとlongpressを区別しています。
iOS13では、テキスト編集領域を持つコンポーネント(Input DOM)で長押しした際に表示された拡大鏡が廃止され、カーソルが拡大するように変更されました。以前のバージョンでは拡大鏡の表示に切り替わる時間の間隔によって一般的なタッチ操作との区別が可能でしたが、iOS13およびiPadOSでは時間の間隔がより短く変更され、touchとlongpressの区別が難しくなりました。nexacro platfromの内部で測定する時間の間隔値を調整しても、iOS13およびiPadOSではtouchとlongpressの区別ができません。
そのため、iOS13以降のバージョンおよびiPadOSを使用する場合、ユーザの意図としては長押しの操作であってもtouchmove動作として処理され、Stepが移動するなどの動作が発生することがあります。
RP | 作成日 | 説明 |
---|---|---|
87416 | 2019-11-20 | iOSおよびiPadOSで長押し(longpress)のイベントが提供されないため発生する制約事項です。 |
スクロールバーが表示されているForm上で長押し時に意図しない画面のスクロールが発生する事象
iOS13以降のバージョンでは、スクロールバーが表示されているFormにて、テキスト編集領域を持つコンポーネント上でソフトウェアキーボードが表示されている状態で編集領域を長押しすると、意図しない画面のスクロールが発生し、キャレット表示が消える事象が発生します。
同じ条件のHTMLファイルでも発生する事象であるため、本件を制約事項にします。
RP | 作成日 | 説明 |
---|---|---|
87425 | 2019-11-20 | iOS13以降のバージョンで発生する制約事項です。 |
日本語入力確定前のクリックイベント関数内でvalue値を参照できない事象
iOS13以降のバージョンおよびiPadOSではスクリプトで日本語入力を確定させることができません。iOSのバージョンによって、日本語入力が確定する時点が異なります。
iOSバージョン | 結果値 |
---|---|
13未満 | ontouchend > 日本語入力確定 > onclick |
13以降、iPadOS | ontouchend > onclick > 日本語入力確定 |
iOS13未満のバージョンではonclickイベント関数の処理時に日本語入力が完了状態として処理されてコンポーネントのvalue値を参照することができましたが、iOS13以降のバージョンおよびiPadOSではvalue値がundefinedとして返されます。
iOS13以降のバージョンおよびiPadOSでは、onclickイベント関数内で日本語入力中の文字をtextプロパティ値により参照することができます。
日本語入力確定前の状態で強制的にvalueプロパティ値やキャレット位置を変更すると、エラーが発生する可能性があるため、入力確定した後にoncharイベント関数内で変更することを推奨します。
RP | 作成日 | 説明 |
---|---|---|
88242 | 2020-01-13 | iOS13以降のバージョンおよびiPadOSで発生する制約事項です。 |
iPadOS13にてソフトウェアキーボードを閉じた際に入力コンポーネントのPseudo状態が変更される事象
iPadOS13のiPad端末にて、テキスト編集領域を持つコンポーネントをタップして編集状態になると、ソフトウェアキーボードが表示されます。その状態で閉じるボタンをタップすると、ソフトウェアキーボードが非表示になり、Body領域でblurイベントが発生することによって、入力コンポーネントのPseudo状態が変更(focused > normal)される事象が発生します。
iPadOS13にてソフトウェアキーボードが閉じられる際にblurイベントが発生するようにOSの仕様が変更されたことによって発生する事象です。ソフトウェアキーボードが閉じられる動作でblurイベントが発生するといった情報はOS側から提供されないため、nexacro側で処理することができません。blurイベントが発生する際のPseudo状態の変更は正常動作です。
OS | ソフトキーボードの「閉じる」ボタン選択時 |
---|---|
iOS13・iPadOS13未満 | blurイベントが発生しません。 |
iPadOS13 | blurイベントが発生します。 |
RP | 作成日 | 説明 |
---|---|---|
88941 | 2020-04-02 | iPadOS13での仕様変更による制約事項です。 |
imemodeプロパティ値が適用されない事象
Windows 8以降のバージョンでは、IME適用方式の変更によりアプリケーションごとに異なる入力方式が設定され、アプリケーション間のフォーカス移動時にimemodeプロパティの設定値が適用されません。
例えば、nexacroアプリケーションの実行中にメモ帳に切り替えてから、再度nexacroアプリケーションに戻った際に、最初のフォーカスを持つコンポーネントのimemodeプロパティ値が適用されません。(最初のコンポーネント以降のコンポーネントにフォーカスを移動した際に、imemodeプロパティ値が適用されます。)
alert、confirmなどのウィンドウ、もしくはnexacroアプリケーション内で別のプロセスとしてポップアップウィンドウを表示してから、再度nexacroアプリケーションにフォーカスを移動した際にも同様です。
nexacroアプリケーション内でimemodeプロパティ値を維持するためには、ユーザーがWindowsの設定を変更する必要があります。 Windows 10では、下図のように「キーボードの詳細設定 > 入力方法の切り替え > アプリ ウィンドウごとに異なる入力方法を設定する」項目のチェックボックスを選択してください。(デフォルト設定では未選択状態です。)
RP | 作成日 | 説明 |
---|---|---|
83862 | 2020-03-27 | OSの仕様変更による制約事項です。 ユーザーがOSの設定を変更することで、この問題を回避できます。 |
各コンポーネントのonmousedownイベントハンドラ関数内でalert、confirmメソッドの実行時の予期せぬ動作に関する制約
IEでは、各コンポーネントのonmousedownイベントハンドラ関数内でalert、confirmメソッドを実行した際に、強制的に他のアプリの画面に切り替えられる事象が発生します。
Tabコンポーネントのonchangedイベントは内部的にonmousedownイベントで発生するため、同様の制約を受けます。
RP | 作成日 | 説明 |
---|---|---|
93892 | 2022-01-26 | IEの機能制約です。 |
Microsoft IMEによる入力が不正になる事象
入力を制限するプロパティ(maxlength、inputtypeなど)の値を設定しているEdit、TextAreaコンポーネント、MaskEditコンポーネント、MaskEditControlを含むコンポーネント(Calendar、Gridコンポーネントなど)にてIME入力が不正となる事象です。
Windows10 2004アップデートより導入された新しいMicrosoft IMEの影響による制約事項です。
この問題は、Windows(Microsoft IME)のバージョン、Windowsの設定の「以前のバージョンのMicrosoft IMEを使う」のON/OFF、ブラウザの種類、ブラウザのバージョンにより発生状況が異なります。
実行環境によって、下記のように日本語IMEによる入力が不正になる事象が発生することがあります。
文字列が重複して入力される。
既に入力されている文字が削除される。
テンキー入力時に不正な値が入力される。
RP | 作成日 | 説明 |
---|---|---|
94158 | 2022-11-04 | 特定の環境で日本語IMEモードでの入力が正常に機能しない事象です。 |
ブラウザごとの機能差による制約
Edit領域を持つコンポーネントにて、キャレット表示が異なる事象
Edit領域を持つコンポーネントのreadonlyプロパティ値が「true」である場合、キャレットの表示は各ブラウザに依存します。ただし、キャレットの表示有無にかかわらず、readonlyプロパティの設定値は適用され、Edit領域のテキストをユーザーが編集することはできません。
ブラウザ | 処理方法 |
---|---|
IE | キャレットが表示され、マウスクリック時にキャレット位置が移動されます。 |
Chrome、Edge、 Safari、Firefox、Runtime | キャレットが表示されません。 |
RP | 作成日 | 説明 |
---|---|---|
37637 | 2014-09-24 | ブラウザごとの動作方式の違いによる制約事項です。 |
2020-04-21 | Firefoxの72.0.2バージョンでカーソルが表示されません。これにより、制約事項を修正します。 |
Styleに関する制約
Styleプロパティのうち、nexacro platformでサポートしないプロパティや一部ブラウザのみサポートするプロパティは下記表の通りです。
プロパティ | サポート有無 | 参考 |
---|---|---|
blur | 非サポート | ブラウザごとの動作、サポート有無が異なるため、サポートできないプロパティです。 |
glow | 非サポート | ブラウザごとの動作、サポート有無が異なるため、サポートできないプロパティです。 |
shadow | IE8非サポート | |
gradation > radial | 非サポート | |
gradation > peglist | IE8、9非サポート | |
opacity | IE8非サポート | |
background > imageedge | 入力値によっては、正常に動作しない場合があり、ブラウザごとに異なって表示されます。 | |
cursor | Firefox、 Runtime非サポート | マウスカーソルを動かずに、他のプロパティが変わったことでmouseover elementが変更された場合、cursor typeが変更される機能が正常に動作しない可能性があります。 |
RP | 作成日 | 説明 |
---|---|---|
40056 | 2015-02-26 | background > imageedge |
40862 | 2015-03-24 | gradation > radial |
68620 | 2016-08-25 | blur |
68510 | 2016-09-29 | shadow |
GridコンポーネントでCellに表示される文字列の配置処理の違い
GridコンポーネントのCellオブジェクトのhalignプロパティ値が「center」である場合、RuntimeブラウザとWebブラウザでは、Cell領域内で文字列の中央揃えを処理する方法が異なります。
RP | 作成日 | 説明 |
---|---|---|
47603 | 2016-03-30 | halignプロパティ適用時に生成されるHTMLで「white-space:pre」オプションを使用する場合、画面に表示されるCell領域のサイズではなく、テキスト領域の幅を基準に中央揃えを行います。Runtimeブラウザでは、内部的に行揃えの状態を調整する機能により、Webブラウザとは異なる形で表示されます。 |
hotkeyプロパティ値が適用されない事象
Webブラウザのショートカットキーと重複したキーをコンポーネントのhotkeyプロパティ値として指定した場合、各ブラウザにより異なって動作することがあります。
RP | 作成日 | 説明 |
---|---|---|
48488 | 2016-07-05 | ブラウザごとの動作方式の違いによる制約事項です。hotkeyプロパティ値を指定する際は、ブラウザで使用中のショートカットキーと重複しないように設定することを推奨します。 |
FileUploadコンポーネント使用時に、ファイルパス表示の違い
FileUploadコンポーネントのmultiselectプロパティ値を「true」に指定した場合、ファイルパスは以下のような形式で表示されます。
ブラウザ | 処理方法 |
---|---|
Runtime | パス+ファイル名 |
Chrome、 Edge、 Firefox、 IE、 Safari | ファイル名のみ |
FileUploadコンポーネントのmultiselectプロパティ値を「false」に指定した場合、ファイルパスは以下のような形式で表示されます。
ブラウザ | 処理方法 |
---|---|
Runtime | パス+ファイル名 |
Chrome、 Edge、 Firefox、 IE、 Safari | 仮想パス(fakepath)+ファイル名 |
IEブラウザの場合、ユーザーのオプション設定に応じて、multiselectプロパティ値をfalseに指定した場合に仮想パスではなく、実際のファイルのパスに表示されることがあります。
RP | 作成日 | 説明 |
---|---|---|
69218 | 2016-09-06 | ブラウザごとの動作方式の違いによる制約事項です。ファイルパスの表示が異なっていても、ファイルのアップロード機能は正常に処理されます。 |
81686 | 2018-09-05 | multiselectプロパティ値をfalseに設定したときのパス表示の説明を修正しました。Edge、IEでファイルのパスではなく、仮想パスに表示されます。 |
openメソッドの実行時に、重複した子フレームの名前処理に関する制約
IE環境で、Applicationオブジェクトのopenメソッドを実行する際に、複数の子フレームに対して、子フレーム名(ID)を指定するパラメータ(strName)を重複した名前で設定した場合、実行した際にスクリプトエラーが発生し、ポップアップウィンドウが表示されません。
Runtimeや他のブラウザでは、同条件でスクリプトエラーが発生しませんが、ポップアップウィンドウを処理する方法がブラウザにより異なることからIE環境のみで発生する事象です。
ブラウザ | 同期方式 | 処理方法 |
---|---|---|
Runtime | 同期 | ポップアップウィンドウを順次処理します。 |
Chrome, Edge(80以上のバージョン) | 非同期 | 最後に実行したポップアップウィンドウのJavaScriptのみ処理します。 |
Firefox | 非同期 | 最初に実行したポップアップウィンドウのJavaScriptのみ処理します。 |
IE, Edge(44以下のバージョン) | 非同期 | 重複して生成されるすべてのポップアップウィンドウのJavaScriptを処理します。この過程でスクリプトエラーが発生します。また、Formが正常にロードされず、画面に何も表示されません。 |
ポップアップウィンドウの処理について、子フレームのID処理方式はブラウザの種類だけでなく、ブラウザのバージョンによっても異なることがあります。開発時に重複したIDを指定しないように注意する必要があります。
RP | 作成日 | 説明 |
---|---|---|
70213 | 2016-12-05 | ブラウザごとの動作方式の違いによる制約です。 |
2020-04-21 | Edgeのエンジンの変更により、制約事項を修正します。 Edgeのバージョンによって動作方式が異なります。 |
関数内でalertメソッドやconfirmメソッドの呼出し時のスクリプト処理方法の違い
Chromeでは、関数内でalertメソッドやconfirmメソッドを呼び出す場合に、処理順番が他のコードより優先されます。
例えば、以下のコードの場合、先に文字列「TEST」を出力してから、alertメソッドを実行するようになっていますが、Chromeでは、先にalertメソッドがを実行され、alertウィンドウを閉じるまで文字列「TEST」が出力されません。
ブラウザ | 処理方法 |
---|---|
Runtimeブラウザ, Edge(44以下のバージョン), Firefox, IE | 「TEST」文字列出力後、alertメソッド実行します。 |
Chrome, Edge(80以上のバージョン) | alertメソッドを実行した後にalertウィンドウを閉じると、「TEST」文字列を出力します。 |
function fn_click() { document.write("TEST"); alert("TEST"); }
RP | 作成日 | 説明 |
---|---|---|
71291 | 2017-01-09 | ブラウザごとの動作方式の違いによる制約事項です。 |
2020-04-21 | Edgeのエンジンの変更により、制約事項を修正します。 Edgeのバージョンによって動作方式が異なります。 |
コンポーネントのvisibleプロパティ変更時に、変更値の適用が遅れる事象
スクリプトにより、コンポーネントのvisibleプロパティ値を動的に変更した場合、画面上に表示されているコンポーネントの状態が変更される前に、次のスクリプトの構文が先に処理されてしまうことがあります。スペックの低いPCでIEを使用した場合に頻繁に発生する事象です。
RP | 作成日 | 説明 |
---|---|---|
71551 | 2017-01-31 | visibleプロパティ値を変更した際に、ハードウェアやブラウザ種類によって、HTMLのDOMツリーに変更後のプロパティ値が反映されるまで時間がかかって、反映タイミングがずれる場合があります。 順次にスクリプト構文を処理するように条件を設定したり、TimerEventにより適用のタイミングを調整することで、この問題を回避できます。 |
onmouseenterイベントとonmousemoveイベントの発生順序が異なる事象
onmouseenterイベントとonmousemoveイベントを持つコンポーネントの場合は、イベントの発生順序がブラウザにより異なります。ブラウザによるイベントの発生順序は下記表の通りです。
ブラウザ | 処理方法 |
---|---|
IE, Edge(44以下のバージョン) | onmousemove > onmouseenter |
Runtimeブラウザ, Chrome, Edge(80以上のバージョン), Firefox, Safari | onmouseenter > onmousemove |
RP | 作成日 | 説明 |
---|---|---|
71731 | 2017-02-10 | ブラウザごとの動作方式の違いによる制約事項です。 |
2020-04-21 | Edgeのエンジンの変更により、制約事項を修正します。 Edgeのバージョンによって動作方式が異なります。 |
trackPopupメソッド実行時の基準領域
Runtime環境とHTML5環境では、trackPopupメソッドを実行する際にコンポーネント(PopupDiv、PopupMenu)を表示する基準領域が異なります。Runtime環境ではタイトルバーを含むフレームの領域を基準領域にしますが、HTML5環境ではフレーム領域を除いたコンテンツ表示領域のみを基準領域にするため、同じ座標を指定しても、showtitlebarプロパティ値が「true」である場合には、Runtime環境とHTML5環境でコンポーネントが表示される位置が異なります。
代替スクリプト | 既に運用中のアプリケーションで作成されたスクリプトが正常に動作しない恐れがあるため、メソッド機能を修正してこの問題を解消することはできません。ただし、スクリプトの作成時にtrackPopupByComponentメソッドを使用したり、Runtime環境の場合はフレーム領域を除いた座標値を指定することで、同じ位置にコンポーネントを表示することができます。 |
---|
// trackPopupByComponentメソッド使用 var x = this.Button00.getOffsetLeft(); var y = this.Button00.getOffsetBottom(); this.pdiv.trackPopupByComponent(this, x, y);
// Runtime環境のフレーム領域を除く座標値の計算 var objBut = this.Button00; // コンポーネントの表示時に基準となるボタン var v_nX = system.clientToScreenX(objBut, 0) - system.clientToScreenX(application.mainframe, 0); var v_nY = system.clientToScreenY(objBut, parseInt(objBut.height)) - system.clientToScreenY(application.mainframe, 0); var v_sRet = this.pdiv.trackPopup (v_nX, v_nY);
RP | 作成日 | 説明 |
---|---|---|
71863 | 2017-03-14 | RuntimeブラウザとWebブラウザの動作方式の違いによる制約事項です。 |
nexacro.getTextSizeの結果値に関する制約
getTextSizeメソッドは、指定された条件に応じたテキストサイズの計算結果を返すメソッドですが、実行ブラウザにより結果値の差分が発生します。
また、指定された条件(パラメータ値)によっても、結果値の差分が発生する場合があります。下記は特定パラメータ値の指定によりブラウザごとに異なる結果値を返した例です。
this.Static00.set_text("nexacro"); this.Static00.style.set_font("10 Arial"); var textSize = nexacro.getTextSize(this.Static00.text, this.Static00.style.font, null, "none", 0); trace(textSize.nx, textSize.ny); // 結果値
ブラウザ | 結果値 |
---|---|
IE11 | 47, 15 |
Edge(44以下のバージョン) | 47.41999816894531,15 |
Runtimeブラウザ、Safari | 46, 16 |
Firefox | 46, 15 |
Chrome, Edge(80以上のバージョン) | 47.42295837402344, 15 |
RP | 作成日 | 説明 |
---|---|---|
72660 | 2017-6-20 | ブラウザごとの動作方式の違いによる制約事項です。 |
2020-04-21 | Edgeのエンジンの変更により、制約事項を修正します。 Edgeのバージョンによって動作方式が異なります。 |
ブラウザ側で特定のコンポーネントをブラウザの内部オブジェクトとして処理する事象
TypeDefinitionのObjectsの追加時にDeviceAPIオブジェクトのGeolocationのIDを「Geolocation」に指定すると、アプリケーションを実行した際に該当のオブジェクトが見つからず、ブラウザの内部オブジェクトとして処理される事象が発生します。
本事象は、ブラウザで同じ名前の内部オブジェクトが既に使用中であるために発生します。IDを「NexacroGeolocation」のように別の名前で指定すると、正常に動作します。
「Geolocation」だけでなく他のIDの値も、ブラウザ内で使用しているオブジェクトと重複する場合、正常に処理されないことがあります。
RP | 作成日 | 説明 |
---|---|---|
75116 | 2017-08-02 | ブラウザごとの動作方式の違いによる制約事項であり、IE、Edgeで発生します。 |
2020-03-24 | 2020年2月時点の最新バージョンを基準に、IE、Edge以外のWebブラウザでもエラーが発生する事象を確認しました。 | |
89329 | 2020-04-22 | iOS、iPad OSのRuntime環境での実行時にもWKWebViewの内部オブジェクトと重複するエラーが発生する事象を確認しました。OSのバージョンによってエラーが発生しない場合もあります。 |
synchronousモードでのtransactionメソッドの実行に関する制約
同期モードでトランザクションを行う場合(transactionメソッドのパラメータ[bAsync]を「false」に指定)、ブラウザによっては、アプリケーションが正常に動作しない場合があります。
ブラウザ | 関連エラー |
---|---|
Chrome、Firefox、Edge | deprecationメッセージを出力します。 |
IE | トランザクション終了後、フォーカスを失う事象が発生します。 |
RP | 作成日 | 説明 |
---|---|---|
74564 | 2017-07-25 | ブラウザごとの動作方式の違いによる制約事項です。 同期モードはパフォーマンス上の問題から一部のブラウザでdeprecationとして扱われていて、ブラウザのバージョンによっては、ここに記述された以外の機能制限がある場合があります。 |
2020-04-21 | Edgeブラウザの44.18362バージョンでフォーカスを失わず、deprecationメッセージを出力する事象を確認しました。 |
Editコンポーネントに入力された文字が点滅する事象
Editコンポーネントにテキストを入力し、フォーカスを一度移動してから再度Editコンポーネントに戻ると、入力された文字が点滅、もしくは動いているように見える事象が発生します。
RP | 作成日 | 説明 |
---|---|---|
75016 | 2017-7-27 | ブラウザごとの動作方式の違いによる制約事項であり、Windows 7のIEで発生します。 |
ブラウザの「拡大」使用時に、Gridコンポーネントのセル内の文字が切れて表示される事象
Webブラウザの「拡大」機能を使用した場合、Grid.Cell.alignプロパティ値が「right」であるGridのセル内で、右端の文字が切れて表示される事象が発生します。
RP | 作成日 | 説明 |
---|---|---|
75097 | 2017-8-7 | ブラウザごとの動作方式の違いによる制約事項であり、IE、Edgeで発生します。 同じ条件でも、fontプロパティ値によっては、本事象が発生しない場合もあります。 |
2020-04-21 | Edgeのバージョン44.18362にて正常に動作することを確認しました。 44.18362以降のバージョンではこの制約事項は該当しません。 |
SafariでsetPrivateProfile、getPrivateProfileメソッドを実行する際の機能制限
SafariでApplicationオブジェクトのsetPrivateProfile、getPrivateProfileメソッドを実行すると、スクリプトエラーが発生します。該当のエラーは下記のような場合に発生し、Safariのポリシーに基づいて発生するエラーです。
プライベートブラウズをオンにした場合
RP | 作成日 | 説明 |
---|---|---|
43492 42186 | 2015-6-25 | iOS、Windows、Mac OSのSafariで発生します。 Safariのオプション設定により、localStorage機能を使用できない場合に発生し、該当のオプションをオフにするようにガイドすることで、この問題を回避できます。 |
Editコンポーネントの上に他のコンポーネントを重ねた場合、キャレットが透ける事象
Editコンポーネントの上に他のコンポーネントが重なった場合、背面のEditコンポーネントのキャレットが前面のコンポーネントを透けて手前に表示される事象が発生します。
RP | 作成日 | 説明 |
---|---|---|
75777 | 2017-09-05 | ブラウザごとの動作方式の違いによる制約事項です。 IE、EdgeでDIVタグ内のINPUTタグを処理する際に発生します。 |
2020-04-21 | Edge(80 以上バージョン)ブラウザでは発生しない現象です。 現象が発生するEdgeブラウザバージョンを表記しました。 |
特定のスクリプトが一定時間以上プロセスを占有している場合、その間に発生したイベントが処理されない制約
IEでは、Formオブジェクトのsleepメソッドの実行やFor文のような繰り返し処理を行うスクリプトが一定時間プロセスを占有している場合、その間に発生した他のイベントを処理することができません。
例えば、sleepメソッドの実行中に、ボタンのクリックによりイベントが発生した場合、sleepメソッドの引数として指定された時間が経過すると、該当のイベントが処理されますが、IEでは処理されません。
RP | 作成日 | 説明 |
---|---|---|
75144 | 2017-8-18 | IEでは、スクリプトで長時間ブロッキングが発生する場合、IEによりBody部に対して「フォーカス喪失」がされ、その結果イベントが削除されます。 |
onbeforeexitイベント内でのスクリプト実行に関する制約
Applicationオブジェクトのonbeforeexitイベント関数内に記述したスクリプトにて実行するalertメソッドやconfirmメソッドは、ブラウザによって処理されないことがあります。ブラウザ内でのイベントは処理しますが、関数内に記述された該当のメソッドは処理しません。
ブラウザ | 結果値 |
---|---|
Chrome、Edge、Firefox | onbeforeexitイベント関数内の該当メソッドを無視します。 |
IE、Safari、Runtimeブラウザ | onbeforeexitイベント関数内の該当メソッドを処理します。 |
onbeforeexitイベントは、HTMLでbeforeunloadイベントを受けて処理しています。
beforeunloadイベント内で該当のメソッドを無視するようにHTML5仕様に勧告していて、ブラウザごとに処理方法が異なることから動作の違いが発生します。
https://developer.mozilla.org/en-US/docs/Web/Events/beforeunload
RP | 作成日 | 説明 |
---|---|---|
76480 | 2017-10-10 | ブラウザごとの動作方式の違いによる制約事項です。 |
enableプロパティを「false」に設定したコンポーネントでdisplaynulltextプロパティの設定値が適用されない事象
displaynulltextプロパティを設定しているコンポーネントのvalue値が「null」であり、且つフォーカスがない場合には、displaynulltextの設定値を表示します。しかし、一部のブラウザでは、コンポーネントにフォーカスがある状態でスクリプトによりenableプロパティ値を「false」に変更した際に、フォーカスは次のコンポーネントへ移動しますが、displaynulltextの設定値は表示されません。
ユーザーのマウスクリックやタブキーの操作ではなく、スクリプトでのenableプロパティ値の変更によってフォーカスが移動した場合、ブラウザ側でblurイベントが発生し、それをnexacro platformで処理しますが、一部のブラウザではblurイベントが発生しないため、本事象が発生します。
ブラウザ | 結果値 |
---|---|
IE, Firefox | enableプロパティ値を動的に変更した場合、ブラウザ側でblurイベントをサポートせず、フォーカスが他のコンポーネントへ移動した際にdisplaynulltextプロパティの設定値を表示しません。 |
Runtimeブラウザ, Chrome, Edge | enableプロパティ値を動的に変更した場合、ブラウザ側でblurイベントを処理し、フォーカスが他のコンポーネントへ移動した際にdisplaynulltextプロパティの設定値を表示します。 |
RP | 作成日 | 説明 |
---|---|---|
76456 | 2017-10-10 | ブラウザごとの動作方式の違いによる制約事項です。 |
2020-04-21 | Edgeのバージョン44.18362にて正常に動作することを確認しました。 44.18362以降のバージョンではこの制約事項は該当しません。 |
テキスト編集領域を持つコンポーネント間を高速で移動すると、フォーカスが移動しない事象
iOS端末のSafariで、Editコンポーネントのようなテキスト編集領域を持つコンポーネント間をタッチ操作によって迅速で移動した際に、フォーカスは移動しないままPseudo状態が変更される事象があります。
タッチ操作による移動を高速で行った際にフォーカスが移動しない事象は、iOSのSafari側の制約事項です。nexacro platformでは、ブラウザ側のタッチイベント発生時にPseudo状態を変更しますが、高速で移動した際はフォーカスが移動しないため、Pseudo状態だけが変更されるように見えます。Safari側から正常に情報が渡され、フォーカスだけが移動しないため、それをnexacro platformで補正することはできません。
RP | 作成日 | 説明 |
---|---|---|
77192 | 2017-11-27 | iOSのSafariの制約事項です。 Pseudo状態の変更はブラウザで正常に発生したイベントに対して処理したものであり、ブラウザ側の制約が解消されることによってこの問題も解消されます。 |
Divコンポーネント内に配置されたテキスト編集領域を持つコンポーネントが一部しか見えていない場合、フォーカス移動時にコンポーネントがちらつく事象
Divコンポーネント内に配置されたテキスト編集領域を持つコンポーネントが一部しか見えていない状態で該当のコンポーネントにフォーカスを移動すると、IEではコンポーネント全体が表示されるように内部的にスクロール位置を移動します。nexacro platformでは、スクロールがユーザーの意図しない位置に移動された際に元の位置に戻しますが、その過程でコンポーネントがちらつくように見えることがあります。
一般的な画面構成では、Divコンポーネント内のコンポーネント全体が表示されるように配置しますが、ユーザーがDivコンポーネントのサイズを変更できるように設定している場合には、Divコンポーネントをリサイズするタイミングでちらつき現象が発生することがあります。
RP | 作成日 | 説明 |
---|---|---|
76992 | 2017-11-28 | IE(バージョン8~11)の制約事項です。 |
テキスト編集領域を持つコンポーネントにフォーカス移動したタイミングでWaitカーソルが表示される場合、キャレット位置が末尾になる事象
テキスト編集領域を持つコンポーネントへのフォーカス移動が、transactionメソッドもしくはsetWaitCursorメソッドによるWaitカーソルの表示と同じタイミングで行われた場合、フォーカス移動時のキャレット位置は、マウスのクリック位置ではなく、テキストの末尾になる事象が発生します。
IEにて、Waitカーソル表示のレイヤー(DIVタグ)がテキスト編集領域(INPUTタグ)と重なって表示される場合に発生する事象です。
RP | 作成日 | 説明 |
---|---|---|
77440 | 2017-12-14 | ブラウザごとの動作方式の違いによる制約事項であり、IEで発生します。 |
ドラッグ&ドロップ操作によってコンポーネントへフォーカス移動を行った際に、キャレットのみ移動する事象
テキスト編集領域を持つコンポーネントからマウスの右ボタンを押した状態でドラッグして、テキスト編集領域を持つ他のコンポーネント上でマウスボタンを離すと、キャレットのみ移動し、フォーカスは移動しない事象が発生します。
RP | 作成日 | 説明 |
---|---|---|
77433 | 2017-12-27 | ブラウザごとの動作方式の違いによる制約事項であり、IEで発生します。 |
コンポーネントのenableプロパティ値が「false」である場合、イベントが上位コンポーネントに伝播される動作の違い
テキスト編集領域を持つコンポーネントのenableプロパティが「false」に設定されている場合、テキスト編集領域をマウスでクリックした際に、上位コンポーネント(DivもしくはForm)へのイベント伝播はブラウザによって異なります。
ブラウザ | 処理方法 |
---|---|
Firefox, Edge(44以下のバージョン) | 上位コンポーネントにイベントが伝播されません。 |
Runtimeブラウザ, Chrome, Edge(80以上のバージョン), IE, Safari | 上位コンポーネントにイベントが伝播されます。 |
下記のように作成したHTMLでテストすることができます。最初のINPUT要素をクリックした際に、上位コンポーネントにイベントが伝播されるブラウザでは、divタグのonmousedownイベントを処理しますが、Firefox、Edgeのようにイベントが伝播されないブラウザでは、イベントを処理することができません。
<div onmousedown="console.log('div onmousedown')"> <input type="text" disabled> <input type="text"> </div>
本制約事項はコンポーネントのテキスト編集領域のみ該当します。たとえば、Calendarコンポーネントのテキスト編集領域をクリックした場合はイベントが伝播されませんが、コンポーネント内のボタンやDatePicker領域をクリックした場合はイベントが伝播されます。
RP | 作成日 | 説明 |
---|---|---|
77734 | 2018-01-16 | ブラウザごとの動作方式の違いによる制約事項です。 |
2020-04-21 | Edgeのエンジンの変更により、制約事項を修正します。 Edgeのバージョンによって動作方式が異なります。 |
mouseoutイベント発生後にもmouseover状態のスタイル表示が残存する事象
macOSのSafariにて、mouseover状態のスタイルとして背景色を設定している場合、該当の領域にマウスカーソルを重ねている際に指定した背景色で表示されますが、マウスカーソルを外した際に背景色が元に戻らない事象が発生します。
Safariの制約により発生する事象で、他のWebアプリケーションでも発生します。
https://bugs.webkit.org/show_bug.cgi?id=4117
RP | 作成日 | 説明 |
---|---|---|
81852 82067 | 2018-10-16 | macOSのSafariの制約事項です。 |
TextAreaコンポーネントにて、テキストの行末のクリック時にキャレット位置が次行の行頭になる事象
2行以上のテキスト(改行を含む)が入力されているTextAreaコンポーネントにて、行末の余白部分をクリックした際にキャレット位置が次行の行頭に移動する事象です。主にIE8で発生しますが、IE9、IE10、IE11でもまれに発生します。
上図にて、❶の余白部分をクリックした際のキャレット位置は、3行目の行末である❷の位置になります。しかし、IEでは4行目の行頭である❸の位置にキャレットが移動する事象がまれに発生します。
RP | 作成日 | 説明 |
---|---|---|
82352 | 2018-10-24 | IE(バージョン8~11)の制約事項です。 |
onkeydown、onkeyup、ontextchangedイベントの発生順序が異なる事象
テキスト編集領域を持つコンポーネントに日本語を入力した際のイベント発生順序はブラウザごとに異なります。ブラウザごとのイベント発生順序は下記のとおりです。この発生順序によって、Edgeブラウザではonkeyupイベント関数内に入力テキストを確認するためのスクリプトを記述している場合、日本語の入力値が確認できないことがあります。
ブラウザ | 発生順序 |
---|---|
Edge | onkeydown > onkeyup > ontextchanged |
Runtimeブラウザ、IE、Chrome、Firefox、Safari | onkeydown > ontextchanged > onkeyup |
RP | 作成日 | 説明 |
---|---|---|
82252 | 2018-10-15 | ブラウザごとの動作方式の違いによる制約事項です。 |
2020-04-21 | Edgeブラウザの44.18362バージョンで、onkeydown > ontextchanged > onkeyupの順にイベントが発生することを確認しました。 これにより、当該件は制約から除外します。 |
WebBrowserコンポーネントの配置順序の変更時にリロードされる事象
WebBrowserコンポーネントのbringToFrontメソッドやsendToBackメソッドにより配置順序を変更した場合、既にロードされているWebコンテンツがリロードされてしまう事象が発生します。WebBrowserコンポーネントはWebブラウザ上でiframeタグに変換され動作しますが、iframeタグの順序や親ノードが変更された際にurlプロパティ値として指定したWebコンテンツがリロードされることはWebブラウザの基本仕様によって発生する事象です。
Divコンポーネント内にWebBrowserコンポーネントを配置している場合は、DivコンポーネントのbringToFrontメソッドやsendToBackメソッドによる順序変更時にWebBrowserコンポーネントのWebコンテンツがリロードされます。
本事象は既に報告されていて、サポートしないという回答が登録されています。
Webブラウザによって今後サポート有無が変更される場合があります。
Moving an IFRAME within the DOM tree results in reloading of content
https://bugs.webkit.org/show_bug.cgi?id=13574
Runtime環境ではリロードせずに配置順序を変更します。ただし、Runtime環境とHTML5環境の両方ともサポートするアプリケーションの場合は、配置順序の変更時にリロードされる制約事項を検討する必要があります。
RP | 作成日 | 説明 |
---|---|---|
73441 | 2017-05-19 | Webブラウザの基本仕様による制約事項です。 |
82799 | 2018-11-14 |
FileUploadコンポーネントにて、ファイル選択ダイアログボックスの「キャンセル」ボタンをクリックした際の動作がブラウザごとに異なる事象
FileUploadコンポーネントのファイル参照ボタンにより表示されたファイル選択ダイアログからファイルを選択します。再度ファイル参照ボタンをクリックし、今度はファイル選択ダイアログからファイルを選択せずに「キャンセル」ボタンをクリックすると、以前選択したファイルの情報が削除される事象が発生します。
本事象はChromeでのみ発生します。「キャンセル」ボタンをクリックすると以前選択したファイルがキャンセルされるため、filelistプロパティ値から該当の値が削除され、onitemchangedイベントが発生します。
-- ファイル選択時onitemchangedイベントが発生 onitemchanged / this.FileUpload00.filelist[e.index]: [object VirtualFile] onitemchanged / e.newvalue: C:\fakepath\a.png onitemchanged / e.oldvalue: -- ファイルを選択せずに「キャンセル」ボタンをクリックするとonitemchangedイベントが発生 onitemchanged / this.FileUpload00.filelist[e.index]: undefined onitemchanged / e.newvalue: onitemchanged / e.oldvalue: C:\fakepath\a.png
ブラウザ | 処理方法 |
---|---|
Chrome, Edge(80以上のバージョン) | 「キャンセル」ボタンをクリックすると、以前選択したファイルの情報が削除され、onitemchangedイベントが発生します。 |
Runtimeブラウザ, IE, Edge(44以下のバージョン), Firefox, Safari | 「キャンセル」ボタンをクリックした際に何も実行されません。 |
本件はChromeでの既知の問題で、Chromeの機能になります。
https://bugs.chromium.org/p/chromium/issues/detail?id=2508
該当の動作はChromeの<input type="file">のような形式のタグを実行する際にも確認することができます。
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file
RP | 作成日 | 説明 |
---|---|---|
84900 | 2019-04-23 | ブラウザごとの動作方式の違いによる制約事項です。 |
2020-04-21 | Edgeのエンジンの変更により、制約事項を修正します。 Edgeのバージョンによって動作方式が異なります。 |
MaskEditコンポーネントのテキスト編集領域にフォーカスがある場合、IME動作の違い
MaskEditコンポーネントはtype、formatプロパティの設定により制限されたASCII文字のみを入力することができます。
ユーザビリティのために、MaskEditコンポーネントのテキスト編集領域にフォーカスがある際にIME使用有無が制御可能な一部のブラウザではIMEをオフ状態にします。IMEのオフ状態ではASCII文字の入力のみ許可されます。
ブラウザ | フォーカス時のIME処理方式 |
---|---|
Runtime、IE、Firefox | IMEをオフにする |
Chrome、Edge、Safari | 該当なし |
IMEのオフはCSS ime-mode属性を使用しています。
該当の機能はDeprecatedされていて、ブラウザ側のアップデートによりサポートされなくなる可能性があります。
RP | 作成日 | 説明 |
---|---|---|
90516 | 2021-06-09 | ブラウザごとの動作方式の違いによる制約事項です。 |
製品機能に関する制約
Divコンポーネントのurlプロパティ値として設定したFormの背景色が適用されない事象
Divコンポーネントのurlプロパティ値にFormを指定した場合、Formで参照するCSSファイルに定義されたFormオブジェクトのStyleプロパティは適用されません。
例えば、a.xfdlファイルに2つのDivコンポーネントを配置し、それぞれurlプロパティ値にb.xfdl、c.xfdlを指定した場合、b.xfdlではtest.cssファイルをStyleプロパティに指定し、c.xfdlではFormオブジェクトのプロパティに直接背景色を指定すると、c.xfdlが指定されたDivコンポーネントのみ背景色が表示されます。
b.xfdlファイルをDivコンポーネント内に配置せずに、単独で実行した場合には、背景色が適用されます。
RP | 作成日 | 説明 |
---|---|---|
44258 | 2015-10-19 | Divコンポーネントのurlプロパティ値にFormを指定する場合には、内部的にFormからDivへタイプを変更して処理します。このようにタイプが変更された場合は、CSSファイルに定義したStyleプロパティが適用されません。 |
Calendarコンポーネントのpopuptypeプロパティ値による制約
モバイルデバイス環境で、Calendarコンポーネントのpopuptypeプロパティ値が「system」である場合、Calendarコンポーネントのイベントのサポート有無が下記表の通りになります。
サポート | 対象イベント |
---|---|
サポート | onlbuttondown、onlbuttonup、oneditclick、onmouseenter、onmousemove、ondrag、onsetfocus、onkillfocus、onsize、onmove、ontouchstart、ontouchmove、ontouchend、onmouseenter、onmousemove、onlongpress、onpinchstart、onpinch、onpinchend、ontextchange、cancharchange、onchar、ontextchanged |
非サポート | onchanged、ondayclick |
RP | 作成日 | 説明 |
---|---|---|
47974 | 2016-05-13 | Calendarコンポーネントのpopuptypeプロパティ値により、一部のイベントがサポートされなくなります。 |
ExcelExportObjectオブジェクトから作成したExcelファイルのセルをコピーして他の文書に貼り付けると、コピー先で色が変わる事象
ExcelExportObjectオブジェクトのexporttypeプロパティ値がnexacro.ExportTypes.EXCEL(Excel97~2003形式)の定数値である場合、ダウンロードしたExcelファイルからコピーしたセルを新しいExcel文書に貼り付けた際に、色情報はコピーされません。
RP | 作成日 | 説明 |
---|---|---|
48114 | 2016-05-18 | Excel97〜2003の場合、ユーザーが指定した色情報は該当ファイルにのみ適用されます。セルをコピーして他のファイルに貼り付けた場合には、該当の色情報が見つからないため、ユーザーが指定した色ではなく、別の色として処理されます。 |
MaskEditコンポーネントとGridコンポーネントでmaskプロパティ適用時に、数値処理上の違い
maskプロパティ値は、MaskEditコンポーネントとGridコンポーネントのCellオブジェクトの両方のプロパティ値として使用することができます。機能はほぼ同じですが、数値処理において以下の違いがあります。
コンポーネント | プロパティ値 | 処理方法 |
---|---|---|
MaskEdit | type:number | #:全ての10進数(0-9) 9:全ての10進数(0-9) |
Grid > Cell | displaytype:number | #:全ての10進数(0-9)(値が0もしくは存在しない場合には表示しません。) 0:全ての10進数(0-9)(値が存在しない場合には0に設定して表示します。) |
RP | 作成日 | 説明 |
---|---|---|
69322 | 2016-09-13 | 下位互換性を維持するための機能の違いによる制約事項です。数値処理方式の違いを認識したうえで使用する必要があります。 |
Edit系コンポーネントのイベントバブリングに関する制約
Edit系コンポーネントの場合は、イベントバブリングの範囲にHTMLのDocumentを含みません。他のコンポーネントの場合はイベントバブリングの範囲にHTMLのDocumentを含みます。
WebBrowserコンポーネントでnexacro platformアプリケーションをurlプロパティ値として指定したり、HTMLコードでIFRAMEタグとしてnexacro platformアプリケーションを指定する場合にEdit系コンポーネントのイベントは、WebBrowserコンポーネントの外では発生しません。
RP | 作成日 | 説明 |
---|---|---|
48534 | 2016-12-22 | Input DOM nodeで発生したイベントはInputElementで直接処理し、stopPropagationメソッドを呼び出してDocumentにイベントを伝えません。 |
画面の拡大・縮小時に、Gridコンポーネントのセル選択機能に関する制約
Gridコンポーネントのselecttypeプロパティ値が「multiarea」である場合、ブラウザを拡大または縮小した状態で、マウスのドラッグ操作により複数のセルを同時選択すると、想定通りの範囲が選択されません。Gridコンポーネント内の複数セルの選択時に、マウスカーソルの位置がGridコンポーネント領域から外れても選択機能は動作する必要があるため、スクリーン座標値を使用します。この過程で、選択範囲が異なって選択される問題が発生します。
ブラウザ | 制約発生環境 |
---|---|
Runtime | showzoomcomboプロパティ値を「true」に設定した状態で、画面の拡大・縮小機能を使用する場合 |
Webブラウザ | ブラウザの拡大・縮小機能を使用する場合 |
RP | 作成日 | 説明 |
---|---|---|
70879 | 2017-01-17 | 想定通りの範囲が選択されない問題は、下記のような原因により発生します。 1)拡大・縮小を行った際に、画面上でコンポーネントのサイズは変りますが、HTMLノード上のサイズは変わりません。 2)拡大・縮小を行った際に、画面上でコンポーネントのサイズが変わることにつれ、マウスのカーソルがコンポーネント上にとどまる範囲が変わります。 |
TextAreaコンポーネントのalignプロパティに関する制約
TextAreaコンポーネントのalignプロパティを指定する際に、垂直方向の配置は「top」のみサポートし、水平方向の配置は水平スクロールバーが有効になっている場合に「left」のみサポートします。wordwrapプロパティとscrollbarsプロパティを下記のように指定した場合、水平スクロールバーは入力した文字列の長さにより表示されます。
wordwrap: none scrollbars: autoboth, alwayshorz, fixedboth, fixedhorz, autohorz
RP | 作成日 | 説明 |
---|---|---|
71468 | 2017-01-18 | RuntimeブラウザやWebブラウザの機能制限による制約事項です。「top」と「left」以外は使用できません。 |
default.xthemeファイルからcontrolbuttonスタイルが適用されない問題
nexacro studioのインストール時に提供されるdefault.xthemeファイルでは、Gridコンポーネントのcontrolbuttonプロパティのスタイルが指定されていません。
RP | 作成日 | 説明 |
---|---|---|
71548 | 2017-01-24 | controlbuttonは最初からdefault.xthemeファイルに含まれていなかったスタイルプロパティ値です。すでに多くの顧客が該当スタイルプロパティを再定義して使用していて、途中からdefault.xthemeファイルを変更することができないため、制約事項とします。 |
WebBrowserコンポーネントの印刷時の制約
System.printメソッド呼び出し時に、ウィンドウサイズが小さい場合、スクロールバーが表示され、現在表示されていない領域まで印刷することができます。しかし、Form内にWebBrowserコンポーネントが含まれている場合は、printメソッド呼び出し時に、JavaScriptのwindow.printメソッドを実行します。window.printメソッドは現在表示されている領域のみ印刷します。
ブラウザ | System.printの処理方法 |
---|---|
Runtime | WebBrowserコンポーネントの有無に関係なく、Formの全領域を印刷します。 |
Chrome、Edge、Firefox、 IE、Safari | WebBrowserコンポーネントが含まれている場合は、現在画面に表示される領域のみ印刷します。 |
下図のような場合、FormにEditコンポーネント2つが上下に配置されていて、右側にWebBrowserコンポーネントを配置し、地図を表示しています。System.printメソッドの呼び出し時に、Runtime環境では赤い枠の領域が印刷されますが、Webブラウザでは青い枠の領域のみ印刷されます。
RP | 作成日 | 説明 |
---|---|---|
71680 | 2017-02-08 | Webブラウザの機能制限により、RuntimeブラウザとWebブラウザでは、Form内にWebBrowserコンポーネントが含まれている場合、異なるprintメソッドを使用するように実装されています。 |
JavaScriptのメソッド使用に関する制約
Scopeを指定せずにalertメソッドやconfirmメソッドを呼び出す場合には、JavaScriptのメソッドが実行されます。JavaScriptのメソッドは、nexacro platformが提供するメソッドと異なって動作することがあります。
this.Button00_onclick = function(obj:Button, e:nexacro.ClickEventInfo) { alert("TEST"); // JavaScriptのalertメソッド this.alert("TEST"); // Formオブジェクトのalertメソッド application.alert("TEST"); // Applicationオブジェクトのalertメソッド }
下図のように、nexacro platformで再定義したメソッドは、内部的に連携動作を行うためのコードを含んでいて、JavaSciptのデフォルトメソッドとは異なって処理されます。
RP | 作成日 | 説明 |
---|---|---|
2017-05-22 | nexacro platformスクリプトとJavaScriptのメソッド名が同一であることにより発生する制約事項です。開発時にはScopeを指定し、FormオブジェクトやApplicationオブジェクトのメソッドを使用することを推奨します。 |
HTTPヘッダー適用時、一部オプションに関する制約
セキュリティポリシーにより、サーバーからのHTTPヘッダー設定もしくはHTMLドキュメントへのmetaタグ適用が行われた場合、製品の内部機能上の理由で、一部オプションが制約されることがあります。
Content-Security-Policy
アプリケーションが動作しない場合があります。nexacro platformライブラリの内部では、eval関数やインラインスクリプトを使用していますが、該当コードがセキュリティポリシーと競合することがあります。
下記のように、eval関数やインラインスクリプトを許可するオプションを追加することで、正常に動作します。
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
X-Frame-Options
DENYオプション適用時に、一部機能が動作しない場合があります。nexacro platformのコンポーネントの中で、ジェネレート時にIFRAMEを使用するコンポーネント(WebBrowser)や機能(画像処理、テキストサイズ・キャッシュ)が動作しません。
下記のように、DENYオプションを使用しないことで、正常に動作します。
<meta http-equiv="X-Frame-Options" content="… " />
RP | 作成日 | 説明 |
---|---|---|
72928 | 2017-6-15 | 関連オプションを追加したり、使用しないことにより、この問題を回避できます。 |
X-Content-Type-Options, X-XSS-Protection, Strict-Transport-Securityに関する制約事項はありません。
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security
XSS(Cross-site scripting)の脆弱性については、画面から入力されたテキストに対してフィルタをかけたり、サーバー上で検証してから入力する方式を適用することができます。
nexacro platform側で全てのセキュリティの脆弱性に対して対応することはできません。サーバーから受信したデータは正しいデータとして処理するため、サーバー側で検証済のデータを生成する必要があります。
onusernotifyイベント処理時にブラウザから渡される値の文字数制約
WebBrowserコンポーネント内でロードされたWeb文書から値が渡されると、onusernotifyイベントにて値を処理しますが、Windows端末用のRuntime環境では処理可能な文字数の制約があります。
処理可能な文字数は、最大256文字(日本語)です。
RP | 作成日 | 説明 |
---|---|---|
76512 | 2017-10-19 | Windows端末用のRuntime環境にて値を受け取る際に使用しているWebブラウザ(IE)のtitle属性の文字数制約による制約事項です。 |
Androidのフルスクリーン機能を設定したnexacroアプリケーションにて、入力コンポーネントがソフトウェアキーボードの下に隠れて見えない事象
AndroidManifest.xmlファイルに下記のようなフルスクリーンの設定を追加した場合には、入力コンポーネントにフォーカスが移動した際、ソフトウェアキーボードが表示されることによって、入力コンポーネントが隠れて見えなくなります。
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
RP | 作成日 | 説明 |
---|---|---|
77480 | 2017-12-13 | nexacroアプリケーションではAndroidのフルスクリーン機能をサポートしません。 |
Androidのアプリ画面上でWebBrowserコンポーネントが常に手前に表示される事象
Android端末用のRuntime環境では、WebBrowserコンポーネントの上に他のコンポーネントを表示することができません。ポップアップで表示されるコンポーネントもWebBrowserコンポーネントと重なる場合は、WebBrowserコンポーネントの下に表示されます。
RP | 作成日 | 説明 |
---|---|---|
78897 | 2018-03-15 | Android端末用のRuntime環境でWebBrowserコンポーネントを含むアプリケーションを実行する際の制約事項です。 |
iOS端末用のRuntime環境にて、WebBrowserコンポーネントにロードしたWeb文書内でのテキスト編集時のキャレット表示に関する制約
WebBrowserコンポーネントにロードしたWeb文書でcontenteditable属性を使用している場合、テキスト編集領域内でキャレットの位置が正しく表示されません。テキスト領域をタッチした際に、該当の位置にキャレットが表示されないことがあります。
UIWebViewでのみ発生する事象であるため、UIWebViewを使用しているiOS端末用のRuntime環境でのみ発生し、それ以外の環境では発生しません。
キャレット表示に問題が生じる場合、ソフトウェアキーボードを一度閉じてから再度表示させると、キャレットが正しく表示されます。
RP | 作成日 | 説明 |
---|---|---|
80635 | 2018-08-17 | iOSで提供するUIWebView環境にてcontenteditable属性を使用した文書内のテキスト編集領域で発生するキャレット表示問題による制約事項です。 |
2019-12-24 | 2019年12月、iOS最小仕様をiOS9に変更通知し、UIWebViewのサポートを中止しました。 これにより、その件について14.0.1.3400以降のバージョンでは制約から除外します。 |
Webブラウザでアプリケーションの実行時に表示される警告メッセージに関する制約
IEでアプリケーションを実行した場合、デベロッパーツールのコンソール画面に下記のような警告メッセージが表示されます。
該当の警告メッセージは、ジェネレート時に生成されるHTMLファイルのコメントの構文上の誤りにより発生する警告メッセージです。警告であるため、アプリケーション実行には影響しません。ただし、該当のコメントの修正を行った場合、稼働中のアプリケーションに影響を与える可能性があるため、構文エラーの修正を行っていません。
(X) <!--[if gt IE 8]><!DOCTYPE html><!--<![endif]--> (O) <!--[if gt IE 8]><!--><!DOCTYPE html><!--<![endif]-->
RP | 作成日 | 説明 |
---|---|---|
81813 | 2018-09-19 | 該当の構文エラーは修正する必要がありますが、稼働中のアプリケーションに影響を与える可能性があるため、修正せずに現在の状態を維持します。 |
編集モードでないセルにて、マウス操作によりテキストが選択されてしまう事象
GridコンポーネントのHead BandおよびSummary Band領域のセルはコントロールの配置や編集モードへの切り替えができないため、マウスのダブルクリックやドラッグ操作によりテキストを選択することはできません。Body Bandの場合にもedittypeプロパティ値が「none」であるセルは編集モードが無効になるため、マウス操作によるテキストの選択はできません。
また、edittypeプロパティ値およびBand領域に関係なく、セルのeditdisplayプロパティ値が「display」である場合に表示されるコントロールは編集モードでないため、テキストの選択ができません。
ただし、製品のバグが原因で、下記のとおりに設定されているセルが編集モードでない場合にもマウス操作によるテキストの選択ができますが、利用中のユーザーがいるため、不具合を修正せずに現在の状態を維持します。
- Head Band Cell editdisplay=display - Body Band Cell editdisplay=display
RP | 作成日 | 説明 |
---|---|---|
86141 | 2019-07-15 | 稼働中のアプリケーションに影響を与える可能性があるため、不具合を改修せずに現在の状態を維持しています。 |
未実装のCSS機能を使用して記述したCellオブジェクトのスタイルがnexacro studio上で実際設定されているように表示される事象
cssファイルにて、GridコンポーネントのCellオブジェクトのスタイルを設定することはできません。cssファイル内で下記のように記述したスタイルは実際適用されません。Cellオブジェクトのスタイルをcssファイルで設定する機能は未実装の機能であるため、サポートしません。
Cell { padding : 3 3 3 3; }
cssファイルにてCellオブジェクトのスタイルを設定した後にGrid Contents Editor画面で確認すると、cssファイルでの設定値がプロパティリスト上に表示されますが、実際は動作しません。
未実装の機能がnexacro studio上で動作するように表示される事象は不具合ですが、他の機能に影響を与える可能性があるため、不具合を修正せずに現在の状態を維持します。
RP | 作成日 | 説明 |
---|---|---|
73784 | 2019-05-27 | 他の機能に影響を与える可能性があるため、不具合を改修せずに現在の状態を維持しています。 |
コンテキストメニューの「元に戻す」項目の選択時の動作に関する制約
HTML5環境にて、テキスト編集領域を持つコンポーネントの制約事項です。
コンポーネントに入力された文字列を選択し、マウスの右クリックにより表示されたコンテキストメニューから「削除」または「切り取り」を行った後、他のコンポーネントのコンテキストメニューから「元に戻す」を行った場合、動作を保証しません。
Webブラウザからユーザーが 「元に戻す」 を選択する操作に対してイベント情報を渡さないため、nexacro platform側では「元に戻す」コマンドの処理においての制約が発生します。
nexacro platformでは、コンテキストメニューの「元に戻す」の選択時の動作および選択後の動作を保証しません。
Runtime環境では、テキスト編集領域を持つコンポーネントのコンテキストメニュー上に「元に戻す」項目が表示されません。
HTML5環境では、Webブラウザによってコンテキストメニュー上に「元に戻す」項目が非表示もしくは非活性状態で表示されることがあります。
RP | 作成日 | 説明 |
---|---|---|
75871 | 2017-10-10 |
91772により制約事項の内容が変更されました。 |
2020-04-21 |
91772により制約事項の内容が変更されました。 | |
91772 | 2021-03-23 | 本制約事項のカテゴリを「ブラウザごとの機能差による制約」から「製品機能に関する制約」へ移動し、内容に関しては「ブラウザ―ごとの動作方式の違いによる機能差」ではなく「動作が保証されない制約」に変更しました。 |
Formオブジェクトのonloadイベントハンドラ関数内でコンポーネントのサイズとして不正な値を返す事象
iOS環境では、Formオブジェクトのonloadイベントハンドラ関数内で、rightプロパティ値が0、もしくはbottomプロパティ値が0であるコンポーネントのgetOffsetWidth、getOffsetHeightメソッドを実行した際に不正な値を返します。
RP | 作成日 | 説明 |
---|---|---|
94346 | 2022-05-13 | 不具合の修正により他の機能と動作に影響を与える可能性があるため、現状維持して本件を制約事項にします。 |
RTL設定時の機能に関する制約
RTLの設定時に、編集領域に入力した際のキャレットの位置
Chromeでは、RTL設定時、編集領域を持つコンポーネントに英語や数字を入力すると、キャレットがテキストの先頭に位置する事象が発生します。
RP | 作成日 | 説明 |
---|---|---|
68653 | 2016-09-05 | Chromeの動作方式の違いによる制約事項です。キャレットの位置を強制的に調整することもできますが、他の動作に影響を与える可能性があるため、調整しません。 |
2020-04-21 | Chromeブラウザの79.0.3945バージョンで正常動作を確認しました。 これにより、当該件は制約から除外します。 |
RTLの設定時に、getCaretPosメソッドの処理結果
Chrome、Edge(80以上バージョン)でRTLを設定する際、編集領域にアラビア語、英語、数字の順に入力した文字列の中央にキャレットがある場合、getCaretPosメソッドの実行結果値が他のブラウザとは異なります。
RTLの設定時のgetCaretPosメソッドの実行結果値は、ブラウザの種類やブラウザのバージョンにより異なります。
RP | 作成日 | 説明 |
---|---|---|
48750 | 2016-09-07 | Chromeの動作方式の違いによる制約事項です。 |
2020-04-21 | Chrome、Edge(80以上バージョン)で発生現象を確認しました。 |
RTLの設定時に、WebBrowserコンポーネントへの適用に関する制約
RTL設定時、WebBrowserコンポーネントに表示するコンテンツの方向において、RTLの設定は適用されません。
RP | 作成日 | 説明 |
---|---|---|
68436 | 2016-09-29 | WebBrowserコンポーネントは、内部的にIFRAMEタグを使用します。IFRAMEに表示されるコンテンツは、アプリケーションが表示されるDocumentオブジェクトとは異なるDocumentオブジェクトで処理するため、RTLを適用しません。コンポーネントに表示されるスクロールバーにも同様にRTLを適用しません。 |
RTLの設定時、編集領域でスクロールバー、キャレットの動作方式
RTL設定時、編集領域を持つコンポーネントでキーボードのHomeキーとEndキーをそれぞれ押下した際に、スクロールバーとキャレットの位置は各ブラウザに依存します。
ブラウザ | 正常/異常 | 動作方式 |
---|---|---|
Runtimeブラウザ, Edge(44以下のバージョン) | 正常 | スクロールバーとキャレットは両方とも、Homeキーを押下した場合は左へ移動し、Endキーを押下した場合は右へ移動します。 |
Chrome, Edge(80以上のバージョン) Safari | 異常 | スクロールバーとキャレットの両方とも、Homeキーを押下した場合は右へ移動し、Endキーを押下した場合は左へ移動します。 |
Firefox | 異常 | Homeキーを押下した場合はスクロールバーとキャレットの両方とも右に移動しますが、Endキーを押下した場合はキャレットが消え、スクロールバーが動作しません。 |
IE | 異常 | Homeキーを押下した場合でもEndキーを押下した場合でも、スクロールバーとキャレットは両方とも左へ移動します。 |
RP | 作成日 | 説明 |
---|---|---|
69813 | 2016-10-20 | ブラウザごとの動作方式の違いによる制約事項です。 編集領域に文字列の方向がLTRである文字列のみの場合に発生する事象です。 |
2020-04-21 | Edgeのエンジンの変更により、制約事項を修正します。 Edgeのバージョンによって動作方式が異なります。 |
RTLの設定時、一部の画像が正しく表示されない事象
IE8環境で、コンポーネントのrtldirectionプロパティ値を「rtl」に設定した際に、一部のPNG形式の画像ファイルが反転される過程で、画像が正しく表示されない事象が発生します。
IE9以上のブラウザを使用するか、PNGファイルの代わりに他の画像ファイル(JPG、BMP、GIF)形式を使用することで、この問題を回避することができます。
RP | 作成日 | 説明 |
---|---|---|
70330 | 2016-11-04 | IE8のレンダリングエンジンの制約事項です。 |