Importing Internet Explorer add-ons
Disable add-ons before running an Applet. If the add-ons are enabled, unexpected termination of Internet Explorer may occur.
Page jump after clicking the taskbar
Internet Explorer 9 or later, if the dialog page inherited from JFDialog is displayed, the focus will be lost when the page jumps to the original dialog page after t clicking the taskbar.
The destruction of an applet
The window is now made to close immediately when the window is closed in Internet Explorer 9. Therefore, in the following cases, the page will disappear even when the destruction of an applet has been canceled. Also, the process will remain even after the page has disappeared:
The applet implements destroyRequested method, which cancels termination of the browser, and
When a tab or window with the applet mentioned above is closed
[Action]
Please implement the onbeforeunload handler(to window) on the HTML that embedds the applet.
<head> <script> function checkClose() { } window.onbeforeunload = new Function("checkClose()"); </script> </head> |
For Internet Explorer 10, once the destroyRequested() has been used to return false, a window cannot be closed after this method is implemented, even though the window is subsequently allowed to be closed by returning true. When using the destroyRequested in Internet Explorer 10, do not terminate the processing through returning true.
Applet's Parent Window
When an applet's dialog is created and displayed with its parent window set as Parent Window, the icon shown will be different if the dialog can be resized.
Using showDocument() Method of java.applet.Applet Class
The user should not set "" (an empty string) to the second argument of the showDocument() method. Otherwise, JBK Plugin may not be able to define the window to show the document uniquely.
Page Zoom
Page Zoom does not change the size of applet.
The user.home Value in JBK Plugin
JBK Plugin uses the user.home value of the JavaSE as it is. The user.home value of the JavaSE is as shown below.
<Windows-drive>\Documents and Settings\<user-name> |
For instance, if <Windows-drive> is "C:" and <user-name> is "foo", the user.home value is "C:\Documents and Settings\foo".
JAR file caching functionality in the JavaSE
JavaSE has its own JAR file cache functionality. The downloaded JAR files are temporary stored in the Windows temporary directory. The cached JAR file is named "jar_cacheXXXXX.tmp" (XXXXX is a number.)
See below for the relationship between the JAR file caching and the download methods of JBK Plugin (see also '2.3.6 How JBK Plugin Downloads Class Files' and '2.3.7 USING THE HTTPS PROTOCOL'.)
Using 'java' for the download method
First, JBK Plugin downloads a JAR file from the Web server by using the Java networking class.
By the JAR file caching functionality in the JavaSE, the downloaded JAR file is cached in the Windows temporary directory. JBK Plugin loads the JAR file from the cache next time it is used. The cache is valid until the user quits the browser.
When the user quits the browser, the JavaSE deletes the cached JAR file. Next time the user starts the browser, JBK Plugin downloads the JAR file again.
Using 'hybrid' or 'native' for the download method
First, JBK Plugin downloads a JAR file from the Web server by using the networking functionality of the browser. If the browser cache is available and the file in the Web server is not updated, JBK Plugin loads the JAR file in the browser cache instead.
By the JAR file caching functionality in the JavaSE, the downloaded JAR file is cached in the Windows temporary directory whether the browser cache is available or not. JBK Plugin loads the JAR file from the VM cache next time it is used. The VM cache is valid until the user quits the browser.
When the user quits the browser, the JavaSE deletes the JAR file that was cached. The browser cache, however, is yet valid. Next time the user starts the browser, JBK Plugin loads the JAR file from the browser cache, if available.
In the case the browser terminates abnormally, the cached JAR file by the JavaSE may remain in the Windows temporary directory. In such a case, please delete those files manually.
Operations in the finalize() method
In finalize(), the user should not write print method such as System.out.println() and System.err.println(); otherwise, during garbage collection, JBK Plugin may occasionally stop its execution. If the user needs such operations, s/he should do the operations only in debugging.
Difference between applet download modes
There are some difference between using Network communication classes and using the browser to download applets.
Download by | Java network communication classes (API) | Browser |
---|---|---|
Authentication | The java.net.Authenticator class implemented in JBK Plugin handles authentication. | Downloading depends on how the browser handles authentication. |
Cookie | A Java communication handling class implemented in JBK Plugin obtains information about the cookie from the browser, then adds it to the HTTP header. (*1)(*5) | Downloading depends on the settings of the browser you are using. (*2) |
Proxy | As described below, the value specified for proxy in the JBK Plugin property file determines how proxy is handled.
| The browser's proxy settings are used. |
*1) Not added when the Cookie header is added by the applet.
*2) Disabled even when the Cookie header is added by the applet.
*3) The proxy automatic setting file is supported with the following restrictions:
The proxy automatic setting file is not supported for HTTPS communication.
The dnsResolve function always returns an empty character string when the address of the host is not an IP address.
The isResolvable function always returns "false" when the address of the host is not an IP address.
The isInNet function always returns "false" when the address of the host is not an IP address.
*4) When a SOCKS host has been set up, connection is made through the SOCKS host under the following conditions:
Neither HTTP proxy nor HTTPS proxy has been enabled, and a URL that is not included in the list of URLs that are not to be handled by proxy is specified.
The proxy automatic setting file has responded to a connection through the SOCKS host.
*5) Cookies will not be added until the applet is loaded.
[download mode difference in each Protocol]
Protocol | Download Mode | Plugin Caching | Class File | JAR File | Image File(*1) | Other File(*2) |
---|---|---|---|---|---|---|
HTTP/HTTPS | java | disable | Java API | |||
enable | ||||||
hybrid | disable | Browser function | Java API | |||
enable | Browser function | Java API | ||||
native | disable | Browser function | ||||
enable |
*1) Image files (*.gif, *,jpg), which is downloaded from Web server using getImage() method of java.applet.Applet class.
*2) Property file (*.properties) or another file which applet downloads from Web server using URL class.
Notes on JavaScript Communication
When an Applet is calling JavaScript, exclusive control is involved in Java calling methods. The JBK Plugin will sometimes call JavaScript internally when Java API are used for HTTP communications, as shown in "Difference between applet download modes". When an Applet is calling JavaScript, deadlock may occur if JavaScript has called the methods for the Java HTTP communications. For these applications, please use the browser function for the download method.