javascript - Calling DOM objects using Java's ScriptEngine or WebEngine classes -
is possible modify html elements using scriptengine or webengine classes java? i've tried following:
/* thesite webengine object. assume id 'email' correct */ element email=(element) thesite.executescript("document.getelementbyid('email');"); email.setattribute( "value", "navon.josh" ); i saw in example, didn't seem work. tried this:
final scriptenginemanager manager = new scriptenginemanager(); final scriptengine engine = manager.getenginebyname( "js" ); try { engine.eval( "document.getelementbyid( 'email' ).value = 'navon.josh'" ); } catch( scriptexception e) { e.printstacktrace(); } this didn't work. because statement isn't linked webengine?
to access dom model of html loaded javafx 2 webview can use webengine api. e.g. here example of adding listener html textarea:
webengine webengine = webview.getengine(); webengine.getloadworker().stateproperty().addlistener(new changelistener<state>() { public void changed(observablevalue ov, state oldstate, state newstate) { if (newstate == worker.state.succeeded) { // note next classes org.w3c.dom domain eventlistener listener = new eventlistener() { public void handleevent(event ev) { system.out.println(ev.gettype()); } }; document doc = webengine.getdocument(); element el = doc.getelementbyid("textarea"); ((eventtarget) el).addeventlistener("keypress", listener, false); } } }); webengine.loadcontent("<textarea id='textarea'></textarea>");
Comments
Post a Comment