1 2 Previous Next

JExplorer Announcements

16 Posts

New Features:

  • Added support of ContextMenuProviderExt interface that allows receiving notifications when popup menu is required;
  • Added NewWindowEventHandlerExt2 that allows receiving information (url, target name, features) about popup window before it is opened;
  • Added DisposeListener for receiving events when WebBrowser is disposed.

 

Improvements:

 

Resolved Issues:

  • 'Call is rejected by Callee' error on print or preview of a page;
  • 'Call is rejected by Callee' error on launching Find (Ctrl+F);
  • WebBrowser.setContent() method fails when PDF document is already loaded;
  • Document returns wrong maximum scroll values after setting "zoom" property;
  • Cannot open Gmail and Google Reader applications in JExplorer;
  • Several HTMLDialog can't be opened in sequence;
  • java.awt.Robot prevents closing WebBrowser instance;
  • Page content isn't resized correctly;
  • The BrowserWindowListener.onWindowResize event doesn't get fired when browser is resized from JavaScript;
  • JVM doesn't exit when the DefaultCloseOperation for JFrame is set to DISPOSE_ON_CLOSE;
  • HttpSecurityHandler doesn't work on Internet Explorer 6;
  • Handling AuthenticationHandler.onAuthenticate() on Vista generates access-violation error;
  • Browser.getScreenShot() returns cropped image;
  • Browser component steals focus when web page is loaded or refreshed;
  • Browser.getCookies and Browser.setCookies methods don't work with session cookies;
  • Java crashes on Browser.close().
0 Comments Permalink

New Features:

  • Added functionality that allows processing any HTTP security problems such as "Invalid Certificate error", "Invalid Certificate Name", "Invalid Certificate Date", "Moving from a non-SSL to an SSL connection" and other (sample)
  • Added the HtmlDialogListener that allows receiving events when the HTML modal dialog is opened through window.showModalDialog and window.showModelessDialog JavaScript functions (sample)

 

Improvements:

  • The OnBeforeUnload event is not fired in JExplorer when the browser is closing
  • Added the "Button number" property support in the EventObject class
  • Now each WebBrowser instance is running in JExplorer32.exe process instead of rundll32.exe

 

Resolved Issues:

  • Adding and removing Browser component into JPanel caused blinking
  • It was possible to use WebBrowser instance even after disposing it using window.close JavaScript function
  • Two IEAutomation instances were open instead of a single one on Windows Vista with Internet Explorer 7
  • Opening the http://google.com/ig web page caused unexpected JavaScript error
  • By default it was impossible to set the WebBrowser instance as a target window
  • There was Stack overflow / Out of memory JavaScript error in Ajax applications
  • It was impossible to resize the Browser component embedded in JSplitPane
  • Flash Player 10 didn't work
  • The "Can't find bundle for base name com.jniwrapper.win32.ie.colors" error occured when invoke the HTMLElement.setBorder method
  • Selecting multiple options in drop down box caused repainting issue (blank drop down box)
0 Comments Permalink

Improvements:

  • Added the WebBrowser.getDialogEventHandler() and WebBrowser.getAuthenticationHandler() methods
  • Added ability to print out the license diagnostic information using -Dteamdev.license.info=true VM parameter

Fixes:

  • Proxy settings now always work correctly in the WebBrowser instance
  • JavaScript execution work smoothly for IFRAME on a web page
  • Creation of an instance of com.jniwrapper.win32.ie.scripting.Robot class is now enabled
  • Fixed the issue with crash on exit caused by the Adobe Reader 9 plug-in on Windows XP
0 Comments Permalink

New Features:

  • Now each WebBrowser instance is running in a separate native process
  • Added the WebBrowser.getContent(boolean) method that allows receiving original HTML or the actual HTML of a currently loaded document
  • Added the HTMLDocument.getCharset() method that allows receiving charset for the HTML document

Improvements:

  • Improved the WebBrowser.setContent() method, so now it doesn't require enabling JavaScript and it fires the NavigationEventListener.entireDocumentCompleted event when the new content is loaded completely into the WebBrowser document
  • Improved memory management. Now the memory required for work of the WebBrowser is allocated in a separate native process and does not dramatically affect Java application process.

