1

JavaコードでJavascript関数を使用してWindowsエクスプローラのポップアップを閉じる方法は?

Java コードで Windows エクスプローラーのポップアップを閉じる必要があります。window.close()このウィンドウポップアップがループを壊しているため、javascript関数を使用して閉じています。

そのコードは次のとおりです。

  ScriptEngineManager manager = new ScriptEngineManager();  
  ScriptEngine engine = manager.getEngineByName("JavaScript"); 
  String script = "function winClose() {"+"var close_result =  window.parent.close();"+"" +"document.getElementById('close_result').value =   close_result;"+"console.log(\"change the box value\");}";  
  engine.eval(script);  
  Invocable inv = (Invocable) engine;  
  inv.invokeFunction("winClose", "Window close!!" ); 

windowしかし、定義されていない例外が私に与えられています。

実際、私は Java コードで Javascript を使用したことがありません。Javascriptでウィンドウを閉じる機能を手伝ってください。

4

1 に答える 1

0

あなたはこれについて言及していませんが、あなたの Java コードがアプレットの一部であることを願っています。この場合、 の代わりにライブ接続 API を使用する必要がありますScriptingEngineManager

ScriptingEngineManagerRhibno (JavaScript 言語の純粋な Java 実装) を実行するだけです。アプレット (ブラウザで実行) で使用することも、使用しないこともできます。この方法で実行しているエンジンは、ブラウザーで実行されている JavaScript に完全に依存していないため、ブラウザーによってそのコンテキストに挿入されたオブジェクトwindowdocument.

詳細については、ライブ接続のドキュメントと例をご覧ください。まもなく、アプレットが実行中のページと通信できるようにする Netscape テクノロジによって開発されました。したがって、パッケージにはこの会社の名前が含まれています。

ただし、注意してください。アプレットはほぼ 10 年前に廃止され、最近ではよく知られている死んだテクノロジです。本当に使用するかどうかを再確認することをお勧めしますか? シンクライアントの代替品があります - それらをチェックしてください。

于 2013-05-13T06:42:57.797 に答える