Skip to Content

Workaround for popup blockers

Hello SDN members!

 Lately I was working on a project, which included opening KM documents from WebDynpro application. This sounds pretty simple, but I have encountered some problem, and here is a short description:

1. The application had some navigation-based logic, which inlcuded a logon and some plugs fired. After user was at the last navigational phase, there was a button for opening a new, non-modal window, which was a simple KM-document page, which source name was created dynamically, but…

2. When user pressed the button (it’s event has a code of creating some outside, non-modal window, and calling action) he received a “Popup blocked” message, which would look like this in IE7 browser:

Popup blocked

3. As soon as end-user noticed the message, he would (being brave enough) enable popups, for this session only or permanently – has no importance.

4. You would expect the page to pop up, but strangely the parent page refreshes, and all navigation user came through just disappears, meaning his session starts from 0. This was a disaster in my case, because information submitted in previous views was lost!

 As you know, opening windows with code creates a J2EE engine event, trying to open this window through JavaScript. How can we solve this?

 1. If you expect end-user pressing some button (of course you do, otherwise you wouldn’t add this button, didn’t you?) you can create a LinkToURL element, which does not include any scripting.

2. The “source” reference of LinkToURL element must be a context element, which is created dynamically each time you decide to, let’s say on some plug triggered, or even on wdDoInit method, and points to the source fike or page.

In this case, no messages appear, and popup is shown.

I hope this idea will be of any help.

Be the first to leave a comment
You must be Logged on to comment or reply to a post.