Fixes:

  • Fixed the problem with capturing web page
  • Fixed the issue with Print and PrintPreview functionality
  • Fixed the issue with KeyFilter functionality
  • Fixed the issue when the Browser.setEnable() method causes an error
  • Fixed the issue when the WebBrowser.getScreenshot() method doesn't work with 16-bit color depth mode
  • Fixed the issue when Java Applets fail if they are loaded to JExplorer browser
  • Fixed the issue when the 'Call was Rejected By Callee' and 'The requested resource is in use' errors occur on WebBrowser.navigate() method
  • Fixed the issue when the Browser component that placed on JInternalFrame cannot be activated using mouse properly under JDK 6.0
  • Fixed the issue when the WebBrowser.setContent() method throws 'Access is denied' error
0 Comments Permalink

New Features:

  • Added new BrowserWindowListener listener to the Browser class that allows receiving events such as onWindowResize, onWindowResizable, onFullScreen and onVisible.
  • Added ability to get all input parameters for pop-up window according to the parameters in the window.open() JavaScript function.

 

Improvements:

  • ContextMenuProvider class enables to receive the original HTML element on right click action.
  • The Cookie class is made serializable.

 

Fixes:

  • Fixed the issue when opening a new pop-up window causes displaying two pop-up windows.
  • Fixed the issue when the CookieManager.setCookie() method causes LastErrorException.
  • Fixed the issue when silent mode doesn't work for Alert and Confirmation JavaScript dialog boxes.
  • Fixed the issue when the WebBrowser.waitReady() method causes NullPointerException exception in some cases.
  • Fixed the issue when JExplorer fails on the pages with GWT/AJAX components.
  • Fixed the issue with a memory leak in Browser.getScreenShot() method.
  • Fixed the issue when IEApplicationEventListener.onQuit() event is not fired on Internet Explorer instance closing.
  • Fixed the issue when Browser component had been shown outside of application window.

 

Demo:

  • Set the limit for tab width in JExplorer Demo.
  • Fixed the issue with NullPointerException exception when closing a tab in JExplorer Demo.
  • Fixed the issue when tab caption in JExplorer Demo is outside the limits.
  • Fixed the issues with ClassCastException exception occurs in JExplorer Demo when clicking on the Evaluate Now button.

 

Documentation:

  • Added PopupWindowSample example that shows how to configure pop-up window according to the parameters that were passed into window.open JavaScript function.
  • Added the chapter Pop-up windows Management in JExplorer Programmer's Guide.
0 Comments Permalink
New Features:
  • Added the ability to clear the Internet Explorer browser cache (temporary files, URL history or cookies). See the com.jniwrapper.win32.ie.Browsers.clearCache() method.
  • Added functionality allowing maintaining global and current process proxy settings, including the ability to set Proxy URL exceptions.
    See the com.jniwrapper.win32.ie.proxy.ProxyManager class.
  • Added the CookieManager class for working with existing browser cookies.
  • Added support for the Node.isEqualNode() method.
  • Added the feature for setting an IWebBrowser2 instance to the IEAutomation control.

Improvements:
  • Added the ability to keep main thread execution until any IEAutomation instance is alive.
  • Added escaping control chars in a JavaScript string during the WebBrowser.executeScript() method execution.

Fixes:
  • Fixed the issue where pressing of the Alt+F6 key combination makes the Browser component hang for some time.
  • Fixed the issue where the HTML body element becomes non-scrollable if the page uses <!DOCTYPE> directive.
  • Fixed the issue where an occasional exception occurs when the Browser.getScreenShot() method is called.
  • Fixed the issue where during destroying of the com.jniwrapper.win32.ie.Browser component, the application hangs.
  • Fixed the issue with distribution of key actions (backspace, Alt + → or Alt + ←) on several Browser components at the same time.
  • Fixed the issue where JExplorer freezes if the user navigates to the http://finance.google.com page.
  • Fixed the issue where it is impossible to disable Java applets and Running ActiveX control (in Windows Vista).
  • Fixed the issue where the IAutomation.executeScript method doesn't work.
  • Fixed the issue where the pop-up dialogs are opened using a target open behind the active window.
  • Fixed the issue where the IEAutomation.waitReady() method hangs if the Internet Explorer instance is closed.
  • Fixed the issue where the 'RPC server is unavailable' error occurs if the IEAutomation instance is closed.
  • Fixed the internal issue: License guard system still uses "Cp1252" charset, instead of "UTF-8".
  • Fixed the issue where a program that creates a HeadlessBrowser instance does not terminate.

