問題タブ [rhino]

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.

0 投票する
1 に答える
1188 参照

java - Java で独自の Rhino コンテキストを指定するにはどうすればよいですか?

Rhino スクリプト (Java 6 で実行) が厳密であることを確認して、スクリプト開発者が式のスペルを間違えた場合に例外をスローするようにしています。現在、式は単純に「未定義」と評価されます。

Mozilla org https://developer.mozilla.org/en/New_in_Rhino_1.6R6によると、コンテキストで厳密なチェックを有効にする機能があります。これの実例が見つかりません。

これまでに行ったことは、ContextFactory を拡張して hasFeature メソッドをオーバーライドするクラスを作成することでした。

次に、メインで私のものをデフォルトに設定します。

不正な状態の例外が発生します。:(

これがどのように機能するかについてのアイデアやサンプルはありますか?

ティア

0 投票する
2 に答える
312 参照

mocking - Rhino モックを使用してパブリック関数内のプライベート関数の依存関係を削除する

私はモッキングが初めてで、Rhino Mocks から始めました。私のシナリオはこのようなものです..私のクラスライブラリにはパブリック関数があり、その中にサービスから出力を取得するプライベート関数呼び出しがあります.プライベート関数の依存関係を削除したい.

これは私の実際のシナリオではありませんが、GetMiddleName() 関数の依存関係を削除する方法を知りたかっただけで、単体テスト中にデフォルト値を返す必要があります。

注:ここでプライベート関数を変更することはできません..またはインターフェイスを含めることはできません..関数をそのままにしておくと、これをモックする方法はありますか.ありがとう

0 投票する
1 に答える
1985 参照

java - JDK6 Script Engine で JSON の「ネイティブ」サポートはありますか?

私はJDK6の標準スクリプトを使用しています。JSON への Java オブジェクトも含むいくつかの JavaScript オブジェクトを保存および取得する必要があります。json2.js を ScriptENgine にロードしました。オブジェクトがすべて Scrip Engine で作成されていれば問題なく使用できます。独自の Java クラスを使用しようとすると、「オブジェクトは toJSON をサポートしていません」などのエラーが発生します。

Java Scripting / Rhino のコンテキストでは、JSON についてあまり知りませんでした。

私は何か完全に間違っていますか?要件を達成するための最良の方法は何ですか?

0 投票する
2 に答える
690 参照

javascript - JavaScript ウィンドウ オブジェクト要素のプロパティ

同僚が次のコードを見せて、なぜそれが機能するのかと尋ねました。

ブラウザーが適切な dom ノードへの参照を含むドキュメントを解析するときに、要素の ID の名前を持つプロパティがウィンドウ オブジェクトに関連付けられることを説明しました。window.myspan = document.getElementById("myspan")ページがレンダリングされているときに舞台裏で呼び出されるようなものです。

その後の議論では、いくつかの質問が提起されました。

  • window オブジェクトとほとんどの DOM は、公式の JavaScript/ECMA 標準の一部ではありませんが、上記の動作は他の公式文献 (おそらくブラウザ関連) に記載されていますか?

  • ウィンドウオブジェクトがあるため、上記はブラウザ(少なくとも主な候補)で機能しますが、rhinoのようなものでは失敗します。これに依存するコードを書くことは、実行環境についてあまりにも多くの仮定を行うため、悪い習慣と見なされますか?

  • 上記が失敗するブラウザはありますか、それともこれは全体的に標準的な動作と見なされますか?

これらの質問に対する答えを知っていて、喜んで教えてくれる人はいますか? 簡単なインターネット検索を試みましたが、クエリを適切に表現する方法さえわからないことを認めます。参考文献やドキュメントへのポインタは大歓迎です。

0 投票する
2 に答える
949 参照

javascript - Rhino Shell でのオブジェクトのクイック ルック (PHP var_dump と同等ですか?)

毎回これを入力するよりも、Rhino でデバッグする良い方法はありますか? :

更新:明確にするために、私の質問は、このトピックに関する既存の標準的なプラクティス/モジュール/トリックがあるかどうかです。

0 投票する
4 に答える
8974 参照

java - javaScript 関数を Java メソッドに渡してコールバックとして機能させるにはどうすればよいですか (Rhino)

基本的に、スクリプトへのコールバックとして機能するように、javaScript 関数を Java メソッドに渡そうとしています。

私はそれを行うことができます-一種-しかし、私が受け取るオブジェクトはsun.org.mozilla.javascript.internal.InterpretedFunctionであり、それを呼び出す方法がわかりません。

何か案は?

これが私がこれまでに持っているものです:

0 投票する
4 に答える
2326 参照

java - 交換Java Rhino(JSR223)で実際のファイル名を使用

私のコードでは、すべてのスクリプトが.jsファイルに含まれています。スクリプトの1つにエラーが含まれていると、次のようになります。

javax.script.ScriptException:sun.org.mozilla.javascript.internal.EcmaError:ReferenceError:"nonexistant"が定義されていません。(<不明なソース>#5)<不明なソース>の行番号5

私を悩ませているのは<不明なソース>です。1つのScriptContextに複数のファイルが含まれているため、エラーを追跡するのが難しい場合があります。それもひどいように見えます。

<Unknown Source>を実際のファイル名に置き換える方法はありますか?私が見ているメソッドはどれもFileオブジェクトの受け渡しをサポートしていないので、ここでは本当に混乱しています。

0 投票する
1 に答える
530 参照

javascript - E4Xでのフィルタリング

これは単純な質問です。私は現在、MozillaのRhinoを使用して小さなWebアプリを開発しています。1つのステップとして、Webページを取得し、そのすべてのノードをフィルタリングする必要があります。そのために、私はE4Xを使用します。私はこのようにこれを行うことができると思いました:

しかし、それはエラーを生成します。それはどのように正しく行われますか?

(ところで:これはパフォーマンスを向上させるための単なるステップです。コードはすでにうまく機能していますが、少し遅いです。)

0 投票する
1 に答える
140 参照

rhino - Rhino - コードで FEATURE_LOCATION_INFORMATION_IN_ERROR を設定しますか?

エラーが発生した場合に、Rhino によって fileName、lineNumber、およびスタック トレースが自動的に提供されるようにしたいと考えています。

現在のコンテキストで FEATURE_LOCATION_INFORMATION_IN_ERROR を設定する必要があると言われましたが、コードでこれを行う方法がわかりません。

クラッシュ時にスタック トレース ダンプを確認できるように、この機能をオンにする例はありますか?

私は Rhino を Narwhal/Jack の一部として使用しているため、状況が少し複雑になります。少なくとも前進するための最も簡単な方法は、コードで設定できる場合だと思います。

ありがとう。

0 投票する
1 に答える
183 参照

javascript - JSの内部リンクを修正する

サーバーサイドJSを介してWebページから記事を抽出するスクリプトを作成しました。(興味がある場合:http://pipes.yahoo.com/fb55/expandrに使用されます。)

内部リンクに少し問題があります。一部のページには、次のようなリンクが含まれています。

私がする必要があるのは、次のように、それらを修正してルートを設定することです。

ページの処理にE4Xを使用しています。私は現在の不気味な試みを見せたくありません、それはバグが多くて遅いです。誰かが私のための解決策を持っていますか?