Example usage for javafx.scene.web WebEngine setJavaScriptEnabled

List of usage examples for javafx.scene.web WebEngine setJavaScriptEnabled

Introduction

In this page you can find the example usage for javafx.scene.web WebEngine setJavaScriptEnabled.

Prototype

public final void setJavaScriptEnabled(boolean value) 

Source Link

Usage

From source file:de.micromata.mgc.javafx.logging.LoggingController.java

@Override
public void initialize(URL location, ResourceBundle resources) {

    WebEngine engine = htmlView.getEngine();
    engine.getLoadWorker().stateProperty().addListener((ov, oldState, newState) -> {
        if (newState == javafx.concurrent.Worker.State.SUCCEEDED) {
            Document doc = engine.getDocument();
            //        if (guiWriteBuffer.isEmpty() == false) {
            //          List<LogWriteEntry> copy = new ArrayList<>(guiWriteBuffer);
            //          guiWriteBuffer.clear();
            //          addToGuiInGui(copy);
            //        }
        }/*from   w w  w.  j a  va  2  s  .c  o  m*/
    });
    engine.setJavaScriptEnabled(true);

    StringBuilder html = new StringBuilder();

    String init = "  var logCounter = 0; \r\n" + "var loggingAdapter;\n"
            + "function ALogCallback(callback) { \n" + " this.callback = callback;\n"
            + " this.doCallback = function(entries) {this.callback(entries); }\n" + "};"
            + "function LogConsoleBackend(logViewer) {\r\n" + "  this.supportsPoll = false;\r\n"
            + "  this.supportsSearch = false;\r\n" + "  this.init = function(logViewer) {\r\n"
            + "  this.logViewer = logViewer;\n" + "   loggingAdapter.init(this);\n" + "  }\r\n"
            + "  this.logPoll = function(lastTime, callback) {\r\n"
            + "    loggingAdapter.logPoll(lastTime, new ALogCallback(callback));\r\n" + "  }\r\n"
            + "  this.getLoggingConfiguration = function() {\n"
            + "    return loggingAdapter.getLoggingConfiguration();\n" + "  };"
            + "  this.logSelect = function(logFormData, callback) {\r\n"
            + "    //console.debug('LogConsoleBackend.logSelect');\n"
            + "    loggingAdapter.logSelect(logFormData, new ALogCallback(callback));\n" + "  };\n"
            + "  this.logSelectAttributes = function(logId, callback) {\n"
            + "    loggingAdapter.logSelectAttributes(logId, new ALogCallback(callback));\n" + "  }\n" + "}"
            + "  function logProvider() {\r\n" + "    var item = {\r\n"
            + "      logTime : '2006-01-01 12:12',\r\n" + "      logLevel : 'Note',\r\n"
            + "      logMessage : 'Hello ' + ++logCounter,\r\n" + "      logAttributes : [ {\r\n"
            + "        typeName : \"AKey\",\r\n" + "        value : 'A value'\r\n" + "      }, {\r\n"
            + "        typeName : \"BKey\",\r\n" + "        value : 'B value'\r\n" + "      } ]\r\n"
            + "    };\r\n" + "    return [ item ];\r\n" + "  }\r\n" +

            "var logViewer = new GLogViewer({\r\n" + "    logListId : 'glogentries',\r\n"
            + "    formId : 'glogform',\r\n" + "    maxItems: 100,\r\n" + "    logPollTimeout: 1000,\r\n"
            + "    enableEmbeddedDebugger: false\n" + "\r\n" + "  });\n" + "window.logViewer = logViewer;\n";

    html.append("<html><head>").append(getHtmlHeader())

            .append("\n<script  type=\"text/javascript\">\n").append(init).append("\n</script>\n")
            .append("</head>").append("<body>\r\n");
    html.append(LogHtmlWindowServlet.getGLogHtmlForm());
    html.append("</body>");

    engine.loadContent(html.toString());
    engine.getLoadWorker().stateProperty().addListener((observable, oldValue, newValue) -> {
        try {

            JSObject window = (JSObject) engine.executeScript("window");
            window.setMember("loggingAdapter", loggingAdapter);

            engine.executeScript("console.debug = function(message){ loggingAdapter.jsdebug(message); };\n"
                    + "console.warn = function(message){ loggingAdapter.jswarn(message); };\n"
                    + "console.error = function(message){ loggingAdapter.jserror(message); }; console.debug('console redirect initialized');\n");
            //        JSObject logViewer = (JSObject) engine.executeScript("logViewer");
            //        logViewer.call("setBackend", loggingAdapter);
            engine.executeScript("logViewer.setBackend(new LogConsoleBackend());");
        } catch (RuntimeException ex) {
            ex.printStackTrace();
        }

    });
    INSTANCE = this;
    LoggingEventListenerRegistryService listenerRegisterService = LoggingServiceManager.get()
            .getLoggingEventListenerRegistryService();

    listenerRegisterService.registerListener(FxLogconsoleLogWriteEntryEventListener.class);
    listenerRegisterService.registerListener(FxLogconsoleLogRegisteredCategoryChangedEventListener.class);
    listenerRegisterService.registerListener(FxLogconsoleLogRegisteredLogAttributesChangedEventListener.class);
}

From source file:org.openbase.display.WebTab.java

private static WebView newWebView() {
    logger.info("init new WebView...");
    WebView webView = new WebView();
    WebEngine webEngine = webView.getEngine();
    webEngine.setJavaScriptEnabled(true);
    webEngine.setOnAlert((WebEvent<String> event) -> {
        ExceptionPrinter.printHistory(new InvalidStateException("Webengine alert detected!",
                new CouldNotPerformException(event.toString())), logger);
    });//  w w w.j  a va2s  .c  om
    webEngine.setOnError((WebErrorEvent event) -> {
        ExceptionPrinter.printHistory(new InvalidStateException("Webengine error detected!",
                new CouldNotPerformException(event.toString())), logger);
    });
    webEngine.getLoadWorker().stateProperty().addListener((ObservableValue<? extends Worker.State> observable,
            Worker.State oldValue, Worker.State newState) -> {
        Throwable exception = webEngine.getLoadWorker().getException();
        if (exception != null && newState == Worker.State.FAILED) {
            ExceptionPrinter.printHistory(new InvalidStateException("Webengine exception detected!", exception),
                    logger);
        }
    });

    CookieManager.getDefault();
    return webView;
}