3

次のコードを使用して、mozilla ビューアーを JavaFx WebView に統合しようとしています。

    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.web.WebView;
    import javafx.stage.Stage;


    public class TestStrict extends Application {

      @Override
      public void start(Stage primaryStage) throws Exception {
        WebView webView = new WebView();

        String url = TestStrict.class.getClassLoader().getResource("pdfjs-1.1.366-dist/web/viewer.html").toExternalForm();
        webView.getEngine().load(url);

        Scene scene = new Scene(webView);

        primaryStage.setScene(scene);

        primaryStage.setWidth(800);
        primaryStage.setHeight(600);

        primaryStage.show();

      }

      public static void main(String[] args) {
        launch(args);
      }

    }

pdfjs-1.1.366-dist フォルダーはpdfjs GitHubからダウンロードされます

viewer.htmlまた、内部に firebug-lite を追加するだけに変更しました:

    <script type='text/javascript' src='http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js'></script>

アプリケーションを実行すると、ビューアー フレームが表示されますが、デフォルトの pdf が読み込まれず、firebug コンソール内に次のエラーが表示されます。

「TypeError: undefined はオブジェクトではありません ('globalScope.PDFJS' を評価しています) (pdf.worker.js,103)」

JavaScript ファイルの「use strict」ディレクティブをすべて削除しましたが、すべて正常に動作しています。

これが JavaFX のバグなのか内部 WebKit のバグなのかはわかりませんが、バージョン 1.8.0_60 で発生します。

スクリプトを制御して「use strict」ディレクティブを削除できない場所に読み込まれる他の Web ページがあるため、厳密モードを無効にする方法はありますか?

4

0 に答える 0