Bck2BrwsrBlobURLs
From APIDesign
(Difference between revisions)
Line 19: | Line 19: | ||
</source> | </source> | ||
- | The '''conn''' object in [[Bck2Brwsr]] also implements {{JDK|java/io|Closeable}}, so when the {{JDK|java/net|URL}} is no longer needed, it can be freed from browser by calling '''close()'''. | + | The '''conn''' object in [[Bck2Brwsr]] also implements {{JDK|java/io|Closeable}}, so when the {{JDK|java/net|URL}} is no longer needed, it can be freed from browser by (safely) casting and calling '''close()''' on it. |
The above code works in [[Bck2Brwsr]] as well as in [[FXBrwsr]]. | The above code works in [[Bck2Brwsr]] as well as in [[FXBrwsr]]. | ||
- |
Revision as of 01:11, 30 October 2014
For a long time users of Bck2Brwsr complained that loading images, or other resources from the browser's HTML page is complicated. With a great delight I can announce that forthcoming version 0.12 contains a solution. It is build around JavaScript Blob support.
In case you have an application class with an image resource next to it, you can:
public static void onPageLoad() throws Exception { URL u = Main.class.getResource("yourimg.png"); // by opening the connection one requests creation of Blob URLConnection conn = u.openConnection(); // the conn.getURL() may actually differ from u changeImg(conn.getURL().toExternalForm()); } // the browser can really see the URL now: @JavaScriptBody(args = "url", body = "document.getElementById('img').src = url") private static native void changeImg(String url);
The conn object in Bck2Brwsr also implements Closeable, so when the URL is no longer needed, it can be freed from browser by (safely) casting and calling close() on it.