10

ウィンドウを閉じていくつかのクリーンアップ タスクを実行するときに LiveConnect 呼び出しを行う次の JavaScript コードを含む Java アプレットを含むページがあります。

window.onbeforeunload = function(e) {
    var result = document.OutApplet.closeCheck();

昨日まで、これは期待どおりに機能し、アプレット内でクリーンアップ タスクを実行していました。

Java 7u51 が利用可能になったので、今日このアプレットにアクセスし、最新バージョンの Java に更新するように求められたときに [後で] を選択しました。ウィンドウを閉じると、JavaScript エラーが発生します。

オブジェクトはプロパティまたはメソッド「closeCheck」をサポートしていません

これを明確にするために、Java 7u45 がインストールされています。

これは予想される動作ですか、それとも 7u45 でも動作させるためにできることはありますか? リリース ノートでこれについての言及を見つけることができません。また、7u51 より前のバージョンでは、最新のセキュリティ ベースラインに準拠していなくても、ライブ コネクト コールは機能していました。

アップデート

上記は、私の Java セキュリティを High に設定したものです。

私はそれをミディアムに変更し、上記を繰り返しました。LiveConnect 通話を許可するかブロックするかを尋ねるメッセージが表示されます。

LiveConnect プロンプトを許可する

セキュリティベースライン (7u51) を使用している場合にのみ LiveConnect が機能するという文書化されていない (私が見つけることができる限り) 要件があるようです。

7u51 に更新すると、アプレットに変更を加えることなく、アプレットへの LiveConnect 呼び出しが機能することに注意してください。

4

5 に答える 5

6

これは、7u25 から 7u45 までのすべてのバージョンに影響する既知の Java バグです。

http://bugs.sun.com/view_bug.do?bug_id=8027405

唯一の解決策は、7u45 7u51 にアップグレードするか、Java セキュリティ スライダーを「中」に設定することです。

[編集]バグレポートに従って修正バージョンを修正

于 2014-01-15T16:44:55.177 に答える
1

1) すべてのブラウザとプログラムを閉じます

2) Windows エクスプローラーで、%localappdata%low\Sun\Java\Deployment に移動します。

3) 「deployment.properties」という名前のファイルを開きます</p>

4) このファイルの最後に以下の行を追加します。

                 deployment.expiration.check.enabled=false

5) ファイルを保存して閉じます

于 2014-02-14T05:34:38.243 に答える
1

これが最近 (昨日) 失敗し始めた理由は、ベースラインが更新されたためでしたhttps://javadl-esd-secure.oracle.com/update/baseline.version、編集すると C:\Users\username\AppData\ LocalLow\Sun\Java\Deployment\security\baseline.versions に移動し、1.7.0_51 を 1.7.0_45 に変更してファイルを保存すると、再び機能し始めます (ただし、最終的にはおそらく任意の時間後に更新されます)。

于 2014-01-15T20:22:23.397 に答える
0

ここでも同じ問題。

Oracle は 9 月に新しい必須オプション (以下を参照) について警告しました。昨年末に実装して配信しましたが、今日は機能していないようです...

https://blogs.oracle.com/java-platform-group/entry/new_security_requirements_for_rias

http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/manifest.html

于 2014-01-15T13:32:20.387 に答える
0

JRE をアップグレードできない場合の別の解決策 (1.7.0_25 と 1.7.0_45 の間でスタック):

  • 1.7 JRE (javacpl.exe) の Java コントロール パネルを開きます。
  • 高度なタブに移動します
  • 次の「Java Plug-in」オプションのチェックを外します: 「次世代 Java Plug-in を有効にする」
于 2014-01-27T13:36:48.710 に答える