import netscape.javascript.*; import java.applet.*; import java.awt.*; class MyApplet extends Applet { public void init() { JSObject win = JSObject.getWindow(this); JSObject doc = (JSObject) win.getMember("document"); JSObject loc = (JSObject) doc.getMember("location"); String s = (String) loc.getMember("href"); // document.location.href win.call("f", null); // Call f() in HTML page } }
@Override public void init() { String jsCallbackName = getParameter("applet_ready_callback"); JSObject jsObject = JSObject.getWindow(this); jsObject.eval(jsCallbackName + "()"); }
webEngine.getLoadWorker().stateProperty().addListener(new ChangeListener<Worker.State>() { @Override public void changed(ObservableValue<? extends State> ov, State t, State t1) { if (t1 == Worker.State.SUCCEEDED) { JSObject window = (JSObject) webEngine.executeScript("window"); window.setMember("app", new JavaApp()); } } });
public int Do() { JSObject win = (JSObject) JSObject.getWindow(this); JSObject doc = (JSObject) win.getMember("document"); JSObject fun = (JSObject) win.getMember("DumberTest"); JSObject loc = (JSObject) doc.getMember("location"); String href = (String) loc.getMember("href"); String[] arguments = { href, fun.toString() }; win.call("DumbTest", arguments); return fun.toString().length(); }
// After the Applet Text has been updated JSObject win = null; try { win = (JSObject) JSObject.getWindow(Applet.this); win.call("updateText", new Object[] { textBox.getText() }); } catch (Exception ex) { // oops }
public void run() { while (audioInputStream == null) { try { // politely waiting for capture Thread to finish with audioInputStream. Thread.sleep(1000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } // reset to the beginnning of the captured data try { audioInputStream.reset(); } catch (Exception ex) { reportStatus(res.getString("Unable_to_reset") + ex); return; } if (post) postAudio(audioType, urlString); if (containingApplet != null) { JSObject window = (JSObject)JSObject.getWindow(containingApplet); window.call("callOpener", new Object[]{"clickReloadLink", window}); window.call("close", null); } } // end of run }; // end of saveAndPostThread
/** * {@inheritDoc} */ @Override public Point locate() { AppThread.exec(contextItem.statusCode, () -> { validate(false); node.eval(SCROLL_INTO_VIEW); return null; }); return AppThread.exec(contextItem.statusCode, () -> { validate(true); JSObject obj = (JSObject) node.call("getBoundingClientRect"); double y = Double.parseDouble(obj.getMember("top").toString()); double x = Double.parseDouble(obj.getMember("left").toString()); y = y < 0d ? 0d : y; x = x < 0d ? 0d : x; final org.openqa.selenium.Point frameLocation = contextItem.selectedFrameLocation(); return new Point((int) Math.rint(x) + 1 + frameLocation.getX(), (int) Math.rint(y) + 1 + frameLocation.getY()); }); }
import netscape.javascript.JSObject; String data = ""; String cookiename = "fooCookie"; JSObject myBrowser = JSObject.getWindow(this); JSObject myDocument = (JSObject) myBrowser.getMember("document"); String myCookie = (String) myDocument.getMember("cookie"); if (myCookie.length() > 0) { String[] cookies = myCookie.split(";"); for (String cookie : cookies) { int pos = cookie.indexOf("="); if (cookie.substring(0, pos).trim().equals(cookiename)) { data = cookie.substring(pos + 1); break; } } }
JSObject window = JSObject.getWindow(this); // this=applet String[] params = {"blah", "cool"}; Object ret = window.call("testfunc", params); if (ret instanceof JSObject){ JSObject jsret = (JSObject)ret; Object len = jsret.getMember("length"); String val = ""; if (len instanceof Number){ int n = ((Number)len).intValue(); for (int i = 0; i < n; ++i){ val += jsret.getSlot(i).toString() + " "; window.call("alert", params2); } else{ String[] params2 = {ret.toString()}; window.call("alert", params2);
jsObject.getSlot(0); return null; jsObject.eval("window['" + keysFunctionName + "'] = function(jsObject) { return Object.keys(jsObject) }"); JSObject propertiesNamesJsObject = (JSObject)globalContext.call(keysFunctionName, new Object[] { jsObject }); jsObject.eval("delete(window['" + keysFunctionName + "'])"); while (true) { Object propertyName = propertiesNamesJsObject.getSlot(slotIndex); if (propertyName instanceof String) propertiesNames.add((String)propertyName);
/** * Evaluates a script in the page context and returns the result. * * @param script * @param application */ public static Object eval(String script, Application application) { if (application == null) { throw new IllegalArgumentException("application is null."); } HostApplet applicationHostApplet = null; for (HostApplet hostApplet : hostApplets) { if (hostApplet.getApplication() == application) { applicationHostApplet = hostApplet; break; } } if (applicationHostApplet == null) { throw new IllegalArgumentException("No applet is hosting the given application."); } try { JSObject window = JSObject.getWindow(applicationHostApplet); return window.eval(script); } catch (Throwable throwable) { throw new UnsupportedOperationException(throwable); } }
sb.append("{\n"); final JSObject js = (JSObject) o; final JSObject keys = (JSObject) js.eval(getKeys); boolean needComma = false; for (int i = 0;; i++) { final String key = (String) keys.getSlot(i); if ((key != null) && !(key.equals("undefined"))) { final Object val = js.getMember(key); if (!needComma) { needComma = true;
webEngine.getLoadWorker().stateProperty().addListener( new ChangeListener<Worker.State>() { @Override public void changed(ObservableValue<? extends Worker.State> observable, Worker.State oldValue, Worker.State newValue) { if (newValue == Worker.State.SUCCEEDED) { JSObject windowObject = (JSObject) webEngine.executeScript("window"); windowObject.setMember("Debug", debug); // insert object windowObject.call("ready"); // execute callback } } } );
/** * {@inheritDoc} */ @Override public String getText() { return AppThread.exec(contextItem.statusCode, () -> { validate(false); if ((Boolean) node.eval(IS_VISIBLE)) { String textAttribute = "TEXTAREA".equals(node.getMember("tagName")) ? "textContent" : "innerText"; Object text = node.getMember(textAttribute); return text instanceof String ? ((String) text).trim() : ""; } return ""; }); }
/** * {@inheritDoc} */ @Override public List findElementsByCssSelector(final String expr) { return AppThread.exec(contextItem.statusCode, () -> { validate(false); List<ElementServer> elements = new ArrayList<ElementServer>(); JSObject result = (JSObject) node.call("querySelectorAll", new Object[] { expr }); for (int i = 0;; i++) { Object cur = result.getSlot(i); if (cur instanceof Node) { try { elements.add(new ElementServer((JSObject) cur, contextItem)); } catch (RemoteException e) { Util.handleException(e); } } else { break; } } return elements; }); }
import javax.script.*; import jdk.nashorn.api.scripting.*; public class Main { public static void main(String[] args) throws Exception { ScriptEngineManager m = new ScriptEngineManager(); ScriptEngine e = m.getEngineByName("nashorn"); e.eval("function Point(x, y) { this.x = x; this.y = y}"); JSObject pointFunc = (JSObject)e.get("Point"); JSObject pointObj = (JSObject)pointFunc.newObject(43, 55); System.out.println(pointFunc.isInstance(pointObj)); System.out.println(pointObj.getMember("x")); System.out.println(pointObj.getMember("y")); } }
JSObject keys = (JSObject)args.call("keys", Collections.EMPTY_LIST); keys.getSlot(0);