使用環境による機能制約
MaskEditコンポーネントへフォーカスが移動した際に、キャレット位置が変わる事象
iOS端末では、MaskEditコンポーネントのtypeプロパティ値が「string」である場合、フォーカスが移動した際にキャレット位置が末尾に移動する事象が発生します。
RP | 作成日 | 説明 |
---|---|---|
69265 | 2016-09-13 | iOS端末では、コンポーネントの編集領域へフォーカスが移動した場合にソフトウェアキーボードを表示するコマンドを呼び出します。その際に、内部的にはINPUT DOMツリーのtypeを変更し、textの値を再設定しますが、その過程でキャレットが末尾に移動する事象が発生します。強制的にキャレットの位置を変更することは可能ですが、パフォーマンスに影響を与える可能性があるため、現状のままにしています。 |
「拡張保護モード」オプションが有効な場合、ファイルのダウンロード機能の制約
IE10以上のブラウザでは、[拡張保護モード]オプションを有効にした場合、Windowsフォルダを保護するために、特定のフォルダにのみアクセスできるようにパスが仮想化されます。ユーザーが該当のオプションを有効にした場合、ファイルをダウンロードするフォルダのパスを指定する機能が使用できません。
RP | 作成日 | 説明 |
---|---|---|
71778 | 2017-02-13 | [拡張保護モード]は、IE10以上のブラウザの使用時にユーザーが設定するオプションです。必要に応じて、ユーザーがオプションを変更するようにガイドすることで回避できます。 |
setFocusメソッドを実行する際にキャレットが移動しない事象
Edgeでは、Edit系コンポーネントのonkillfocusイベント関数内で同一コンポーネントのsetFocusメソッドを呼び出す場合、フォーカスのみ移動し、キャレットが移動しない事象があります。
例えば、Edit00とEdit01の二つのEditコンポーネントがあるとします。最初のEditコンポーネント(Edit00)にフォーカスがある状態で、次のEditコンポーネント(Edit01)の編集領域をクリックし、フォーカスを移動した場合、Edit00のonkillfocusイベントが発生します。この際にフォーカスはEdit00へ移動しますが、キャレットはEdit01に表示される事象です。
this.Edit00_onkillfocus = function(obj:nexacro.Edit,e:nexacro.KillFocusEventInfo) { if(obj.value == null) obj.setFocus(); };
RP | 作成日 | 説明 |
---|---|---|
71955 | 2017-02-23 | Edgeのバグです。 |
2020-03-24 | 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端末用のNREにて、WebBrowserコンポーネントの生成と削除が頻繁に発生した場合、OSのメモリ使用量が増加し、パフォーマンス低下が発生します。
例えば、Divコンポーネントのurlプロパティに指定したFormオブジェクト内にWebBrowserコンポーネントが配置された場合、Divコンポーネントのurlプロパティ値を変更するたびに、内部的にはWebBrowserコンポーネントの生成と削除が繰り返され、メモリ使用量が増加することになります。
RP | 作成日 | 説明 |
---|---|---|
74036 | 2017-7-5 | NREで実行した際のWebBrowserコンポーネントは、WebBrowser2 OLEコントロールを組み込んだ機能を使用しますが、WebBrowser2 OLEコントロールの特性上、作成と削除が繰り返された場合にメモリが増加するとの内容で、メーカー側(Microsoft)が公式に回答しています。 一度生成したWebBrowserコンポーネントを再利用することを推奨します。 |
マウスカーソルを高速で動かすと、Divコンポーネントのonmouseoutイベントが発生しない事象
UIコンポーネントを配置し、onmouseoutイベントを設定したDivコンポーネントにて、マウスカーソルをDivコンポーネント上を通り過ぎて外側へ移動した際にonmouseoutイベントが発生しますが、高速で移動した場合はイベントが正常に発生しません。
下図の例でマウスの移動範囲はDiv(青色)の外側からDiv内のButton(赤色)の上を通り過ぎてDivの外側までになっています。その際にマウスを高速で動かすと、onmouseoutイベントが正常に発生しない場合があります。
下記は生成されたHTMLコードを簡略化したものです。本事象はDivタグがネストされている場合に発生します。
<div id="mainframe.QuickViewFrame.form.Div00" style="left: 141px; top: 504px; width: 400px; height: 115px; background:#0000ff; "> <div style="left: 20px; top: 20px; width: 300px; height: 73px; background:red; ">Button00 </div> </div>
RP | 作成日 | 説明 |
---|---|---|
76382 | 2017-10-16 | Webブラウザでマウスカーソルを高速で動かした場合、希に発生します。 |
アクセシビリティ設定時のソフトウェアキーボード使用に関する制約
iOSでアクセシビリティ設定が有効になっているアプリの実行時に、テキスト編集領域を持つコンポーネントのinputtypeプロパティ値が「number」である場合にテンキーではない通常のキーボードが表示されるように設定されています。iOSではアクセシビリティ設定が有効になっている場合にテンキーが表示されると、画面の上部にスクロールする事象が発生するため、通常のキーボードを表示するように処理しています。
RP | 作成日 | 説明 |
---|---|---|
78855 | 2018-03-19 | iOSでアクセシビリティ設定が有効になっている場合、テンキー処理時に発生する不具合を回避するため、通常のキーボードを表示するようにしています。 |
ActiveXフィルター機能を有効にしている場合のスクリプトエラー
IE9以上のWebブラウザで、ActiveXフィルター機能を有効にしている場合はActiveXObject機能を使用することができず、スクリプトエラーが発生することがあります。
RP | 作成日 | 説明 |
---|---|---|
73214 | 2017-04-28 | IE9以上のWebブラウザで、ActiveXフィルター機能を有効にしている場合に発生する事象です。ActiveXフィルター機能を無効にした状態で使用するようにガイドすることで回避できます。 |
iOSでUpdate TypeによるCookie使用に関する制約
iOS用アプリの配布時のUpdate Typeを「Update」もしくは「Local」に設定していた場合、デバイスのローカルパスにインストールされたコンテンツ(Run.html)のCookie使用に制約がある場合があります。Cookieを使用する必要がある場合には、Update Typeを「Server」に設定したうえで、コンテンツを管理するサーバーのドメインとトランザクションのリクエスト先のサーバーのドメインを同様に設定してください。
コンテンツ(Run.html)ファイルがローカルパス(file://)で動作する場合には、全てののCookieが許可されず、Cookieを設定することができません。スクリプトでのアクセス(document.cookie)もしくはWKWebView API(WKHTTPCookieStore)によるCookieの設定も許可されません。
RP | 作成日 | 説明 |
---|---|---|
- | 2018-07-30 | iOS端末のNREで、WKWebViewによりCookieへのアクセスが制限されて発生する事象です。 |
nexacroのWindows端末用のアプリのインストーラが起動時のエラーになる問題
nexacroのWindows端末用のアプリのインストーラ(nexacro17_SetupRuntime_xXX.exe)を実行した際に、api-ms-win-crt-runtime-l1-1-0.dll関連エラーが発生し、インストールできないことがあります。Windowsの最新アップデートがインストールされていない場合に発生する事象であり、Windowsを最新状態にしている場合は該当のエラーが発生しません。
たとえば、Windows 7 SP1までアップデート後、追加アップデートを行っていない場合に発生することがあります。Windowsアップデートを実行するか、もしくは該当エラーが解決可能なパッケージをダウンロードしてインストールすることができます。詳細については、下記のリンクを参照してください。
Windowsでの汎用 C ランタイム (CRT)に関するアップデート
https://support.microsoft.com/ja-jp/help/2999226/update-for-universal-c-runtime-in-windows
RP | 作成日 | 説明 |
---|---|---|
81751 | 2018-09-05 | 最新のWindowsアップデートプログラムがインストールされていない場合に発生するエラーです。 |
iPadにて、Screenオブジェクトのtypeプロパティ値の処理に関する制約
アプリの実行時に端末とOSの特性に応じてScreenの各登録情報からtype、specifiedos、specifiedlocaleプロパティ値を確認します。しかし、iPadではデバイスのサイズを判断できる情報が足りないため、typeプロパティに対して物理的な画面サイズではなく常に「mobile_large」として適用します。
対象のiPadは下記の通りです。今後の製品の発売によって、対象端末は追加されることがあります。
Apple iPad 1,2 Apple iPad Air 1,2 Apple iPad Pro Apple iPad mini 1,2,3,4
RP | 作成日 | 説明 |
---|---|---|
82223 | 2018-10-11 | デバイスから関連情報が提供されないため、Screenオブジェクトのtypeプロパティを強制的に設定している制約事項です。 |
WebBrowserコンポーネントのurlプロパティによるLocal-Urlへのアクセス時の制約
iOSのWKWebViewはLocal-Url(File://)形式でのファイルへのアクセスを制限しています。このような制約で、HTMLファイルを配布してWebBrowserコンポーネントからアクセスする機能は使用できません。
該当の機能を使用するには、PackingでUpdate Typeを「Server」に指定して、サーバー上のHTMLファイルにアクセスする必要があります。Update Typeを「Update」や「Local」に指定した場合には、WebBrowserコンポーネントのcallMethodメソッドによりHTMLファイルにアクセスする機能を使用することができません。
RP | 作成日 | 説明 |
---|---|---|
80584 | 2019-03-26 | iOS端末のNREで使用するWKWebViewの制約事項です。 |
Gridコンポーネントのサイズ変更時に残像が表示される事象
画面内に複雑な構造でコンポーネントが配置されていて、Gridコンポーネントを配置している場合は、画面のサイズを変更した際に残像が表示される事象が発生することがあります。ハードウェアのスペックが低いクライアント端末のIEで発生する事象です。
HTML内ノートの数が多くて、表形式を表現するためにCSSコード内でテーブルモデルを使用する場合、画面のサイズを変更する際に内部的に演算処理が発生します。この過程で、ハードウェアのスペックによっては、残像が表示されることがあります。
CSS table model
RP | 作成日 | 説明 |
---|---|---|
85839 | 2019-06-27 | 本事象はWindows 7のIE10で発見されました。 ハードウェアのスペックによって、演算処理中に発生する事象であるため、他の条件でも発生する可能性があります。 |
テキストの右揃えとイタリックを適用した際にテキストが見切れる事象
テキストを表示するコンポーネントにて、-nexa-text-alignプロパティを「right」に設定し、fontプロパティのfont-style値を「italic」に設定した場合、font-familyプロパティ値やfont-sizeプロパティ値によって右側の文字が見切れる事象が発生することがあります。
RP | 作成日 | 説明 |
---|---|---|
88094 | 2020-02-03 | イタリック適用時に文字がコンポーネント領域から外れて表示されることで発生する事象です。NRE、Webブラウザの両方で発生します。 |
システムカレンダーによって、日付変更時の確定時点が異なる事象
Calendarコンポーネントのpopuptypeプロパティを「system」に設定している場合、モバイルデバイスでは日付変更時の確定時点が異なる事象が発生します。各OSの仕様によるものであり、該当の制約を考慮した上で値を処理する必要があります。
OS | 処理方法 |
---|---|
Android | 日付変更後に確認ボタンを選択すると、イベントが発生します。 |
iOS, iPadOS | 日付選択ののドラムロール操作を止めた時点でイベントが発生します。 |
RP | 作成日 | 説明 |
---|---|---|
88892 | 2020-03-02 | 各OSの仕様による制約事項です。 |
imemodeプロパティ値が適用されない事象
Windows 8以降のバージョンでは、IME適用方式の変更によりアプリケーションごとに異なる入力方式が設定され、アプリケーション間のフォーカス移動時にimemodeプロパティの設定値が適用されません。
例えば、nexacroアプリケーションの実行中にメモ帳に切り替えてから、再度nexacroアプリケーションに戻った際に、最初のフォーカスを持つコンポーネントのimemodeプロパティ値が適用されません。(最初のコンポーネント以降のコンポーネントにフォーカスを移動した際に、imemodeプロパティ値が適用されます。)
alert、confirmなどのウィンドウ、もしくはnexacroアプリケーション内で別のプロセスとしてポップアップウィンドウを表示してから、再度nexacroアプリケーションにフォーカスを移動した際にも同様です。
nexacroアプリケーション内でimemodeプロパティ値を維持するためには、ユーザーがWindowsの設定を変更する必要があります。 Windows 10では、下図のように「キーボードの詳細設定 > 入力方法の切り替え > アプリ ウィンドウごとに異なる入力方法を設定する」項目のチェックボックスを選択してください。(デフォルト設定では未選択状態です。)
RP | 作成日 | 説明 |
---|---|---|
89164 | 2020-03-27 | OSの仕様変更による制約事項です。 ユーザーがOSの設定を変更することで、この問題を回避できます。 |
テキスト編集中のEnterキーの入力時にcanchange, onchangedイベントが発生しない事象
canchange, onchangedイベントは、テキストの編集中にEnterキーを入力したり、フォーカスを移動する際にvalueプロパティ値が更新されたタイミングで発生します。しかし、一部のOSではEnterキーの入力時にイベントが発生しないことがあります。
iOS/iPadOSのSafariでは、日本語IME入力時にEnterキーでテキスト入力を確定する場合にイベントが発生しないことがあります。Enterキーの入力時のキーコード値が不正な値になっている際に発生する事象です。
RP | 作成日 | 説明 |
---|---|---|
89615 | 2020-08-19 | iOS/iPadOSのSafariで日本語IMEでの入力時に発生する制約事象です。 |
ポップアップウィンドウでHttpRequest通信を処理する場合、ウィンドウを閉じる際に親ウィンドウに影響を与える事象
nexacro.openメソッドにより表示したポップアップウィンドウにて、HttpRequest通信が進行中の状態でユーザーが「閉じる」ボタンでポップアップウィンドウを閉じた場合、親ウィンドウが同時に閉じられるか、もしくはリフレッシュされる事象が発生します。ネットワークが遅い環境やロードするファイルサイズが大きい場合に発生することがあります。
IEの場合、ポップアップウィンドウで同一のPID(process ID)を共有していてるため、ポップアップウィンドウに問題が発生した場合には親ウィンドウに影響を与えることがあります。
IEのオプション設定によって、発生する事象は異なります。「インターネットオプション > 詳細設定 > ブラウズ > 自動クラッシュ復旧機能を有効にする」項目にチェックを入れている場合には、親ウィンドウがリロードされ、チェックを入れていない場合には親ウィンドウが閉じられます。
業務環境によって本事象が頻繁に発生する場合、「Hang Resistance」機能を無効にすることで、ポップアップウィンドウに問題が発生しても、強制的に親ウィンドウに影響を与えないようにすることができます。この方法はユーザーPCのレジストリ情報を更新する必要があります。
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\
Type: REG_DWORD
Name: HangRecovery
Value: 0
下記のリンクをご参考ください。
https://docs.microsoft.com/en-us/troubleshoot/browsers/webpage-fails-to-get-focus-ie-9
RP | 作成日 | 説明 |
---|---|---|
89518 | 2020-08-19 | IEで発生する制約事項です。 |
fittocontentsプロパティの設定時に改行される事象
IE11以下のバージョンでは、fittocontentsプロパティを「width」もしくは「both」に設定し、且つwordWrapプロパティを「char」もしくは「english」に設定している場合、意図しないところで改行されることがあります。フォントタイプやサイズによってはIE11以下のバージョンで正確なサイズが計算できない場合があり、fittocontentsプロパティによる変更後のサイズと計算結果が異なるため発生する事象です。
width: 120 height: 60 fittocontents: width text: Nexacro Platform 17 is a software development platform wordWrap: char font: 11px/normal "Arial" / 12px/normal "Arial"
また、下記のようにフォントサイズによって改行が発生しない場合もあります。
RP | 作成日 | 説明 |
---|---|---|
90155 | 2020-09-16 | IE11以下のバージョンで特定のプロパティ設定の組み合わせによる制約事項です。 fittocontentsプロパティとwordWrapプロパティを組み合わせて使用しないことで回避できます。 |
iOS13以上のバージョンにて、スクリーン情報が指定されたタイプで処理されない事象
iOS13以上のSafariで起動時に、アプリで設定しているスクリーンサイズが適用されないことがあります。「mobile_small」タイプのスクリーン情報を設定しているにも関わらず、iPhoneで「desktop」タイプのスクリーン情報が適用される事象です。iOS13以上では、下図のようにSafariの設定にて「デスクトップ用Webサイトを表示」オプションが「オン」の状態になっている場合にデバイス情報を確認することができないため、本事象が発生します。
RP90288_
RP | 作成日 | 説明 |
---|---|---|
90288 | 2020-08-24 | iOS13以上のバージョンでユーザーのオプション設定による制約事項です。 ユーザーが該当のオプションを「オフ」に変更するようにガイドすることで回避できます。 |
readonlyに設定している編集領域をタッチした際に完了ボタンが表示される事象
iOS12以下のバージョンではreadonlyに設定している編集領域をタッチした際に完了ボタンが表示される不具合がありました。本事象はiOS13以上のバージョンで改修されています。
readonlyに設定しているHTML inputタグをタッチした際にも同事象が発生します。以下の画像をご参照ください。
https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_input_readonly
本事象はreadonlyプロパティを「true」に設定しているEditコンポーネントをタッチした際に発生します。readonlyプロパティを明示的に設定していない場合でもコンポーネントの内部動作によってreadonlyとして処理されると同じ現象が発生します。例えば、Comboコンポーネントではtypeプロパティを「dropdown」に設定した場合にcomboedit領域がreadonlyとして処理されるため、comboedit領域をタッチすると「完了」ボタンが表示されます。
RP | 作成日 | 説明 |
---|---|---|
90694 | 2020-10-12 | iOS12以下の不具合による制約事項です。iOS13以上のバージョンでこの制約事項は該当しません。 |
Microsoft IMEによる入力が不正になる事象
Windows10 2004アップデートより導入された新しいMicrosoft IMEの影響により、特定のブラウザとの組み合わせでIME入力が不正となる事象が発生します。
この問題は、Windows(Microsoft IME)のバージョン、Windowsの設定の「以前のバージョンのMicrosoft IMEを使う」のON/OFF、ブラウザの種類、ブラウザのバージョンにより発生状況が異なり、nexacroのバージョンには依存しません。
ブラウザ | 確認されている現象 |
---|---|
Chrome、Edge | ・ CalendarのEditなど入力制限にかかる文字をIMEから入力すると、フォーカス移動した先のEditなどに入力制限で無効となったはずの文字が入力される。 ・ IMEから入力した文字列が重複して入力される。(例:「あいう」に続き、「えお」を入力すると、「あいうあいうえお」と入力されるなど) ・ IMEから入力した文字がキャレットの位置ではない部分に入力される。 ・ IMEからの入力で、キャレット位置が進まなくなる、あるいは文字が入力されずキャレット位置だけが進む。 ・ 矢印キーによるキャレット移動が正常に機能しない。 ・ Backspaceキーによる文字削除が正常に機能しない。 ・ Tabキーによるフォーカス移動ができなくなる。 ・ IMEのON/OFF状態が、表示上と実際の動作で異なり、IME OFFの表示にもかかわらず変換動作が行われる。 ・ IME入力確定後、1回目のEnterキー押下が反応しない。 ・ Editなどのinputfilterやinputtypeで入力制限をおこなうと、入力文字とは無関係な先行する位置の文字が削除される。 |
Firefox | ・ Calendarの日付を区切るハイフンなどが上書きされる。 |
ブラウザを問わずWindows 2004以降の新しいIMEで確認されている現象 | ・ IMEのON/OFFができなくなる、ブラウザ以外のアプリケーションを含め、正常なキー入力が不能となるなど、様々な事象。 |
この問題は以下の環境にて発生することが確認されています。 ・ Windows10 + Chrome86~89の組み合わせ ・ Windows10 + Edge86~89の組み合わせ ・ Windows10 + Firefoxの組み合わせ Windows10で以下のブラウザを利用するか、それでも症状が改善しない場合は「以前のバージョンの IME (入力方式エディター) に戻す」をお試しください。この問題を回避できる場合があります。 ・ Chrome90以降 ・ Edge90以降 ・ IE11 |
関連する情報として、マイクロソフトより以下の告知が公開されています。
・Microsoft IME を使用している場合、Windows 10 バージョン 20H2 および Windows 10 バージョン 2004 で問題が発生する可能性があります。
https://support.microsoft.com/help/4564002
・ふりがなの自動入力が期待どおりに機能しない場合があります。
https://docs.microsoft.com/ja-jp/windows/release-health/status-windows-10-20h2#1528msgdesc
RP | 作成日 | 説明 |
---|---|---|
90630 | 2021-07-26 | 新しいMicrosoft IMEによる影響です。特定のブラウザ(Chrome90以降、Edge90以降、IE11)の使用、もしくはユーザーがOSの設定を変更することで、この問題を回避できる場合があります。 |
WebBrowserコンポーネント内にロードしているコンテンツに対して、ピンチズーム動作の制御に関する制約
iOS/iPadOS WRE、NREではピンチズーム動作を制御するためにHTML metaタグの属性とスクリプトを利用します。WebBrowserコンポーネントの場合、IFRAMEタグ領域内にロードされたコンテンツの属性情報はnexacroアプリケーションで取得できない情報のため、ピンチズーム動作を制御することができません。
nexacroアプリケーションでピンチズームが動作しないように設定していても、WebBrowserコンポーネント内にロードしているコンテンツ側でピンチズームを許可している場合には、WebBrowserコンポーネント領域内でピンチズーム操作を行うと、アプリケーション全体に影響を与えることがあります。
RP | 作成日 | 説明 |
---|---|---|
92583 | 2021-07-15 | iOS/iPadOSの制約事項です。 ロードされるコンテンツ内で必要なタグやスクリプトを直接作成する必要があります。 |
ブラウザごとの機能差による制約
Edit領域を持つコンポーネントにて、キャレット表示が異なる事象
Edit領域を持つコンポーネントのreadonlyプロパティ値が「true」である場合、キャレットの表示は各ブラウザに依存します。ただし、キャレットの表示有無にかかわらず、readonlyプロパティの設定値は適用され、Edit領域のテキストをユーザーが編集することはできません。
ブラウザ | 処理方法 |
---|---|
Firefox、IE | キャレットが表示され、マウスクリック時にキャレット位置が移動されます。 |
Chrome、Edge、 Safari、NRE | キャレットが表示されません。 |
RP | 作成日 | 説明 |
---|---|---|
37637 | 2014-09-24 | ブラウザごとの動作方式の違いによる制約事項です。 |
Styleに関する制約
Styleプロパティのうち、nexacro platformでサポートしないプロパティや一部ブラウザのみサポートするプロパティは下記表の通りです。
プロパティ | サポート有無 | 参考 |
---|---|---|
background > liner-gradient | IE9非サポート | |
edge | 入力値によっては、正常に動作しない場合があり、ブラウザごとに異なって表示されます。 | |
cursor | マウスカーソルを動かずに、他のプロパティが変わったことでmouseover elementが変更された場合、cursor typeが変更される機能が正常に動作しない可能性があります。 |
RP | 作成日 | 説明 |
---|---|---|
40056 | 2015-02-26 | background > imageedge (edge) |
68510 | 2016-09-29 | shadow (boxShadow) |
改行記号が含まれている文字列の配置方法の違い
コンポーネントの-nexa-text-alignプロパティ値が「center」であり、wordwrapプロパティ値が「none」である場合、文字列に改行記号が含まれていると、NREとWebブラウザでは異なる配置方法で処理します。
Button、Static、FileDownload、GridCellControlで発生する事象です。
RP | 作成日 | 説明 |
---|---|---|
47603 | 2016-03-30 | プロパティ値の適用時に生成されるHTMLでwhitespace preオプションを使用する場合、画面に表示される領域のサイズの基準ではなく、テキスト領域を基準に中央揃えを行います。NREでは内部的に配置状態を調整する機能が追加され、Webブラウザとは表示が異なります。 |
hotkeyプロパティ値が適用されない事象
Webブラウザのショートカットキーと重複したキーをコンポーネントのhotkeyプロパティ値として指定した場合、各ブラウザにより異なって動作することがあります。
RP | 作成日 | 説明 |
---|---|---|
48488 | 2016-07-05 | ブラウザごとの動作方式の違いによる制約事項です。hotkeyプロパティ値を指定する際は、ブラウザで使用中のショートカットキーと重複しないように設定することを推奨します。 |
FileUploadコンポーネント使用時に、ファイルパス表示の違い
FileUploadコンポーネントのmultiselectプロパティ値を「true」に指定した場合、ファイルパスは以下のような形式で表示されます。
ブラウザ | 処理方法 |
---|---|
NRE | パス+ファイル名 |
Chrome、 Edge、 Firefox、 IE、 Safari | ファイル名のみ |
FileUploadコンポーネントのmultiselectプロパティ値を「false」に指定した場合、ファイルパスは以下のような形式で表示されます。
ブラウザ | 処理方法 |
---|---|
NRE | パス+ファイル名 |
Chrome、 Edge、 Firefox、 IE、 Safari | 仮想パス(fakepath)+ファイル名 |
IEブラウザの場合、ユーザーのオプション設定に応じて、multiselectプロパティ値をfalseに指定した場合に仮想パスではなく、実際のファイルのパスに表示されることがあります。
RP | 作成日 | 説明 |
---|---|---|
69218 | 2016-09-06 | ブラウザごとの動作方式の違いによる制約事項です。ファイルパスの表示が異なっていても、ファイルのアップロード機能は正常に処理されます。 |
81686 | 2018-09-05 | multiselectプロパティ値をfalseに設定したときのパス表示の説明を修正しました。Edge、IEでファイルのパスではなく、仮想パスに表示されます。 |
openメソッドの実行時に、重複した子フレームの名前処理に関する制約
IE環境で、nexacroAPIのopenメソッドを実行する際に、複数の子フレームに対して、子フレーム名(ID)を指定するパラメータ(strName)を重複した名前で設定した場合、実行した際にスクリプトエラーが発生し、ポップアップウィンドウが表示されません。
NREや他のブラウザでは、同条件でスクリプトエラーが発生しませんが、ポップアップウィンドウを処理する方法がブラウザにより異なることからIE環境のみで発生する事象です。
ブラウザ | 同期方式 | 処理方法 |
---|---|---|
NRE | 同期 | ポップアップウィンドウを順次処理します。 |
Chrome | 非同期 | 最後に実行したポップアップウィンドウのJavaScriptのみ処理します。 |
Firefox | 非同期 | 最初に実行したポップアップウィンドウのJavaScriptのみ処理します。 |
IE | 非同期 | 名前が重複する全てのポップアップウィンドウのJavaScriptを処理します。その際にスクリプトエラーが発生します。 |
ポップアップウィンドウの処理について、子フレームのID処理方式はブラウザの種類だけでなく、ブラウザのバージョンによっても異なることがあります。開発時に重複したIDを指定しないように注意する必要があります。
RP | 作成日 | 説明 |
---|---|---|
70213 | 2016-12-05 | ブラウザごとの動作方式の違いによる制約です。 |
関数内でalertメソッドやconfirmメソッドの呼出し時のスクリプト処理方法の違い
ChromeとSafariでは、関数内でalertメソッドやconfirmメソッドを呼び出す場合、処理順番が他のコードより優先されます。
例えば、以下のコードの場合、先に文字列「TEST」を出力してから、alertメソッドを実行するようになっていますが、ChromeとSafariでは先にalertメソッドがを実行され、alertウィンドウを閉じるまで文字列「TEST」が出力されません。
function fn_click() { document.write("TEST"); alert("TEST"); }
ブラウザ | 処理方法 |
---|---|
[NRE]、Edge(44以下バージョン)、Firefox、IE | 順序どおりにスクリプトを実行します。 |
Chrome、Edge(80以上バージョン)、Safari | alert、confirmメソッドが実行されて、ユーザーがダイアログボックスを閉じると、他のスクリプトを実行します。 |
RP | 作成日 | 説明 |
---|---|---|
71291 | 2017-01-09 | ブラウザごとの動作方式の違いによる制約事項です。 |
84124 | 2019-03-07 | SafariでもChromeと同じ動作を確認しました。 |
2020-03-24 | Edgeのエンジンの変更により、制約事項を修正します。 Edgeのバージョンによって動作方式が異なります。 |
コンポーネントのvisibleプロパティ変更時に、変更値の適用が遅れる事象
スクリプトにより、コンポーネントのvisibleプロパティ値を動的に変更した場合、画面上に表示されているコンポーネントの状態が変更される前に、次のスクリプトの構文が先に処理されてしまうことがあります。スペックの低いPCでIEを使用した場合に頻繁に発生する事象です。
RP | 作成日 | 説明 |
---|---|---|
71551 | 2017-01-31 | visibleプロパティ値を変更した際に、ハードウェアやブラウザ種類によって、HTMLのDOMツリーに変更後のプロパティ値が反映されるまで時間がかかって、反映タイミングがずれる場合があります。 順次にスクリプト構文を処理するように条件を設定したり、TimerEventにより適用のタイミングを調整することで、この問題を回避できます。 |
onmouseenterイベントとonmousemoveイベントの発生順序が異なる事象
onmouseenterイベントとonmousemoveイベントを持つコンポーネントの場合は、イベントの発生順序がブラウザにより異なります。ブラウザによるイベントの発生順序は下記表の通りです。
ブラウザ | 処理方法 |
---|---|
IE、Edge(44以下のバージョン) | onmousemove > onmouseenter |
[NRE]、Chrome、Edge(80以上のバージョン)、Firefox、Safari | onmouseenter > onmousemove |
RP | 作成日 | 説明 |
---|---|---|
71731 | 2017-02-10 | ブラウザごとの動作方式の違いによる制約事項です。 |
2020-03-24 | Edgeのエンジンの変更により、制約事項を修正します。 Edgeのバージョンによって動作方式が異なります。 |
trackPopupメソッド実行時の基準領域
NREとWebブラウザでは、trackPopupメソッドを実行する際にコンポーネント(PopupDiv、PopupMenu)を表示する基準領域が異なります。NREではタイトルバーを含むフレームの領域を基準領域にしますが、Webブラウザではフレーム領域を除いたコンテンツ表示領域のみを基準領域にするため、同じ座標を指定しても、showtitlebarプロパティ値が「true」である場合には、NREとWebブラウザでコンポーネントが表示される位置が異なります。
代替スクリプト | 作成したスクリプトが正常に動作しない恐れがあるため、メソッド機能を修正してこの問題を解消することはできません。ただし、スクリプトの作成時にtrackPopupByComponentメソッドを使用したり、NREの場合はフレーム領域を除いた座標値を指定することで、同じ位置にコンポーネントを表示することができます。 |
---|
// trackPopupByComponentメソッド使用 var x = this.Button00.getOffsetLeft(); var y = this.Button00.getOffsetBottom(); this.pdiv.trackPopupByComponent(this, x, y);
// NREのフレーム領域を除く座標値の計算 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 | NREとWebブラウザの動作方式の違いによる制約事項です。 |
nexacro.getTextSizeの結果値に関する制約
getTextSizeメソッドは、指定された条件に応じたテキストサイズの計算結果を返すメソッドですが、実行ブラウザにより結果値の差分が発生します。
また、指定された条件(パラメータ値)によっても、結果値の差分が発生する場合があります。下記は特定パラメータ値の指定によりブラウザごとに異なる結果値を返した例です。
this.Static00.set_text("nexacro"); this.Static00.set_font("10 Arial"); var textSize = nexacro.getTextSize(this.Static00.text, this.Static00.font, null, "none", 0); trace(textSize.nx, textSize.ny); // 結果値
ブラウザ | 結果値 |
---|---|
IE11 | 47, 15 |
Edge(44以下のバージョン) | 47.41999816894531, 15 |
[NRE]、Safari | 46, 16 |
Firefox | 46, 15 |
Chrome、Edge(80以上のバージョン) | 47.42295837402344, 15 |
RP | 作成日 | 説明 |
---|---|---|
72660 | 2017-6-20 | ブラウザごとの動作方式の違いによる制約事項です。 |
2017-10-10 | サンプルコード追加 | |
2020-03-24 | Edgeのエンジンの変更により、制約事項を修正します。 Edgeのバージョンによって動作方式が異なります。 |
ブラウザ側で特定のコンポーネントをブラウザ内部オブジェクトとして処理する事象
TypeDefinitionのObjects追加時に、DeviceAPIオブジェクトのGeolocationのIDを「Geolocation」に指定すると、Webブラウザでアプリケーションを実行した際に、該当オブジェクトが見つからず、Webブラウザの内部オブジェクトとして処理される事象が発生します。
本事象は、Webブラウザで同じ名前の内部オブジェクトが既に使用中であるために発生します。IDを「NexacroGeolocation」のように別の名前で指定すると、正常に動作します。
「Geolocation」だけでなく他のIDの値も、ブラウザ内で使用しているオブジェクトと重複する場合、正常に処理されないことがあります。
RP | 作成日 | 説明 |
---|---|---|
75116 | 2017-8-2 | ブラウザごとの動作方式の違いによる制約事項であり、IE、Edgeで発生します。 |
2020-03-24 | 2020年2月時点の最新バージョンを基準に、IE、Edge以外のWebブラウザでもエラーが発生する事象を確認しました。 | |
90082 | 2020-08-27 | 17.1.2.200以降のバージョンでは、Geolocationオブジェクトの追加時のID値が「NexaGeolocation」に設定されます。 |
synchronousモードでのtransactionメソッドの実行に関する制約
同期モードでトランザクションを行う場合(transactionメソッドのパラメータ[bAsync]を「false」に指定)、ブラウザによっては、アプリケーションが正常に動作しない場合があります。
ブラウザ | 関連エラー |
---|---|
Chrome、Firefox、Edge | deprecationメッセージを出力します。 |
IE | トランザクション終了後、フォーカスを失う事象が発生します。 |
RP | 作成日 | 説明 |
---|---|---|
74564 | 2017-07-25 | ブラウザごとの動作方式の違いによる制約事項です。 同期モードはパフォーマンス上の問題から一部のブラウザでdeprecationとして扱われていて、ブラウザのバージョンによっては、ここに記述された以外の機能制限がある場合があります。 |
2020-03-24 | Edgeブラウザの44.18362バージョンでフォーカスを失わず、deprecationメッセージを出力する事象を確認しました。 |
Editコンポーネントに入力された文字が点滅する事象
Editコンポーネントにテキストを入力し、フォーカスを一度移動してから再度Editコンポーネントに戻ると、入力された文字が点滅、もしくは動いているように見える事象が発生します。
RP | 作成日 | 説明 |
---|---|---|
75016 | 2017-7-27 | ブラウザごとの動作方式の違いによる制約事項であり、Windows 7のIEで発生します。 |
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-03-24 | Edge(80 以上バージョン)ブラウザでは発生しない現象です。 現象が発生するEdgeブラウザバージョンを表記しました。 |
特定のスクリプトが一定時間以上プロセスを占有している場合、その間に発生したイベントが処理されない制約
IEでは、Formオブジェクトのsleepメソッドの実行やFor文のような繰り返し処理を行うスクリプトが一定時間プロセスを占有している場合、その間に発生した他のイベントを処理することができません。
例えば、sleepメソッドの実行中に、ボタンのクリックによりイベントが発生した場合、sleepメソッドの引数として指定された時間が経過すると、該当のイベントが処理されますが、IEでは処理されません。
RP | 作成日 | 説明 |
---|---|---|
75144 | 2017-8-18 | IEでは、スクリプトで長時間ブロッキングが発生する場合、IEによりBody部に対して「フォーカス喪失」がされ、その結果イベントが削除されます。 |
コンテキストメニューの「元に戻す」項目の選択時の動作方式の違い
テキスト編集領域を持つコンポーネントにて、入力された文字列を選択し、マウスの右クリックにより表示されるコンテキストメニューから「削除」または「切り取り」を行った後、他のコンポーネントのコンテキストメニューから「元に戻す」を行うと、ブラウザによって処理が異なります。
ブラウザ | 結果値 |
---|---|
Chrome、IE11、Edge(80以上のバージョン) | 「実行キャンセル」を選択時、動作しません。 |
Firefox | 次のコンポーネントのコンテキストメニューにて「元に戻す」が非活性になります。 |
[NRE]、Edge(44以下のバージョン)、Safari | コンテキストメニューに「元に戻す」が表示されず、ショートカットキーも無効になります。 |
WebブラウザでINPUTタグによるテキスト入力の場合には、NREと一部動作が異なります。「元に戻す」を選択した際に、Webブラウザからイベント情報を伝達できないため、動作の違いが発生します。
ブラウザ | 結果値(HTMLのINPUTタグのみ使用時) |
---|---|
Chrome、IE11、Edge(80以上のバージョン) | 前のコンポーネントにフォーカスを移動しながら入力値を元に戻します。 |
Firefox | 次のコンポーネントで「元に戻す」が非活性になります。 |
Edge(44以下のバージョン)、Safari | 「元に戻す」は表示されないが、ショートカットキー(Ctrl+Z)により、フォーカスを前のコンポーネントに移動し、入力値を元に戻します。 |
RP | 作成日 | 説明 |
---|---|---|
75871 | 2017-10-10 | ブラウザごとの動作方式の違いによる制約事項です。 |
2020-03-24 | Edgeのエンジンの変更により、制約事項を修正します。 Edgeのバージョンによって動作方式が異なります。 |
onbeforeexitイベント内でのスクリプト実行に関する制約
Applicationオブジェクトのonbeforeexit、onexitイベント関数内に記述したスクリプトにて実行するalertメソッドやconfirmメソッドは、ブラウザによって処理されないことがあります。ブラウザ内でのイベントは処理しますが、関数内に記述された該当のメソッドは処理しません。
ブラウザ | 結果値 |
---|---|
Chrome、Edge、Firefox | onbeforeexit、onexitイベント関数内の該当メソッドを無視します。 |
IE、Safari、[NRE] | onbeforeexit、onexitイベント関数内の該当メソッドを処理します。 |
onbeforeexitイベントは、HTMLでbeforeunloadイベントを受けて処理しています。
beforeunloadイベント内で該当のメソッドを無視するようにHTML5仕様に勧告していて、ブラウザごとに処理方法が異なることから動作の違いが発生します。
https://developer.mozilla.org/en-US/docs/Web/Events/beforeunload
RP | 作成日 | 説明 |
---|---|---|
76480 | 2017-10-10 | ブラウザごとの動作方式の違いによる制約事項です。 |
85783 | 2019-06-28 | onexitイベントも同じ現象を確認して、制約として追加します。 |
テキスト編集領域を持つコンポーネント間を高速で移動すると、フォーカスが移動しない事象
iOS端末のSafariで、Editコンポーネントのようなテキスト編集領域を持つコンポーネント間をタッチ操作によって迅速で移動した際に、フォーカスは移動しないままStatusが変更される事象があります。
タッチ操作による移動を高速で行った際にフォーカスが移動しない事象は、iOSのSafari側の制約事項です。nexacro platformでは、ブラウザ側のタッチイベント発生時にStatusを変更しますが、高速で移動した際はフォーカスが移動しないため、Statusだけが変更されるように見えます。Safari側から正常に情報が渡され、フォーカスだけが移動しないため、それをnexacro platformで補正することはできません。
RP | 作成日 | 説明 |
---|---|---|
77192 | 2017-11-27 | iOSのSafariの制約事項です。 Statusの変更はブラウザで正常に発生したイベントに対して処理したものであり、ブラウザ側の制約が解消されることによってこの問題も解消されます。 |
Divコンポーネント内に配置されたテキスト編集領域を持つコンポーネントが一部しか見えていない場合、フォーカス移動時にコンポーネントがちらつく事象
Divコンポーネント内に配置されたテキスト編集領域を持つコンポーネントが一部しか見えていない状態で該当のコンポーネントにフォーカスを移動すると、IEではコンポーネント全体が表示されるように内部的にスクロール位置を移動します。nexacro platformでは、スクロールがユーザーの意図しない位置に移動された際に元の位置に戻しますが、その過程でコンポーネントがちらつくように見えることがあります。
一般的な画面構成では、Divコンポーネント内のコンポーネント全体が表示されるように配置しますが、ユーザーがDivコンポーネントのサイズを変更できるように設定している場合には、Divコンポーネントをリサイズするタイミングでちらつき現象が発生することがあります。
RP | 作成日 | 説明 |
---|---|---|
76992 | 2017-11-28 | IE(バージョン9~11)の制約事項です。 |
テキスト編集領域を持つコンポーネントにフォーカス移動したタイミングでWaitカーソルが表示される場合、キャレット位置が末尾になる事象
テキスト編集領域を持つコンポーネントへのフォーカス移動が、transactionメソッドもしくはsetWaitCursorメソッドによるWaitカーソルの表示と同じタイミングで行われた場合、フォーカス移動時のキャレット位置は、マウスのクリック位置ではなく、テキストの末尾になる事象が発生します。
IEにて、Waitカーソル表示のレイヤー(DIVタグ)がテキスト編集領域(INPUTタグ)と重なって表示される場合に発生する事象です。
RP | 作成日 | 説明 |
---|---|---|
77440 | 2017-12-14 | ブラウザごとの動作方式の違いによる制約事項であり、IEで発生します。 |
コンポーネントのenableプロパティ値が「false」である場合、イベントが上位コンポーネントに伝播される動作の違い
テキスト編集領域を持つコンポーネントのenableプロパティが「false」に設定されている場合、テキスト編集領域をマウスでクリックした際に、上位コンポーネント(DivもしくはForm)へのイベント伝播はブラウザによって異なります。
ブラウザ | 処理方法 |
---|---|
Firefox、Edge(44以下のバージョン) | 上位コンポーネントにイベントが伝播されません。 |
[NRE]、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-03-24 | Edgeのエンジンの変更により、制約事項を修正します。 Edgeのバージョンによって動作方式が異なります。 |
コールバック関数でファイルダイアログボックスが表示できない制約
transactionメソッドの実行後に、設定されているコールバック関数内でファイルダイアログボックスを実行するメソッドを呼び出す場合、特定のWebブラウザではファイルダイアログボックスを表示できません。例えば、コールバック関数内でExcelImportObjectオブジェクトのimportDataメソッドを呼び出した際にファイルダイアログボックスは表示されません。
ユーザーの操作により発生するイベントではなく、スクリプトで生成されたイベントの場合、isTrustedプロパティ値が「false」として設定されますが、特定のWebブラウザではisTrustedプロパティ値によって、一部のアクションが制限されてしまうことがあります。
ブラウザ | 処理方法 |
---|---|
Firefox | ファイルダイアログを表示できません。 |
[NRE]、Chrome、IE, Firefox、Edge, Safari | 実行に制約がありません。 IEではisTrustedプロパティをサポートしません。 |
RP | 作成日 | 説明 |
---|---|---|
83198 | 2018-12-18 | NREとWebブラウザの動作方式の違いによる制約事項です。 |
2020-03-24 | 2020年2月の最新ブラウザ基準で動作確認を行い、制約事項を修正しました。 |
モードレスウィンドウで親ウィンドウにフォーカスを指定できない制約
Webブラウザではopenメソッドにより表示したモードレスウィンドウから親ウィンドウ(もしくは親ウィンドウのコンポーネント)を対象にsetFocusメソッドを呼び出すと、フォーカスが移動しません。
親ウィンドウに実行された画面内のフォーカスを制御するためには、Webブラウザのウィンドウを活性化する必要がありますが、強制的にWebブラウザのウィンドウを活性化するかどうかを制御できないため、該当の機能をサポートできません。
NREでは、内部的にウィンドウを制御してモードレスウィンドウから親ウィンドウにフォーカスを指定することができます。
RP | 作成日 | 説明 |
---|---|---|
82777 | 2018-12-21 | NREとWebブラウザの動作方式の違いです。 |
trackPopupメソッドの実行前にalert、confirmメソッドを実行した際にコンポーネントが表示されない制約
PopupDiv、PopupMenuコンポーネントのtrackPopupメソッドを実行する前に、alert、confirmのようにユーザーがボタンをクリックしてダイアログボックスを閉じるメソッドが実行される場合(下記のコードを参照)、trackPopupメソッドが実行されていないように見える事象が一部のブラウザで発生します。
this.Button00_onclick = function(obj:nexacro.Button,e:nexacro.ClickEventInfo) { confirm('test'); this.PopupMenu00.trackPopup(0,0); };
trackPopupメソッドは正常に実行されていますが、ダイアログボックスを閉じる際にdeactivateイベントが発生すると同時にtrackPopupメソッドが実行されたため、コンポーネントが表示されてすぐ閉じられます。
本事象はChromeで発生します。alertやconfirmメソッドとtrackPopupメソッドを順次使用しない必要があります。
RP | 作成日 | 説明 |
---|---|---|
83521 | 2019-02-13 | Webブラウザの動作方式の違いによる制約事項です。 |
画面ロード時に、編集領域を持つコンポーネントが最初のフォーカスが設定されている場合の動作方法の違い
画面のロード時に最初のフォーカスが編集領域を持つコンポーネントにある場合、OSやブラウザによって動作方法が異なります。
ブラウザ | キャレット | キーボード表示 |
---|---|---|
デスクトップ環境 | ○ | 該当なし |
Android NRE | ○ | ○ |
Android Default Web Browser | ○ | ✕ |
iOS NRE | ✕ | ✕ |
iOS Default Web Browser | ✕ | ✕ |
RP | 作成日 | 説明 |
---|---|---|
81363 | 2019-01-07 | OSやWebブラウザごとの処理方法の違いによる制約事項です。 |
TextAreaコンポーネントに文字入力時にソフトウェアキーボードが表示されてキャレット位置が画面から外れる事象
TextAreaコンポーネントに複数行のテキストが入力されている状態で、任意の場所にキャレット移動すると、キーボードが表示されてキャレット位置が画面に表示されない事象が発生します。TextAreaコンポーネントのサイズがソフトウェアキーボードの表示領域より大きい場合には、キャレット位置を合わせることができません。
Androidのデフォルトブラウザで本事象を確認していますが、他の実行環境でも発生することがあります。
RP | 作成日 | 説明 |
---|---|---|
81443 | 2019-01-07 | OSやWebブラウザごとの処理方法の違いによる制約事項です。 |
コンポーネントのpaddingプロパティの適用時にテキストが見切れる事象
paddingプロパティを設定しているコンポーネントにて、テキストが表示される領域とpaddingプロパティ値が適用される領域が重なる場合、ブラウザとコンポーネントによって表示が異なります。
下記の例では、EditコンポーネントとButtonコンポーネントのpaddingプロパティ値を20pxに設定しています。NREの場合、padding領域だけテキストが見切れますが、Webブラウザではコンポーネントによってpaddingプロパティ値を一部のみ適用することで、テキストが見切れないように表示します。
ブラウザ | 処理方法 |
---|---|
[NRE] | padding領域と重なるテキストは見切れます。 |
Edge、Firefox、IE、Chrome、Safari | padding領域と重なる場合にはテキストの位置を調整し、テキストが見切れないように表示します。 |
RP | 作成日 | 説明 |
---|---|---|
78470、78181 | 2018-03-02 | OSやWebブラウザごとの処理方法の違いによる制約事項です。 |
-nexa-word-wrap(wordWrap)プロパティの値が「english」である場合、テキストが見切れる事象
コンポーネントのwordWrapプロパティ値が「english」である場合、特定の幅以下にコンポーネントのサイズが変更されると、NREとWebブラウザが違う方法でテキストを表示します
下図で赤い枠線で囲んでいる部分はChromeで実行した結果であり、それ以外の部分はNREで実行した結果です。widthプロパティを全体のテキストを表示できるようなサイズに設定している場合には、NREとWebブラウザでは同じ個所で改行をしています。しかし、小さいサイズに設定している場合には、NREではテキストが文字単位で改行していますが、Webブラウザではテキストが見切れます。
-nexa-word-wrap(wordWrap)プロパティを持つコンポーネントで発生する事象です。(TextAreaコンポーネントを除く)
-nexa-word-wrap(wordWrap)プロパティ値が「none」である場合にテキストの配置方法の違いによる制約については、下記の項目を参照してください。
RP | 作成日 | 説明 |
---|---|---|
82114 | 2019-03-14 | OSやWebブラウザごとの処理方法の違いによる制約事項です。 |
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イベントが発生します。 |
[NRE]、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-03-24 | Edgeのエンジンの変更により、制約事項を修正します。 Edgeのバージョンによって動作方式が異なります。 |
テキスト編集領域を持つコンポーネントがマウスホイールによるスクロール操作時に画面の表示領域から外れる場合の動作の違い
Edit、TextAreaコンポーネントのように、テキスト編集領域を持つコンポーネントでテキストの入力中にマウスホイールにより画面をスクロールすると、該当のコンポーネントが画面の表示領域から外れます。その際に、テキストを入力し続けると、一部のブラウザではコンポーネントの位置に合わせてスクロール位置を更新しますが、それ以外のブラウザではスクロール位置を更新しません。
IEでは、スクロール位置が更新され、該当のコンポーネントが画面の表示領域の最上部に表示されます。
スクロール位置が更新されない場合でも、コンポーネントのフォーカスとキャレットはそのまま維持されるため、テキストを入力し続けることはできます。
ブラウザ | 処理方法 |
---|---|
IE | 入力フォーカスがあるコンポーネントの位置に合わせてスクロールします。 テキストは正常に入力されます。 |
[NRE]、Chrome、Edge、Firefox、Safari | スクロール位置を更新しません。 テキストは正常に入力されます。 |
RP | 作成日 | 説明 |
---|---|---|
84876 | 2019-04-24 | ブラウザごとの動作方式の違いによる制約事項です。 |
2020-03-24 | 2020年2月時点の最新バージョンを基準に各ブラウザで動作確認を行い、制約事項を修正しました。 |
WebBrowserコンポーネント内でロードしたコンテンツにフォーカスを移動した際のソフトウェアキーボード制御の違い
NREでは、WebBrowserコンポーネントのurlプロパティ値として指定したコンテンツのテキスト編集領域にフォーカスを移動した際に、ソフトウェアキーボードが編集領域の手前に表示される事象が発生します。
ブラウザ | 処理方法 |
---|---|
[NRE] | 編集領域がソフトウェアキーボードの下に隠れて見えません。 |
Webブラウザ | ソフトウェアキーボードが編集領域の手前に表示される事象が発生しません。 |
RP | 作成日 | 説明 |
---|---|---|
83857 | 2019-03-26 | ブラウザごとの動作方式の違いによる制約事項です。 |
swfコンテンツの上にPopupDivコンポーネントを配置している場合、-nexa-border(border)プロパティ値が適用されない事象
swfコンテンツの上にHTMLコンテンツを配置している場合、複数の制約が発生することがあります。その中で、IEではswfコンテンツの上にPopupDivコンポーネントを配置している場合、-nexa-border(border)プロパティ値が適用されないことがあります。本事象はwmode="transparent"オプションを追加してswfコンテンツを配置することで回避できます。
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="600" height="200" id="myFlashContent"> <param name="movie" value="./logo.swf" /> <param name="wmode" value="transparent" /> <!--[if !IE]>--> <object type="application/x-shockwave-flash" data="./logo.swf" width="800" height="200"> <param name="wmode" value="transparent" /> <!--<![endif]--> <a href="http://www.adobe.com/go/getflashplayer"> <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /> </a> <!--[if !IE]>--> </object> <!--<![endif]--> </object>
本件は既知の問題で、nexacro platfromとは関係なくswfコンテンツに関連する制約事項です。
https://stackoverflow.com/questions/2040887/div-z-index-issue-with-flash-movie
RP | 作成日 | 説明 |
---|---|---|
83596 | 2019-04-03 | ブラウザごとの動作方式の違いによる制約事項です。 |
WebブラウザでMainFrameオブジェクトのoncloseイベントが発生しない事象
Webブラウザのタブを閉じたり、Webブラウザを終了する場合、MainFrameオブジェクトのoncloseイベントは発生しません。ブラウザごとにoncloseイベントが発生する場合は下記の通りです。
ブラウザ | oncloseイベントが発生する場合 |
---|---|
[NRE]、Webブラウザ | Applicationオブジェクトのexitメソッドの呼び出し時 |
[NRE] | MainFrameオブジェクトのタイトルバー領域で閉じるボタンのクリック時 |
RP | 作成日 | 説明 |
---|---|---|
85783 | 2019-06-28 | NREとWebブラウザの動作方式の違いによる制約事項です。 |
Pluginコンポーネントの上にPopupDivコンポーネントを配置している場合、-nexa-border(border)プロパティ値が適用されない事象
PluginコンポーネントのActiveXコンテンツ(Windowed plugin)をロードし、その上にPopupDivコンポーネントを配置している場合、PopupDivコンポーネントとPluginコンポーネントが重なる領域では-nexa-border(border)プロパティ値が適用されません。本件の対応にはPopupDivコンポーネントの構造を修正する必要があり、その影響が大きくなる可能性があるため、現状のままにしています。
RP | 作成日 | 説明 |
---|---|---|
85137 | 2019-05-30 | ブラウザごとの動作方式の違いによる制約事項です。 |
Gridコンポーネントにて、ブラウザごとにoncelldblclickイベントの処理が異なる事象
GridコンポーネントのCellオブジェクトのedittypeプロパティ値をセルクリック時に入力コントロールが活性化する値(button、date、mask、readonly、text、textareaなど)に設定している場合、該当のセルでダブルクリックすると、ブラウザによってはoncelldblclickイベントが発生しない場合があります。
Cellオブジェクトの場合、クリック操作時にedittypeプロパティ値に応じたコントロールが表示されますが、この際にブラウザによってはダブルクリック動作を処理できないため発生する事象です。
ブラウザ | 処理方法 |
---|---|
Firefox | oncellclick→oncellclick |
[NRE]、Chrome、Edge、IE | oncellclick→oncellclick→oncelldblclick |
RP | 作成日 | 説明 |
---|---|---|
84981 | 2019-07-12 | ブラウザごとの動作方式の違いによる制約事項です。 |
WebBrowserコンポーネントでホイールスクロールが動作しない事象
WebBrowserコンポーネントのurlプロパティ値として、現在のドメインと異なるドメインのコンテンツを指定している場合、呼び出されたコンテンツにスクロールバーがなく(強制的にスクロールバーを表示させない場合)、コンテンツのサイズによってWebBrowserコンポーネント側にスクロールバーが表示されると、ホイールスクロールが動作しません。
ブラウザ | 処理方法 |
---|---|
Chrome、Edge、Firefox、IE、Safari | ホイール動作イベントが処理されません。 |
[NRE] | ホイール操作によりコンテンツをスクロールすることができます。 |
RP | 作成日 | 説明 |
---|---|---|
86008 | 2019-09-18 | Cross Domain環境にて、same-originポリシーによりIFRAMEで発生するイベントハンドリングが行われない制約事項です。 |
日本語IMEモードでの入力中、入力スピードを速くして文字を入力した際に値が不正になる問題
typeプロパティ値を「string」、且つformatプロパティ値を「99-99-99」に設定しているMaskEditコンポーネントに日本語IMEモードで入力すると、下記のような場合にキャレットの位置や入力値が誤って処理されることがあります。
入力スピードを速くしてテンキー入力した場合
日本語IMEモードで未確定文字の修正時に入力スピードを速くして入力した場合
formatプロパティ値は例示であり、他の設定値でもこの制約事項が発生することがあります。
下位コントロールとしてMaskEditControlを持つCalendar、Grid、Spinコンポーネントでも同様の事象が発生することがあります。
DOMレベルでキャレット位置の処理方式がブラウザごとに異なるため発生する問題であり、nexacro platfrom側で補正することはできません。
RP | 作成日 | 説明 |
---|---|---|
89301 88784 | 2020-06-11 | WindowsのChrome、Edge(80以上のバージョン)で発生します。 ブラウザごとの動作方式の違いによる制約事項です。 |
system.printメソッドにより、2ページ以降のコンテンツを出力できない事象
対象のコンテンツが2ページを超えている場合、Firefoxでsystem.printメソッドにより印刷すると、2ページ以降のコンテンツが印刷されない事象が発生します。
position:absoluteスタイルを使用しているHTML/CSSコンテンツの場合でも、2ページ以降のコンテンツを出力できない事象が発生します。
本件はFirefoxでの既知の問題で、position:absoluteスタイルに関するブラウザバグとして登録されています。
https://bugzilla.mozilla.org/show_bug.cgi?id=546559
https://bugzilla.mozilla.org/show_bug.cgi?id=179135
RP | 作成日 | 説明 |
---|---|---|
89569 | 2020-06-26 | Firefoxで発生します。 ブラウザごとの動作方式の違いによる制約事項です。 |
日本語IMEモードで入力確定前にvalue値として反映される事象
Chrome、Edge(80以上バージョン)では、日本語IMEモードで入力確定した文字列をCTRL+Aキーにより全選択した状態で、先頭の文字と同じ文字を入力すると、確定する前にvalue値として反映されてしまうことがあります。
たとえば、Editコンポーネントに日本語IMEモードで「あああ」を入力確定した後に、CTRL+Aキーにより全選択した状態で「あ」を入力した際のvalue値は下記の通りになります。
ブラウザ | value |
---|---|
Chrome、Edge(80以上バージョン) | あ |
[NRE]、Firefox、IE、Safari、Edge(44以下バージョン) | あああ |
RP | 作成日 | 説明 |
---|---|---|
89944 | 2020-09-07 | ブラウザごとの動作方式の違いによる制約事項です。 |
MaskEditコンポーネントのテキスト編集領域にフォーカスがある場合、IME動作の違い
MaskEditコンポーネントはtype、formatプロパティの設定により制限されたASCII文字のみを入力することができます。
ユーザビリティのために、MaskEditコンポーネントのテキスト編集領域にフォーカスがある際にIME使用有無が制御可能な一部のブラウザではIMEをオフ状態にします。IMEのオフ状態ではASCII文字の入力のみ許可されます。
ブラウザ | フォーカス時のIME処理方式 |
---|---|
NRE、IE、Firefox | IMEをオフにする |
Chrome、Edge、Safari | 該当なし |
IMEのオフはCSS ime-mode属性を使用しています。
該当の機能はDeprecatedされていて、ブラウザ側のアップデートによりサポートされなくなる可能性があります。
RP | 作成日 | 説明 |
---|---|---|
90516 | 2021-06-09 | ブラウザごとの動作方式の違いによる制約事項です。 |
製品機能に関する制約
Calendarコンポーネントのpopuptypeプロパティ値による制約
モバイルデバイス環境で、Calendarコンポーネントのpopuptypeプロパティ値が「system」である場合、Calendarコンポーネントのイベントのサポート有無が下記表の通りになります。
サポート | 対象イベント |
---|---|
サポート | canchange、onchanged、oncloseup、oncontextmenu、ondrag、ondragenter、 ondragmove、ondrop、ondropdown、oneditclick、oninnerdatachanged、oninput、 onkeydown、onkeyup、onkillfocus、onlbuttondown、onlbuttonup、onmouseenter、 onmouseleave、onmousemove、onmove、onrbuttondown、onrbuttonup、onsetfocus、 onsize、ontouchend、ontouchmove、ontouchstart |
非サポート | ondayclick |
RP | 作成日 | 説明 |
---|---|---|
47974 | 2016-05-13 | Calendarコンポーネントのpopuptypeプロパティ値により、一部のイベントがサポートされなくなります。 |
ExcelExportObjectオブジェクトから作成したExcelファイルのセルをコピーして他の文書に貼り付けると、コピー先で色が変わる事象
ExcelExportObjectオブジェクトのexporttypeプロパティ値がnexacro.ExportTypes.EXCEL(Excel97~2003形式)の定数値である場合、ダウンロードしたExcelファイルからコピーしたセルを新しいExcel文書に貼り付けた際に、色情報はコピーされません。
exporttypeプロパティのデフォルト値はnexacro.ExportTypes.EXCELです。
RP | 作成日 | 説明 |
---|---|---|
48114 | 2016-05-18 | Excel97〜2003の場合、ユーザーが指定した色情報は該当ファイルにのみ適用されます。セルをコピーして他のファイルに貼り付けた場合には、該当の色情報が見つからないため、ユーザーが指定した色ではなく、別の色として処理されます。 |
画面の拡大・縮小時に、Gridコンポーネントのセル選択機能に関する制約
Gridコンポーネントのselecttypeプロパティ値が「multiarea」である場合、ブラウザを拡大または縮小した状態で、マウスのドラッグ操作により複数のセルを同時選択すると、想定通りの範囲が選択されません。Gridコンポーネント内の複数セルの選択時に、マウスカーソルの位置がGridコンポーネント領域から外れても選択機能は動作する必要があるため、スクリーン座標値を使用します。この過程で、選択範囲が異なって選択される問題が発生します。
ブラウザ | 制約発生環境 |
---|---|
Webブラウザ | ブラウザの拡大・縮小機能を使用する場合 |
RP | 作成日 | 説明 |
---|---|---|
70879 | 2017-01-17 | 想定通りの範囲が選択されない問題は、下記のような原因により発生します。 1)拡大・縮小を行った際に、画面上でコンポーネントのサイズは変りますが、HTMLノード上のサイズは変わりません。 2)拡大・縮小を行った際に、画面上でコンポーネントのサイズが変わることにつれ、マウスのカーソルがコンポーネント上にとどまる範囲が変わります。 |
WebBrowserコンポーネントの印刷時の制約
System.printメソッド呼び出し時に、ウィンドウサイズが小さい場合、スクロールバーが表示され、現在表示されていない領域まで印刷することができます。しかし、Form内にWebBrowserコンポーネントが含まれている場合は、printメソッド呼び出し時に、JavaScriptのwindow.printメソッドを実行します。window.printメソッドは現在表示されている領域のみ印刷します。
ブラウザ | System.printの処理方法 |
---|---|
NRE | WebBrowserコンポーネントの有無に関係なく、Formの全領域を印刷します。 |
Chrome、Edge、Firefox、 IE、Safari | WebBrowserコンポーネントが含まれている場合は、現在画面に表示される領域のみ印刷します。 |
下図のような場合、FormにEditコンポーネント2つが上下に配置されていて、右側にWebBrowserコンポーネントを配置し、地図を表示しています。System.printメソッドの呼び出し時に、NREでは赤い枠の領域が印刷されますが、Webブラウザでは青い枠の領域のみ印刷されます。
RP | 作成日 | 説明 |
---|---|---|
71680 | 2017-02-08 | Webブラウザの機能制限により、NREとWebブラウザでは、Form内にWebBrowserコンポーネントが含まれている場合、異なるprintメソッドを使用するように実装されています。 |
JavaScriptのメソッド使用に関する制約
Scopeを指定せずにalertメソッドやconfirmメソッドを呼び出す場合には、JavaScriptのメソッドが実行されます。JavaScriptのメソッドは、nexacro platformが提供するメソッドと異なって動作することがあります。
this.Button00_onclick = function(obj:nexacro.Button, e:nexacro.ClickEventInfo) { alert("TEST"); // JavaScriptのalertメソッド this.alert("TEST"); // Formオブジェクトのalertメソッド nexacro.getApplication().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端末用のNREでは処理可能な文字数の制約があります。
処理可能な文字数は、最大256文字(日本語)です。
RP | 作成日 | 説明 |
---|---|---|
76512 | 2017-10-19 | Windows端末用のNREにて値を受け取る際に使用しているWebブラウザ(IE)のtitle属性の文字数制約による制約事項です。 |
2018-08-08 | 本制約事項は、Windows OSでのみ発生します。 macOS、iOS、Androidでこの制約事項は該当しません。 |
Androidのフルスクリーン機能を設定したnexacroアプリケーションにて、入力コンポーネントがソフトウェアキーボードの下に隠れて見えない事象
AndroidManifest.xmlファイルに下記のようなフルスクリーンの設定を追加した場合には、入力コンポーネントにフォーカスが移動した際、ソフトウェアキーボードが表示されることによって、入力コンポーネントが隠れて見えなくなります。
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
RP | 作成日 | 説明 |
---|---|---|
77480 | 2017-12-13 | nexacroアプリではAndroidのフルスクリーン機能をサポートしません。 |
Androidのアプリ画面上でコンポーネントが常に手前に表示される事象
Android端末用のNREでは、一部のコンポーネントの上に他のコンポーネントを表示することができません。ポップアップで表示されるコンポーネントも該当するコンポーネントと重なる場合は、該当コンポーネントの下に表示されます。
対象コンポーネントは下記の通りです。
GoogleMap, WebBrowser
RP | 作成日 | 説明 |
---|---|---|
78897 | 2018-03-15 | Android端末用のNREでWebBrowserコンポーネントを含むアプリを実行する際の制約事項です。 |
89336 | 2020-04-23 | GoogleMapコンポーネントでも同様の制約事項が確認されたため、対象コンポーネントとして追記しました。 |
fittocontentsプロパティの適用時にテキストが見切れる事象
Staticコンポーネントにて、usedecorateプロパティを「true」に設定してイタリック(italic)効果を指定したり、fontプロパティをイタリック(italic)に設定した状態で、fittocontentsプロパティを「width」に設定した場合、テキストが見切れる事象が発生します。fittocontentsプロパティを適用する際に文字列の幅を計算しますが、イタリック(italic)効果を適用した状態の幅を正確に計算することができないため発生する事象です。
RP | 作成日 | 説明 |
---|---|---|
80378 | 2018-07-13 | fittocontentsプロパティの適用時にイタリック状態の文字列の幅を計算する方法がないため発生する事象です。 |
UTF-8でエンコードされていないファイルを開いた際に文字化けする事象
エンコード形式がUTF-8ではない場合に文字化けして表示されます。例えば、Shift-JISで保存されたファイルをnexacro studioで開いた際に日本語の文字列は文字化けして表示されます。
nexacro studio内では、BOM(Byte Order Mark)が付いていないUTF-8エンコード形式のファイルとして生成されます。BOMが付かないファイルは、エディタでファイルを開いた際にエンコード方式をチェックすした場合に処理時間が長くかかる問題があるため、エンコード形式がUTF-8と仮定してファイルを処理します。
RP | 作成日 | 説明 |
---|---|---|
80075 | 2018-12-14 | 製品の性能を考慮したファイル処理機能の制約事項です。 |
WebBrowserコンポーネント内で異なるドメインのコンテンツを表示している場合にmousemoveイベントが停止する事象
現在のドメインと異なるドメインのコンテンツをWebBrowserのurlプロパティに設定している場合、ウィンドウのサイズを変更した際にWebBrowserコンポーネント領域でmousemoveイベントが止まります。
下図にて、1のポップアップウィンドウの境界の位置でマウスの左ボタンによりドラッグしながらウィンドウのサイズを変更する際に、WebBrowserコンポーネントと接する2の位置でmousemoveイベントが停止するため、サイズを変更することができません。
RP | 作成日 | 説明 |
---|---|---|
83330 | 2019-01-15 | Cross Domain環境にて、same-originポリシーによりIFRAMEで発生するイベントハンドリングが行われない制約事項です。 |
system.osversionプロパティ値の処理時の制約
system.osversionプロパティ値を処理する際に正確なOS名を返しません。navigator.userAgentの文字列で確認して値を返しますが、製品名が異なる複数のOSが同じ文字列を返すことで発生する制約です。
system.osversionプロパティ値として取得される値は下記の通りです。
Windows Server製品の場合、Windowsアップデートプログラムやバージョンによって異なることがあります。
system.osversion | 対象OS |
---|---|
Windows Server 2003 / Windows XP 64-bit | Windows XP x64、Windows Server 2003 R2、Windows Home Server |
Windows Vista | Windows Vista、Windows Server 2008 |
Windows 7 | Windows 7、Windows Server 2008 R2、Windows Home Server 2011 |
Windows 8 | Windows 8、Windows Server 2012 |
Windows 8.1 | Windows 8.1、Windows Server 2012 R2 |
Windows 10 | Windows 10、Windows Server 2016、Windows Server 2019 |
RP | 作成日 | 説明 |
---|---|---|
83650 | 2019-02-08 | navigator.userAgent情報からWindows Server製品有無を確認することができないため発生する制約事項です。 |
ColumnInfoオブジェクトのtypeプロパティを変更した後に、変更後のtypeに該当する値が設定されない事象
Datasetオブジェクトを生成した後、ColumnInfoオブジェクトのtypeプロパティを変更して、変更後のtypeに該当する値が設定されません。Datasetオブジェクトの生成時に内部的にColumnInfoオブジェクトのtypeプロパティ値に該当する変換関数を連結しておきますが、typeプロパティの変更時に変換関数が変更されないため発生する事象です。
例えば、下記のようなエラーが発生することがあります。変更前のtypeプロパティ値が「BIGDECIMAL」である場合、下記のようなスクリプトを実行すると、typeプロパティ値が「STRING」に変更され、「234%」という値が設定されると想定できます。しかし、実際には変換関数で「BIGDECIMAL」規則に基づいて処理する際にタイプが合わないため、空値が設定されます。
var colInfo = this.Dataset00.getColumnInfo(0); colInfo.set_type("STRING"); this.Dataset00.setColumn(2, 0, "234%");
該当の不具合はDatasetオブジェクトの他の機能に影響を与える可能性があるため、検討したうえで対応する予定です。該当の不具合が解消されるまで制約事項とします。
RP | 作成日 | 説明 |
---|---|---|
83193 | 2019-02-14 | 運用中の機能に他の影響を与える可能性があるため、検討するまで修正を保留して制限事項とします。 |
スタイルエディタのコンポーネントプレビューウィンドウにて、各Statusによるスタイルが表示されない事象
nexacro studioではThemeやXCSSファイルを編集する際にスタイルエディタ上でセレクタを選択すると、コンポーネントに対してセレクタのStatusによるプレビュー機能を提供します。Calendar、Gridコンポーネントのように、サブコントロールを持っていながらフレームワーク内部的にアクセス方式を決定する一部のコンポーネントでは、Statusによるプレビュー機能が正常に動作しません。
実行には問題がないですが、該当の機能をサポートするために修正した場合、フレームワークの構造を変更する必要があるため、不具合を修正せずに現状のままにしています。
下図のように、スタイルエディタではdisabled状態のプレビューを提供しませんが、デザイン画面ではenableプロパティを「false」に設定しているコンポーネントのプレビューをサポートします。
RP | 作成日 | 説明 |
---|---|---|
85014 | 2019-06-05 | 本事象は修正した場合にフレームワークの構造に影響を与える可能性があるため、現状のままにしています。 |
LiteDBConnectionオブジェクトで使用するDBファイルを配布することができない制約
iOS用アプリの配布時の設定としてUpdate Typeを「Server」に設定している場合、iOS側の権限処理の制約により、LiteDBConnectionオブジェクトで使用するDBファイルを配布することができません。LiteDBConnectionオブジェクトを使用する場合には、下記のようにスクリプトによってDBファイルを生成してください。
/** * openメソッドの実行時にLiteDBConnection.openReadWriteCreateオプションを設定します */ this.Button00_onclick = function(obj:Button, e:nexacro.ClickEventInfo) { this.LiteDBConnection00.open("%USERAPP%t.s3db", LiteDBConnection.openReadWriteCreate); } /** * DBファイルを作成し、接続された状態でデータテーブルを作成し、必要な作業を処理します */ var CREATE_QUERY = "CREATE TABLE Persons ()"; this.LiteDBConnection00_onsuccess = function(obj:nexacro.LiteDBConnection,e:nexacro.LiteDBEventInfo) { switch(e.reason) { case 5: // LiteDBConnection open() this.LiteDBStatement00.set_ldbconnection(this.LiteDBConnection00); this.LiteDBStatement00.executeUpdate(CREATE_QUERY); break; } }
RP | 作成日 | 説明 |
---|---|---|
90369 | 2020-10-08 | アプリの配布方式による制約事項です。 DBファイルを直接配布せずに、スクリプトによりDBファイルを生成してアクセスすることで回避することができます。 |
フォント名の先頭部分が一致する複数のフォントを使用している場合、正しく適用されない事象
同じ画面内でフォント名の先頭部分が一致する複数のフォントを使用している場合に発生する事象です。
WindowsのNREにて、最初に生成されるコンポーネントに適用されたフォント名が、その後に生成されるコンポーネントに適用されたフォント名を含む場合、後者のコンポーネントには最終的に前者のコンポーネントのフォントが反映される事象が発生します。
適用されたフォントの順番の例は下記の通りです。
Black
例えば、1つ目のStaticコンポーネントのフォントが「Arial Black」であり、2つ目のButtonコンポーネントのフォントが「Arial」である場合、下記の通りに表示されます。Webブラウザでは「Arial Black」と「Arial」がそれぞれ区別され処理されますが、Windows NREでは1つ目の「Arial Black」でのみ処理されます。
Formがロードされる順序の影響を受ける制約事項です。
nexacro studioのデザインウィンドウにて、画面作成時では実行環境によってフォントが正常に反映されているかように表示されますが、nexacro studioの再起動後に当該のFormを実行すると、WindowsのNREと同様の事象が発生します。
NREアプリでの実行時でも、該当のFormが呼び出される順序によっては本事象が発生しないことがあります。
RP | 作成日 | 説明 |
---|---|---|
91383 | 2021-02-02 | 稼働中のアプリケーションに影響を与える可能性があるため、不具合を改修せずに現在の状態を維持しています。 |
HTMLのbodyタグ内でcontenteditable属性値が「true」である場合、スクロール動作に関する制約
WebBrowserコンポーネント内でロードしているHTMLコンテンツにて、bodyタグ内のcontenteditable 属性値が「true」である場合は、ソフトウェアキーボードの表示中にスクロールが動作しません。
<html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head> <body contenteditable="true">
同じコンテンツをWebブラウザで実行している場合にはこの問題が発生せず、AndroidのNREでのみ発生します。
nexacro platformのNREの構造的な問題により発生する制約事項です。
RP | 作成日 | 説明 |
---|---|---|
91925 | 2021-04-13 | AndroidのNREで発生する制約事項です。 フレームワークの構造に影響を与える可能性があるため、不具合を改修せずに現在の状態を維持しています。 |