Demo:
  • Web page thumbnail is displayed in a tooltip for each tab.
  • Added the "Proxy Settings" dialog for configuring proxy settings.
  • Display of the site's favorite icon on tabs near the page title.
  • Fixed problem with Ctrl+T not opening a new tab if focus is inside the page

Documentation:
  • Added ClearCacheSample.
  • Added UpdateProxySettingsSample that shows how to change global and process proxy settings.
  • Added CookieManagerSample that demonstrates how to use the CookieManager class.
  • Added the chapter 'Working with Proxy Settings' in JExplorer Programmer's Guide.
  • Added information about using JExplorer in applets in JExplorer Programmer's Guide.
0 Comments Permalink
New Features:
  • Added the InternetFeatures class the Browser component that provides the ability to block popups, enable or disable a native XMLHttpRequest object and more.
  • Added the ability to get a screen shot for the HeadlessBrowser component.
  • Added processing of the mouse (keyboard) focus event for the Browser component.
  • Set the child window title to its document title.

Improvements:
  • Added new settings to the WebBrowser.Properties class.
  • Added the Expires, LastUpdated and LastVisited time (in milliseconds) to the BrowserHistory.Entry class.
  • Implemented the MouseEventImpl.initEvent() method.

Fixes:
  • Fixed the issue with memory leaks on form submission.
  • Fixed the issue where clicking F5 causes deadlock in Internet Explorer 7.0.
  • Fixed the issue where the Browser.getContent() method causes memory leaks.
  • Fixed the issue where a parent window is listening to backspace key events of a child window.
  • Fixed the issue where the Browser.stop() method doesn't notify Browser.waitReady() of the page download completion.
  • Fixed the exception that occurs when calling several browser.executeScript() methods that should return the IDispatch value.
  • Fixed the issue where the Internet Explorer window handle is lost (Windows 2000).
  • Fixed StackOverflowError that occurs when the Browser.addNotify() method is called iteratively.
  • Fixed the exception that occurs when removing the Browser component during a navigation operation.
  • Fixed the issue where JExplorer loses focus after hiding an alert message box.
  • Fixed a JavaScript error when a new window of the default size is opened despite the preset size.
  • Fixed the issue where the HeadlessBrowser.getScreenShot(true) method increases the result image size.
  • Fixed the issue where the browser blinks when moving the cursor to the link on a web page.
0 Comments Permalink
Changes since version 1.6:
  • The EventObject class extended with new properties like 'button', 'ctrlLeft' etc.
  • Added the ability to capture the screenshot of a Browser component.
  • Added the ability to print browser component contents.
  • Added the ability to retrieve and set Internet Explorer proxy settings.
  • Added IEAutomation class, allowing to automate Internet Explorer application without embedding into Swing UI.
  • Added support for onFullScreen event in StatusEventListener interface.
  • Added the ability to enable/disable refreshing of current page after changing browser properties.
  • Added support of mouse events in the Browser component.
  • UrlMonFunctions class exteded with createURLMoniker(), createAsyncBindCtx() and registerBindStatusCallback() methods.
  • Implemented the IDocHostUIHandler::GetOptionKeyPath method.
  • Added support of IAuthenticate COM interface, allowing JExplorer to perform authentication/login programmatically, using user-defined credentials.
  • newWindow3 action problem under Windows XP Service Pack 1.
  • Stability improvements.
  • Improved JavaDocs.

Fixes:

  • Fixed endless loop with rendering <select>/<option> html controls.
  • Fixed problem with DialogEventHandler not handling dialogs exceeding 255 characters.
  • Fixed exception thrown when handling multiple child browsers.
  • Fixed the problem with using ' and " symbols in the WebBrowser.executeScript() method.
  • Fixed the problem with Browser child window not closing after window.close().
  • Fixed the problem with losing target frame after opening a new window using JavaScript window.open() method.
  • Fixed exception thrown in Browser.navigate() method when creating the Browser instance.
  • Fixed ClassCastException thrown when trying to get list of TableCell items from TableRow.getCells() method.
  • Fixed the problem when showing several Browser instances at the same time.
  • Improved document event listeners registration mechanism.
  • Fixed the problem with repainting of Browser component in a Swing container (after add/remove operation).
  • Added compatibility of the product with the Windows XP SP1 and Windows 2000.
