Bck2BrwsrBlobURLs

From APIDesign

(Difference between revisions)
Jump to: navigation, search
(New page: For a long time users of Bck2Brwsr complained that loading images, or other resources from the browser is complicated. With great delight I can announce that forthcoming [[Bck2Brws...)
Line 1: Line 1:
-
For a long time users of [[Bck2Brwsr]] complained that loading images, or other resources from the browser is complicated. With great delight [[I]] can announce that forthcoming [[Bck2Brwsr 0.12|version 0.12]] contains solution. It is build around [[JavaScript]] '''Blob''' support. In case you have an application class with an image resource next to it, you can:
+
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 [[Bck2Brwsr 0.12|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:
<source lang="java">
<source lang="java">
public static void onPageLoad() throws Exception {
public static void onPageLoad() throws Exception {
-
URL u = Main.class.getResource("launcher.png");
+
URL u = Main.class.getResource("yourimg.png");
// by opening the connection one requests creation of Blob
// by opening the connection one requests creation of Blob
Line 12: Line 14:
}
}
 +
// the browser can really see the URL now:
@JavaScriptBody(args = "url", body = "document.getElementById('img').src = url")
@JavaScriptBody(args = "url", body = "document.getElementById('img').src = url")
private static native void changeImg(String url);
private static native void changeImg(String url);

Revision as of 01:10, 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 calling close().

The above code works in Bck2Brwsr as well as in FXBrwsr. The created connection

Personal tools
buy