Working with pop-up windows

Applies to IE Browser publications.

HTML Executable lets you open several windows called pop-up windows (or popups) in the same IE browser publication; thus your users can see additional information without navigating away from the current page in the main window. Popup windows are windows without menu bar, tool bar or status bar.

Each popup has a unique name.

How to open a popup window

There are several ways to open a new popup window from your HTML pages:

with a standard <A HREF> hyperlink tag: use the target parameter _blank, or if you also want to assign a name to the new popup, use _hepopup_ followed by the name of your popup window (no space, alphanumeric characters only).

Examples:

The popup's name will be pop1 and this popup will show the compiled webpage named popup1.htm

Note that _blank will always open a new window while _hepopup_[name] will bring the [name] window to front if the latter already exists. For instance, click twice on the hyperlinks above.

You can also use external links like http://www.htmlexe.com:

with JavaScript functions: window.open and window.external.ShowPopup are supported.

  • Open a popup with window.open

window.open will only take account of the "width" and "height" parameters if available. If you want to set the position too, use window.external.ShowPopup instead.

  • Open a popup with window.external.ShowPopup

Syntax for window.external.ShowPopup:
function window.external.ShowPopup(Name, URL, Width, Height, Top, Left, Param); 

Name: name of your popup window.
URL: url to the page that should be displayed. It can be a virtual path to a compiled page or a full URL.
Width, Height: width and height of the popup window (in pixels).
Left, Top: x and y screen coordinates of the top-left corner (in pixels).
Param: always set the value to 0.

Note: to create a screen-centered popup, set both Left and Top to -1.

All parameters are required.

with HEScript: an internal HEScript procedure Showpopup is available and lets you specify additional parameters for your popup window.

procedure ShowPopup(const Name, URL: String; Width, Height,
 Top, Left: Integer; IsModal, RedirectLinksToMain: Boolean);
Name: name of your popup window.
URL: url to the page that should be displayed. It can be a virtual path to a compiled page or a full URL.
Width, Height: width and height of the popup window (in pixels).
Left, Top: x and y screen coordinates of the top-left corner (in pixels). If both set to -1, the popup appears centered.
IsModal: always set the value to false.
RedirectLinksToMain: whether you want the popup window to redirect all hyperlinks to the main window (when a user clicks a link, the page is displayed in the main window). Could be useful for website contents.

Example: you could associate the following procedure (ShowFirstPopup) with a custom menu command or a toolbar button.

procedure ShowFirstPopup;
begin
 ShowPopup("mypopup", "popup1.htm", 400, 300, 50, 25, false, false);
end;

Test this link code now

Additionally you could add the following HEScript commands to your UserMain script:

In that case, you can now display any popup you want without having to create a specific HEScript function for each popup.
To call the previous NewWindow function from your HTML pages, use:

<a href="hescript://UserMain.newwindow|popup1.html|pop1|200|100|50|80|0">Open a new window</a>

How to close a popup window

If you wish to close the popup window from the popup itself, you can use:

  • window.close (JavaScript):

End users may be prompted by Internet Explorer if they want to close the window.

Test it now

  • window.external.CloseCurrentWindow (JavaScript):

Contrary to the previous one, this function does not ask end users whether they want to close the popup window.

If you wish to close any popup, use window.external.ClosePopup(name) (JavaScript). You just need to know the popup's name (that can be retrieved with the window.name JavaScript property).

Example: Open the popup / Close the popup

This function also exists in HEScript:

procedure ClosePopup(const Name: String);

To close all popup windows, use the HEScript function CloseAllPopups.

procedure CloseAllPopups;

How to modify a popup size/position

You can set up properties for popup windows using the SetUIProp function (available as HEScript or window.external JavaScript extension).

JavaScript Syntax:

window.external.SetUIProp('popup_[name]', 'property name', 'property value');

Available property names are Left (x position), Top (y position), Width, Height, Caption (window title).

Example: we want to move an existing popup to another location. We can use this JavaScript code:

Open a popup

Set popup left position