0 Comments Permalink
Changes since version 1.5:
  • Added the ability to specify 'TargetFrameName' parameter in the WebBrowser.navigate() method.
  • Added the ability to suppress "Internet Explorer Script Error" dialog and use DialogEventHandler instead.
  • Added support of XP style for the Browser component, so all native controls will have XP L&F.
  • Extended KeyFilter class to enable filtering of system keys such as Left, Right and so on.
  • Provided support for DWebBrowserEvents::newWindow3 events.
  • Added the ability to check whether the version of Internet Explorer is supported.
  • Added submit/reset functionality to HTMLFormElement.
  • Added the ability to set custom AWT cursors in the Browser component.
  • Added a special event to NavigationEventListener. It fires only when the whole HTML document is loaded.
  • Added the mainDocumentComplete event when the document is loaded to the main browser.

Fixes:

  • Fixed memory leaks.
  • Fixed the problem with closing a Swing menu when clicking on the WebBrowser component.
  • Fixed DisableDownload functionality. Now if the beforeFileDownload() method (of the WebBrowserEventsHandler interface) returns false, downloads are disabled and vice versa.
  • Fixed the problem with HTC files remaining locked when WebBrowser is closed.
  • Fixed the problem in WebBrowser.navigate(String location, String postData) method.
  • Fixed incorrect handling of navigation events in popup windows.
  • Fixed the problem with WebBrowser.setSilet(boolean) method.
  • Fixed the problem with closing the browser that contains an XML document.
  • Fixed access violations after loading a corrupted XML page.
  • Fixed the problem with the custom KeyFilters assigned to WebBrowser.
  • Fixed the problem when ComboBox drop-down list immediately hides, after click on it
  • If <SELECT> contains <OPTGROUP> elements, E_INVALIDARG is thrown on attempt to select an option.
  • Fixed implementation of the Cookie.create() method.
  • Fixed the problem with multiple calls of the browser.getContent() method resulting in access violation.

JExplorer Demo:

  • Fixed the problem with failing to open a child window in the demo.
  • Fixed the deadlock problem with closing child windows in the browser.
  • Fixed the problem with closing child popup windows in the demo.
0 Comments Permalink
Changes since version 1.4:
  • Added new methods for setting (WebBrowser.setCookie(String url, Cookie cookie) method) and getting (WebBrowser.getCookies(String url) method) cookies for the specified URL;
  • Added support of extended browser's properties (WebBrowser.getProperties() function), such as:
    • ShowScrollBars - property that allows to show or hide the browser's scroll bars;
    • Show3DBorder - property that allows to show or hide the 3D border around the browser control;
    • AllowImages - property that allows or disallows images;
    • AllowVideos - property that allows or disallows videos;
    • AllowSounds - property that allows or disallows sounds;
    • AllowScripts - property that allows or disallows the executing of scripts;
    • AllowJavaApplets - property that allows or disallows the loading and executing of Java Applets;
    • AllowDownloadActiveX - property that allows or disallows the downloading of the ActiveX controls;
    • AllowRunActiveX - property that allows or disallows the executing of the ActiveX controls;
    • AllowContextMenu - property that enables or disables the context menu;
  • Improved performance of DOM adapters;
  • Improved memory management in DOM adapters;

Fixes:

  • Fixed critical memory leaks in the DOM arapters;
  • Fixed the problem with searching (using, for example the getElementById() method) of the embedded IFRAME elemtents;
  • Fixed the problem in the implementation of the StatUrl structure, which caused incorrect functioning of the BrowserHistory class;
  • Other minor bugfixes;
0 Comments Permalink

Changes since version 1.3:

  • Improved memory management in browser implementation; now its method close() correctly frees native resources;
  • Added special ability (which is disabled in browsers for security reasons by default) that allows to select a file to the file input controls; for this purpose we have added new inputFileName method to the Robot class;
  • Improved the performance of the DomFactory functionality;
  • Improved the performance of all DOM wrappers;
  • Improved the performance of waitReady() method;
  • Added ability to filter/handle keyboard events, using new KeyFilter functionality;
  • Introduced new combined jexplorer-pro-[version].jar library (for Professional version), which consists of two JNIWrapper and JExplorer libraries;

