問題タブ [dojo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - dojo日付テキストボックスのクライアント側の検証を無効にする方法はありますか?
以下の私の例では、dijit.form.DateTextBox
:を使用しています。
したがって、たとえば、ユーザーが日付に「asdf」と入力し始めると、フィールドが黄色に変わり、ポップアップエラーメッセージが表示されますThe value entered is not valid.
。削除しconstraints="{datePattern:'MM/dd/yyyy'}"
ても検証されます。
理由については詳しく説明しませんが、dojoTypeを保持し、特定の状況での検証を防止できるようにしたいと思います。
javascript - Dojo でのイベント処理
Jeff Atwood のアドバイスを受けて、私が作成している非常に基本的な To Do リスト アプリケーションに JavaScript ライブラリを使用することにしました。私はDojo ツールキットのバージョン 1.1.1を選びました。最初はすべて問題ありませんでした。私が書いたドラッグ アンド ドロップ コードは初めて機能し、画面上でタスクをドラッグして優先順位を変更でき、ドラッグ アンド ドロップ操作ごとに AJAX を送信するイベント ハンドラーを呼び出します。サーバーを呼び出して、順序が変更されたことを知らせます。
次に、メール追跡機能を追加しました。標準的なもの: 新しい受信メールには、件名に固有の ID 番号が添付されています。その問題に関する後続のメールはすべて、返信時にその ID 番号を件名に残すだけで追跡できます。そのため、それぞれに独自の ID 番号を持つオープン タスクのリストがあり、これらの各タスクには関連する電子メールの時系列リストがあります。ユーザーがタスクのリストを見ているときに、これらの電子メールのテキストを利用できるようにしたかったので、各タスク ボックスを Dijit の「ツリー」コントロールにしました。トップ レベルにはタスクの説明が含まれ、ブランチには電子メールの日付が含まれ、これらの枝のそれぞれから離れた単一の「葉」には、電子メールのテキストが含まれています。
最初の問題: ツリー ビューをデフォルトで完全に折りたたむようにしたかったのです。Google で広範囲に検索した結果、いくつかの解決策が見つかりました。それらはすべて Dojo の以前のバージョンでは有効であると思われましたが、私が使用していたものでは有効ではありませんでした。最終的に、最善の解決策は、ツリー コントロールがロードされたときにイベント ハンドラーを呼び出して、各ブランチ/リーフを単純に折りたたむことであると考えました。残念ながら、Tree コントロールがインスタンス化され、その "startup" イベント ハンドラーが呼び出されたにもかかわらず、ブランチとリーフはまだ読み込まれていません (データは AJAX 呼び出しによってまだ読み込まれていました)。そのため、すべてのメール テキストとツリー構造がサーバー側に追加されるようにシステムを変更しました。これは、スタートアップ イベント ハンドラーが呼び出されたときに、完全に設定された Tree コントロール全体が使用可能であることを意味します。
そのため、スタートアップ イベント ハンドラーはツリーを完全に折りたたみます。次に、私は、電子メール リーフの書式設定された適切なテキストを作成する「適切な」方法を見つけることができませんでした。電子メールのテキストをリーフにうまく配置できますが、HTML はエスケープされて Web ページに表示されます。Dojo のドキュメント (1.0 より前のバージョンのコードと例で、時代遅れになる傾向があります) と Google についてさらに調べてみてください。私は最終的に、JavaScript を取得して各リーフ ノード内にある SPAN 要素を読み取り、エスケープされた HTML コードを innerHTML でアンエスケープするという解決策を思いつきました。Tree コントロールのスタートアップ イベント ハンドラーで、ツリーを完全に折りたたむコードを使用して、これを行うコードを挿入することにしました。
ただし... SPAN 要素は、ユーザーが expando (ノードを展開するためにクリックするツリー ビューの小さな「+」記号) をクリックするまで実際には作成されないことがわかります。わかりました、まあまあ - 再フォーマット コードを onExpand() イベント ハンドラ、またはそれが呼び出されたものに追加します。存在しないようです。ドキュメントを検索したり、Google を検索したりしました... Dojo の「パブリッシュ/サブスクライブ」イベント処理システムを誤解している可能性が非常に高いですが、それは主に、Dojo に関する包括的なドキュメントがないように思われるためだと思います。それはどこにでもあります (サブスクライブできるイベントはどこで確認できますか?)。
したがって、最終的には、onClick イベント ハンドラー (「Dojo」イベントではなく、Dojo が何も知らないプレーンな JavaScript イベント) を、ツリー ブランチを再構築する各 Tree ブランチの expando ノードに追加するのが最善の解決策です。 -各リーフの SPAN 要素内の HTML をフォーマットします。例外...それが呼び出されたとき、SPAN要素はまだ存在しません(さらに混乱させるために、キャッシュされている場合もあります)。そのため、イベント ハンドラーに、関連する SPAN 要素がまだ再フォーマットされていないかどうかを確認する関数を定期的に呼び出すタイマーを設定させます。
上記は本当に恐ろしいハックのように感じられ、思考プロセスの早い段階でどこかで間違った方向に進んだに違いないと感じています。誰か教えてください:
- Dojo/Dijit ツリー コントロール内に適切に書式設定されたテキストを配置するための正しい方法。
- Dojo イベントを処理する正しい方法 (サブスクライブできるイベントを見つけられる場所など)。
- より優れた JavaScript ライブラリを使用できます (JQuery でやりたいことを実行し、上記のような家々を丸ごと回避することはできますか?)。
PS: ソフトウェア プロジェクトに名前を付ける場合は、Google でのその名前の一意性を考慮してください。Google で「Dojo」のドキュメントを検索する方が、すべての格闘技の結果が邪魔にならずに簡単になると確信しています。
PPS: Firefox のスペルチェッカーは "Atwood" のスペルを認識しており、'T' を 1 つではなく 2 つ入力すると修正されます。ジェフは今そんなに有名ですか?
javascript - dojo dijit.form.ValidationTextBox の問題
次の XHTML コードは機能しません。
Firebug では、次のエラー メッセージが表示されます。
[例外... 「コンポーネントがエラー コードを返しました: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIDOMNSHTMLElement.innerHTML] 」 js :: anonymous :: line 319" data: no] http://localhost:21000/dojotoolkit/dojo/dojo.js Line 319
何が間違っているのですか?
javascript - IE と SSL を使用した Dojo のコーディング
私のアプリケーションは、SSL のみのWeb サイトでDojo 1.1.1を使用しています。現在、 と を利用しています。dijit.ProgressBar
dijit.form.DateTextBox
Firefox 2 & 3 ではすべてがうまく機能しますが、同じスクリプトをIE7で試すとすぐに、迷惑なセキュリティ情報ダイアログが表示されます。
このページには、安全なアイテムと安全でないアイテムの両方が含まれています。非セキュア項目を表示しますか?
HTTPS 以外の参照についてページを精査しましたが、役に立ちませんでした。に特有のもののようdojo.js
です。以前は が何も設定されていなかったiframe
不具合がありましたsrc
が、現在は修正されているようです (ソースを確認したところ)。
他にこの問題を抱えている人はいますか?DojoをSSL のみのWeb サーバーでIEとうまく連携させるためのベストプラクティスは何ですか?
dojo - Googleがホストするdojox.gfx
次のHTMLを使用して、Googleのホスティングからdojoをロードしています。
これは、dojox.gfxisundefinedのようなエラーでリクエストラインでエラーになります。これを機能させる方法はありますか、それともGoogleはdojox拡張機能をサポートしていませんか?
または、標準のdojoリリースに使用できる別の一般的なホストはありますか?
javascript - GWTまたはDOJOまたは他の何か?
私はマイクロソフトの世界から来ました(そして私は安心して来ます)。Webアプリのプロトタイプを迅速に作成したいのですが、うまくいったら、ライブで公開します。ASP.Netは使いたくありません。
ただし、どのWebアプリケーションツールキットを使用するかはわかりません。GWT、DOJO ...その他の推奨事項を使用する必要がありますか?私はあらゆるサーバーサイド言語を受け入れていますが、RoR、Php、さらにはJava(正確にはJ2EE)を検討しています。私はJavascript/CSSの専門家ではないので、これらの面で比較的簡単にできるツールキットが望ましいでしょう。
また、私は自宅でMacユーザーです。どのIDEが、推奨するフレームワークに対応していますか?
おすすめの人はいますか?
java - IBMJREでShrinksafeを使用しているときのMalformedInputException
Shrinksafe custom_rhino.jarを使用してDojoをビルドしようとすると、MalformedInputExceptionが発生します。この問題は、ビルドがUTF-8に格納されているフランス語の文字を含むカスタムウィジェット/テンプレートに到達したときに発生します。AIXマシンにはLANG=en_USがあります。これは、IBM JREでのMalformedInputExceptionに関する他の文書化された問題から判断すると、正しいはずです。
このビルドはIBMAIXで実行する必要があるため、SunのJREへの切り替えは受け入れられないソリューションです。解決策は、AIXの何か、IBM JREの設定、またはその両方を変更することである可能性があります。これまでのところ、私は失敗しています。
問題は道場フォーラムでも説明されていますが、適切な解決策はありません。
layout - DojoX Layout を使用して、レイアウトのコンテンツを置き換えることは可能ですか?
DojoX レイアウト機能を使用してページが読み込まれる div があります。
後でこの div のコンテンツを別のページ (他の URI) の他のコンテンツに置き換えるために使用できる API はありますか?
アレックス
dojo - 外部オブジェクトの Dojo DnD 受け入れ
ファイル・エクスプローラーからのファイルやフォルダーなどの外部オブジェクトを受け入れるように Dojo DnD ターゲットをコーディングすることは可能ですか? たとえば、Windows エクスプローラー。
asp.net - Flashplayer ダイアログを使用したバッチ ファイルのアップロード
現在、人々が一度に複数のファイルを選択して画像をバッチアップロードできるようにする方法を検討しています。ASP.NET Web アプリのこれらのオプションを評価しています。
ドキュメントが明確であり、基本的にFlajaxianが提供するファイルアップローダーとサムネラーをすでに作成しているため、YUIに傾倒しています.javascriptもよりコンパクトに見えます. PHP の例から .NET と統合する部分をどのように取得するかが不明なため、Dojo の評価を開始することさえできません。
これらのいずれかで本当に良い、または本当に悪い経験をした人はいますか?