Hey all I've been at this for awhile. I cannot seem to get it correct from all the examples i have seen so far. It seems it would be easy but I'm at a lose.
My HTML:
WebView webView = new WebView();
webView.getEngine().setJavaScriptEnabled(true);
webView.setContextMenuEnabled(false);
webView.getEngine().loadContent(""+
"<!DOCTYPE html>\r\n" +
"<html>\r\n" +
"<head>\r\n" +
"</head>\r\n" +
"<body>" +
"<div class=\"chatbox\" style=\"document.body.style.overflow = 'hidden';\">\r\n" +
" <div class=\"chatlogs\">\r\n" +
" <div class=\"animated animatedFadeInUp fadeInUp\">" +
" <div class=\"chat friend\">\r\n" +
" <div class=\"user-photo\"><img src=\"" + pic1 + "\"></div>\r\n" +
" <p class=\"chat-message\">Whats up!</p>\r\n" +
" <span class=\"timefriend\">11:01pm Oct 25 2019</span>\r\n" +
" </div>\r\n" +
" </div>" +
" <div class=\"animated animatedFadeInUp fadeInUp\">" +
" <div class=\"chat self\">\r\n" +
" <div class=\"user-photo\"><img src=\"" + pic2 + "\"></div>" +
" <p class=\"chat-message\">Not much yo!</p>\r\n" +
" <span class=\"timeself\">11:01 PM | Oct 11 2019</span>\r\n" +
" </div>\r\n" +
" </div>\r\n" +
" <div class=\"animated animatedFadeInUp fadeInUp\">" +
" <div class=\"chat friend\">\r\n" +
" <div class=\"user-photo\"><img src=\"" + pic1 + "\"></div>" +
" <p class=\"chat-message\">Whats up!</p>\r\n" +
" <span class=\"timefriend\">11:01 PM | Oct 11 2019</span>\r\n" +
" </div>\r\n" +
" </div>\r\n" +
" <div class=\"animated animatedFadeInUp fadeInUp\">" +
" <div class=\"chat friend\">\r\n" +
" <div class=\"user-photo\"><img src=\"" + pic1 + "\"></div>" +
" <p class=\"chat-message\">Whats up!</p>\r\n" +
" <span class=\"timefriend\">11:01 PM | Oct 11 2019</span>\r\n" +
" </div>\r\n" +
" </div>\r\n" +
" <div id=\"nextChatHolder\"></div>" +
" </div>\r\n" +
" </div>\r\n" +
" <div class=\"footer\"></div>" +
" <script language=\"javascript\">\r\n" +
" function app.test() {\r\n" +
" window.scrollBy(0, 20); \r\n" +
" alert('done');\r\n" +
" }\r\n" +
" </script>" +
"</body>\r\n" +
"</html>");
And this is the java I am using (and trying to get working):
webView.getEngine().getLoadWorker().stateProperty().addListener(new ChangeListener<State>()
{
public void changed(ObservableValue<? extends State> o, State old, final State state)
{
if (state == State.SUCCEEDED)
{
JSObject win = (JSObject) webView.getEngine().executeScript("window");
win.setMember("app", new JavaApp());
//webView.getEngine().executeScript("javaObj.start()");
}
}
});
private class JavaApp {
public void test() {
Platform.exit();
}
}
I would think that doing:
function app.test() {\r\n" +
window.scrollBy(0, 20); \r\n" +
alert('done');\r\n" +
}
and calling it via:
webView.getEngine().executeScript("test()");
Not even this works...../
webView.getEngine().executeScript("alert('testing')");