Fixes:

  • Fixed problem in HTMLElement.click() method, which caused hanging sometimes;
  • Fixed problem in handling of keyboard navigation events, such as Alt+LEFT, Alt+RIGHT etc.;
  • Documented all not implement yet methods in DOM wrappers;
  • Implemented getPrefix() and getNamespaceURI() methods of Element interface;
  • Fixed problem in waitChildCreation() method;
  • ScriptErrorEvent now correctly returns a line number;
  • Fixed handling of the result of the WebBrowserEventsHandler.beforeNavigate method;
  • Various updates and fixes in demo and samples;

0 Comments Permalink

Changes since version 1.2:

  • Improved stability;
  • Added HtmlDocument.getTitle() method;
  • Added HTMLElement.getElementPeer() method;
  • Added convenient way for tracking child/popup windows;
  • Added implementations of equals() and hashCode() methods in the DOM wrappers;
  • Added notes about not implemented yet DOM methods;
  • Updated Programmer's Guide;

Fixes:

  • Fixed the problem OptionElement.select() method;
  • Improved the performance in the WebBrowser.waitReady() method;
  • Fixed the problem with opening a new browser window;
  • Fixed the problem with setting a focus in Browser component;
  • Fixed the problem in the JExplorerDemo.bat file for Standard version;
  • JExplorer Demo: the application now supports Unicode symbols;
  • JExplorer Demo: fixed the problem when browsing FTPs;

0 Comments Permalink

Changes since version 1.0:

  • Added Forms API, which improves the accessing to the FORM controls;
  • Added the disabling/enabling of the alert, confirmation and error dialogs through WebBrowser.setSilent() call;
  • Each browser component now works in its own thread;
  • Added StatusCode object for retrieving error codes and error messages;
  • Add the ability to setup attribute values with case sensitive/insensitive names in the HTMLElement class;
  • Deprecated DomRobot class. All the functionality of this obsolete class were moved to appropriate HTML element wrapper class;
  • Added API differences with previous version;
  • Added documentation for all packages;
  • Added new samples for JExplorer;
  • Version numbering is added in MANIFEST.MF file of the library JAR;

Fixes:

  • Solved the problem with the disabling of Explorer context menu;
  • Fixed COM E_FAIL exception when calling Browser.getStatusText();
  • Solved the deadlock problem in the WebBrowser.waitReady() method;
  • Fixed processing of keyboard navigation events (such as Left/Right/Up/Down) which were not fired in the DOM handlers;

0 Comments Permalink

The JExplorer API was greatly improved and simplified since the last official release. The list of improvements and changes is shown below.

Changes since Beta 3:

  • Listening the browser navigation events, such as downloadBegin, downloadCompleted, progressChanged, etc., using a NavigationEventListener listener(s);
  • Listening the browser status events, such as statusTextChanged, titleChanged, etc., using a StatusEventListener listener(s);
  • Handling the browser events, such as beforeNavigate, newWindow, windowClosing, etc., using a WebBrowserEventsHandler handler;
  • Getting and setting HTML content with the WebBrowser.getContent and WebBrowser.setContent methods accordingly;
  • Executing a Java script, using the WebBrowser.executeScript method and handling script errors, using a ScriptErrorListener listener;
  • Creating the context-dependent Java menus in the Browser component, using the ContextMenuProvider;
  • Disabling browser error dialogs, using the WebBrowser.setSilent method;
  • The DomRobot was also greatly improved: added methods for simulating user actions, such as click and mouseOver; added ability to produce various DOM events; added various methods for decoration elements;
  • Greatly improved the implementation of the WebBrowser.waitReady method;
  • Improved speed of DOM wrappers.

Fixes:

  • class a number of fixes in multiple classes were made improving stability of the Browser component and DOM wrappers.

 

Also new JExplorer API is described in the documentation and shown in various samples.

0 Comments Permalink

JExplorer Beta 3

Posted by Igor Shvydkoy Jul 4, 2004
Changes since Beta 2:
  • API has been transformed to be component-based and greatly simplified.
  • DomRobot allows getting screen coordinates of DOM element and others.
  • Added samples for Browser and HeadlessBrowser.

Fixes:

  • Fixed the problem if duplicating some keystrokes.
  • Browser component can now be added into UI while it is invisible.
  • DOM: iframe and div content and attributes are accessible.
0 Comments Permalink
1 2 Previous Next