3

私は経験豊富なPB開発者ですが、主に一般的なクライアントサーバーアーキテクチャを使用しており、PB12.5Classicを使用してIIS7.5に展開されたWebフォームアプリケーションで実際に問題が発生ます。

デザインモードで完全に機能する更新可能なデータオブジェクト(Webサービス)を作成していますが、展開されたIISサーバーから実行すると、正のタブ順序(編集可能)に設定したすべての列が、タブ順序が次のように表示されます。ゼロ。行を選択できず、列にフォーカスを取得できません。機能するのは、データオブジェクトに追加されたいくつかのボタン(一般的な挿入と削除)だけです。

HTML / XHTML、HTML、XHTML、XMLなどを含む[Web生成]タブのデータオブジェクトデザインで可能なすべてのオプションを試しました。すべてのJavascript生成チェックボックス(JSの生成、クライアントイベント、クライアント検証、計算フィールド)をチェックしてみました。 、クライアントのフォーマット、クライアントのスクリプト可能、DDDWフレームの生成、しかしそれは何の役にも立ちませんでした。

XMLClientSide、PostBack、Callbackの3つのページングメソッドすべてを試しました。私のページングは​​正常に機能していることに注意してください。編集可能な列(タブの順序が正の列)にフォーカスを付けることができません!これは通常、初心者の間違いですが、Webフォームの展開で何かが異なり、助けが必要です。

私のデータオブジェクトタイプは表形式です。Webサービスが更新され、データオブジェクトプレビューを介してすべてのWebサービス機能を試しました。同じコンピューターでIIS7.5を実行しています。すべてのランタイムDLLをインストールしました。プロジェクトオブジェクトのWin32ダイナミックライブラリファイルに、Sybase.PB.WebService.Runtime.dll、RuntimeRemoteLoader.dll、WSDL.dll、WSDLRemoteLoader.dllが含まれています。Win32ダイナミックライブラリファイルにデータサービスの非ビジュアルdllが含まれています。基本的なSQLデータソースデータオブジェクトでも同じ問題があります。

HTMLのメインデータオブジェクト部分と、デプロイされたWebフォームアプリケーションのデータオブジェクトの1行のHTMLをカバーするウィンドウの編集ソースからのスニペットを含めました。これは、識別情報があることを期待しています。

まず、ソースのデータオブジェクト部分:

<div style="position: relative; height: 4.893in; width: 4.666in; background-color: rgb(255, 255, 255); " id="objdw_1_datawindow" bisinit="true" dwname="objdw_1" irowno="-1" icolno="-1" ibandid="-1" igroup="-1" iautoselect="0" gobname="datawindow">

次の1行分のソース:

<span id="objdw_1_detail_18" class="objdw-111" style="position: absolute; left: 0in; top: 4.435in; width: 100%; height: 0.229in; " onclick="{if (eval ('typeof objdw_1') == 'object') objdw_1.itemClicked(18,-1,'datawindow',0,-1);}" onmousedown="{var ret; ret= objdw_1.itemRButtonDown(18,-1,'datawindow',0); return ret;}">
<input type="text" name="catname_18" id="objdw_1_18_3" size="18" value="Business" class="objdw-116" tabindex="137" style="position: absolute; left: 0.073in; top: 0.021in; width: 2.103in; height: 0.188in; " onfocus="{objdw_1.itemGainFocus(18,3,this,objdw_1.gobs.catname); objdw_1.selectControlContent(this);}" onclick="{var ret; ret= objdw_1.itemClicked(18,3,'catname',0,-1); return ret;}" onchange="{this.bChanged = true;}" onkeypress="return DW_EditKeyPressed(event, this, -1);" onblur="{objdw_1.itemLoseFocus (this);}" onmousedown="{var ret; ret= objdw_1.itemRButtonDown(18,3,'catname',0); return ret;}"/>
<input type="text" name="createdate_18" id="objdw_1_18_4" size="5" value="05/02/11" class="objdw-117" tabindex="-32766" style="position: absolute; left: 3.395in; top: 0.021in; width: 0.656in; height: 0.188in; " readonly="" onfocus="{objdw_1.itemGainFocus(18,4,this,objdw_1.gobs.createdate); objdw_1.selectControlContent(this);}" onclick="{var ret; ret= objdw_1.itemClicked(18,4,'createdate',0,-1); return ret;}" onchange="{this.bChanged = true;}" onblur="{objdw_1.itemLoseFocus (this);}" onmousedown="{var ret; ret= objdw_1.itemRButtonDown(18,4,'createdate',0); return ret;}"/>
<input type="button" name="b_1_18" value="x" class="objdw-118" style="position: absolute; left: 4.188in; top: 0.01in; width: 0.207in; height: 0.208in; " onclick="{objdw_1.buttonPress('DeleteRow',18,'b_1',0,-1); objdw_1.restoreFocus();}"/>
<input type="button" name="b_3_18" value="+" class="objdw-119" style="position: absolute; left: 4.459in; top: 0.01in; width: 0.207in; height: 0.208in; " onclick="{objdw_1.buttonPress('InsertRow',18,'b_3',0,-1); objdw_1.restoreFocus();}"/>

他の誰かがこれを経験しましたか?もしそうなら、解決策は何でしたか?別のブラウザを試したかどうか、ChromeとIEを試したかどうかについて質問がありました。

どうもありがとうございます。

11-11-12に追加:メンバーからのコメントや質問に基づいて、事後に役立つ情報を追加しています。

  1. どのブラウザを試しましたか?IE(32ビットおよび64ビット)バージョン9.0.8112.16424、Chromeバージョン23.0.1271.64 mを試しましたが、どちらもタブ順序がゼロより大きい列の編集を許可していませんでした。

  2. IEがサポートされているはずなので、このブラウザでもっと頑張ってみることにしました。私はWindows2008R2 Serverでテストしていましたが、セキュリティ上の理由から、MicrosoftはサーバーでInternet ExplorerEnhancedSecurityを自動的にオンにしているようです。強化されたセキュリティにより、ブラウザの使用が非常に煩わしくなり、JavaScriptが無効になっている必要があります。その結果、Webフォームのデータウィンドウが期待どおりに機能しなくなりました。これらの手順に従ってIEEnhancedSecurityをオフにすると、Webフォームアプリケーションが機能しました。

2013年7月2日追加:生成されたJavascript / CSS / HTMLを調べて、IE以外のブラウザーで何が失敗しているかを判断するかどうかを尋ねるコメントがありました。また、IE以外のブラウザーの理由を調べるのに多くの時間を費やしていないことを認めなければなりません。誰かがこれを理解した場合は機能していませんコメントを追加してください。

**Summary**: I hoped for a solution, however it looks like the real answer to this question is going to be that IE is the only supported browser. When Sybase says that non-IE browsers are not supported they really mean that non-IE browsers will probably not work.  
4

1 に答える 1

2

SybaseがWebフォームのFAQで述べているように、ブラウザ間の互換性にはあまり重点を置いていませんでした。

マルチブラウザのサポートについては、FirefoxとSafariを評価しています。メニューは、メニュー項目をハイパーリンクとしてレンダリングするサードパーティのメニューWebコントロールを使用して実装されました。

他の多くの機能は、IE以外のブラウザでは間違った動作をする可能性があります:(

于 2012-11-06T09:58:53.937 に答える